wuxw пре 2 година
родитељ
комит
a106653133

+ 60 - 36
java110-bean/src/main/java/com/java110/po/complaintAppraise/ComplaintAppraisePo.java

@@ -17,6 +17,7 @@ package com.java110.po.complaintAppraise;
 
 import java.io.Serializable;
 import java.util.Date;
+
 /**
  * 类表述: Po 数据模型实体对象 基本保持与数据库模型一直 用于 增加修改删除 等时的数据载体
  * add by 吴学文 at 2024-02-21 13:04:55 mail: 928255095@qq.com
@@ -28,90 +29,113 @@ import java.util.Date;
 public class ComplaintAppraisePo implements Serializable {
 
     private String score;
-private String replyContext;
-private String createUserId;
-private String replyUserId;
-private String complaintId;
-private String replyUserName;
-private String appraiseId;
-private String context;
-private String createUserName;
-private String statusCd = "0";
-private String state;
-private String communityId;
-public String getScore() {
+    private String replyContext;
+    private String createUserId;
+    private String replyUserId;
+    private String complaintId;
+    private String replyUserName;
+    private String appraiseId;
+    private String context;
+    private String createUserName;
+    private String statusCd = "0";
+    private String state;
+    private String communityId;
+
+    public String getScore() {
         return score;
     }
-public void setScore(String score) {
+
+    public void setScore(String score) {
         this.score = score;
     }
-public String getReplyContext() {
+
+    public String getReplyContext() {
         return replyContext;
     }
-public void setReplyContext(String replyContext) {
+
+    public void setReplyContext(String replyContext) {
         this.replyContext = replyContext;
     }
-public String getCreateUserId() {
+
+    public String getCreateUserId() {
         return createUserId;
     }
-public void setCreateUserId(String createUserId) {
+
+    public void setCreateUserId(String createUserId) {
         this.createUserId = createUserId;
     }
-public String getReplyUserId() {
+
+    public String getReplyUserId() {
         return replyUserId;
     }
-public void setReplyUserId(String replyUserId) {
+
+    public void setReplyUserId(String replyUserId) {
         this.replyUserId = replyUserId;
     }
-public String getComplaintId() {
+
+    public String getComplaintId() {
         return complaintId;
     }
-public void setComplaintId(String complaintId) {
+
+    public void setComplaintId(String complaintId) {
         this.complaintId = complaintId;
     }
-public String getReplyUserName() {
+
+    public String getReplyUserName() {
         return replyUserName;
     }
-public void setReplyUserName(String replyUserName) {
+
+    public void setReplyUserName(String replyUserName) {
         this.replyUserName = replyUserName;
     }
-public String getAppraiseId() {
+
+    public String getAppraiseId() {
         return appraiseId;
     }
-public void setAppraiseId(String appraiseId) {
+
+    public void setAppraiseId(String appraiseId) {
         this.appraiseId = appraiseId;
     }
-public String getContext() {
+
+    public String getContext() {
         return context;
     }
-public void setContext(String context) {
+
+    public void setContext(String context) {
         this.context = context;
     }
-public String getCreateUserName() {
+
+    public String getCreateUserName() {
         return createUserName;
     }
-public void setCreateUserName(String createUserName) {
+
+    public void setCreateUserName(String createUserName) {
         this.createUserName = createUserName;
     }
-public String getStatusCd() {
+
+    public String getStatusCd() {
         return statusCd;
     }
-public void setStatusCd(String statusCd) {
+
+    public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
-public String getState() {
+
+    public String getState() {
         return state;
     }
-public void setState(String state) {
+
+    public void setState(String state) {
         this.state = state;
     }
-public String getCommunityId() {
+
+    public String getCommunityId() {
         return communityId;
     }
-public void setCommunityId(String communityId) {
+
+    public void setCommunityId(String communityId) {
         this.communityId = communityId;
     }
 
 
-
 }

+ 3 - 4
java110-interface/src/main/java/com/java110/intf/store/IComplaintV1InnerServiceSMO.java

@@ -40,18 +40,17 @@ public interface IComplaintV1InnerServiceSMO {
 
 
     @RequestMapping(value = "/saveComplaint", method = RequestMethod.POST)
-    public int saveComplaint(@RequestBody  ComplaintPo complaintPo);
+    int saveComplaint(@RequestBody ComplaintPo complaintPo);
 
     @RequestMapping(value = "/updateComplaint", method = RequestMethod.POST)
-    public int updateComplaint(@RequestBody  ComplaintPo complaintPo);
+    int updateComplaint(@RequestBody ComplaintPo complaintPo);
 
     @RequestMapping(value = "/deleteComplaint", method = RequestMethod.POST)
-    public int deleteComplaint(@RequestBody  ComplaintPo complaintPo);
+    int deleteComplaint(@RequestBody ComplaintPo complaintPo);
 
     /**
      * <p>查询小区楼信息</p>
      *
-     *
      * @param complaintDto 数据对象分享
      * @return ComplaintDto 对象数据
      */

