wuxw
2024-02-21 c7ec9c28226d597db7113cd2cc203a085791eb00
service-store/src/main/java/com/java110/store/cmd/complaintType/UpdateComplaintTypeCmd.java
@@ -15,6 +15,7 @@
 */
package com.java110.store.cmd.complaintType;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
@@ -22,11 +23,14 @@
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.IComplaintTypeUserV1InnerServiceSMO;
import com.java110.intf.store.IComplaintTypeV1InnerServiceSMO;
import com.java110.po.complaintType.ComplaintTypePo;
import com.java110.po.complaintTypeUser.ComplaintTypeUserPo;
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.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.slf4j.Logger;
@@ -52,11 +56,27 @@
    @Autowired
    private IComplaintTypeV1InnerServiceSMO complaintTypeV1InnerServiceSMOImpl;
    @Autowired
    private IComplaintTypeUserV1InnerServiceSMO complaintTypeUserV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "typeCd", "typeCd不能为空");
        Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
        JSONArray staffs = reqJson.getJSONArray("staffs");
        if (ListUtil.isNull(staffs)) {
            throw new CmdException("未包含人员");
        }
        JSONObject staff = null;
        for(int staffIndex = 0;staffIndex < staffs.size(); staffIndex++){
            staff = staffs.getJSONObject(staffIndex);
            Assert.hasKeyAndValue(staff, "userId", "请求报文中未包含userId");
            Assert.hasKeyAndValue(staff, "name", "请求报文中未包含userName");
        }
    }
    @Override
@@ -70,6 +90,24 @@
            throw new CmdException("更新数据失败");
        }
        ComplaintTypeUserPo complaintTypeUserPo = new ComplaintTypeUserPo();
        complaintTypeUserPo.setTypeCd(complaintTypePo.getTypeCd());
        complaintTypeUserV1InnerServiceSMOImpl.deleteComplaintTypeUser(complaintTypeUserPo);
        JSONArray staffs = reqJson.getJSONArray("staffs");
        JSONObject staff = null;
        for(int staffIndex = 0;staffIndex < staffs.size(); staffIndex++){
            staff = staffs.getJSONObject(staffIndex);
             complaintTypeUserPo = new ComplaintTypeUserPo();
            complaintTypeUserPo.setTypeCd(complaintTypePo.getTypeCd());
            complaintTypeUserPo.setTypeUserId(GenerateCodeFactory.getGeneratorId("11"));
            complaintTypeUserPo.setStaffName(staff.getString("name"));
            complaintTypeUserPo.setCommunityId(complaintTypePo.getCommunityId());
            complaintTypeUserPo.setStaffId(staff.getString("userId"));
            complaintTypeUserV1InnerServiceSMOImpl.saveComplaintTypeUser(complaintTypeUserPo);
        }
        cmdDataFlowContext.setResponseEntity(ResultVo.success());
    }
}