Your Name
2023-04-29 9637082376d3aabe54759d34d02b72e9a53e676c
优化代码
4个文件已修改
133 ■■■■■ 已修改文件
java110-bean/src/main/java/com/java110/dto/chargeMachine/ChargeMachineOrderDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/fee/FeeServiceDaoImplMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/src/main/java/com/java110/common/charge/ChargeCoreImpl.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/cmd/fee/ListFeeCmd.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/chargeMachine/ChargeMachineOrderDto.java
@@ -18,6 +18,7 @@
    public static final String STATE_DOING = "1001";//1001 充电中  2002 充电完成 3003 充电失败
    public static final String STATE_FINISH = "2002";//1001 充电中  2002 充电完成 3003 充电失败
    public static final String STATE_FAIL = "3003";//1001 充电中  2002 充电完成 3003 充电失败
    public static final String STATE_FINISHING = "4004";//1001 充电中  2002 充电完成 3003 充电失败 4004 结束中
    private String amount;
    private String orderId;
java110-db/src/main/resources/mapper/fee/FeeServiceDaoImplMapper.xml
@@ -226,7 +226,7 @@
        <if test="deductFrom !=null and deductFrom != ''">
            and pfc.deduct_from = #{deductFrom}
        </if>
        order by t.create_time desc
        order by t.payer_obj_id,t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
