This commit is contained in:
慕下 2024-03-23 15:08:43 +08:00
parent 501a6d7ded
commit 94064a5cea
4 changed files with 185 additions and 269 deletions

View File

@ -8,8 +8,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.http.HttpRequest;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
@ -26,7 +28,7 @@ public class DynamicDataController extends BaseController {
//保存数据 //保存数据
@PostMapping("/saveDynamicData") @PostMapping("/saveDynamicData")
public AjaxResult saveDynamicData(@RequestBody Map<String, Object> requestData) { public AjaxResult saveDynamicData(@RequestBody Map<String, Object> requestData, HttpServletRequest httpServletRequest) {
DynamicData dynamicData = new DynamicData(); DynamicData dynamicData = new DynamicData();
// System.out.println(requestData.toString()); // System.out.println(requestData.toString());
String title = (String)requestData.get("title"); String title = (String)requestData.get("title");
@ -51,36 +53,42 @@ public class DynamicDataController extends BaseController {
String formattedDate = currentDate.format(formatter); String formattedDate = currentDate.format(formatter);
dynamicData.setCreateTime(formattedDate); dynamicData.setCreateTime(formattedDate);
dynamicData.setData(requestData); dynamicData.setData(requestData);
dynamicData.setTenantName(httpServletRequest.getHeader("Tenant"));
mongoTemplate.save(dynamicData); mongoTemplate.save(dynamicData);
return AjaxResult.success("保存成功"); return AjaxResult.success("保存成功");
} }
//查询全部数据 //查询全部数据
@GetMapping("/selectDynamicData") @GetMapping("/selectDynamicData")
public AjaxResult selectDynamicData() { public AjaxResult selectDynamicData(HttpServletRequest httpServletRequest) {
List<DynamicData> dynamicData = mongoTemplate.find(new Query(), DynamicData.class); Query query = new Query();
// for (DynamicData dynamicDatum : dynamicData) { query.addCriteria(Criteria.where("tenantName").is(httpServletRequest.getHeader("Tenant")));
// Map<String, Object> data = dynamicDatum.getData(); List<DynamicData> dynamicData = mongoTemplate.find(query, DynamicData.class);
// data.forEach((k,v) -> { for (DynamicData dynamicDatum : dynamicData) {
// data.put(k,k); Query queryByFor = new Query();
// }); queryByFor.addCriteria(Criteria.where("dynamicDataId").is(dynamicDatum.getId()));
// } long count = mongoTemplate.count(queryByFor, DynamicForm.class);
dynamicDatum.setCollectionQuantity(count+"");
}
System.out.println(dynamicData.toString());
return AjaxResult.success(dynamicData); return AjaxResult.success(dynamicData);
} }
//根据id查询数据 //根据id查询数据
@GetMapping("/selectDynamicDataById") @GetMapping("/selectDynamicDataById")
public AjaxResult selectDynamicDataById(String id){ public AjaxResult selectDynamicDataById(String id){
DynamicData dynamicData = mongoTemplate.findById(id, DynamicData.class); DynamicData dynamicData = mongoTemplate.findById(id, DynamicData.class);
dynamicData.setPageView(Long.parseLong(dynamicData.getPageView())+1+"");
DynamicData save = mongoTemplate.save(dynamicData);
// Map<String, Object> data = dynamicData.getData(); // Map<String, Object> data = dynamicData.getData();
// data.forEach((k,v) -> { // data.forEach((k,v) -> {
// data.put(k,k); // data.put(k,k);
// }); // });
return AjaxResult.success(dynamicData); return AjaxResult.success(save);
} }
@PostMapping("/collectData") @PostMapping("/collectData")
//采集数据 //采集数据
public AjaxResult collectData(DynamicForm dynamicForm){ public AjaxResult collectData(@RequestBody DynamicForm dynamicForm){
mongoTemplate.save(dynamicForm); mongoTemplate.save(dynamicForm);
return AjaxResult.success("保存成功"); return AjaxResult.success("保存成功");
} }

View File

@ -1,11 +1,13 @@
package com.ruoyi.mongodb.domain; package com.ruoyi.mongodb.domain;
import lombok.Data;
import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Document;
import java.util.Map; import java.util.Map;
@Document(collection = "dynamicData") @Document(collection = "dynamicData")
@Data
public class DynamicData { public class DynamicData {
@Id @Id
private String id; private String id;
@ -18,88 +20,8 @@ public class DynamicData {
private String createPeople; private String createPeople;
//创建时间 //创建时间
private String createTime; private String createTime;
//租户名称
private String tenantName;
//用户字段数据 //用户字段数据
private Map<String, Object> data; private Map<String, Object> data;
public DynamicData() {
}
public DynamicData(String id, String title, String pageView, String collectionQuantity, String createPeople, String createTime, Map<String, Object> data) {
this.id = id;
this.title = title;
this.pageView = pageView;
this.collectionQuantity = collectionQuantity;
this.createPeople = createPeople;
this.createTime = createTime;
this.data = data;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Map<String, Object> getData() {
return data;
}
public void setData(Map<String, Object> data) {
this.data = data;
}
public String getPageView() {
return pageView;
}
public void setPageView(String pageView) {
this.pageView = pageView;
}
public String getCollectionQuantity() {
return collectionQuantity;
}
public void setCollectionQuantity(String collectionQuantity) {
this.collectionQuantity = collectionQuantity;
}
public String getCreatePeople() {
return createPeople;
}
public void setCreatePeople(String createPeople) {
this.createPeople = createPeople;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
@Override
public String toString() {
return "DynamicData{" +
"id='" + id + '\'' +
", title='" + title + '\'' +
", pageView='" + pageView + '\'' +
", collectionQuantity='" + collectionQuantity + '\'' +
", createPeople='" + createPeople + '\'' +
", createTime=" + createTime +
", data=" + data +
'}';
}
} }

View File

@ -1,9 +1,11 @@
package com.ruoyi.mongodb.domain; package com.ruoyi.mongodb.domain;
import lombok.Data;
import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Id;
import java.util.Map; import java.util.Map;
@Data
public class DynamicForm { public class DynamicForm {
@Id @Id
private String id; private String id;
@ -11,47 +13,4 @@ public class DynamicForm {
private String dynamicDataId; private String dynamicDataId;
//采集数据 //采集数据
private Map<String,Object> map; private Map<String,Object> map;
public DynamicForm() {
}
public DynamicForm(String id, String dynamicDataId, Map<String, Object> map) {
this.id = id;
this.dynamicDataId = dynamicDataId;
this.map = map;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getDynamicDataId() {
return dynamicDataId;
}
public void setDynamicDataId(String dynamicDataId) {
this.dynamicDataId = dynamicDataId;
}
public Map<String, Object> getMap() {
return map;
}
public void setMap(Map<String, Object> map) {
this.map = map;
}
@Override
public String toString() {
return "DynamicForm{" +
"id='" + id + '\'' +
", dynamicDataId='" + dynamicDataId + '\'' +
", map=" + map +
'}';
}
} }

View File

@ -14,7 +14,10 @@
<el-card class="box-card" v-for="o in cardList" :key="o" > <el-card class="box-card" v-for="o in cardList" :key="o" >
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{o.title}}</span> <span style="font-size: 23px;
color: #000000;
background-color:#ffffff;
border-color: #fdfdff;">{{o.title}}</span>
<el-button style="float: right; padding: 3px 0" type="text" @click="handelExtend(o.id)">推广</el-button> <el-button style="float: right; padding: 3px 0" type="text" @click="handelExtend(o.id)">推广</el-button>
</div> </div>
<div style="display: flex;justify-content: space-between"> <div style="display: flex;justify-content: space-between">
@ -23,19 +26,31 @@
<!-- <p style="font-size: 25px">1</p>--> <!-- <p style="font-size: 25px">1</p>-->
<!-- </div>--> <!-- </div>-->
<div style="width: 30%"> <div style="width: 30%">
<div>总浏览量</div> <div style="font-size: 18px;
color: #999595;
background-color:#ffffff;
border-color: #fdfdff;">总浏览量</div>
<p style="font-size: 25px">{{o.pageView}}</p> <p style="font-size: 25px">{{o.pageView}}</p>
</div> </div>
<div style="width: 30%"> <div style="width: 30%">
<div>采集数量</div> <div style="font-size: 18px;
color: #999595;
background-color:#ffffff;
border-color: #fdfdff;">采集数量</div>
<p style="font-size: 25px">{{o.collectionQuantity}}</p> <p style="font-size: 25px">{{o.collectionQuantity}}</p>
</div> </div>
</div> </div>
<div style="display: flex;justify-content: space-between"> <div style="display: flex;justify-content: space-between">
<div> <div>
<span>创建人{{o.createPeople}}</span> <span style="font-size: 16px;
color: #999595;
background-color:#ffffff;
border-color: #fdfdff;">创建人{{o.createPeople}}</span>
</div> </div>
<div>创建时间{{o.createTime}}</div> <div style="font-size: 16px;
color: #999595;
background-color:#ffffff;
border-color: #fdfdff;">创建时间{{o.createTime}}</div>
</div> </div>
</el-card> </el-card>
@ -47,11 +62,17 @@
<div style="text-align: center"> <div style="text-align: center">
<!-- <el-form-item label="表单标题">--> <!-- <el-form-item label="表单标题">-->
<el-input v-model="addParams.title" placeholder="请输入表单标题" /> <div><span>标题</span> <el-input style="border-bottom: 1px solid skyblue;margin-bottom: 10px" v-model="addParams.title" placeholder="请输入表单标题" />
</div>
<!-- </el-form-item>--> <!-- </el-form-item>-->
<!-- <el-form-item label="字段名称">--> <!-- <el-form-item label="字段名称">-->
<el-input v-for="(item,index) in inputarr" key="index" v-model="inputarr[index]" placeholder="请输入字段"></el-input> <div v-for="(item,index) in inputarr" key="index" style="margin-bottom: 10px;">
<el-button @click="adinput" style="text-align: center">添加字段</el-button> <span>字段</span> <el-input style="border: 1px solid #DCDFE6;border-radius: 3px; " v-model="inputarr[index]" placeholder="请输入字段"></el-input>
</div>
<div>
<el-button @click="adinput" style="text-align: center;width: 90%;background-color: rgb(232,244,255);color:#1890ff">添加字段</el-button>
</div>
<!-- </el-form-item>--> <!-- </el-form-item>-->
</div> </div>
<br> <br>
@ -140,8 +161,8 @@ export default {
// //
submitForm(){ submitForm(){
this.addParams.inputarr = this.inputarr this.addParams.inputarr = this.inputarr
this.addParams.pageView = '22' this.addParams.pageView = '0'
this.addParams.collectionQuantity = '33' this.addParams.collectionQuantity = '0'
saveDynamicData(this.addParams).then(response => { saveDynamicData(this.addParams).then(response => {
// this.cardList = response.data; // this.cardList = response.data;
// this.total = response.total; // this.total = response.total;
@ -178,7 +199,7 @@ export default {
}, },
}; };
</script> </script>
<style> <style scoped>
.clearfix:before, .clearfix:before,
.clearfix:after { .clearfix:after {
@ -190,7 +211,7 @@ export default {
} }
.box-card { .box-card {
width: 450px; width:32%;
margin-bottom: 10px; margin-bottom: 10px;
} }
@ -205,8 +226,14 @@ export default {
.el-input-foot{ .el-input-foot{
padding: 20px; padding: 20px;
padding-top: 10px; padding-top: 10px;
text-align: right; text-align: center;
box-sizing: border-box; box-sizing: border-box;
} }
::v-deep.el-input--medium{
width: 80%;
}
::v-deep.el-input--medium .el-input__inner{
border: none;
/* border-bottom:1px solid blue; */
}
</style> </style>