Browse Source

Merge branch 'dev' of http://113.31.163.91:7777/quanshu/mp-server.git into dev

Liugl 3 years ago
parent
commit
c24216c3e7

+ 10 - 0
mp-admin/src/main/java/com/qs/mp/handler/auth/SignInterceptor.java

@@ -1,6 +1,7 @@
 package com.qs.mp.handler.auth;
 
 import com.alibaba.fastjson.JSONObject;
+import com.qs.mp.common.enums.ServerEnvEnum;
 import com.qs.mp.common.utils.LogUtil;
 import com.qs.mp.common.utils.http.HttpHelper;
 import com.qs.mp.core.domain.LoginUser;
@@ -13,6 +14,7 @@ import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.lang.Nullable;
 import org.springframework.stereotype.Component;
 import org.springframework.web.method.HandlerMethod;
@@ -36,6 +38,11 @@ public class SignInterceptor implements HandlerInterceptor {
     @Autowired
     private HostHolder hostHolder;
 
+    @Value(value = "${server.env}")
+    private String env;
+
+
+
 
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
@@ -43,6 +50,9 @@ public class SignInterceptor implements HandlerInterceptor {
         if (!(handler instanceof HandlerMethod)) {
             return true;
         }
+        if (ServerEnvEnum.DEV.getCode().equals(env)) {
+            return true;
+        }
         String method = request.getMethod();
         if ("post".equalsIgnoreCase(method)) {
             // 最后用RequestBody中获取token

+ 14 - 3
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserTicketController.java

@@ -26,6 +26,7 @@ import com.qs.mp.common.enums.TicketPkgStatusEnum;
 import com.qs.mp.common.enums.TicketStatusEnum;
 import com.qs.mp.common.utils.LogUtil;
 import com.qs.mp.common.utils.StringUtils;
+import com.qs.mp.framework.security.handle.HostHolder;
 import com.qs.mp.user.domain.UserHitPrize;
 import com.qs.mp.user.domain.UserTicketOrderItem;
 import com.qs.mp.user.domain.vo.TicketHitPrizeBarrageVO;
@@ -46,6 +47,8 @@ import ma.glasnost.orika.MapperFacade;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.ws.rs.POST;
+
 
 @RestController
 @RequestMapping("/api/v1/mp/user")
@@ -75,6 +78,10 @@ public class UserTicketController extends BaseApiController {
   @Autowired
   private MapperFacade mapperFacade;
 
+
+  @Autowired
+  private HostHolder hostHolder;
+
   /**
    * 盲票进货列表
    */
@@ -236,19 +243,23 @@ public class UserTicketController extends BaseApiController {
     return AjaxResult.success();
   }
 
-  @GetMapping("/ticket/hitPrizeBarrage")
+  @PostMapping("/ticket/hitPrizeBarrage")
   @ApiOperation(value = "中奖弹幕", notes = "获取最近中奖的 20-22 条信息")
   public AjaxResult hitPrizeBarrage() {
 
     // 获取用户 id
-    Long userId = SecurityUtils.getLoginUser().getUserId();
+    Long userId = 0L;
+
+    if (hostHolder.getUser() != null) {
+      userId = hostHolder.getUser().getUserId();
+    }
 
     // 弹幕列表
     List<TicketHitPrizeBarrageVO> listOne = new ArrayList<>();
     List<TicketHitPrizeBarrageVO> listTwo = new ArrayList<>();
 
     // 获取用户当天中奖的 2 条弹幕
-    if (userId != null) {
+    if (userId != 0L) {
       List<TicketHitPrizeBarrageVO> ticketHitPrizeBarrageVOList = userHitPrizeService.hitPrizeBarrageByUserId(userId);
       if (CollectionUtils.isNotEmpty(ticketHitPrizeBarrageVOList)) {
         for (int i = 0; i < ticketHitPrizeBarrageVOList.size(); i++) {

+ 10 - 3
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserTicketOrderController.java

@@ -26,6 +26,7 @@ import com.qs.mp.system.service.ISysUserService;
 import com.qs.mp.user.domain.UserTicketOrder;
 import com.qs.mp.user.domain.param.TicketOrderParam;
 import com.qs.mp.user.domain.vo.TicketOrderSettleVO;
+import com.qs.mp.user.domain.vo.UserCoupon4OrderVO;
 import com.qs.mp.user.domain.vo.UserCouponVO;
 import com.qs.mp.user.domain.vo.UserShareVO;
 import com.qs.mp.user.service.IUserCouponService;
@@ -115,12 +116,18 @@ public class UserTicketOrderController extends BaseApiController {
     if (param.getAutoCoupon() == 1) {
       List<UserCouponVO> userCouponVOList = userCouponService.queryUserCouponList(userId, orderAmt, ticketBox);
       if (!CollectionUtils.isEmpty(userCouponVOList)) {
-        orderSettleVO.getCouponList().add(userCouponVOList.get(0));
+        // 只考虑使用单张券
+        orderSettleVO.getCouponList().add(mapperFacade.map(userCouponVOList.get(0), UserCoupon4OrderVO.class));
         discountAmt = userCouponVOList.get(0).getDiscount();
       }
     } else if (!CollectionUtils.isEmpty(param.getUserCouponIds())){
       // 查询指定券
-      orderSettleVO.setCouponList(userCouponService.listTicketOrderCouponByIds(param.getUserCouponIds()));
+      List<UserCouponVO> userCouponVOList = userCouponService.listTicketOrderCouponByIds(param.getUserCouponIds());
+      if (!CollectionUtils.isEmpty(userCouponVOList)) {
+        // 只考虑使用单张券
+        orderSettleVO.getCouponList().add(mapperFacade.map(userCouponVOList.get(0), UserCoupon4OrderVO.class));
+        discountAmt = userCouponVOList.get(0).getDiscount();
+      }
     }
 
     orderSettleVO.setOrderAmt(orderAmt);
@@ -196,7 +203,7 @@ public class UserTicketOrderController extends BaseApiController {
   }
 
   /**
-   * 取消订单
+   * 可用优惠券列表
    */
   @PostMapping("/order/coupon/list")
   @ApiOperation(value = "取消订单" , notes = "在订单列表页面取消")

+ 1 - 0
mp-framework/src/main/java/com/qs/mp/framework/config/SecurityConfig.java

@@ -112,6 +112,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                     "/api/v1/mp/wx/urlschema/generate",
                     "/api/v1/mp/wx/code/generate",
                     "/api/v1/mp/user/ticket/queryLuckyNum",
+                    "/api/v1/mp/user/ticket/hitPrizeBarrage",
                     "/api/v1/mp/user/mall/ticket/detail",
                     "/api/v1/mp/user/mall/ticket/list",
                     "/api/v1/mp/user/exchange/goods/list",

+ 1 - 1
mp-service/src/main/java/com/qs/mp/user/domain/vo/TicketOrderSettleVO.java

@@ -54,6 +54,6 @@ public class TicketOrderSettleVO {
   /**
    * 使用优惠券列表
    */
-  List<UserCouponVO> couponList = new ArrayList<>();
+  List<UserCoupon4OrderVO> couponList = new ArrayList<>();
 
 }

+ 33 - 0
mp-service/src/main/java/com/qs/mp/user/domain/vo/UserCoupon4OrderVO.java

@@ -0,0 +1,33 @@
+package com.qs.mp.user.domain.vo;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.qs.mp.common.enums.CouponDiscountTypeEnum;
+import com.qs.mp.common.enums.CouponTypeEnum;
+import com.qs.mp.common.enums.CouponUseAreaEnum;
+import com.qs.mp.user.domain.UserCoupon;
+import lombok.Data;
+
+/**
+ * @describe 盲票购买时的优惠券
+ * @auther zhongcp
+ * @create 2022-03-07 20:45:43
+ */
+@Data
+public class UserCoupon4OrderVO {
+  private String id;
+
+  private String title;
+
+  /**
+   * 图片
+   */
+  private String picUrl;
+
+  /**
+   * 优惠金额(比例)
+   */
+  private Integer discount;
+
+
+}

+ 5 - 4
mp-service/src/main/java/com/qs/mp/user/service/impl/UserTicketOrderServiceImpl.java

@@ -42,6 +42,7 @@ import com.qs.mp.user.domain.UserDeliverOrder;
 import com.qs.mp.user.domain.UserTicketOrder;
 import com.qs.mp.user.domain.UserTicketOrderItem;
 import com.qs.mp.user.domain.vo.TicketOrderSettleVO;
+import com.qs.mp.user.domain.vo.UserCoupon4OrderVO;
 import com.qs.mp.user.domain.vo.UserCouponVO;
 import com.qs.mp.user.domain.vo.UserShareVO;
 import com.qs.mp.user.mapper.UserTicketOrderMapper;
@@ -250,9 +251,9 @@ public class UserTicketOrderServiceImpl extends
     return ticketOrder.getOrderId();
   }
 
-  private String verifyUserCoupon(List<UserCouponVO> userCouponVOList) {
+  private String verifyUserCoupon(List<UserCoupon4OrderVO> userCouponVOList) {
     StringBuilder sb = new StringBuilder();
-    for (UserCouponVO userCouponVO : userCouponVOList) {
+    for (UserCoupon4OrderVO userCouponVO : userCouponVOList) {
       UserCoupon userCoupon = userCouponService.getById(userCouponVO.getId());
       userCoupon.setVerifyTime(new Date());
       userCoupon.setStatus(UserCouponStatusEnum.USED);
@@ -477,7 +478,7 @@ public class UserTicketOrderServiceImpl extends
 	public List<IndexVO> selectIndexPayAmtList(Wrapper<UserTicketOrder> wrapper) {
 		return getBaseMapper().selectIndexPayAmtList(wrapper);
 	}
-	
+
 	@Override
 	public List<IndexVO> selectIndexPayUserCntList(Wrapper<UserTicketOrder> wrapper) {
 		return getBaseMapper().selectIndexPayUserCntList(wrapper);
@@ -502,7 +503,7 @@ public class UserTicketOrderServiceImpl extends
 	public int getChannelTotalTicketNumCnt(String channelNo) {
 		return getBaseMapper().getChannelTotalTicketNumCnt(channelNo);
 	}
-	
+
 	@Override
 	public int getSaleSiteTotalTicketNumCnt(Long channelId) {
 		return getBaseMapper().getSaleSiteTotalTicketNumCnt(channelId);