service-common/src/main/java/com/java110/common/charge/ChargeCoreImpl.java
@@ -120,16 +120,7 @@
                                  String remark,
                                  String energy,
                                  List<ChargeMachineOrderDto> chargeMachineOrderDtos) {
        // 退款
//        ChargeMachineOrderDto chargeMachineOrderDto = new ChargeMachineOrderDto();
//        chargeMachineOrderDto.setMachineId(chargeMachineDto.getMachineId());
//        chargeMachineOrderDto.setPortId(chargeMachinePortDto.getPortId());
//        chargeMachineOrderDto.setState(ChargeMachineOrderDto.STATE_DOING);
//        List<ChargeMachineOrderDto> chargeMachineOrderDtos = chargeMachineOrderV1InnerServiceSMOImpl.queryChargeMachineOrders(chargeMachineOrderDto);
//
//        if (chargeMachineOrderDtos == null || chargeMachineOrderDtos.size() < 1) {
//            return;
//        }
        Date startTime = DateUtil.getDateFromStringA(chargeMachineOrderDtos.get(0).getStartTime());
@@ -353,18 +344,10 @@
    @Override
    public ResultVo finishCharge(NotifyChargeOrderDto notifyChargeOrderDto) {
//        // todo 生成 充电订单
//        ChargeMachineOrderPo chargeMachineOrderPo = new ChargeMachineOrderPo();
//        chargeMachineOrderPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
//        chargeMachineOrderPo.setState(ChargeMachineOrderDto.STATE_FINISH);
//        chargeMachineOrderPo.setOrderId(notifyChargeOrderDto.getOrderId());
//        chargeMachineOrderV1InnerServiceSMOImpl.updateChargeMachineOrder(chargeMachineOrderPo);
        ChargeMachineDto chargeMachineDto = new ChargeMachineDto();
        chargeMachineDto.setMachineCode(notifyChargeOrderDto.getMachineCode());
        List<ChargeMachineDto> chargeMachineDtos = chargeMachineV1InnerServiceSMOImpl.queryChargeMachines(chargeMachineDto);
        //Assert.listOnlyOne(chargeMachineDtos, "充电桩 不存在");
        if (chargeMachineDtos == null || chargeMachineDtos.size() < 1) {
            return new ResultVo(ResultVo.CODE_OK, "成功");
@@ -397,6 +380,15 @@
            return new ResultVo(ResultVo.CODE_OK, "成功");
        }
        ChargeMachineOrderPo chargeMachineOrderPo = new ChargeMachineOrderPo();
        chargeMachineOrderPo.setOrderId(chargeMachineOrderDtos.get(0).getOrderId());
        chargeMachineOrderPo.setState(ChargeMachineOrderDto.STATE_FINISHING);
        chargeMachineOrderPo.setCommunityId(chargeMachineOrderDtos.get(0).getCommunityId());
        int flag = chargeMachineOrderV1InnerServiceSMOImpl.updateChargeMachineOrder(chargeMachineOrderPo);
        if (flag < 1) {
            throw new IllegalArgumentException("修改订单失败");
        }
        //todo 月卡直接修改状态
        if (ifMonthCard(chargeMachineOrderDtos.get(0).getPersonTel(), chargeMachinePortDtos.get(0).getCommunityId())) {
            finishMonthCardChargeOrder(notifyChargeOrderDto, chargeMachineOrderDtos);
service-fee/src/main/java/com/java110/fee/cmd/fee/ListFeeCmd.java
@@ -44,6 +44,9 @@
import java.util.List;
import java.util.Map;
/**
 * 查询 费用信息
 */
@Java110Cmd(serviceCode = "fee.listFee")
public class ListFeeCmd extends Cmd {
@@ -99,39 +102,14 @@
    @Override
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        if (reqJson.containsKey("roomNum") && !StringUtil.isEmpty(reqJson.getString("roomNum"))) {
            String[] roomNums = reqJson.getString("roomNum").split("-", 3);
            if (roomNums == null || roomNums.length != 3) {
                throw new IllegalArgumentException("房屋编号格式错误!");
            }
            String floorNum = roomNums[0];
            String unitNum = roomNums[1];
            String roomNum = roomNums[2];
            FloorDto floorDto = new FloorDto();
            floorDto.setFloorNum(floorNum);
            floorDto.setCommunityId(reqJson.getString("communityId"));
            List<FloorDto> floorDtos = floorInnerServiceSMOImpl.queryFloors(floorDto);
            if (floorDtos != null && floorDtos.size() > 0) {
                for (FloorDto floor : floorDtos) {
                    UnitDto unitDto = new UnitDto();
                    unitDto.setFloorId(floor.getFloorId());
                    unitDto.setUnitNum(unitNum);
                    List<UnitDto> unitDtos = unitInnerServiceSMOImpl.queryUnits(unitDto);
                    if (unitDtos != null && unitDtos.size() > 0) {
                        for (UnitDto unit : unitDtos) {
                            RoomDto roomDto = new RoomDto();
                            roomDto.setUnitId(unit.getUnitId());
                            roomDto.setRoomNum(roomNum);
                            roomDto.setCommunityId(reqJson.getString("communityId"));
                            List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
                            Assert.listOnlyOne(roomDtos, "查询不到房屋!");
                            reqJson.put("payerObjId", roomDtos.get(0).getRoomId());
                        }
                    }
                }
            }
        }
        // todo 房屋名称 刷入 房屋ID
        freshPayerObjIdByRoomNum(reqJson);
        FeeDto feeDto = BeanConvertUtil.covertBean(reqJson, FeeDto.class);
        // todo 处理 多个房屋
        morePayerObjIds(reqJson, feeDto);
        List<ApiFeeDataVo> fees = new ArrayList<>();
        if (reqJson.containsKey("ownerId") && !StringUtil.isEmpty(reqJson.getString("ownerId"))) {
            OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
@@ -172,6 +150,66 @@
        cmdDataFlowContext.setResponseEntity(responseEntity);
    }
    /**
     * 处理 多对象 费用
     *
     * @param reqJson
     * @param feeDto
     */
    private void morePayerObjIds(JSONObject reqJson, FeeDto feeDto) {
        if (!reqJson.containsKey("payerObjIds") || StringUtil.isEmpty(reqJson.getString("payerObjIds"))) {
            return;
        }
        String payerObjIds = reqJson.getString("payerObjIds");
        feeDto.setPayerObjIds(payerObjIds.split(","));
    }
    /**
     * 根据房屋名称 刷入 payerObjId
     *
     * @param reqJson
     */
    private void freshPayerObjIdByRoomNum(JSONObject reqJson) {
        if (!reqJson.containsKey("roomNum") || StringUtil.isEmpty(reqJson.getString("roomNum"))) {
            return;
        }
        String[] roomNums = reqJson.getString("roomNum").split("-", 3);
        if (roomNums == null || roomNums.length != 3) {
            throw new IllegalArgumentException("房屋编号格式错误!");
        }
        String floorNum = roomNums[0];
        String unitNum = roomNums[1];
        String roomNum = roomNums[2];
        FloorDto floorDto = new FloorDto();
        floorDto.setFloorNum(floorNum);
        floorDto.setCommunityId(reqJson.getString("communityId"));
        List<FloorDto> floorDtos = floorInnerServiceSMOImpl.queryFloors(floorDto);
        if (floorDtos == null || floorDtos.size() < 1) {
            return;
        }
        for (FloorDto floor : floorDtos) {
            UnitDto unitDto = new UnitDto();
            unitDto.setFloorId(floor.getFloorId());
            unitDto.setUnitNum(unitNum);
            List<UnitDto> unitDtos = unitInnerServiceSMOImpl.queryUnits(unitDto);
            if (unitDtos == null || unitDtos.size() < 1) {
                continue;
            }
            for (UnitDto unit : unitDtos) {
                RoomDto roomDto = new RoomDto();
                roomDto.setUnitId(unit.getUnitId());
                roomDto.setRoomNum(roomNum);
                roomDto.setCommunityId(reqJson.getString("communityId"));
                List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
                Assert.listOnlyOne(roomDtos, "查询不到房屋!");
                reqJson.put("payerObjId", roomDtos.get(0).getRoomId());
            }
        }
    }
    private void freshFeeAttrs(List<ApiFeeDataVo> fees, List<FeeDto> feeDtos) {
        String link = "";
        for (ApiFeeDataVo apiFeeDataVo : fees) {