+ 40 - 37
service-store/src/main/java/com/java110/store/cmd/complaint/AuditComplaintCmd.java

@@ -2,18 +2,27 @@ package com.java110.store.cmd.complaint;
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.CmdContextUtils;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.complaint.ComplaintDto;
+import com.java110.dto.complaintEvent.ComplaintEventDto;
+import com.java110.dto.user.UserDto;
 import com.java110.intf.common.IComplaintUserInnerServiceSMO;
+import com.java110.intf.store.IComplaintEventV1InnerServiceSMO;
 import com.java110.intf.store.IComplaintV1InnerServiceSMO;
 import com.java110.intf.store.IComplaintInnerServiceSMO;
+import com.java110.intf.user.IUserV1InnerServiceSMO;
 import com.java110.po.complaint.ComplaintPo;
+import com.java110.po.complaintEvent.ComplaintEventPo;
 import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.exception.CmdException;
+import com.java110.utils.exception.GenerateCodeException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -24,11 +33,11 @@ import java.util.List;
 public class AuditComplaintCmd extends Cmd {
 
     @Autowired
-    private IComplaintUserInnerServiceSMO complaintUserInnerServiceSMOImpl;
+    private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
 
 
     @Autowired
-    private IComplaintInnerServiceSMO complaintInnerServiceSMOImpl;
+    private IComplaintEventV1InnerServiceSMO complaintEventV1InnerServiceSMOImpl;
 
     @Autowired
     private IComplaintV1InnerServiceSMO complaintV1InnerServiceSMOImpl;
@@ -36,52 +45,46 @@ public class AuditComplaintCmd extends Cmd {
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         Assert.hasKeyAndValue(reqJson, "complaintId", "投诉ID不能为空");
-        Assert.hasKeyAndValue(reqJson, "storeId", "必填,请填写商户ID");
         Assert.hasKeyAndValue(reqJson, "communityId", "必填,请填写小区信息");
-        Assert.hasKeyAndValue(reqJson, "taskId", "必填,请填写任务ID");
-        Assert.hasKeyAndValue(reqJson, "state", "必填,请填写审核状态");
-        Assert.hasKeyAndValue(reqJson, "remark", "必填,请填写批注");
-        Assert.hasKeyAndValue(reqJson, "userId", "必填,请填写用户信息");
+        Assert.hasKeyAndValue(reqJson, "context", "必填,请填写批注");
     }
 
     @Override
     public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
 
+        String userId = CmdContextUtils.getUserId(context);
+
+        UserDto userDto = new UserDto();
+        userDto.setUserId(userId);
+        List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
+
+        Assert.listOnlyOne(userDtos, "用户未登录");
+
         ComplaintDto complaintDto = new ComplaintDto();
         complaintDto.setComplaintId(reqJson.getString("complaintId"));
         complaintDto.setCommunityId(reqJson.getString("communityId"));
 
-        List<ComplaintDto> complaintDtos = complaintInnerServiceSMOImpl.queryComplaints(complaintDto);
+        List<ComplaintDto> complaintDtos = complaintV1InnerServiceSMOImpl.queryComplaints(complaintDto);
         Assert.listOnlyOne(complaintDtos, "未存在或存在多条投诉单");
 
-        complaintDto = complaintDtos.get(0);
-//        complaintDto.setTaskId(reqJson.getString("taskId"));
-//        complaintDto.setCommunityId(reqJson.getString("communityId"));
-//        complaintDto.setStoreId(reqJson.getString("storeId"));
-//        complaintDto.setAuditCode(reqJson.getString("state"));
-//        complaintDto.setAuditMessage(reqJson.getString("remark"));
-//        complaintDto.setCurrentUserId(reqJson.getString("userId"));
-
-        boolean isLastTask = complaintUserInnerServiceSMOImpl.completeTask(complaintDto);
-        ResponseEntity<String> responseEntity = new ResponseEntity<String>("成功", HttpStatus.OK);
-        if (isLastTask) {
-            complaintDto = new ComplaintDto();
-            complaintDto.setStoreId(reqJson.getString("storeId"));
-            complaintDto.setCommunityId(reqJson.getString("communityId"));
-            complaintDto.setComplaintId(reqJson.getString("complaintId"));
-            complaintDtos = complaintInnerServiceSMOImpl.queryComplaints(complaintDto);
-
-            Assert.listOnlyOne(complaintDtos, "存在多条记录,或不存在数据" + complaintDto.getComplaintId());
-
-            JSONObject businessComplaint = new JSONObject();
-            businessComplaint.putAll(BeanConvertUtil.beanCovertMap(complaintDtos.get(0)));
-            businessComplaint.put("state", "10002");
-            ComplaintPo complaintPo = BeanConvertUtil.covertBean(businessComplaint, ComplaintPo.class);
-            int flag = complaintV1InnerServiceSMOImpl.updateComplaint(complaintPo);
-            if (flag < 1) {
-                throw new CmdException("投诉不存在");
-            }
-        }
-        context.setResponseEntity(responseEntity);
+        // todo 修改投诉状态
+        ComplaintPo complaintPo = new ComplaintPo();
+        complaintPo.setComplaintId(complaintDtos.get(0).getComplaintId());
+        complaintPo.setState(ComplaintDto.STATE_FINISH);
+        complaintV1InnerServiceSMOImpl.updateComplaint(complaintPo);
+
+        ComplaintEventPo complaintEventPo = new ComplaintEventPo();
+        complaintEventPo.setEventId(GenerateCodeFactory.getGeneratorId("11"));
+        complaintEventPo.setCreateUserId(userDtos.get(0).getUserId());
+        complaintEventPo.setCreateUserName(userDtos.get(0).getName());
+        complaintEventPo.setComplaintId(complaintDtos.get(0).getComplaintId());
+        complaintEventPo.setRemark(reqJson.getString("context"));
+
+        complaintEventPo.setEventType(ComplaintEventDto.EVENT_TYPE_DO);
+        complaintEventPo.setCommunityId(complaintDtos.get(0).getCommunityId());
+
+        complaintEventV1InnerServiceSMOImpl.saveComplaintEvent(complaintEventPo);
+
+        context.setResponseEntity(ResultVo.success());
     }
 }

