wuxw
2024-02-21 c7ec9c28226d597db7113cd2cc203a085791eb00
service-store/src/main/java/com/java110/store/cmd/complaintType/SaveComplaintTypeCmd.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,12 +56,40 @@
    @Autowired
    private IComplaintTypeV1InnerServiceSMO complaintTypeV1InnerServiceSMOImpl;
    @Autowired
    private IComplaintTypeUserV1InnerServiceSMO complaintTypeUserV1InnerServiceSMOImpl;
    /**
     * {"typeCd":"","typeName":"123","notifyWay":"WECHAT","appraiseReply":"Y","remark":"123",
     * "staffs":[{"address":"无","age":0,"email":"","initials":"B","levelCd":"01","name":"bbbb","orgId":"842024012258220036","orgLevel":"1",
     * "orgName":"物联网同步物业 / 物联网同步物业","parentOrgId":"-1","parentTwoOrgId":"-1","relCd":"1000","relCdName":"普通员工",
     * "relId":"842024020671010069","sex":"0","storeId":"102024012228150026","tel":"14545456666","userId":"302024020663670065","userName":"bbbb"}],
     * "communityId":"2024012252790005"}
     *
     * @param event              事件对象
     * @param cmdDataFlowContext 请求报文数据
     * @param reqJson
     */
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "typeName", "请求报文中未包含typeName");
        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
        Assert.hasKeyAndValue(reqJson, "notifyWay", "请求报文中未包含notifyWay");
        Assert.hasKeyAndValue(reqJson, "appraiseReply", "请求报文中未包含appraiseReply");
        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");
        }
    }
@@ -73,6 +105,20 @@
            throw new CmdException("保存数据失败");
        }
        JSONArray staffs = reqJson.getJSONArray("staffs");
        JSONObject staff = null;
        for(int staffIndex = 0;staffIndex < staffs.size(); staffIndex++){
            staff = staffs.getJSONObject(staffIndex);
            ComplaintTypeUserPo complaintTypeUserPo = new ComplaintTypeUserPo();
            complaintTypeUserPo.setTypeCd(complaintTypePo.getTypeCd());
            complaintTypeUserPo.setTypeUserId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
            complaintTypeUserPo.setStaffName(staff.getString("name"));
            complaintTypeUserPo.setCommunityId(complaintTypePo.getCommunityId());
            complaintTypeUserPo.setStaffId(staff.getString("userId"));
            complaintTypeUserV1InnerServiceSMOImpl.saveComplaintTypeUser(complaintTypeUserPo);
        }
        cmdDataFlowContext.setResponseEntity(ResultVo.success());
    }
}