dao/src/main/java/com/sandu/ximon/dao/mapper/C3mOrderMapper.java
@@ -1,8 +1,8 @@ package com.sandu.ximon.dao.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.sandu.ximon.dao.bo.C3mOrderBo; import com.sandu.ximon.dao.domain.C3mOrder; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -11,11 +11,11 @@ import java.util.List; /** * @author Administrator * @description 针对表【c3_order(C3订单表)】的数据库操作Mapper * @createDate 2022-06-29 11:18:35 * @Entity com.sandu.ximon.dao.domain.C3mOrder */ * @author Administrator * @description 针对表【c3_order(C3订单表)】的数据库操作Mapper * @createDate 2022-06-29 11:18:35 * @Entity com.sandu.ximon.dao.domain.C3mOrder */ @Mapper public interface C3mOrderMapper extends BaseMapper<C3mOrder> { @@ -36,7 +36,8 @@ @Update("update c3_order set refund_amount = #{refundAmount},refund_timestamp=#{refundTimestamp},order_status=#{orderStatus}, refund_msg = #{refundMsg} where order_id = #{orderId}") void updateRefundOrder(C3mOrder c3mOrderEntity); List<C3mOrderBo> orderList(Long userId); List<C3mOrderBo> orderList(Long userId, String keyword, Integer orderStatus, Long startTimeStamp, Long nowTimeStamp); } dao/src/main/resources/mapper/C3mOrderMapper.xml
@@ -50,8 +50,20 @@ FROM c3_order t1 LEFT JOIN pole t2 ON t1.pole_id = t2.id <if test="userId != null"> WHERE (t1.userId = #{userId} OR t1.client_id= #{userId}) </if> <where> 1=1 <if test="userId != null"> AND (t1.userId = #{userId} OR t1.client_id= #{userId}) </if> <if test="orderStatus != null"> AND t1.order_status = #{orderStatus} </if> <if test="startTimeStamp != null"> AND create_timestamp BETWEEN #{startTimeStamp} AND #{nowTimeStamp} </if> <if test="keyword != null and keyword != ''"> AND t1.pole_name LIKE CONCAT(CONCAT('%', #{keyword}), '%') </if> </where> </select> </mapper> ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mOrderController.java
@@ -14,7 +14,6 @@ import com.sandu.ximon.admin.service.C3mChargingChargeService; import com.sandu.ximon.admin.service.C3mOrderService; import com.sandu.ximon.admin.utils.AliPayUtils; import com.sandu.ximon.dao.bo.C3mOrderBo; import com.sandu.ximon.dao.domain.C3mCharging; import com.sandu.ximon.dao.domain.C3mOrder; import com.sandu.ximon.dao.enums.OrderType; @@ -23,7 +22,6 @@ import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.util.List; import java.util.SortedMap; /** @@ -64,7 +62,7 @@ */ @AnonymousAccess @PostMapping("/advancePay") public ResponseVO<Object> advancePayOrder(@OpenId String openId,@RequestBody PayParam param) throws WxErrorException { public ResponseVO<Object> advancePayOrder(@OpenId String openId, @RequestBody PayParam param) throws WxErrorException { if (param.getOpenId().isEmpty()) { throw new BusinessException("微信code不能为空"); } @@ -126,11 +124,19 @@ /** * 订单列表 * * @param baseConditionVO * @param keyword 灯杆名称 * @param orderStatus 订单状态:// 未支付(0) 已支付(1),退款中(2),已退款(3),订单完成(4),退款失败5) * @param timeType 时间 1:一个月 2:三个月 3:六个月 * @return */ @GetMapping("/list") public ResponseVO<Object> list(BaseConditionVO baseConditionVO) { List<C3mOrderBo> list = c3mOrderService.orderList(baseConditionVO); return ResponseUtil.successPage(list); public ResponseVO<Object> list(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword, @RequestParam(value = "orderStatus", required = false) Integer orderStatus, @RequestParam(value = "timeType", required = false) Integer timeType) { return ResponseUtil.successPage(c3mOrderService.orderList(baseConditionVO, keyword, orderStatus, timeType)); } /** ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mOrderService.java
@@ -30,6 +30,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.time.ZoneId; import java.util.Date; import java.util.List; @@ -284,10 +286,38 @@ * @param baseConditionVO * @return */ public List<C3mOrderBo> orderList(BaseConditionVO baseConditionVO) { public List<C3mOrderBo> orderList(BaseConditionVO baseConditionVO, String keyword, Integer orderStatus, Integer timeType) { if (orderStatus != null && (orderStatus > 5 || orderStatus < 0)) { throw new BusinessException("订单状态不正确"); } Long userId = SecurityUtils.getClientId(); //查询近一个月的订单 LocalDateTime now = LocalDateTime.now(); LocalDateTime startTime = null; ; Long startTimeStamp = null; Long nowTimeStamp = null; if (timeType != null) { if (timeType == 1) { //查询近一个月的订单 startTime = now.minusMonths(1); } else if (timeType == 2) { //查询近三个月的订单 startTime = now.minusMonths(3); } else if (timeType == 3) { //查询近半年的订单 startTime = now.minusMonths(6); } else { throw new BusinessException("时间类型不正确"); } //startTime转换为时间戳 startTimeStamp = startTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli(); //endTime转换为时间戳 nowTimeStamp = now.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli(); } PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); List<C3mOrderBo> list = baseMapper.orderList(userId); List<C3mOrderBo> list = baseMapper.orderList(userId, keyword, orderStatus, startTimeStamp, nowTimeStamp); return list; } ximon-admin/src/main/resources/application-local.yml
@@ -39,7 +39,7 @@ enable: true listenter: isOpen: true isOpen: false minio: endpoint: 47.106.172.9