+ 24 - 0
service-store/src/main/java/com/java110/store/cmd/complaintAppraise/ReplyComplaintAppraiseCmd.java

@@ -22,11 +22,15 @@ import com.java110.core.context.CmdContextUtils;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.complaintAppraise.ComplaintAppraiseDto;
+import com.java110.dto.complaintEvent.ComplaintEventDto;
 import com.java110.dto.user.UserDto;
 import com.java110.intf.store.IComplaintAppraiseV1InnerServiceSMO;
+import com.java110.intf.store.IComplaintEventV1InnerServiceSMO;
 import com.java110.intf.user.IUserV1InnerServiceSMO;
 import com.java110.po.complaintAppraise.ComplaintAppraisePo;
+import com.java110.po.complaintEvent.ComplaintEventPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -60,6 +64,9 @@ public class ReplyComplaintAppraiseCmd extends Cmd {
     @Autowired
     private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IComplaintEventV1InnerServiceSMO complaintEventV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "appraiseId", "appraiseId不能为空");
@@ -80,6 +87,11 @@ public class ReplyComplaintAppraiseCmd extends Cmd {
 
         Assert.listOnlyOne(userDtos, "用户未登录");
 
+        ComplaintAppraiseDto complaintAppraiseDto = new ComplaintAppraiseDto();
+        complaintAppraiseDto.setAppraiseId(reqJson.getString("appraiseId"));
+        List<ComplaintAppraiseDto> complaintAppraiseDtos = complaintAppraiseV1InnerServiceSMOImpl.queryComplaintAppraises(complaintAppraiseDto);
+
+        Assert.listOnlyOne(complaintAppraiseDtos, "未包含评价记录");
 
         ComplaintAppraisePo complaintAppraisePo = BeanConvertUtil.covertBean(reqJson, ComplaintAppraisePo.class);
         complaintAppraisePo.setState("C");
@@ -91,6 +103,18 @@ public class ReplyComplaintAppraiseCmd extends Cmd {
             throw new CmdException("更新数据失败");
         }
 
+        ComplaintEventPo complaintEventPo = new ComplaintEventPo();
+        complaintEventPo.setEventId(GenerateCodeFactory.getGeneratorId("11"));
+        complaintEventPo.setCreateUserId(userDtos.get(0).getUserId());
+        complaintEventPo.setCreateUserName(userDtos.get(0).getName());
+        complaintEventPo.setComplaintId(complaintAppraiseDtos.get(0).getComplaintId());
+        complaintEventPo.setRemark(reqJson.getString("replyContext"));
+
+        complaintEventPo.setEventType(ComplaintEventDto.EVENT_TYPE_REPLY);
+        complaintEventPo.setCommunityId(reqJson.getString("communityId"));
+
+        complaintEventV1InnerServiceSMOImpl.saveComplaintEvent(complaintEventPo);
+
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }

