java110 před 2 roky
rodič
revize
3ed5c9b28e

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

@@ -34,6 +34,9 @@ public class ChargeMachineOrderDto extends PageDto implements Serializable {
 
     private String queryTime;
 
+    private String queryStartTime;
+    private String queryEndTime;
+
     private String state;
     private String personTel;
     private String communityId;
@@ -246,4 +249,20 @@ public class ChargeMachineOrderDto extends PageDto implements Serializable {
     public void setQueryTime(String queryTime) {
         this.queryTime = queryTime;
     }
+
+    public String getQueryStartTime() {
+        return queryStartTime;
+    }
+
+    public void setQueryStartTime(String queryStartTime) {
+        this.queryStartTime = queryStartTime;
+    }
+
+    public String getQueryEndTime() {
+        return queryEndTime;
+    }
+
+    public void setQueryEndTime(String queryEndTime) {
+        this.queryEndTime = queryEndTime;
+    }
 }

+ 8 - 0
java110-db/src/main/resources/mapper/common/ChargeMachineOrderV1ServiceDaoImplMapper.xml

@@ -72,6 +72,10 @@
             and t.start_time < #{queryTime}
             and t.end_time > #{queryTime}
         </if>
+        <if test="queryStartTime !=null and queryStartTime != ''">
+            and t.create_time &lt; #{queryStartTime}
+            and t.create_time &gt; #{queryEndTime}
+        </if>
         <if test="state !=null and state != ''">
             and t.state= #{state}
         </if>
@@ -198,6 +202,10 @@
         <if test="endTime !=null and endTime != ''">
             and t.end_time= #{endTime}
         </if>
+        <if test="queryTime !=null and queryTime != ''">
+            and t.start_time &lt; #{queryTime}
+            and t.end_time &gt; #{queryTime}
+        </if>
         <if test="state !=null and state != ''">
             and t.state= #{state}
         </if>

+ 32 - 2
service-common/src/main/java/com/java110/common/charge/ChargeCoreImpl.java

@@ -233,7 +233,7 @@ public class ChargeCoreImpl implements IChargeCore {
         chargeMachineOrderAcctV1InnerServiceSMOImpl.saveChargeMachineOrderAcct(chargeMachineOrderAcctPo);
     }
 
-    public boolean ifMonthCard(String personTel, String communityId) {
+    public boolean ifMonthCard(String personTel, String communityId ) {
 
         ChargeMonthOrderDto chargeMonthOrderDto = new ChargeMonthOrderDto();
         chargeMonthOrderDto.setPersonTel(personTel);
@@ -248,7 +248,36 @@ public class ChargeCoreImpl implements IChargeCore {
         ChargeMachineOrderDto chargeMachineOrderDto = new ChargeMachineOrderDto();
         chargeMachineOrderDto.setPersonTel(personTel);
         chargeMachineOrderDto.setCommunityId(communityId);
-        chargeMachineOrderDto.setQueryTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+        chargeMachineOrderDto.setQueryTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B));
+        chargeMachineOrderDto.setState(ChargeMachineOrderDto.STATE_FINISH);
+        int count = chargeMachineOrderV1InnerServiceSMOImpl.queryChargeMachineOrdersCount(chargeMachineOrderDto);
+
+        if(count >1){
+            return false;
+        }
+
+        return true;
+    }
+
+    @Autowired
+    public boolean ifStartMonthCard(String personTel, String communityId ) {
+
+        ChargeMonthOrderDto chargeMonthOrderDto = new ChargeMonthOrderDto();
+        chargeMonthOrderDto.setPersonTel(personTel);
+        chargeMonthOrderDto.setCommunityId(communityId);
+        chargeMonthOrderDto.setQueryTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+        List<ChargeMonthOrderDto> chargeMonthOrderDtos = chargeMonthOrderV1InnerServiceSMOImpl.queryChargeMonthOrders(chargeMonthOrderDto);
+        if (chargeMonthOrderDtos == null || chargeMonthOrderDtos.size() < 1) {
+            return false;
+        }
+
+        //todo 今天是否又充过电
+        ChargeMachineOrderDto chargeMachineOrderDto = new ChargeMachineOrderDto();
+        chargeMachineOrderDto.setPersonTel(personTel);
+        chargeMachineOrderDto.setCommunityId(communityId);
+        chargeMachineOrderDto.setQueryStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B));
+        chargeMachineOrderDto.setQueryEndTime(DateUtil.getAddDayStringB(DateUtil.getCurrentDate(),1));
+        chargeMachineOrderDto.setState(ChargeMachineOrderDto.STATE_FINISH);
         List<ChargeMachineOrderDto> chargeMachineOrderDtos = chargeMachineOrderV1InnerServiceSMOImpl.queryChargeMachineOrders(chargeMachineOrderDto);
 
         if (chargeMachineOrderDtos == null || chargeMachineOrderDtos.size() < 1) {
@@ -269,6 +298,7 @@ public class ChargeCoreImpl implements IChargeCore {
         return false;
     }
 
+
     /**
      * 优惠券抵扣 小时
      *

+ 1 - 1
service-common/src/main/java/com/java110/common/charge/IChargeCore.java

@@ -51,5 +51,5 @@ public interface IChargeCore {
      */
     void queryChargeMachineState(List<ChargeMachineDto> chargeMachineDtos);
 
-     boolean ifMonthCard(String personTel, String communityId);
+     boolean ifStartMonthCard(String personTel, String communityId);
 }

+ 3 - 2
service-common/src/main/java/com/java110/common/cmd/chargeMachine/StartChargeCmd.java

@@ -145,7 +145,7 @@ public class StartChargeCmd extends Cmd {
         Assert.listOnlyOne(userDtos, "用户不存在");
 
         //todo 如果是 月卡充值 ,后面不做校验
-        if (chargeCoreImpl.ifMonthCard(userDtos.get(0).getTel(), chargeMachinePortDtos.get(0).getCommunityId())) {
+        if (chargeCoreImpl.ifStartMonthCard(userDtos.get(0).getTel(), chargeMachinePortDtos.get(0).getCommunityId())) {
             reqJson.put("acctId", "-1");
             return;
         }
@@ -267,8 +267,9 @@ public class StartChargeCmd extends Cmd {
         resultVo.setData(orderId);
 
         //todo 如果是 月卡充值 ,后面不做校验
-        if (chargeCoreImpl.ifMonthCard(userDtos.get(0).getTel(), chargeMachinePortDtos.get(0).getCommunityId())) {
+        if (chargeCoreImpl.ifStartMonthCard(userDtos.get(0).getTel(), chargeMachinePortDtos.get(0).getCommunityId())) {
             monthCardOrder(reqJson, chargeMachineDtos, orderId, durationHours);
+            context.setResponseEntity(ResultVo.createResponseEntity(resultVo));
             return;
         }