service-api/src/main/java/com/java110/api/listener/complaint/AuditComplaintListener.java
File was deleted service-api/src/main/java/com/java110/api/listener/complaint/DeleteComplaintListener.java
File was deleted service-api/src/main/java/com/java110/api/listener/complaint/UpdateComplaintListener.java
File was deleted service-common/src/main/java/com/java110/common/smo/impl/ComplaintUserInnerServiceSMOImpl.java
@@ -78,8 +78,13 @@ Map<String, Object> variables = new HashMap<String, Object>(); //variables.put("complaintDto", complaintDto); variables.put("startUserId", complaintDto.getCurrentUserId()); String key = getWorkflowDto(complaintDto.getCommunityId()); ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(getWorkflowDto(complaintDto.getCommunityId()), complaintDto.getComplaintId(), variables); if(StringUtil.isEmpty(key)){ return null; } ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(key, complaintDto.getComplaintId(), variables); //将得到的实例流程id值赋给之前设置的变量 String processInstanceId = processInstance.getId(); // System.out.println("流程开启成功.......实例流程id:" + processInstanceId); @@ -98,11 +103,13 @@ workflowDto.setCommunityId(communityId); List<WorkflowDto> workflowDtos = workflowInnerServiceSMOImpl.queryWorkflows(workflowDto); Assert.listOnlyOne(workflowDtos, "未找到 投诉建议流程或找到多条,请在物业账号系统管理下流程管理中配置流程"); if(workflowDtos == null || workflowDtos.size() < 1){ return ""; } WorkflowDto tmpWorkflowDto = workflowDtos.get(0); if (StringUtil.isEmpty(tmpWorkflowDto.getProcessDefinitionKey())) { throw new IllegalArgumentException("投诉建议流程还未部署"); return ""; } return WorkflowDto.DEFAULT_PROCESS + tmpWorkflowDto.getFlowId(); } @@ -312,6 +319,7 @@ */ public boolean deleteTask(@RequestBody ComplaintDto complaintDto){ String taskId = complaintDto.getTaskId(); Task task = taskService.createTaskQuery().taskId(complaintDto.getTaskId()).singleResult(); String processInstanceId = task.getProcessInstanceId(); ProcessInstance pi = runtimeService.createProcessInstanceQuery() service-store/src/main/java/com/java110/store/cmd/complaint/AuditComplaintCmd.java
New file @@ -0,0 +1,87 @@ package com.java110.store.cmd.complaint; import com.alibaba.fastjson.JSONObject; import com.java110.core.annotation.Java110Cmd; import com.java110.core.context.ICmdDataFlowContext; import com.java110.core.event.cmd.Cmd; import com.java110.core.event.cmd.CmdEvent; import com.java110.dto.complaint.ComplaintDto; import com.java110.intf.common.IComplaintUserInnerServiceSMO; import com.java110.intf.community.IComplaintV1InnerServiceSMO; import com.java110.intf.store.IComplaintInnerServiceSMO; import com.java110.po.complaint.ComplaintPo; import com.java110.utils.constant.BusinessTypeConstant; import com.java110.utils.exception.CmdException; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import java.util.List; @Java110Cmd(serviceCode = "complaint.auditComplaint") public class AuditComplaintCmd extends Cmd { @Autowired private IComplaintUserInnerServiceSMO complaintUserInnerServiceSMOImpl; @Autowired private IComplaintInnerServiceSMO complaintInnerServiceSMOImpl; @Autowired private IComplaintV1InnerServiceSMO complaintV1InnerServiceSMOImpl; @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", "必填,请填写用户信息"); } @Override public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException { ComplaintDto complaintDto = new ComplaintDto(); complaintDto.setComplaintId(reqJson.getString("complaintId")); complaintDto.setCommunityId(reqJson.getString("communityId")); List<ComplaintDto> complaintDtos = complaintInnerServiceSMOImpl.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); } } service-store/src/main/java/com/java110/store/cmd/complaint/DeleteComplaintCmd.java
New file @@ -0,0 +1,51 @@ package com.java110.store.cmd.complaint; import com.alibaba.fastjson.JSONObject; import com.java110.core.annotation.Java110Cmd; import com.java110.core.context.ICmdDataFlowContext; import com.java110.core.event.cmd.Cmd; import com.java110.core.event.cmd.CmdEvent; import com.java110.dto.complaint.ComplaintDto; import com.java110.intf.common.IComplaintUserInnerServiceSMO; import com.java110.intf.community.IComplaintV1InnerServiceSMO; import com.java110.po.complaint.ComplaintPo; import com.java110.utils.constant.BusinessTypeConstant; import com.java110.utils.exception.CmdException; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import com.java110.utils.util.StringUtil; import org.springframework.beans.factory.annotation.Autowired; @Java110Cmd(serviceCode = "complaint.deleteComplaint") public class DeleteComplaintCmd extends Cmd{ @Autowired private IComplaintV1InnerServiceSMO complaintV1InnerServiceSMOImpl; @Autowired private IComplaintUserInnerServiceSMO complaintUserInnerServiceSMOImpl; @Override public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException { Assert.hasKeyAndValue(reqJson, "complaintId", "投诉ID不能为空"); } @Override public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException { ComplaintPo complaintPo = BeanConvertUtil.covertBean(reqJson, ComplaintPo.class); int flag = complaintV1InnerServiceSMOImpl.deleteComplaint(complaintPo); if (flag < 1) { throw new CmdException("投诉不存在"); } if(StringUtil.isEmpty(complaintPo.getTaskId())){ return ; } ComplaintDto complaintDto = new ComplaintDto(); complaintDto.setTaskId(complaintPo.getTaskId()); complaintUserInnerServiceSMOImpl.deleteTask(complaintDto); } } service-store/src/main/java/com/java110/store/cmd/complaint/ListComplaintsCmd.javaold mode 100755 new mode 100644
File was renamed from service-api/src/main/java/com/java110/api/listener/complaint/ListComplaintsListener.java @@ -1,10 +1,10 @@ package com.java110.api.listener.complaint; package com.java110.store.cmd.complaint; import com.alibaba.fastjson.JSONObject; import com.java110.api.listener.AbstractServiceApiListener; import com.java110.core.annotation.Java110Listener; import com.java110.core.context.DataFlowContext; import com.java110.core.event.service.api.ServiceDataFlowEvent; import com.java110.core.annotation.Java110Cmd; import com.java110.core.context.ICmdDataFlowContext; import com.java110.core.event.cmd.Cmd; import com.java110.core.event.cmd.CmdEvent; import com.java110.dto.RoomDto; import com.java110.dto.complaint.ComplaintDto; import com.java110.dto.file.FileRelDto; @@ -12,7 +12,7 @@ import com.java110.intf.common.IFileRelInnerServiceSMO; import com.java110.intf.community.IRoomInnerServiceSMO; import com.java110.intf.store.IComplaintInnerServiceSMO; import com.java110.utils.constant.ServiceCodeComplaintConstant; import com.java110.utils.exception.CmdException; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import com.java110.utils.util.StringUtil; @@ -20,19 +20,14 @@ import com.java110.vo.api.complaint.ApiComplaintVo; import com.java110.vo.api.junkRequirement.PhotoVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import java.util.ArrayList; import java.util.List; /** * 查询小区侦听类 */ @Java110Listener("listComplaintsListener") public class ListComplaintsListener extends AbstractServiceApiListener { @Java110Cmd(serviceCode = "complaint.listComplaints") public class ListComplaintsCmd extends Cmd{ @Autowired private IComplaintInnerServiceSMO complaintInnerServiceSMOImpl; @@ -46,39 +41,13 @@ private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl; @Override public String getServiceCode() { return ServiceCodeComplaintConstant.LIST_COMPLAINTS; } @Override public HttpMethod getHttpMethod() { return HttpMethod.GET; } @Override public int getOrder() { return DEFAULT_ORDER; } public IComplaintInnerServiceSMO getComplaintInnerServiceSMOImpl() { return complaintInnerServiceSMOImpl; } public void setComplaintInnerServiceSMOImpl(IComplaintInnerServiceSMO complaintInnerServiceSMOImpl) { this.complaintInnerServiceSMOImpl = complaintInnerServiceSMOImpl; } @Override protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) { public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException { Assert.hasKeyAndValue(reqJson, "communityId", "必填,请填写小区信息"); super.validatePageInfo(reqJson); } @Override protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) { public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException { ComplaintDto complaintDto = BeanConvertUtil.covertBean(reqJson, ComplaintDto.class); String roomId = reqJson.getString("roomId"); service-store/src/main/java/com/java110/store/cmd/complaint/SaveComplaintCmd.javaold mode 100755 new mode 100644
File was renamed from service-api/src/main/java/com/java110/api/listener/complaint/SaveComplaintListener.java @@ -1,34 +1,29 @@ package com.java110.api.listener.complaint; package com.java110.store.cmd.complaint; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.java110.api.bmo.complaint.IComplaintBMO; import com.java110.api.listener.AbstractServiceApiPlusListener; import com.java110.core.annotation.Java110Listener; import com.java110.core.context.DataFlowContext; import com.java110.core.event.service.api.ServiceDataFlowEvent; import com.java110.core.annotation.Java110Cmd; import com.java110.core.annotation.Java110Transactional; 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.file.FileDto; import com.java110.intf.common.IComplaintUserInnerServiceSMO; import com.java110.intf.common.IFileInnerServiceSMO; import com.java110.intf.common.IFileRelInnerServiceSMO; import com.java110.intf.community.IComplaintV1InnerServiceSMO; import com.java110.po.complaint.ComplaintPo; import com.java110.po.file.FileRelPo; import com.java110.utils.constant.BusinessTypeConstant; import com.java110.utils.constant.ServiceCodeComplaintConstant; import com.java110.utils.exception.CmdException; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpMethod; /** * 保存小区侦听 * add by wuxw 2019-06-30 */ @Java110Listener("saveComplaintListener") public class SaveComplaintListener extends AbstractServiceApiPlusListener { @Autowired private IComplaintBMO complaintBMOImpl; @Java110Cmd(serviceCode = "complaint.saveComplaint") public class SaveComplaintCmd extends Cmd{ @Autowired private IFileInnerServiceSMO fileInnerServiceSMOImpl; @@ -36,10 +31,14 @@ @Autowired private IComplaintUserInnerServiceSMO complaintUserInnerServiceSMOImpl; @Override protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) { //Assert.hasKeyAndValue(reqJson, "xxx", "xxx"); @Autowired private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl; @Autowired private IComplaintV1InnerServiceSMO complaintV1InnerServiceSMOImpl; @Override public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException { Assert.hasKeyAndValue(reqJson, "storeId", "必填,请填写商户ID"); Assert.hasKeyAndValue(reqJson, "typeCd", "必填,请选择投诉类型"); Assert.hasKeyAndValue(reqJson, "roomId", "必填,请选择房屋编号"); @@ -48,14 +47,20 @@ Assert.hasKeyAndValue(reqJson, "userId", "必填,请填写用户信息"); Assert.hasKeyAndValue(reqJson, "context", "必填,请填写投诉内容"); Assert.hasKeyAndValue(reqJson, "communityId", "必填,请填写小区ID"); } @Override protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) { @Java110Transactional public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException { reqJson.put("startUserId", reqJson.getString("userId")); complaintBMOImpl.addComplaint(reqJson, context); reqJson.put("complaintId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_complaintId)); reqJson.put("state", "10001"); ComplaintPo complaintPo = BeanConvertUtil.covertBean(reqJson, ComplaintPo.class); int flag = complaintV1InnerServiceSMOImpl.saveComplaint(complaintPo); if(flag < 1){ throw new CmdException("投诉失败"); } if (reqJson.containsKey("photos") && reqJson.getJSONArray("photos").size() > 0) { JSONArray photos = reqJson.getJSONArray("photos"); @@ -80,37 +85,21 @@ businessUnit.put("fileRealName", fileDto.getFileId()); businessUnit.put("fileSaveName", fileName); FileRelPo fileRelPo = BeanConvertUtil.covertBean(businessUnit, FileRelPo.class); super.insert(context, fileRelPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FILE_REL); fileRelInnerServiceSMOImpl.saveFileRel(fileRelPo); } } //commit(context); ComplaintDto complaintDto = BeanConvertUtil.covertBean(reqJson, ComplaintDto.class); complaintDto.setCurrentUserId(reqJson.getString("userId")); complaintUserInnerServiceSMOImpl.startProcess(complaintDto); complaintDto = complaintUserInnerServiceSMOImpl.startProcess(complaintDto); } @Override public String getServiceCode() { return ServiceCodeComplaintConstant.ADD_COMPLAINT; } @Override public HttpMethod getHttpMethod() { return HttpMethod.POST; } @Override public int getOrder() { return DEFAULT_ORDER; } public IComplaintUserInnerServiceSMO getComplaintUserInnerServiceSMOImpl() { return complaintUserInnerServiceSMOImpl; } public void setComplaintUserInnerServiceSMOImpl(IComplaintUserInnerServiceSMO complaintUserInnerServiceSMOImpl) { this.complaintUserInnerServiceSMOImpl = complaintUserInnerServiceSMOImpl; //没有配置流程,直接设置为完成 if(complaintDto == null){ complaintPo = new ComplaintPo(); complaintPo.setComplaintId(reqJson.getString("complaintId")); complaintPo.setState(ComplaintDto.STATE_FINISH); complaintV1InnerServiceSMOImpl.updateComplaint(complaintPo); } } } service-store/src/main/java/com/java110/store/cmd/complaint/UpdateComplaintCmd.java
New file @@ -0,0 +1,62 @@ package com.java110.store.cmd.complaint; import com.alibaba.fastjson.JSONObject; import com.java110.core.annotation.Java110Cmd; import com.java110.core.context.ICmdDataFlowContext; import com.java110.core.event.cmd.Cmd; import com.java110.core.event.cmd.CmdEvent; import com.java110.dto.complaint.ComplaintDto; import com.java110.intf.community.IComplaintV1InnerServiceSMO; import com.java110.intf.store.IComplaintInnerServiceSMO; import com.java110.po.complaint.ComplaintPo; import com.java110.utils.constant.BusinessTypeConstant; import com.java110.utils.exception.CmdException; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import org.springframework.beans.factory.annotation.Autowired; import java.util.List; @Java110Cmd(serviceCode = "complaint.updateComplaint") public class UpdateComplaintCmd extends Cmd { @Autowired private IComplaintInnerServiceSMO complaintInnerServiceSMOImpl; @Autowired private IComplaintV1InnerServiceSMO complaintV1InnerServiceSMOImpl; @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, "typeCd", "必填,请选择投诉类型"); //Assert.hasKeyAndValue(reqJson, "roomId", "必填,请选择房屋编号"); Assert.hasKeyAndValue(reqJson, "complaintName", "必填,请填写投诉人"); Assert.hasKeyAndValue(reqJson, "tel", "必填,请填写投诉电话"); //Assert.hasKeyAndValue(reqJson, "state", "必填,请填写投诉状态"); Assert.hasKeyAndValue(reqJson, "context", "必填,请填写投诉内容"); } @Override public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException { ComplaintDto complaintDto = new ComplaintDto(); complaintDto.setStoreId(reqJson.getString("storeId")); complaintDto.setComplaintId(reqJson.getString("complaintId")); List<ComplaintDto> complaintDtos = complaintInnerServiceSMOImpl.queryComplaints(complaintDto); Assert.listOnlyOne(complaintDtos, "存在多条记录,或不存在数据" + complaintDto.getComplaintId()); JSONObject businessComplaint = new JSONObject(); businessComplaint.putAll(reqJson); businessComplaint.put("state", complaintDtos.get(0).getState()); businessComplaint.put("roomId", complaintDtos.get(0).getRoomId()); ComplaintPo complaintPo = BeanConvertUtil.covertBean(reqJson, ComplaintPo.class); int flag = complaintV1InnerServiceSMOImpl.updateComplaint(complaintPo); if(flag < 1){ throw new CmdException("修改投诉失败"); } } }