diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/OccupyOrderController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/OccupyOrderController.java index 26b07cbe2..e08a8fa97 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/OccupyOrderController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/OccupyOrderController.java @@ -10,12 +10,10 @@ import com.jsowell.common.exception.BusinessException; import com.jsowell.common.response.RestApiResponse; import com.jsowell.common.util.StringUtils; import com.jsowell.pile.domain.OrderPileOccupy; -import com.jsowell.pile.dto.GenerateOccupyOrderDTO; import com.jsowell.pile.dto.QueryOccupyOrderDTO; import com.jsowell.pile.service.IPileBillingTemplateService; import com.jsowell.pile.service.OrderPileOccupyService; import com.jsowell.pile.vo.uniapp.OccupyOrderDetailVO; -import com.jsowell.pile.vo.uniapp.OrderPileOccupyVO; import com.jsowell.pile.vo.web.BillingTemplateVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -108,4 +106,33 @@ public class OccupyOrderController extends BaseController { logger.info("查询占桩订单详情页 result:{}", response); return response; } + + /** + * 查询用户是否有未支付的占桩订单 + * https://api.jsowellcloud.com/uniapp/occupyOrder/getUnPayOccupyOrder + * @param request + * @return + */ + @GetMapping("/getUnPayOccupyOrder") + public RestApiResponse getUnPayOccupyOrder(HttpServletRequest request) { + + String memberId = getMemberIdByAuthorization(request); + if (StringUtils.isBlank(memberId)) { + throw new BusinessException(ReturnCodeEnum.CODE_TOKEN_ERROR); + } + RestApiResponse response = null; + logger.info("查询用户: {} 是否有未支付的占桩订单", memberId); + try { + OrderPileOccupy orderPileOccupy = orderPileOccupyService.queryUnPayOrderByMemberId(memberId); + if (orderPileOccupy != null) { + response = new RestApiResponse<>(ImmutableMap.of("occupyOrder", orderPileOccupy.getOccupyCode())); + } + } catch (Exception e) { + logger.error("查询用户: {} 是否有未支付的占桩订单 error,", memberId); + response = new RestApiResponse<>(e); + } + logger.info("查询用户: {} 是否有未支付的占桩订单 result:{}", memberId, response); + return response; + } + } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderPileOccupyMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderPileOccupyMapper.java index d22eb6afd..31b65527d 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderPileOccupyMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderPileOccupyMapper.java @@ -76,7 +76,7 @@ public interface OrderPileOccupyMapper { * @param memberId * @return */ - List queryUnPayOrderByMemberId(@Param("memberId") String memberId); + List queryHangUpOrderByMemberId(@Param("memberId") String memberId); /** * 查询占桩订单列表 @@ -106,4 +106,11 @@ public interface OrderPileOccupyMapper { * @param occupyCode */ OccupyOrderDetailVO getOccupyOrderDetail(String occupyCode); + + /** + * 通过memberId查询未支付状态订单 + * @param memberId + * @return + */ + OrderPileOccupy queryUnPayOrderByMemberId(String memberId); } \ No newline at end of file diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderPileOccupyService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderPileOccupyService.java index 1f78573e6..8bea21157 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderPileOccupyService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderPileOccupyService.java @@ -56,7 +56,14 @@ public interface OrderPileOccupyService{ * @param memberId * @return */ - List queryUnPayOrderByMemberId(String memberId); + List queryHangUpOrderByMemberId(String memberId); + + /** + * 通过memberId查询未支付状态订单 + * @param memberId + * @return + */ + OrderPileOccupy queryUnPayOrderByMemberId(String memberId); Map payOccupyPileOrder(PayOrderDTO dto); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPileOccupyServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPileOccupyServiceImpl.java index e37ef911b..144f2c315 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPileOccupyServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPileOccupyServiceImpl.java @@ -25,7 +25,6 @@ import com.jsowell.pile.vo.base.PileInfoVO; import com.jsowell.pile.vo.uniapp.MemberVO; import com.jsowell.pile.vo.uniapp.OccupyOrderDetailVO; import com.jsowell.pile.vo.uniapp.OrderPileOccupyVO; -import com.jsowell.pile.vo.uniapp.OrderVO; import com.jsowell.pile.vo.web.BillingTemplateVO; import com.jsowell.pile.vo.web.OrderListVO; import com.jsowell.pile.vo.web.UpdateMemberBalanceDTO; @@ -240,7 +239,7 @@ public class OrderPileOccupyServiceImpl implements OrderPileOccupyService { } // 占桩时长 - long occupyTime = DateUtils.intervalTime(startTime, endTime); + long occupyTime = DateUtils.intervalTime(startTime, endTime); // 22 if (freeTime > occupyTime) { log.info("计算占桩订单金额-站点:{}的占桩订单:{}, 免费时长:{}大于占桩时长:{}, 不收取占桩费用", orderPileOccupy.getStationId(), occupyCode, freeTime, occupyTime); return resultAmount; @@ -269,15 +268,16 @@ public class OrderPileOccupyServiceImpl implements OrderPileOccupyService { continue; } long l = DateUtils.intervalTime(chargeStartTime, chargeEndTime); - sumChargingTime = sumChargingTime + l; + sumChargingTime = sumChargingTime + l; // 17 } /* 计算应收金额 应收金额 = (总占用时长 - (免费时长 + 充电时长)) * 占桩费率 */ - BigDecimal totalOccupyTime = new BigDecimal(occupyTime + ""); - BigDecimal totalFreeTime = new BigDecimal(freeTime).add(new BigDecimal(sumChargingTime)); + BigDecimal totalOccupyTime = new BigDecimal(occupyTime + ""); // 22 + BigDecimal totalFreeTime = new BigDecimal(freeTime).add(new BigDecimal(sumChargingTime)); // 27 + log.info("totalOccupyTime:{}, totalFreeTime:{}", totalOccupyTime, totalFreeTime); if (totalFreeTime.compareTo(totalOccupyTime) >= 0) { log.info("计算占桩订单金额-站点:{}的占桩订单:{}, 总免费时长:{}大于占桩时长:{}, 不收取占桩费用", orderPileOccupy.getStationId(), occupyCode, totalFreeTime, totalOccupyTime); return resultAmount; @@ -288,11 +288,27 @@ public class OrderPileOccupyServiceImpl implements OrderPileOccupyService { return resultAmount; } + public static void main(String[] args) { + long l = DateUtils.intervalTime("2023-08-21 17:19:06", "2023-08-21 17:36:56"); + long l2 = DateUtils.intervalTime("2023-08-21 17:16:56", "2023-08-21 17:38:18"); + System.out.println(l2); + } + /** * 根据会员id查询挂起状态占桩订单 */ @Override - public List queryUnPayOrderByMemberId(String memberId) { + public List queryHangUpOrderByMemberId(String memberId) { + return orderPileOccupyMapper.queryHangUpOrderByMemberId(memberId); + } + + /** + * 通过memberId查询未支付状态订单 + * @param memberId + * @return + */ + @Override + public OrderPileOccupy queryUnPayOrderByMemberId(String memberId) { return orderPileOccupyMapper.queryUnPayOrderByMemberId(memberId); } diff --git a/jsowell-pile/src/main/resources/mapper/pile/OrderPileOccupyMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/OrderPileOccupyMapper.xml index d7c63e9d7..22a006ac0 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/OrderPileOccupyMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/OrderPileOccupyMapper.xml @@ -818,7 +818,7 @@ - select from order_pile_occupy @@ -887,5 +887,20 @@ left join pile_station_info t2 on t1.station_id = t2.id where t1.member_id = #{memberId,jdbcType=VARCHAR} + order by t1.create_time desc + + + \ No newline at end of file