Browse Source

会员购买

刘俊驰 1 year ago
parent
commit
aba3226d89

+ 16 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/MemberPriceSettingsController.java

@@ -40,6 +40,22 @@ public class MemberPriceSettingsController extends BaseController {
 		return succeed(memberPriceSettingsService.detail(id)); 
 	}
 
+
+    /**
+     * 查询单条
+     */
+    @GetMapping("/check/{id}")
+    @ApiOperation(value = "检查会员是否有效", notes = "传入id")
+    public HttpResponseResult<Boolean> check(@PathVariable("id") Long id) {
+        MemberPriceSettingsVo detail = memberPriceSettingsService.detail(id);
+        if (detail == null) {
+            return succeed(false);
+        }else if (Boolean.FALSE.equals(detail.getStatus())) {
+            return succeed(false);
+        }
+        return succeed(true);
+    }
+
 	@PostMapping("/list")
 	@ApiOperation(value = "查询列表")
 	public HttpResponseResult<MemberPriceVo> list(@RequestBody MemberPriceSettingsSearch query) {

+ 22 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/req/OrderReq.java

@@ -71,6 +71,12 @@ public class OrderReq {
         private GoodTypeEnum goodType;
         @ApiModelProperty("商品名称 ")
         private String goodName;
+
+        @ApiModelProperty(value = "下单客户端 ",hidden = true)
+        private ClientEnum orderClient;
+        @ApiModelProperty(value = "vip剩余天数")
+        private Integer vipEndDays;
+
         @ApiModelProperty(value = "优惠券id")
         private Long couponId;
         @ApiModelProperty(value = "业务内容")
@@ -85,6 +91,22 @@ public class OrderReq {
         // 透传订单类型
         private OrderTypeEnum orderType;
 
+        public ClientEnum getOrderClient() {
+            return orderClient;
+        }
+
+        public void setOrderClient(ClientEnum orderClient) {
+            this.orderClient = orderClient;
+        }
+
+        public Integer getVipEndDays() {
+            return vipEndDays;
+        }
+
+        public void setVipEndDays(Integer vipEndDays) {
+            this.vipEndDays = vipEndDays;
+        }
+
         public BigDecimal getActualPrice() {
             return actualPrice;
         }

+ 7 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MemberPriceSettingsServiceImpl.java

@@ -21,6 +21,7 @@ import com.yonge.cooleshow.biz.dal.vo.*;
 
 import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
 import com.yonge.cooleshow.biz.dal.wrapper.UserPaymentOrderWrapper;
+import com.yonge.cooleshow.biz.dal.wrapper.VipCardRecordWrapper;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.enums.ActivityShareEnum;
@@ -94,6 +95,12 @@ public class MemberPriceSettingsServiceImpl extends ServiceImpl<MemberPriceSetti
             return HttpResponseResult.failed("会员卡已下架");
         }
 
+        // 判断会员剩余天数是否改变
+        VipCardRecordWrapper.UserVip userVip = vipCardRecordService.UserVipInfo(orderReqInfo.getUserId(), orderReqInfo.getOrderClient());
+        if (!userVip.getVipEndDays().equals(orderReqInfo.getVipEndDays())) {
+            return HttpResponseResult.failed(999,null,"您当前VIP天数更新,请刷新后尝试");
+        }
+
         OrderCreateRes orderCreateRes = new OrderCreateRes();
         BigDecimal couponAmount = BigDecimal.ZERO;
         ActivityPlanVo activityPlanVo = activityPlanService.detail(orderReqInfo.getActivityId());

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java

@@ -590,6 +590,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
             info.setRecomUserId(orderReq.getRecomUserId());
             info.setActivityId(orderReq.getActivityId());
             info.setActualPrice(orderReq.getActualPrice());
+            info.setOrderClient(orderReq.getOrderClient());
             HttpResponseResult<OrderCreateRes> createResult = createFunction.apply(info);
             OrderCreateRes createRes = createResult.getData();
             if (!createResult.getStatus() || null == createRes || !createRes.getRes()) {

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/VipCardRecordWrapper.java

@@ -32,14 +32,14 @@ public class VipCardRecordWrapper {
 
 
         @ApiModelProperty(value = "vip剩余天数")
-        private Integer vipEndDays;
+        private Integer vipEndDays =0;
 
         @ApiModelProperty(value = "svip结束时间")
         private Date svipEndDate;
 
 
         @ApiModelProperty(value = "svip剩余天数")
-        private Integer svipEndDays;
+        private Integer svipEndDays =0;
     }
 
     @ApiModel("添加/扣减会员")