+ 18 - 0
service-store/src/main/java/com/java110/store/cmd/complaintAppraise/SaveComplaintAppraiseCmd.java

@@ -23,10 +23,13 @@ import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.complaintEvent.ComplaintEventDto;
 import com.java110.dto.user.UserDto;
 import com.java110.intf.store.IComplaintAppraiseV1InnerServiceSMO;
+import com.java110.intf.store.IComplaintEventV1InnerServiceSMO;
 import com.java110.intf.user.IUserV1InnerServiceSMO;
 import com.java110.po.complaintAppraise.ComplaintAppraisePo;
+import com.java110.po.complaintEvent.ComplaintEventPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -57,6 +60,9 @@ public class SaveComplaintAppraiseCmd extends Cmd {
     @Autowired
     private IComplaintAppraiseV1InnerServiceSMO complaintAppraiseV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IComplaintEventV1InnerServiceSMO complaintEventV1InnerServiceSMOImpl;
+
     @Autowired
     private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
 
@@ -92,6 +98,18 @@ public class SaveComplaintAppraiseCmd extends Cmd {
             throw new CmdException("保存数据失败");
         }
 
+        ComplaintEventPo complaintEventPo = new ComplaintEventPo();
+        complaintEventPo.setEventId(GenerateCodeFactory.getGeneratorId("11"));
+        complaintEventPo.setCreateUserId(userDtos.get(0).getUserId());
+        complaintEventPo.setCreateUserName(userDtos.get(0).getName());
+        complaintEventPo.setComplaintId(reqJson.getString("complaintId"));
+        complaintEventPo.setRemark(reqJson.getString("context"));
+
+        complaintEventPo.setEventType(ComplaintEventDto.EVENT_TYPE_APPRAISE);
+        complaintEventPo.setCommunityId(reqJson.getString("communityId"));
+
+        complaintEventV1InnerServiceSMOImpl.saveComplaintEvent(complaintEventPo);
+
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }