Kaynağa Gözat

bugfix:头像问题,订单问题。

lyx 3 ay önce
ebeveyn
işleme
605698db2d

+ 1 - 1
alien-entity/src/main/java/shop/alien/mapper/StoreCommentMapper.java

@@ -96,7 +96,7 @@ public interface StoreCommentMapper extends BaseMapper<StoreComment> {
      * @param queryWrapper 查询条件
      * @return IPage<StoreCommentVo>
      */
-    @Select("SELECT a.*, COALESCE(b.user_name, c.store_name)  user_name, IF(a.user_id is null, e.img_url, b.user_image) user_image FROM store_comment a "
+    @Select("SELECT a.*, COALESCE(b.user_name, c.store_name)  user_name, IF(a.user_id is null, d.head_img, b.user_image) user_image FROM store_comment a "
             + "left join life_user b on a.user_id = b.id and b.delete_flag = 0 "
             + "left join store_info c on a.store_id = c.id and c.delete_flag = 0 "
             + "left join store_user d on d.store_id = c.id and d.delete_flag = 0 "

+ 1 - 0
alien-job/src/main/java/shop/alien/job/store/LifeUserOrderJob.java

@@ -62,6 +62,7 @@ public class LifeUserOrderJob {
                 .set(LifeUserOrder::getStatus,OrderStatusEnum.CANCEL.getStatus())
                 .set(LifeUserOrder::getCancelTime,LocalDateTime.now())
                 .set(LifeUserOrder::getCancelReason,"订单超时未支付")
+                .set(LifeUserOrder::getFinishTime,LocalDateTime.now())
                 .in(LifeUserOrder::getId,orderIds));
         // 根据类型分组
         Map<Integer, List<String>> collect = lifeUserOrders.stream().filter(order -> order.getCouponType() != null)

+ 2 - 2
alien-store/src/main/java/shop/alien/store/controller/LifeUserOrderController.java

@@ -144,7 +144,7 @@ public class LifeUserOrderController {
 
     @ApiOperation("订单是否可以退款")
     @ApiOperationSupport(order = 4)
-    @PostMapping("/refundCfheck")
+    @PostMapping("/refundCheck")
     public R<Map<String, Object>> refundCheck(@RequestBody Map<String,String> refundOrder) {
         log.info("UserOrderController.refundCheck?refundOrder={}", refundOrder.toString());
         return R.data(lifeUserOrderService.refundCheck(refundOrder));
@@ -153,7 +153,7 @@ public class LifeUserOrderController {
     @ApiOperation("订单退款")
     @ApiOperationSupport(order = 5)
     @PostMapping("/requestRefund")
-    public R<Map<String, Object>> requestRefund(LifeRefundOrder refundOrder) {
+    public R<Map<String, Object>> requestRefund(@RequestBody LifeRefundOrder refundOrder) {
         log.info("UserOrderController.requestRefund?refundOrder={}", refundOrder.toString());
         return R.data(lifeUserOrderService.requestRefund(refundOrder));
     }

+ 23 - 10
alien-store/src/main/java/shop/alien/store/service/LifeUserOrderService.java

@@ -458,7 +458,9 @@ public class LifeUserOrderService extends ServiceImpl<LifeUserOrderMapper, LifeU
         // 更新数据(中间表数据+订单表数据:当已退款个数+当前退款个数=已使用的券数时,订单状态改为已退款)
         if (refundCouponCount + refundOrder.getRefundCouponAmount() == orderCouponMiddles.size()) {
             lifeUserOrderMapper.update(null,new UpdateWrapper<LifeUserOrder>().eq("id",order.getId())
-                    .set("status",OrderStatusEnum.REFUND.getStatus()));
+                    .set("status",OrderStatusEnum.REFUND.getStatus())
+                    .set("refund_time",now)
+                    .set("finish_time",now));
             if (null != order.getQuanId()) {
                 lifeDiscountCouponUserMapper.update(null,new UpdateWrapper<LifeDiscountCouponUser>().eq("id",order.getQuanId())
                         .set("status",DiscountCouponEnum.WAITING_USED.getValue()).set("use_time",null));
@@ -504,6 +506,11 @@ public class LifeUserOrderService extends ServiceImpl<LifeUserOrderMapper, LifeU
     public Map<String, Object> refundCheck(Map<String,String> refundOrder) {
         Map<String, Object> returnMap = new HashMap<>();
         LifeUserOrder order = lifeUserOrderMapper.selectById(refundOrder.get("orderId"));
+        if( null == order){
+            returnMap.put("success", "不可退款");
+            returnMap.put("reason", "未查询到订单");
+            return returnMap;
+        }
         if (order.getStatus() != 1) {
             returnMap.put("success", "不可退款");
             returnMap.put("reason", "当前订单状态不是待消费");
@@ -724,16 +731,18 @@ public class LifeUserOrderService extends ServiceImpl<LifeUserOrderMapper, LifeU
         // 根据状态判断怎么更新数据 目前只进行已支付,已取消,已过期判断
         // TODO 后续再进行已核销和已退款判断 ()
         switch (lifeUserOrderDto.getStatus()){
-            case 1:
-                lifeUserOrder.setPayTime(date);
-                lifeUserOrder.setPayMethod(lifeUserOrderDto.getPayMethod());
-            case 3:
             case 4:
                 lifeUserOrder.setStatus(lifeUserOrderDto.getStatus());
+                lifeUserOrder.setCancelTime(date);
+                lifeUserOrder.setFinishTime(date);
                 orderCouponMiddleUpdateWrapper.set("status",lifeUserOrderDto.getStatus());
+            case 3:
+                lifeUserOrder.setFinishTime(date);
+            case 1:
+                lifeUserOrder.setPayTime(date);
+                lifeUserOrder.setPayMethod(lifeUserOrderDto.getPayMethod());
                 break;
         }
-
         return this.saveOrUpdate(lifeUserOrder) && orderCouponMiddleService.update(orderCouponMiddleUpdateWrapper);
     }
 
@@ -749,9 +758,9 @@ public class LifeUserOrderService extends ServiceImpl<LifeUserOrderMapper, LifeU
             return false;
         }
         // 判断订单状态
-        // 已核销才可以删除
-        if (lifeUserOrder.getStatus() != 2) {
-            log.error("deleteUserOrder订单状态错误,订单已核销才可以删除");
+        // 已核销才可以删除和已退款可以核销
+        if (lifeUserOrder.getStatus() == OrderStatusEnum.WAIT_USE.getStatus() || lifeUserOrder.getStatus() == OrderStatusEnum.WAIT_PAY.getStatus()) {
+            log.error("deleteUserOrder订单状态错误,订单完成才可以删除");
             return false;
         }
         // 删除中间关系
@@ -786,13 +795,17 @@ public class LifeUserOrderService extends ServiceImpl<LifeUserOrderMapper, LifeU
             // -1状态且storeId不为空时添加条件
             if (org.apache.commons.lang3.StringUtils.isNotBlank(storeId)) {
                 // 注意:原代码中的concat不会修改原字符串,需要重新赋值
-                String sql = baseSql + " and ocm1.status != 0";
+                String sql = baseSql + " and ocm1.status not in  ("+OrderStatusEnum.WAIT_PAY.getStatus()
+                        +","+OrderStatusEnum.EXPIRE.getStatus()
+                        +","+OrderStatusEnum.CANCEL.getStatus()
+                        +")";
                 lifeUserOrderQueryWrapper.inSql("luo.id", sql);
             }
         }
         lifeUserOrderQueryWrapper.like(org.apache.commons.lang3.StringUtils.isNotBlank(name),"tc.coupon_name",name);
         lifeUserOrderQueryWrapper.gt(org.apache.commons.lang3.StringUtils.isNotBlank(startTime),"luo.created_time",startTime + " 00:00:00");
         lifeUserOrderQueryWrapper.lt(org.apache.commons.lang3.StringUtils.isNotBlank(endTime),"luo.created_time",endTime + " 23:59:59");
+        lifeUserOrderQueryWrapper.eq("luo.delete_flag",0);
         lifeUserOrderQueryWrapper.orderByDesc("luo.created_time");
         lifeUserOrderQueryWrapper.groupBy("luo.coupon_type","luo.id");
         IPage<LifeUserOrderVo> lifeUserOrderVoIPage = lifeUserOrderMapper.queryUserOrderList(brandedPage, lifeUserOrderQueryWrapper);