wuxw лет назад: 2
Родитель
Сommit
3fd7d248de

+ 38 - 19
java110-bean/src/main/java/com/java110/dto/complaintEvent/ComplaintEventDto.java

@@ -1,6 +1,7 @@
 package com.java110.dto.complaintEvent;
 
 import com.java110.dto.PageDto;
+
 import java.io.Serializable;
 import java.util.Date;
 
@@ -14,13 +15,18 @@ import java.util.Date;
  **/
 public class ComplaintEventDto extends PageDto implements Serializable {
 
+    public static final String EVENT_TYPE_SUBMIT = "1000";//1001 投诉处理 2002 评价 3003 评价回复
+    public static final String EVENT_TYPE_DO = "1001";//1001 投诉处理 2002 评价 3003 评价回复
+    public static final String EVENT_TYPE_APPRAISE = "2002";//1001 投诉处理 2002 评价 3003 评价回复
+    public static final String EVENT_TYPE_REPLY = "3003";//1001 投诉处理 2002 评价 3003 评价回复
+
     private String eventId;
-private String createUserId;
-private String complaintId;
-private String createUserName;
-private String remark;
-private String eventType;
-private String communityId;
+    private String createUserId;
+    private String complaintId;
+    private String createUserName;
+    private String remark;
+    private String eventType;
+    private String communityId;
 
 
     private Date createTime;
@@ -31,43 +37,56 @@ private String communityId;
     public String getEventId() {
         return eventId;
     }
-public void setEventId(String eventId) {
+
+    public void setEventId(String eventId) {
         this.eventId = eventId;
     }
-public String getCreateUserId() {
+
+    public String getCreateUserId() {
         return createUserId;
     }
-public void setCreateUserId(String createUserId) {
+
+    public void setCreateUserId(String createUserId) {
         this.createUserId = createUserId;
     }
-public String getComplaintId() {
+
+    public String getComplaintId() {
         return complaintId;
     }
-public void setComplaintId(String complaintId) {
+
+    public void setComplaintId(String complaintId) {
         this.complaintId = complaintId;
     }
-public String getCreateUserName() {
+
+    public String getCreateUserName() {
         return createUserName;
     }
-public void setCreateUserName(String createUserName) {
+
+    public void setCreateUserName(String createUserName) {
         this.createUserName = createUserName;
     }
-public String getRemark() {
+
+    public String getRemark() {
         return remark;
     }
-public void setRemark(String remark) {
+
+    public void setRemark(String remark) {
         this.remark = remark;
     }
-public String getEventType() {
+
+    public String getEventType() {
         return eventType;
     }
-public void setEventType(String eventType) {
+
+    public void setEventType(String eventType) {
         this.eventType = eventType;
     }
-public String getCommunityId() {
+
+    public String getCommunityId() {
         return communityId;
     }
-public void setCommunityId(String communityId) {
+
+    public void setCommunityId(String communityId) {
         this.communityId = communityId;
     }
 

+ 70 - 42
java110-bean/src/main/java/com/java110/po/complaint/ComplaintPo.java

@@ -17,6 +17,7 @@ package com.java110.po.complaint;
 
 import java.io.Serializable;
 import java.util.Date;
+
 /**
  * 类表述: Po 数据模型实体对象 基本保持与数据库模型一直 用于 增加修改删除 等时的数据载体
  * add by 吴学文 at 2024-02-21 13:08:05 mail: 928255095@qq.com
@@ -28,104 +29,131 @@ import java.util.Date;
 public class ComplaintPo implements Serializable {
 
     private String statusCd = "0";
-private String storeId;
-private String ownerId;
-private String roomId;
-private String roomName;
-private String startUserId;
-private String complaintId;
-private String typeCd;
-private String ownerName;
-private String context;
-private String complaintName;
-private String tel;
-private String state;
-private String communityId;
-public String getStatusCd() {
+    private String storeId;
+    private String ownerId;
+    private String roomId;
+    private String roomName;
+    private String startUserId;
+    private String complaintId;
+    private String typeCd;
+    private String ownerName;
+    private String context;
+    private String complaintName;
+    private String tel;
+    private String state;
+    private String communityId;
+
+    public String getStatusCd() {
         return statusCd;
     }
-public void setStatusCd(String statusCd) {
+
+    public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
-public String getStoreId() {
+
+    public String getStoreId() {
         return storeId;
     }
-public void setStoreId(String storeId) {
+
+    public void setStoreId(String storeId) {
         this.storeId = storeId;
     }
-public String getOwnerId() {
+
+    public String getOwnerId() {
         return ownerId;
     }
-public void setOwnerId(String ownerId) {
+
+    public void setOwnerId(String ownerId) {
         this.ownerId = ownerId;
     }
-public String getRoomId() {
+
+    public String getRoomId() {
         return roomId;
     }
-public void setRoomId(String roomId) {
+
+    public void setRoomId(String roomId) {
         this.roomId = roomId;
     }
-public String getRoomName() {
+
+    public String getRoomName() {
         return roomName;
     }
-public void setRoomName(String roomName) {
+
+    public void setRoomName(String roomName) {
         this.roomName = roomName;
     }
-public String getStartUserId() {
+
+    public String getStartUserId() {
         return startUserId;
     }
-public void setStartUserId(String startUserId) {
+
+    public void setStartUserId(String startUserId) {
         this.startUserId = startUserId;
     }
-public String getComplaintId() {
+
+    public String getComplaintId() {
         return complaintId;
     }
-public void setComplaintId(String complaintId) {
+
+    public void setComplaintId(String complaintId) {
         this.complaintId = complaintId;
     }
-public String getTypeCd() {
+
+    public String getTypeCd() {
         return typeCd;
     }
-public void setTypeCd(String typeCd) {
+
+    public void setTypeCd(String typeCd) {
         this.typeCd = typeCd;
     }
-public String getOwnerName() {
+
+    public String getOwnerName() {
         return ownerName;
     }
-public void setOwnerName(String ownerName) {
+
+    public void setOwnerName(String ownerName) {
         this.ownerName = ownerName;
     }
-public String getContext() {
+
+    public String getContext() {
         return context;
     }
-public void setContext(String context) {
+
+    public void setContext(String context) {
         this.context = context;
     }
-public String getComplaintName() {
+
+    public String getComplaintName() {
         return complaintName;
     }
-public void setComplaintName(String complaintName) {
+
+    public void setComplaintName(String complaintName) {
         this.complaintName = complaintName;
     }
-public String getTel() {
+
+    public String getTel() {
         return tel;
     }
-public void setTel(String tel) {
+
+    public void setTel(String tel) {
         this.tel = tel;
     }
-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;
     }
 
 
-
 }

+ 40 - 24
java110-bean/src/main/java/com/java110/po/complaintEvent/ComplaintEventPo.java

@@ -17,6 +17,7 @@ package com.java110.po.complaintEvent;
 
 import java.io.Serializable;
 import java.util.Date;
+
 /**
  * 类表述: Po 数据模型实体对象 基本保持与数据库模型一直 用于 增加修改删除 等时的数据载体
  * add by 吴学文 at 2024-02-21 13:01:48 mail: 928255095@qq.com
@@ -28,62 +29,77 @@ import java.util.Date;
 public class ComplaintEventPo implements Serializable {
 
     private String eventId;
-private String createUserId;
-private String complaintId;
-private String createUserName;
-private String remark;
-private String statusCd = "0";
-private String eventType;
-private String communityId;
-public String getEventId() {
+    private String createUserId;
+    private String complaintId;
+    private String createUserName;
+    private String remark;
+    private String statusCd = "0";
+    private String eventType;
+    private String communityId;
+
+    public String getEventId() {
         return eventId;
     }
-public void setEventId(String eventId) {
+
+    public void setEventId(String eventId) {
         this.eventId = eventId;
     }
-public String getCreateUserId() {
+
+    public String getCreateUserId() {
         return createUserId;
     }
-public void setCreateUserId(String createUserId) {
+
+    public void setCreateUserId(String createUserId) {
         this.createUserId = createUserId;
     }
-public String getComplaintId() {
+
+    public String getComplaintId() {
         return complaintId;
     }
-public void setComplaintId(String complaintId) {
+
+    public void setComplaintId(String complaintId) {
         this.complaintId = complaintId;
     }
-public String getCreateUserName() {
+
+    public String getCreateUserName() {
         return createUserName;
     }
-public void setCreateUserName(String createUserName) {
+
+    public void setCreateUserName(String createUserName) {
         this.createUserName = createUserName;
     }
-public String getRemark() {
+
+    public String getRemark() {
         return remark;
     }
-public void setRemark(String remark) {
+
+    public void setRemark(String remark) {
         this.remark = remark;
     }
-public String getStatusCd() {
+
+    public String getStatusCd() {
         return statusCd;
     }
-public void setStatusCd(String statusCd) {
+
+    public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
-public String getEventType() {
+
+    public String getEventType() {
         return eventType;
     }
-public void setEventType(String eventType) {
+
+    public void setEventType(String eventType) {
         this.eventType = eventType;
     }
-public String getCommunityId() {
+
+    public String getCommunityId() {
         return communityId;
     }
-public void setCommunityId(String communityId) {
+
+    public void setCommunityId(String communityId) {
         this.communityId = communityId;
     }
 
 
-
 }

+ 0 - 86
service-store/src/main/java/com/java110/store/cmd/complaint/ListComplaintCmd.java

@@ -1,86 +0,0 @@
-/*
- * Copyright 2017-2020 吴学文 and java110 team.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.java110.store.cmd.complaint;
-
-import com.alibaba.fastjson.JSONObject;
-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.intf.store.IComplaintV1InnerServiceSMO;
-import com.java110.po.complaint.ComplaintPo;
-import com.java110.utils.exception.CmdException;
-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 com.java110.dto.complaint.ComplaintDto;
-import java.util.List;
-import java.util.ArrayList;
-import org.springframework.http.ResponseEntity;
-import org.springframework.http.HttpStatus;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-/**
- * 类表述:查询
- * 服务编码:complaint.listComplaint
- * 请求路劲:/app/complaint.ListComplaint
- * add by 吴学文 at 2024-02-21 13:08:05 mail: 928255095@qq.com
- * open source address: https://gitee.com/wuxw7/MicroCommunity
- * 官网:http://www.homecommunity.cn
- * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
- * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
- */
-@Java110Cmd(serviceCode = "complaint.listComplaint")
-public class ListComplaintCmd extends Cmd {
-
-  private static Logger logger = LoggerFactory.getLogger(ListComplaintCmd.class);
-    @Autowired
-    private IComplaintV1InnerServiceSMO complaintV1InnerServiceSMOImpl;
-
-    @Override
-    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
-        super.validatePageInfo(reqJson);
-        Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
-
-    }
-
-    @Override
-    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
-
-           ComplaintDto complaintDto = BeanConvertUtil.covertBean(reqJson, ComplaintDto.class);
-
-           int count = complaintV1InnerServiceSMOImpl.queryComplaintsCount(complaintDto);
-
-           List<ComplaintDto> complaintDtos = null;
-
-           if (count > 0) {
-               complaintDtos = complaintV1InnerServiceSMOImpl.queryComplaints(complaintDto);
-           } else {
-               complaintDtos = new ArrayList<>();
-           }
-
-           ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, complaintDtos);
-
-           ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
-
-           cmdDataFlowContext.setResponseEntity(responseEntity);
-    }
-}

+ 2 - 5
service-store/src/main/java/com/java110/store/cmd/complaintEvent/ListComplaintEventCmd.java

@@ -13,17 +13,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.java110.store.cmd.complaintEvent;
+package com.java110.store.cmd.complaint;
 
 import com.alibaba.fastjson.JSONObject;
 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.intf.store.IComplaintEventV1InnerServiceSMO;
-import com.java110.po.complaintEvent.ComplaintEventPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -48,7 +45,7 @@ import org.slf4j.LoggerFactory;
  * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
  * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
  */
-@Java110Cmd(serviceCode = "complaintEvent.listComplaintEvent")
+@Java110Cmd(serviceCode = "complaint.listComplaintEvent")
 public class ListComplaintEventCmd extends Cmd {
 
   private static Logger logger = LoggerFactory.getLogger(ListComplaintEventCmd.class);

+ 1 - 40
service-store/src/main/java/com/java110/store/cmd/complaint/ListComplaintsCmd.java

@@ -54,29 +54,12 @@ public class ListComplaintsCmd extends Cmd {
 
     @Override
     public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
-        //如果根据业主ID查询转换为用手机号查询
-        hasOwnerId(reqJson);
 
         ComplaintDto complaintDto = BeanConvertUtil.covertBean(reqJson, ComplaintDto.class);
-        String roomId = reqJson.getString("roomId");
-        if (!StringUtil.isEmpty(roomId) && roomId.contains("-")) {
-            String[] values = roomId.split("-", 3);
-            if (values.length == 3) {
-                RoomDto roomDto = new RoomDto();
-                roomDto.setFloorNum(values[0]);
-                roomDto.setUnitNum(values[1]);
-                roomDto.setRoomNum(values[2]);
-                roomDto.setCommunityId(reqJson.getString("communityId"));
-                List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
-                Assert.listOnlyOne(roomDtos, "未找到房屋信息");
-                complaintDto.setRoomId(roomDtos.get(0).getRoomId());
-            }
-        }
         int count = complaintInnerServiceSMOImpl.queryComplaintsCount(complaintDto);
         List<ApiComplaintDataVo> complaints = null;
         if (count > 0) {
             List<ComplaintDto> complaintDtos = complaintInnerServiceSMOImpl.queryComplaints(complaintDto);
-            complaintDtos = freshCurrentUser(complaintDtos);
             complaints = BeanConvertUtil.covertBeanList(complaintDtos, ApiComplaintDataVo.class);
             refreshPhotos(complaints);
         } else {
@@ -90,30 +73,8 @@ public class ListComplaintsCmd extends Cmd {
         context.setResponseEntity(responseEntity);
     }
 
-    /**
-     * //如果根据业主ID查询转换为用手机号查询
-     * @param reqJson
-     */
-    private void hasOwnerId(JSONObject reqJson) {
-        if(reqJson.containsKey("ownerId") && !StringUtil.isEmpty(reqJson.getString("ownerId"))){
-            OwnerDto ownerDto = new OwnerDto();
-            ownerDto.setMemberId(reqJson.getString("ownerId"));
-            ownerDto.setCommunityId(reqJson.getString("communityId"));
-            List<OwnerDto> ownerDtos = ownerV1InnerServiceSMOImpl.queryOwners(ownerDto);
-            if(ownerDtos != null && ownerDtos.size() > 0){
-                reqJson.put("tel",ownerDtos.get(0).getLink());
-            }
-        }
-    }
 
-    private List<ComplaintDto> freshCurrentUser(List<ComplaintDto> complaintDtos) {
-        List<ComplaintDto> tmpComplaintDtos = new ArrayList<>();
-        for (ComplaintDto complaintDto : complaintDtos) {
-            complaintDto = complaintUserInnerServiceSMOImpl.getTaskCurrentUser(complaintDto);
-            tmpComplaintDtos.add(complaintDto);
-        }
-        return tmpComplaintDtos;
-    }
+
 
     private void refreshPhotos(List<ApiComplaintDataVo> complaints) {
         List<PhotoVo> photoVos = null;

+ 152 - 0
service-store/src/main/java/com/java110/store/cmd/complaint/SaveComplaintCmd.java

@@ -15,23 +15,47 @@
  */
 package com.java110.store.cmd.complaint;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.annotation.Java110Transactional;
+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.community.CommunityMemberDto;
+import com.java110.dto.complaint.ComplaintDto;
+import com.java110.dto.complaintEvent.ComplaintEventDto;
+import com.java110.dto.complaintType.ComplaintTypeDto;
+import com.java110.dto.file.FileDto;
+import com.java110.dto.room.RoomDto;
+import com.java110.dto.user.UserDto;
+import com.java110.intf.common.IFileInnerServiceSMO;
+import com.java110.intf.common.IFileRelInnerServiceSMO;
+import com.java110.intf.community.ICommunityInnerServiceSMO;
+import com.java110.intf.community.ICommunityMemberV1InnerServiceSMO;
+import com.java110.intf.community.ICommunityV1InnerServiceSMO;
+import com.java110.intf.community.IRoomInnerServiceSMO;
+import com.java110.intf.store.IComplaintEventV1InnerServiceSMO;
+import com.java110.intf.store.IComplaintTypeV1InnerServiceSMO;
 import com.java110.intf.store.IComplaintV1InnerServiceSMO;
+import com.java110.intf.user.IUserV1InnerServiceSMO;
 import com.java110.po.complaint.ComplaintPo;
+import com.java110.po.complaintEvent.ComplaintEventPo;
+import com.java110.po.file.FileRelPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.ListUtil;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.List;
+
 /**
  * 类表述:保存
  * 服务编码:complaint.saveComplaint
@@ -52,28 +76,156 @@ public class SaveComplaintCmd extends Cmd {
     @Autowired
     private IComplaintV1InnerServiceSMO complaintV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IComplaintTypeV1InnerServiceSMO complaintTypeV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
+
+    @Autowired
+    private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
+
+    @Autowired
+    private IComplaintEventV1InnerServiceSMO complaintEventV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IFileInnerServiceSMO fileInnerServiceSMOImpl;
+
+    @Autowired
+    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
+
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "complaintName", "请求报文中未包含complaintName");
         Assert.hasKeyAndValue(reqJson, "typeCd", "请求报文中未包含typeCd");
         Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
         Assert.hasKeyAndValue(reqJson, "roomId", "请求报文中未包含roomId");
+        Assert.hasKeyAndValue(reqJson, "tel", "请求报文中未包含tel");
         Assert.hasKeyAndValue(reqJson, "context", "请求报文中未包含context");
 
+
+        ComplaintTypeDto complaintTypeDto = new ComplaintTypeDto();
+        complaintTypeDto.setTypeCd(reqJson.getString("typeCd"));
+        complaintTypeDto.setCommunityId(reqJson.getString("communityId"));
+        List<ComplaintTypeDto> complaintTypeDtos = complaintTypeV1InnerServiceSMOImpl.queryComplaintTypes(complaintTypeDto);
+
+        Assert.listOnlyOne(complaintTypeDtos, "投诉类型不存在");
+
+
+        RoomDto roomDto = new RoomDto();
+        roomDto.setRoomId(reqJson.getString("roomId"));
+        roomDto.setCommunityId(reqJson.getString("communityId"));
+        List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
+
+        Assert.listOnlyOne(roomDtos, "房屋不存在");
+
+        reqJson.put("roomName", roomDtos.get(0).getFloorNum() + "-" + roomDtos.get(0).getUnitNum() + "-" + roomDtos.get(0).getRoomNum());
+
+        String ownerId = roomDtos.get(0).getOwnerId();
+        if (StringUtil.isEmpty(ownerId)) {
+            ownerId = "-1";
+        }
+        String ownerName = roomDtos.get(0).getOwnerName();
+        if (StringUtil.isEmpty(ownerName)) {
+            ownerName = "未知";
+        }
+        reqJson.put("ownerId", ownerId);
+        reqJson.put("ownerName", ownerName);
+
     }
 
     @Override
     @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
 
+        String userId = CmdContextUtils.getUserId(cmdDataFlowContext);
+
+        UserDto userDto = new UserDto();
+        userDto.setUserId(userId);
+        List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
+
+        Assert.listOnlyOne(userDtos, "用户未登录");
+
+        CommunityMemberDto communityMemberDto = new CommunityMemberDto();
+        communityMemberDto.setCommunityId(reqJson.getString("communityId"));
+        communityMemberDto.setMemberTypeCd(CommunityMemberDto.MEMBER_TYPE_PROPERTY);
+        List<CommunityMemberDto> communityMemberDtos = communityInnerServiceSMOImpl.getCommunityMembers(communityMemberDto);
+
+        Assert.listOnlyOne(communityMemberDtos, "小区未入驻");
+
+
         ComplaintPo complaintPo = BeanConvertUtil.covertBean(reqJson, ComplaintPo.class);
         complaintPo.setComplaintId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+        complaintPo.setState(ComplaintDto.STATE_WAIT);
+        complaintPo.setStoreId(communityMemberDtos.get(0).getMemberId());
+        complaintPo.setStartUserId(userId);
         int flag = complaintV1InnerServiceSMOImpl.saveComplaint(complaintPo);
 
         if (flag < 1) {
             throw new CmdException("保存数据失败");
         }
 
+        ComplaintEventPo complaintEventPo = new ComplaintEventPo();
+        complaintEventPo.setRemark("用户提交投诉");
+        complaintEventPo.setComplaintId(complaintPo.getComplaintId());
+        complaintEventPo.setCommunityId(complaintPo.getCommunityId());
+        complaintEventPo.setEventType(ComplaintEventDto.EVENT_TYPE_SUBMIT);
+        complaintEventPo.setCreateUserId(userId);
+        complaintEventPo.setCreateUserName(userDtos.get(0).getName());
+        complaintEventPo.setEventId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+        flag = complaintEventV1InnerServiceSMOImpl.saveComplaintEvent(complaintEventPo);
+
+        if (flag < 1) {
+            throw new CmdException("保存数据失败");
+        }
+
+        //todo 图片
+        savePhone(reqJson, complaintPo);
+
+
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
+
+    /**
+     * 保存图片
+     *
+     * @param reqJson
+     * @param complaintPo
+     */
+    private void savePhone(JSONObject reqJson, ComplaintPo complaintPo) {
+
+        if (!reqJson.containsKey("photos")) {
+            return;
+        }
+        JSONArray photos = reqJson.getJSONArray("photos");
+        if (ListUtil.isNull(photos)) {
+            return;
+        }
+        for (int photoIndex = 0; photoIndex < photos.size(); photoIndex++) {
+            String _photo = photos.getString(photoIndex);
+            if (_photo.length() > 512) {
+                FileDto fileDto = new FileDto();
+                fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
+                fileDto.setFileName(fileDto.getFileId());
+                fileDto.setContext(_photo);
+                fileDto.setSuffix("jpeg");
+                fileDto.setCommunityId(reqJson.getString("communityId"));
+                _photo = fileInnerServiceSMOImpl.saveFile(fileDto);
+            }
+            JSONObject businessUnit = new JSONObject();
+            businessUnit.put("fileRelId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
+            businessUnit.put("relTypeCd", "13000");
+            businessUnit.put("saveWay", "table");
+            businessUnit.put("objId", complaintPo.getComplaintId());
+            businessUnit.put("fileRealName", _photo);
+            businessUnit.put("fileSaveName", _photo);
+            FileRelPo fileRelPo = BeanConvertUtil.covertBean(businessUnit, FileRelPo.class);
+            fileRelInnerServiceSMOImpl.saveFileRel(fileRelPo);
+        }
+    }
+
 }

+ 0 - 71
service-store/src/main/java/com/java110/store/cmd/complaintEvent/DeleteComplaintEventCmd.java

@@ -1,71 +0,0 @@
-/*
- * Copyright 2017-2020 吴学文 and java110 team.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.java110.store.cmd.complaintEvent;
-
-import com.alibaba.fastjson.JSONObject;
-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.intf.store.IComplaintEventV1InnerServiceSMO;
-import com.java110.po.complaintEvent.ComplaintEventPo;
-import com.java110.utils.exception.CmdException;
-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.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-/**
- * 类表述:删除
- * 服务编码:complaintEvent.deleteComplaintEvent
- * 请求路劲:/app/complaintEvent.DeleteComplaintEvent
- * add by 吴学文 at 2024-02-21 13:01:48 mail: 928255095@qq.com
- * open source address: https://gitee.com/wuxw7/MicroCommunity
- * 官网:http://www.homecommunity.cn
- * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
- * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
- */
-@Java110Cmd(serviceCode = "complaintEvent.deleteComplaintEvent")
-public class DeleteComplaintEventCmd extends Cmd {
-  private static Logger logger = LoggerFactory.getLogger(DeleteComplaintEventCmd.class);
-
-    @Autowired
-    private IComplaintEventV1InnerServiceSMO complaintEventV1InnerServiceSMOImpl;
-
-    @Override
-    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
-        Assert.hasKeyAndValue(reqJson, "eventId", "eventId不能为空");
-Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
-
-    }
-
-    @Override
-    @Java110Transactional
-    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
-
-       ComplaintEventPo complaintEventPo = BeanConvertUtil.covertBean(reqJson, ComplaintEventPo.class);
-        int flag = complaintEventV1InnerServiceSMOImpl.deleteComplaintEvent(complaintEventPo);
-
-        if (flag < 1) {
-            throw new CmdException("删除数据失败");
-        }
-
-        cmdDataFlowContext.setResponseEntity(ResultVo.success());
-    }
-}

+ 0 - 77
service-store/src/main/java/com/java110/store/cmd/complaintEvent/SaveComplaintEventCmd.java

@@ -1,77 +0,0 @@
-/*
- * Copyright 2017-2020 吴学文 and java110 team.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.java110.store.cmd.complaintEvent;
-
-import com.alibaba.fastjson.JSONObject;
-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.intf.store.IComplaintEventV1InnerServiceSMO;
-import com.java110.po.complaintEvent.ComplaintEventPo;
-import com.java110.utils.exception.CmdException;
-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.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * 类表述:保存
- * 服务编码:complaintEvent.saveComplaintEvent
- * 请求路劲:/app/complaintEvent.SaveComplaintEvent
- * add by 吴学文 at 2024-02-21 13:01:48 mail: 928255095@qq.com
- * open source address: https://gitee.com/wuxw7/MicroCommunity
- * 官网:http://www.homecommunity.cn
- * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
- * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
- */
-@Java110Cmd(serviceCode = "complaintEvent.saveComplaintEvent")
-public class SaveComplaintEventCmd extends Cmd {
-
-    private static Logger logger = LoggerFactory.getLogger(SaveComplaintEventCmd.class);
-
-    public static final String CODE_PREFIX_ID = "10";
-
-    @Autowired
-    private IComplaintEventV1InnerServiceSMO complaintEventV1InnerServiceSMOImpl;
-
-    @Override
-    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
-        Assert.hasKeyAndValue(reqJson, "complaintId", "请求报文中未包含complaintId");
-Assert.hasKeyAndValue(reqJson, "eventType", "请求报文中未包含eventType");
-Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
-
-    }
-
-    @Override
-    @Java110Transactional
-    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
-
-       ComplaintEventPo complaintEventPo = BeanConvertUtil.covertBean(reqJson, ComplaintEventPo.class);
-        complaintEventPo.setEventId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
-        int flag = complaintEventV1InnerServiceSMOImpl.saveComplaintEvent(complaintEventPo);
-
-        if (flag < 1) {
-            throw new CmdException("保存数据失败");
-        }
-
-        cmdDataFlowContext.setResponseEntity(ResultVo.success());
-    }
-}

+ 0 - 75
service-store/src/main/java/com/java110/store/cmd/complaintEvent/UpdateComplaintEventCmd.java

@@ -1,75 +0,0 @@
-/*
- * Copyright 2017-2020 吴学文 and java110 team.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.java110.store.cmd.complaintEvent;
-
-import com.alibaba.fastjson.JSONObject;
-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.intf.store.IComplaintEventV1InnerServiceSMO;
-import com.java110.po.complaintEvent.ComplaintEventPo;
-import com.java110.utils.exception.CmdException;
-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.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-/**
- * 类表述:更新
- * 服务编码:complaintEvent.updateComplaintEvent
- * 请求路劲:/app/complaintEvent.UpdateComplaintEvent
- * add by 吴学文 at 2024-02-21 13:01:48 mail: 928255095@qq.com
- * open source address: https://gitee.com/wuxw7/MicroCommunity
- * 官网:http://www.homecommunity.cn
- * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
- * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
- */
-@Java110Cmd(serviceCode = "complaintEvent.updateComplaintEvent")
-public class UpdateComplaintEventCmd extends Cmd {
-
-  private static Logger logger = LoggerFactory.getLogger(UpdateComplaintEventCmd.class);
-
-
-    @Autowired
-    private IComplaintEventV1InnerServiceSMO complaintEventV1InnerServiceSMOImpl;
-
-    @Override
-    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
-        Assert.hasKeyAndValue(reqJson, "eventId", "eventId不能为空");
-Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
-
-    }
-
-    @Override
-    @Java110Transactional
-    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
-
-       ComplaintEventPo complaintEventPo = BeanConvertUtil.covertBean(reqJson, ComplaintEventPo.class);
-        int flag = complaintEventV1InnerServiceSMOImpl.updateComplaintEvent(complaintEventPo);
-
-        if (flag < 1) {
-            throw new CmdException("更新数据失败");
-        }
-
-        cmdDataFlowContext.setResponseEntity(ResultVo.success());
-    }
-}

+ 1 - 1
service-store/src/main/java/com/java110/store/cmd/complaintType/ListComplaintTypeCmd.java

@@ -120,7 +120,7 @@ public class ListComplaintTypeCmd extends Cmd {
         for (ComplaintTypeDto complaintTypeDto : complaintTypeDtos) {
             staffs = new ArrayList<>();
             for(ComplaintTypeUserDto complaintTypeUserDto1 : complaintTypeUserDtos){
-                if(complaintTypeDto.getTypeCd().equals(complaintTypeUserDto1.getTypeCds())){
+                if(complaintTypeDto.getTypeCd().equals(complaintTypeUserDto1.getTypeCd())){
                     staffs.add(complaintTypeUserDto1);
                 }
             }