java110
2022-04-02 264b1cfc41a90c1c032e368f11fc6fd2a452ae97
优化合同查询 转为cmd
2个文件已修改
1个文件已添加
175 ■■■■ 已修改文件
service-store/src/main/java/com/java110/store/api/ContractApi.java 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-store/src/main/java/com/java110/store/cmd/contract/QueryContractCmd.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-user/src/main/java/com/java110/user/cmd/owner/QueryOwnerCarsCmd.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-store/src/main/java/com/java110/store/api/ContractApi.java
@@ -364,41 +364,41 @@
    }
    /**
     * 微信删除消息模板
     *
     * @param storeId    商户ID
     * @param expiration 到期合同标记 1 到期合同
     * @return
     * @serviceCode /contract/queryContract
     * @path /app/contract/queryContract
     */
    @RequestMapping(value = "/queryContract", method = RequestMethod.GET)
    public ResponseEntity<String> queryContract(@RequestHeader(value = "store-id") String storeId,
                                                @RequestParam(value = "state", required = false) String state,
                                                @RequestParam(value = "expiration", required = false) String expiration,
                                                @RequestParam(value = "objId", required = false) String objId,
                                                @RequestParam(value = "contractId", required = false) String contractId,
                                                @RequestParam(value = "contractNameLike", required = false) String contractNameLike,
                                                @RequestParam(value = "contractCode", required = false) String contractCode,
                                                @RequestParam(value = "page") int page,
                                                @RequestParam(value = "row") int row) {
        ContractDto contractDto = new ContractDto();
        contractDto.setPage(page);
        contractDto.setRow(row);
        contractDto.setStoreId(storeId);
        contractDto.setState(state);
        contractDto.setObjId(objId);
        contractDto.setContractId(contractId);
        contractDto.setContractCode(contractCode);
        contractDto.setContractNameLike(contractNameLike);
        //如果是到期合同
        if ("1".equals(expiration)) {
            contractDto.setNoStates(new String[]{ContractDto.STATE_COMPLAINT, ContractDto.STATE_FAIL});
            contractDto.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
        }
        return getContractBMOImpl.get(contractDto);
    }
//    /**
//     * 微信删除消息模板
//     *
//     * @param storeId    商户ID
//     * @param expiration 到期合同标记 1 到期合同
//     * @return
//     * @serviceCode /contract/queryContract
//     * @path /app/contract/queryContract
//     */
//    @RequestMapping(value = "/queryContract", method = RequestMethod.GET)
//    public ResponseEntity<String> queryContract(@RequestHeader(value = "store-id") String storeId,
//                                                @RequestParam(value = "state", required = false) String state,
//                                                @RequestParam(value = "expiration", required = false) String expiration,
//                                                @RequestParam(value = "objId", required = false) String objId,
//                                                @RequestParam(value = "contractId", required = false) String contractId,
//                                                @RequestParam(value = "contractNameLike", required = false) String contractNameLike,
//                                                @RequestParam(value = "contractCode", required = false) String contractCode,
//                                                @RequestParam(value = "page") int page,
//                                                @RequestParam(value = "row") int row) {
//        ContractDto contractDto = new ContractDto();
//        contractDto.setPage(page);
//        contractDto.setRow(row);
//        contractDto.setStoreId(storeId);
//        contractDto.setState(state);
//        contractDto.setObjId(objId);
//        contractDto.setContractId(contractId);
//        contractDto.setContractCode(contractCode);
//        contractDto.setContractNameLike(contractNameLike);
//        //如果是到期合同
//        if ("1".equals(expiration)) {
//            contractDto.setNoStates(new String[]{ContractDto.STATE_COMPLAINT, ContractDto.STATE_FAIL});
//            contractDto.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
//        }
//        return getContractBMOImpl.get(contractDto);
//    }
    /**
     * 合同起草待办
service-store/src/main/java/com/java110/store/cmd/contract/QueryContractCmd.java
New file
@@ -0,0 +1,103 @@
package com.java110.store.cmd.contract;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.AbstractServiceCmdListener;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.dto.contract.ContractDto;
import com.java110.dto.contractAttr.ContractAttrDto;
import com.java110.intf.common.IContractApplyUserInnerServiceSMO;
import com.java110.intf.common.IContractChangeUserInnerServiceSMO;
import com.java110.intf.store.IContractAttrInnerServiceSMO;
import com.java110.intf.store.IContractInnerServiceSMO;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import java.util.ArrayList;
import java.util.List;
@Java110Cmd(serviceCode = "/contract/queryContract")
public class QueryContractCmd extends AbstractServiceCmdListener {
    @Autowired
    private IContractInnerServiceSMO contractInnerServiceSMOImpl;
    @Autowired
    private IContractAttrInnerServiceSMO contractAttrInnerServiceSMOImpl;
    @Autowired
    private IContractApplyUserInnerServiceSMO contractApplyUserInnerServiceSMOImpl;
    @Autowired
    private IContractChangeUserInnerServiceSMO contractChangeUserInnerServiceSMO;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        super.validatePageInfo(reqJson);
    }
    @Override
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        ContractDto contractDto = BeanConvertUtil.covertBean(reqJson, ContractDto.class);
        //如果是到期合同
        if ("1".equals(reqJson.getString("expiration"))) {
            contractDto.setNoStates(new String[]{ContractDto.STATE_COMPLAINT, ContractDto.STATE_FAIL});
            contractDto.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
        }
        int count = contractInnerServiceSMOImpl.queryContractsCount(contractDto);
        List<ContractDto> contractDtos = null;
        if (count > 0) {
            contractDtos = contractInnerServiceSMOImpl.queryContracts(contractDto);
            refreshAttr(contractDtos);
        } else {
            contractDtos = new ArrayList<>();
        }
        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) contractDto.getRow()), count, contractDtos);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        cmdDataFlowContext.setResponseEntity(responseEntity);
    }
    /**
     * 属性属性
     *
     * @param contractDtos
     */
    private void refreshAttr(List<ContractDto> contractDtos) {
        List<String> contractIds = new ArrayList<>();
        for (ContractDto contractDto : contractDtos) {
            contractIds.add(contractDto.getContractId());
        }
        if (contractIds.size() < 1) {
            return;
        }
        ContractAttrDto contractAttrDto = new ContractAttrDto();
        contractAttrDto.setContractIds(contractIds.toArray(new String[contractIds.size()]));
        List<ContractAttrDto> contractAttrDtos = contractAttrInnerServiceSMOImpl.queryContractAttrs(contractAttrDto);
        List<ContractAttrDto> attrs = null;
        for (ContractDto contractDto : contractDtos) {
            attrs = new ArrayList<>();
            for (ContractAttrDto tmpContractAttrDto : contractAttrDtos) {
                if (contractDto.getContractId().equals(tmpContractAttrDto.getContractId())) {
                    attrs.add(tmpContractAttrDto);
                }
            }
            contractDto.setAttrs(attrs);
        }
    }
}
service-user/src/main/java/com/java110/user/cmd/owner/QueryOwnerCarsCmd.java
@@ -28,7 +28,7 @@
import java.util.List;
import java.util.Map;
@Java110Cmd(serviceCode = "owner.queryOwnerCars")
@Java110Cmd(serviceCode = "/contract/queryContract")
public class QueryOwnerCarsCmd extends AbstractServiceCmdListener {
    @Autowired