wuxw
2022-11-07 4cb11084fcd290f204a7f00406c448cd36cdc681
service-community/src/main/java/com/java110/community/cmd/maintainance/UpdateMaintainanceItemCmd.java
@@ -15,14 +15,21 @@
 */
package com.java110.community.cmd.maintainance;
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.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.inspectionItemTitle.InspectionItemTitleDto;
import com.java110.dto.maintainanceItem.MaintainanceItemDto;
import com.java110.dto.maintainanceItemValue.MaintainanceItemValueDto;
import com.java110.intf.community.IMaintainanceItemV1InnerServiceSMO;
import com.java110.intf.community.IMaintainanceItemValueV1InnerServiceSMO;
import com.java110.po.maintainanceItem.MaintainanceItemPo;
import com.java110.po.maintainanceItemValue.MaintainanceItemValuePo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
@@ -30,6 +37,8 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
/**
@@ -51,10 +60,22 @@
    @Autowired
    private IMaintainanceItemV1InnerServiceSMO maintainanceItemV1InnerServiceSMOImpl;
    @Autowired
    private IMaintainanceItemValueV1InnerServiceSMO maintainanceItemValueV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "itemId", "itemId不能为空");
        Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
        JSONArray titleValues = null;
        if (!MaintainanceItemDto.TITLE_TYPE_QUESTIONS.equals(reqJson.getString("titleType"))) {
            titleValues = reqJson.getJSONArray("titleValues");
            if (titleValues.size() < 1) {
                throw new IllegalArgumentException("未包含选项");
            }
        }
    }
@@ -69,6 +90,33 @@
            throw new CmdException("更新数据失败");
        }
        if (InspectionItemTitleDto.TITLE_TYPE_QUESTIONS.equals(maintainanceItemPo.getTitleType())) {
            cmdDataFlowContext.setResponseEntity(ResultVo.success());
            return;
        }
        MaintainanceItemValueDto maintainanceItemValueDto = new MaintainanceItemValueDto();
        maintainanceItemValueDto.setItemId(reqJson.getString("itemId"));
        List<MaintainanceItemValueDto> maintainanceItemValueDtos = maintainanceItemValueV1InnerServiceSMOImpl.queryMaintainanceItemValues(maintainanceItemValueDto);
        if (maintainanceItemValueDtos != null && maintainanceItemValueDtos.size() > 0) {
            MaintainanceItemValuePo deleteMaintainanceItemValuePo = new MaintainanceItemValuePo();
            deleteMaintainanceItemValuePo.setItemId(maintainanceItemPo.getItemId());
            flag = maintainanceItemValueV1InnerServiceSMOImpl.deleteMaintainanceItemValue(deleteMaintainanceItemValuePo);
            if (flag < 1) {
                throw new CmdException("更新数据失败");
            }
        }
        JSONArray titleValues = reqJson.getJSONArray("titleValues");
        MaintainanceItemValuePo maintainanceItemValuePo = null;
        for (int titleValueIndex = 0; titleValueIndex < titleValues.size(); titleValueIndex++) {
            maintainanceItemValuePo = new MaintainanceItemValuePo();
            maintainanceItemValuePo.setItemValue(titleValues.getJSONObject(titleValueIndex).getString("itemValue"));
            maintainanceItemValuePo.setSeq(titleValues.getJSONObject(titleValueIndex).getString("seq"));
            maintainanceItemValuePo.setItemId(maintainanceItemPo.getItemId());
            maintainanceItemValuePo.setValueId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_valueId));
            maintainanceItemValuePo.setCommunityId(maintainanceItemPo.getCommunityId());
            maintainanceItemValueV1InnerServiceSMOImpl.saveMaintainanceItemValue(maintainanceItemValuePo);
        }
        cmdDataFlowContext.setResponseEntity(ResultVo.success());
    }
}