ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserCarFallbackFactory.java
@@ -31,7 +31,12 @@ public R<List<TAppUserCar>> getCarByIds(List<Long> carIds) { return R.fail("根据用户车辆id查询车辆信息失败:"+throwable.getMessage()); } @Override public R<TAppUserCar> getCarById(String id) { return R.fail("根据用户车辆id查询车辆信息失败:"+throwable.getMessage()); } @Override public R<TAppUserCar> getAppUserCarByLicensePlate(String licensePlate) { return R.fail("根据车牌号查询数据失败:" + throwable.getMessage()); ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserCarClient.java
@@ -8,6 +8,7 @@ import com.ruoyi.common.core.domain.R; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; @@ -28,6 +29,8 @@ */ @PostMapping(value = "/t-app-user-car/t-app-user-car/getCarByIds") public R<List<TAppUserCar>> getCarByIds(@RequestBody List<Long> carIds); @PostMapping(value = "/t-app-user-car/t-app-user-car/getCarById/{id}") public R<TAppUserCar> getCarById(@PathVariable("id") String id); /** ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/ChargingOrderAndUploadRealTimeMonitoringDataDto.java
@@ -21,6 +21,7 @@ public class ChargingOrderAndUploadRealTimeMonitoringDataDto extends BaseModel { private String id; private Integer index; private String transaction_serial_number; // 交易流水号 private String charging_pile_code; // 桩编码 private String charging_gun_code; // 抢号 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TGrantVip.java
@@ -44,6 +44,6 @@ @TableField("vip_id") private Integer vipId; @ApiModelProperty(value = "购买的会员id") @TableField("vip_id") @TableField("order_amount") private BigDecimal orderAmount; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/LoginUserApplet.java
@@ -26,6 +26,7 @@ * 用户名id */ private Long userId; private String userIdStr; /** * 用户手机号 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserCarController.java
@@ -36,7 +36,10 @@ public R<List<TAppUserCar>> getCarByIds(@RequestBody List<Long> carIds){ return R.ok(appUserCarService.list(Wrappers.lambdaQuery(TAppUserCar.class).in(TAppUserCar::getId,carIds))); } @PostMapping(value = "/t-app-user-car/getCarById/{id}") public R<TAppUserCar> getCarById(@PathVariable("id")String id){ return R.ok(appUserCarService.lambdaQuery().eq(TAppUserCar::getId,id).one()); } /** * 根据车牌号查询数据 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java
@@ -154,6 +154,7 @@ LoginUserApplet loginUserApplet = new LoginUserApplet(); if(ObjectUtils.isNotNull(appUser)){ loginUserApplet.setUserId(appUser.getId()); loginUserApplet.setUserIdStr(appUser.getId().toString()); loginUserApplet.setName(appUser.getName()); loginUserApplet.setPhone(appUser.getPhone()); loginUserApplet.setAvatar(appUser.getAvatar()); ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java
@@ -114,13 +114,13 @@ public R<TAccountingStrategyDetail> getDetailByCode(@RequestParam("code") String code){ // 查询桩 TChargingPile chargingPile = chargingPileService.getOne(Wrappers.lambdaQuery(TChargingPile.class) .eq(TChargingPile::getCode,code) .eq(TChargingPile::getCode,code).eq(TChargingPile::getDelFlag, 0) .last("LIMIT 1")); if(Objects.isNull(chargingPile)){ return R.fail("未查询到该桩设备"); } TChargingGun chargingGun = chargingGunService.getOne(Wrappers.lambdaQuery(TChargingGun.class) .eq(TChargingGun::getChargingPileId, chargingPile.getId()) .eq(TChargingGun::getChargingPileId, chargingPile.getId()).eq(TChargingGun::getDelFlag, 0) .last("LIMIT 1")); TAccountingStrategy accountingStrategy = accountingStrategyService.getById(chargingGun.getAccountingStrategyId()); TAccountingStrategyDetail one; @@ -146,7 +146,7 @@ public R<Boolean> checkChargingStrategy(@RequestBody CheckChargingStrategyDTO dto){ // 查询桩 TChargingPile chargingPile = chargingPileService.getOne(Wrappers.lambdaQuery(TChargingPile.class) .eq(TChargingPile::getCode,dto.getCode()) .eq(TChargingPile::getCode,dto.getCode()).eq(TChargingPile::getDelFlag, 0) .last("LIMIT 1")); if(Objects.isNull(chargingPile)){ return R.ok(false); @@ -180,13 +180,13 @@ public R<List<TAccountingStrategyDetail>> getDetailListByCode(@RequestParam("code") String code){ // 查询桩 TChargingPile chargingPile = chargingPileService.getOne(Wrappers.lambdaQuery(TChargingPile.class) .eq(TChargingPile::getCode,code) .eq(TChargingPile::getCode,code).eq(TChargingPile::getDelFlag, 0) .last("LIMIT 1")); if(Objects.isNull(chargingPile)){ return R.fail("未查询到该桩设备"); } TChargingGun chargingGun = chargingGunService.getOne(Wrappers.lambdaQuery(TChargingGun.class) .eq(TChargingGun::getChargingPileId, chargingPile.getId()) .eq(TChargingGun::getChargingPileId, chargingPile.getId()).eq(TChargingGun::getDelFlag, 0) .last("LIMIT 1")); TAccountingStrategy accountingStrategy = accountingStrategyService.getById(chargingGun.getAccountingStrategyId()); if(Objects.nonNull(accountingStrategy)){ ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
@@ -394,7 +394,7 @@ Site site = this.getById(id); site.setAccountingStrategyId(accountingStrategyId); this.updateById(site); List<TChargingGun> list = chargingGunService.list(new LambdaQueryWrapper<TChargingGun>().in(TChargingGun::getChargingPileId, id).eq(TChargingGun::getDelFlag, 0)); List<TChargingGun> list = chargingGunService.list(new LambdaQueryWrapper<TChargingGun>().in(TChargingGun::getSiteId, id).eq(TChargingGun::getDelFlag, 0)); for (TChargingGun tChargingGun : list) { tChargingGun.setAccountingStrategyId(accountingStrategyId); } ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml
@@ -69,7 +69,7 @@ AND code LIKE concat('%',#{query.code},'%') </if> <if test="query.licensePlate != null and query.licensePlate != ''"> AND licensePlate LIKE concat('%',#{query.licensePlate},'%') AND license_plate LIKE concat('%',#{query.licensePlate},'%') </if> <if test="query.lotIds != null and query.lotIds.size()>0"> AND parking_lot_id IN ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
@@ -320,7 +320,7 @@ chargingBillRefundExport.setCode(tChargingOrder.getCode()); chargingBillRefundExport.setPayTime(tChargingOrder.getCreateTime()!=null?DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",DateUtils.toDate(tChargingOrder.getCreateTime())):""); if (tChargingOrder.getRefundTime()!=null){ chargingBillRefundExport.setRefundTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",DateUtils.toDate(tChargingOrder.getRefundTime()))); chargingBillRefundExport.setRefundTime(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",DateUtils.toDate(one.getRefundTime()))); } chargingBillRefundExport.setRefundMoney(one.getRefundAmount().toString()); chargingBillRefundExport.setRefundRemark(one.getRefundReason()); ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -351,12 +351,12 @@ chargingOrderInfoVO.setSurplus(byId.getTotalElectricity()!=null?byId.getTotalElectricity().setScale(2, BigDecimal.ROUND_HALF_DOWN)+"":""); chargingOrderInfoVO.setTotalPower(byId.getPower()!=null?byId.getPower().setScale(2, BigDecimal.ROUND_HALF_DOWN)+"":""); if (byId.getAppUserCarId()!=null){ List<TAppUserCar> data = appUserCarClient.getCarByIds(Arrays.asList(byId.getAppUserCarId())).getData(); if (!data.isEmpty()){ chargingOrderInfoVO.setLicensePlate(data.get(0).getLicensePlate()); chargingOrderInfoVO.setVehicleBrand(data.get(0).getVehicleBrand()); chargingOrderInfoVO.setVehicleModel(data.get(0).getVehicleModel()); chargingOrderInfoVO.setVehicleUse(data.get(0).getVehicleUse()); TAppUserCar data = appUserCarClient.getCarById(byId.getAppUserCarId()+"").getData(); if (data!=null){ chargingOrderInfoVO.setLicensePlate(data.getLicensePlate()); chargingOrderInfoVO.setVehicleBrand(data.getVehicleBrand()); chargingOrderInfoVO.setVehicleModel(data.getVehicleModel()); chargingOrderInfoVO.setVehicleUse(data.getVehicleUse()); } } // 时段总服务费 @@ -804,14 +804,13 @@ // } // Set<String> strings = map.keySet(); mongoChargingOrderQuery.setPageSize(10); List<UploadRealTimeMonitoringData> data1 = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery).getData(); List<ChargingOrderAndUploadRealTimeMonitoringDataDto> dtos = new ArrayList<>(); Map<String,ChargingOrderVO> map = new HashMap<>(); for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data1) { ChargingOrderAndUploadRealTimeMonitoringDataDto dataDto = new ChargingOrderAndUploadRealTimeMonitoringDataDto(); BeanUtils.copyProperties(uploadRealTimeMonitoringData,dataDto); ChargingOrderQuery dto = new ChargingOrderQuery(); dto.setCode(uploadRealTimeMonitoringData.getTransaction_serial_number()); TCharingOrderVO vo = chargingOrderService.chargingOrder(dto); @@ -820,12 +819,18 @@ if (chargingOrderVO != null) { BeanUtils.copyProperties(chargingOrderVO, dataDto); } BeanUtils.copyProperties(uploadRealTimeMonitoringData,dataDto); dataDto.setStartTime(uploadRealTimeMonitoringData.getStartTime()); dataDto.setEndTime(uploadRealTimeMonitoringData.getEndTime()==null?null:uploadRealTimeMonitoringData.getEndTime()); dataDto.setStatus(chargingOrderVO.getStatus()); dtos.add(dataDto); }else { continue; } } for (int i = 0; i < dtos.size(); i++) { dtos.get(i).setIndex(i); } return R.ok(dtos); } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
@@ -115,7 +115,6 @@ BigDecimal vipActivity = new BigDecimal("0"); // 赠送会员 BigDecimal grantVip = new BigDecimal("0"); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); for (TActivityStatisticslVO tActivityStatisticslVO : list1) { TAppUser data = appUserClient.getUserById(tActivityStatisticslVO.getAppUserId()).getData(); if (data!=null){ @@ -191,7 +190,6 @@ } } for (TActivityStatisticslVO tActivityStatisticslVO : list) { // 判断享有了哪些类型 switch (tActivityStatisticslVO.getOrderType()){ case 1: @@ -201,7 +199,6 @@ if (tActivityStatisticslVO.getCouponDiscountAmount()!=null && (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ coupon = coupon.add(tActivityStatisticslVO.getCouponDiscountAmount()); stringBuilder.append("优惠券抵扣").append("+"); } if (tActivityStatisticslVO.getVipDiscountAmount()!=null &&(tActivityStatisticslVO.getVipDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ @@ -221,13 +218,11 @@ if (tActivityStatisticslVO.getCouponDiscountAmount()!=null && (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ coupon = coupon.add(tActivityStatisticslVO.getCouponDiscountAmount()); stringBuilder1.append("优惠券抵扣").append("+"); } if (tActivityStatisticslVO.getVipDiscountAmount()!=null && (tActivityStatisticslVO.getVipDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ discount = discount.add(tActivityStatisticslVO.getVipDiscountAmount()); stringBuilder1.append("会员抵扣").append("+"); } if (stringBuilder1.length()>0){ @@ -238,23 +233,16 @@ break; case 3: // 会员订单 优惠金额大于0 if (tActivityStatisticslVO.getVipDiscountAmount()!=null && (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ vipActivity = vipActivity.add(tActivityStatisticslVO.getVipDiscountAmount()); } tActivityStatisticslVO.setType("会员活动"); tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime()); break; case 4: // 赠送会员订单 如果支付金额为0 那么就是后台赠送的会员 if (tActivityStatisticslVO.getPaymentAmount().compareTo(BigDecimal.ZERO)==0){ grantVip = grantVip.add(tActivityStatisticslVO.getOrderAmount()); tActivityStatisticslVO.setType("赠送会员"); tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime()); }else{ // 赠送 grantVip = grantVip.add(tActivityStatisticslVO.getVipDiscountAmount()); tActivityStatisticslVO.setType("赠送会员"); tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime()); } ruoyi-service/ruoyi-order/src/main/resources/logback.xml
@@ -60,9 +60,9 @@ <!-- 系统模块日志级别控制 --> <logger name="com.ruoyi" level="info" /> <!-- Spring日志级别控制 --> <logger name="org.springframework" level="warn" /> <logger name="org.springframework" level="debug" /> <root level="info"> <root level="debug"> <appender-ref ref="console" /> </root> ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingBillMapper.xml
@@ -20,6 +20,7 @@ </if> and t1.billType = 1 and t1.del_flag = 0 order by t1.create_time desc </select> <select id="chargingBillList1" resultType="com.ruoyi.order.api.vo.ChargingBillListVO"> select t1.* from t_charging_bill t1 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml
@@ -56,7 +56,9 @@ <if test="req.orderType == null or req.orderType == 1"> <if test="req.type == null or req.type == 1 or req.type == 2"> union all select t1.code ,t1.order_amount as orderAmount, select t1.code , t1.order_amount as orderAmount, t1.coupon_discount_amount as couponDiscountAmount, t1.vip_discount_amount as vipDiscountAmount, t1.payment_amount as paymentAmount, @@ -97,133 +99,103 @@ AND t1.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </if> </if> <if test="req.orderType == null or req.orderType == 2"> <if test="req.type == null or req.type == 1 or req.type == 2"> union all select t2.code ,t2.order_amount as paymentAmount, t2.coupon_discount_amount as couponDiscountAmount, t2.vip_discount_amount as vipDiscountAmount, t2.payment_amount as orderAmount, t2.create_time as createTime, t2.app_user_id as appUserId, 2 as orderType from t_shopping_order t2 where 1 = 1 <if test="null != req.code and req.code!=''"> and t2.code LIKE CONCAT('%',#{req.code},'%') <if test="req.siteId == null"> <if test="req.orderType == null or req.orderType == 2"> <if test="req.type == null or req.type == 1 or req.type == 2"> union all select t2.code ,t2.order_amount as paymentAmount, t2.coupon_discount_amount as couponDiscountAmount, t2.vip_discount_amount as vipDiscountAmount, t2.payment_amount as orderAmount, t2.create_time as createTime, t2.app_user_id as appUserId, 2 as orderType from t_shopping_order t2 where 1 = 1 <if test="null != req.code and req.code!=''"> and t2.code LIKE CONCAT('%',#{req.code},'%') </if> <if test="req.type != null and req.type != '' and req.type == 1"> and (t2.coupon_discount_amount > 0) </if> <if test="req.type != null and req.type != '' and req.type == 2"> and ( t2.vip_discount_amount > 0) </if> <if test="req.type == null "> and (t2.vip_discount_amount > 0 or t2.coupon_discount_amount > 0) </if> <if test="null != req.userIds and req.userIds.size()>0" > and t2.app_user_id in <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> #{item} </foreach> </if> <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''"> AND (t2.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59')) </if> and t2.payment_status =2 AND t2.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </if> </if> <if test="req.type != null and req.type != '' and req.type == 1"> and (t2.coupon_discount_amount > 0) <if test="req.orderType == null or req.orderType == 3"> <if test="req.type == null or req.type == 3"> union all select t3.code ,t3.order_amount as orderAmount, t3.discount_amount as couponDiscountAmount, 0 as vipDiscountAmount, t3.payment_amount as paymentAmount, t3.create_time as createTime, t3.app_user_id as appUserId, 3 as orderType from t_vip_order t3 where 1 = 1 and t3.type =1 <if test="null != req.code and req.code!=''"> and t3.code LIKE CONCAT('%',#{req.code},'%') </if> <if test="req.type == null "> and t3.discount_amount > 0 </if> <if test="null != req.userIds and req.userIds.size()>0" > and t3.app_user_id in <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> #{item} </foreach> </if> <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''"> AND (t3.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59')) </if> and t3.payment_status =2 AND t3.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </if> </if> <if test="req.type != null and req.type != '' and req.type == 2"> and ( t2.vip_discount_amount > 0) </if> <if test="req.type == null "> and (t2.vip_discount_amount > 0 or t2.coupon_discount_amount > 0) </if> <if test="null != req.userIds and req.userIds.size()>0" > and t2.app_user_id in <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> #{item} </foreach> </if> <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''"> AND (t2.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59')) </if> and t2.payment_status =2 AND t2.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </if> </if> <if test="req.orderType == null or req.orderType == 3"> <if test="req.type == null or req.type == 3"> union all select t3.code ,t3.order_amount as orderAmount, 0 as couponDiscountAmount, t3.discount_amount as vipDiscountAmount, t3.payment_amount as paymentAmount, t3.create_time as createTime, t3.app_user_id as appUserId, 3 as orderType from t_vip_order t3 where 1 = 1 and t3.type =1 <if test="null != req.code and req.code!=''"> and t3.code LIKE CONCAT('%',#{req.code},'%') </if> <if test="req.type == null "> and t3.discount_amount > 0 </if> <if test="null != req.userIds and req.userIds.size()>0" > and t3.app_user_id in <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> #{item} </foreach> </if> <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''"> AND (t3.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59')) </if> and t3.payment_status =2 AND t3.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </if> </if> <if test="req.orderType == null or req.orderType == 4"> <if test="req.type == null or req.type == 4"> union all select t4.code ,t4.order_amount as orderAmount, 0 as couponDiscountAmount, t4.discount_amount as vipDiscountAmount, t4.payment_amount as paymentAmount, t4.create_time as createTime, t4.app_user_id as appUserId, 4 as orderType from t_vip_order t4 where 1 = 1 and t4.type =2 <if test="null != req.code and req.code!=''"> and t4.code LIKE CONCAT('%',#{req.code},'%') </if> <if test="req.type == null "> and t4.discount_amount > 0 </if> <if test="null != req.userIds and req.userIds.size()>0" > and t4.app_user_id in <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> #{item} </foreach> </if> <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''"> AND (t4.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59')) </if> and t4.payment_status =2 AND t4.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </if> </if> <if test="req.orderType == null or req.orderType == 4"> <if test="req.type == null or req.type == 4"> union all select t5.code ,t5.order_amount as orderAmount, 0 as couponDiscountAmount, 0 as vipDiscountAmount, 0 as paymentAmount, t5.create_time as createTime, t5.app_user_id as appUserId, 4 as orderType from t_grant_vip t5 where 1 = 1 <if test="null != req.code and req.code!=''"> and t5.code LIKE CONCAT('%',#{req.code},'%') </if> <if test="null != req.userIds and req.userIds.size()>0" > and t5.app_user_id in <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> #{item} </foreach> </if> <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''"> AND (t5.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59')) </if> AND t5.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} <if test="req.orderType == null or req.orderType == 4"> <if test="req.type == null or req.type == 4"> union all select t5.code ,t5.order_amount as orderAmount, 0 as couponDiscountAmount, 0 as vipDiscountAmount, 0 as paymentAmount, t5.create_time as createTime, t5.app_user_id as appUserId, 4 as orderType from t_grant_vip t5 where 1 = 1 <if test="null != req.code and req.code!=''"> and t5.code LIKE CONCAT('%',#{req.code},'%') </if> <if test="null != req.userIds and req.userIds.size()>0" > and t5.app_user_id in <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")"> #{item} </foreach> </if> <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''"> AND (t5.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59')) </if> AND t5.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </if> </if> </if> </select>