Browse Source

文档、环境清单

master
陈裕财 4 years ago
parent
commit
2213be065d
  1. 74
      xm-core/src/main/java/com/xm/core/ctrl/XmRecordVisitController.java
  2. 47
      xm-core/src/main/java/com/xm/core/service/XmRecordVisitService.java
  3. 7
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmRecordVisitMapper.xml

74
xm-core/src/main/java/com/xm/core/ctrl/XmRecordVisitController.java

@ -1,32 +1,27 @@
package com.xm.core.ctrl; package com.xm.core.ctrl;
import java.util.*;
import java.util.stream.Collectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.*;
import static com.mdp.core.utils.ResponseHelper.*;
import static com.mdp.core.utils.BaseUtils.*;
import com.mdp.core.entity.Tips; import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException; import com.mdp.core.err.BizException;
import com.mdp.mybatis.PageUtils;
import com.mdp.core.utils.RequestUtils; import com.mdp.core.utils.RequestUtils;
import com.mdp.core.utils.NumberUtil;
import com.mdp.core.utils.ResponseHelper;
import com.mdp.mybatis.PageUtils;
import com.mdp.safe.client.entity.User; import com.mdp.safe.client.entity.User;
import com.mdp.safe.client.utils.LoginUtils; import com.mdp.safe.client.utils.LoginUtils;
import com.mdp.swagger.ApiEntityParams; import com.mdp.swagger.ApiEntityParams;
import com.xm.core.entity.XmRecordVisit;
import com.xm.core.service.XmRecordVisitService;
import io.swagger.annotations.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import com.xm.core.service.XmRecordVisitService;
import com.xm.core.entity.XmRecordVisit;
import java.util.*;
import static com.mdp.core.utils.BaseUtils.toMap;
/** /**
* url编制采用rest风格,如对xm_record_visit 重要页面访问记录的操作有增删改查,对应的url分别为:<br> * url编制采用rest风格,如对xm_record_visit 重要页面访问记录的操作有增删改查,对应的url分别为:<br>
@ -42,6 +37,8 @@ public class XmRecordVisitController {
@Autowired @Autowired
private XmRecordVisitService xmRecordVisitService; private XmRecordVisitService xmRecordVisitService;
List<XmRecordVisit> datas=new ArrayList<>();
Map<String,Object> fieldsMap = toMap(new XmRecordVisit()); Map<String,Object> fieldsMap = toMap(new XmRecordVisit());
@ -74,8 +71,7 @@ public class XmRecordVisitController {
} }
/**
@ApiOperation( value = "新增一条重要页面访问记录信息",notes=" ") @ApiOperation( value = "新增一条重要页面访问记录信息",notes=" ")
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200,response=XmRecordVisit.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") @ApiResponse(code = 200,response=XmRecordVisit.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
@ -85,19 +81,31 @@ public class XmRecordVisitController {
Map<String,Object> m = new HashMap<>(); Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功新增一条数据"); Tips tips=new Tips("成功新增一条数据");
try{ try{
boolean createPk=false;
if(!StringUtils.hasText(xmRecordVisit.getId())) {
createPk=true;
xmRecordVisit.setId(xmRecordVisitService.createKey("id"));
if(!StringUtils.hasText(xmRecordVisit.getBizId())){
return ResponseHelper.failed("bizId-0","bizId不能为空");
}
if(!StringUtils.hasText(xmRecordVisit.getPbizId())){
return ResponseHelper.failed("pbizId-0","pbizId不能为空");
}
if(!StringUtils.hasText(xmRecordVisit.getObjType())){
return ResponseHelper.failed("objType-0","objType不能为空");
}
User user= LoginUtils.getCurrentUserInfo();
xmRecordVisit.setId(this.xmRecordVisitService.createKey("id"));
xmRecordVisit.setGloNo(MDC.get("gloNo"));
xmRecordVisit.setOperTime(new Date());
xmRecordVisit.setOperUserid(user.getUserid());
xmRecordVisit.setOperUsername(user.getUsername());
xmRecordVisit.setBranchId(user.getBranchId());
xmRecordVisit.setIp(RequestUtils.getIpAddr(RequestUtils.getRequest()));
this.datas.add(xmRecordVisit);
if(this.datas.size()>100){
xmRecordVisitService.batchAddAndCalc(this.datas);
this.datas.clear();
} }
if(createPk==false){
if(xmRecordVisitService.selectOneObject(xmRecordVisit) !=null ){
return failed("pk-exists","编号重复,请修改编号再提交");
}
}
xmRecordVisitService.insert(xmRecordVisit);
m.put("data",xmRecordVisit); m.put("data",xmRecordVisit);
}catch (BizException e) {
}catch (BizException e) {
tips=e.getTips(); tips=e.getTips();
logger.error("",e); logger.error("",e);
}catch (Exception e) { }catch (Exception e) {
@ -107,7 +115,7 @@ public class XmRecordVisitController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
*/
/** /**
@ApiOperation( value = "删除一条重要页面访问记录信息",notes=" ") @ApiOperation( value = "删除一条重要页面访问记录信息",notes=" ")

47
xm-core/src/main/java/com/xm/core/service/XmRecordVisitService.java

@ -1,16 +1,14 @@
package com.xm.core.service; package com.xm.core.service;
import com.mdp.core.service.BaseService;
import com.xm.core.entity.XmRecordVisit;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mdp.core.service.BaseService;
import static com.mdp.core.utils.BaseUtils.*;
import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException;
import com.xm.core.entity.XmRecordVisit;
import java.util.*;
/** /**
* 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.<br> * 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.<br>
* 组织 com 顶级模块 xm 大模块 core 小模块 <br> * 组织 com 顶级模块 xm 大模块 core 小模块 <br>
@ -20,5 +18,40 @@ import com.xm.core.entity.XmRecordVisit;
public class XmRecordVisitService extends BaseService { public class XmRecordVisitService extends BaseService {
static Logger logger =LoggerFactory.getLogger(XmRecordVisitService.class); static Logger logger =LoggerFactory.getLogger(XmRecordVisitService.class);
@Autowired
public void batchAddAndCalc(List<XmRecordVisit> datas) {
Map<String, Integer> timesMap=new HashMap<>();
Map<String,Set<String> > usersMap=new HashMap<>();
for (XmRecordVisit data : datas) {
String key=data.getBizId();
Set<String> users=usersMap.get(key);
if(users==null){
users=new HashSet<>();
}
users.add(data.getOperUserid());
usersMap.put(key,users);
}
for (XmRecordVisit data : datas) {
String key=data.getBizId();
Integer times=timesMap.get(key);
if(times==null){
times=0;
}
times=times+1;
timesMap.put(key,times);
}
List<Map<String,Object>> datasToUpdate=new ArrayList<>();
for (String key : timesMap.keySet()) {
Map<String,Object> data=new HashMap<>();
data.put("id",key);
data.put("browseTimes",timesMap.get(key));
data.put("browseUsers",usersMap.get(key).size());
datasToUpdate.add(data);
}
this.batchInsert(datas);
if(datasToUpdate.size()>0){
this.update("updateTaskBrowseTimesAndBrowseUsers",datasToUpdate);
}
}
} }

7
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmRecordVisitMapper.xml

@ -14,7 +14,12 @@
<if test="key != null and key !='' "> </if> <if test="key != null and key !='' "> </if>
</sql> </sql>
<update id="updateTaskBrowseTimesAndBrowseUsers" parameterType="List">
<foreach collection="list" item="item" index="index" separator=";" >
update xm_task t set t.browse_users=ifnull(t.browse_users,0)+#{item.browseUsers},t.browse_times=ifnull(t.browse_times,0)+#{item.browseTimes}
where t.id=#{item.id}
</foreach>
</update>
<!--结束 自定义sql函数区域--> <!--结束 自定义sql函数区域-->

Loading…
Cancel
Save