Ver código fonte

优化代码

Your Name 3 anos atrás
pai
commit
9637082376

+ 1 - 0
java110-bean/src/main/java/com/java110/dto/chargeMachine/ChargeMachineOrderDto.java

@@ -18,6 +18,7 @@ public class ChargeMachineOrderDto extends PageDto implements Serializable {
     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;

+ 1 - 1
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>

+ 10 - 18
service-common/src/main/java/com/java110/common/charge/ChargeCoreImpl.java

@@ -120,16 +120,7 @@ public class ChargeCoreImpl implements IChargeCore {
                                   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,19 +344,11 @@ public class ChargeCoreImpl implements IChargeCore {
     @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 @@ public class ChargeCoreImpl implements IChargeCore {
             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);

+ 70 - 32
service-fee/src/main/java/com/java110/fee/cmd/fee/ListFeeCmd.java

@@ -44,6 +44,9 @@ import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
+/**
+ * 查询 费用信息
+ */
 @Java110Cmd(serviceCode = "fee.listFee")
 public class ListFeeCmd extends Cmd {
 
@@ -99,39 +102,14 @@ public class ListFeeCmd extends Cmd {
 
     @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 @@ public class ListFeeCmd extends Cmd {
         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) {