cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java
@@ -49,4 +49,8 @@ @PostMapping("/base/pointMerchars/queryUserPointMerchaseByCode") public List<UserPointsMerchandise> queryUserPointMerchaseByCode(@RequestBody String code); @PostMapping("/base/pointMerchars/queryUserHasGoodsNums") int queryUserHasGoodsNums(@RequestBody AppUserGoodResp goodResp); } cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/AppUserGoodResp.java
New file @@ -0,0 +1,21 @@ package com.dsh.account.feignclient.activity.model; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor public class AppUserGoodResp { /** * 用户id */ Integer appUserId; /** * 商品id */ Integer goodId; } cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -868,29 +868,20 @@ if (ToolUtil.isEmpty(tAppUser)){ return ResultUtil.error("用户不存在"); } // todo 积分商品明细 查询是否超出限领数量 switch (exchangeType.getGoodsType()){ case 1: break; case 2: break; case 3: break; case 4: break; default: break; } int goodsNums = 0; if (ToolUtil.isEmpty(exchangeType.getNums())){ goodsNums = 1; }else { goodsNums = exchangeType.getNums(); } AppUserGoodResp goodResp = new AppUserGoodResp(); goodResp.setAppUserId(userIdFormRedis); goodResp.setGoodId(merchandise.getId()); int count = mcClient.queryUserHasGoodsNums(goodResp); if (ToolUtil.isNotEmpty(count) && count >= merchandise.getPickUpQuantity()){ return ResultUtil.error("超过限领数量"); } for (int i = 0; i < goodsNums; i++) { // 新增积分商品兑换记录 UserPointsMerchandise pointsMerchandise = new UserPointsMerchandise(); @@ -1133,6 +1124,7 @@ appUser.setIntegral(null == appUser.getIntegral() ? points : appUser.getIntegral() - points); userIntegralChanges.setNewIntegral(appUser.getIntegral()); userIntegralChanges.setInsertTime(new Date()); userIntegralChanges.setCategory(2); uicMapper.insert(userIntegralChanges); this.baseMapper.updateById(appUser); cloud-server-account/src/main/java/com/dsh/account/service/impl/UserIntegralChangesServiceImpl.java
@@ -121,6 +121,7 @@ appUser.setIntegral(appUser.getIntegral() + vo.getIntegral()); userIntegralChanges.setNewIntegral(appUser.getIntegral()); userIntegralChanges.setInsertTime(new Date()); userIntegralChanges.setCategory(1); this.save(userIntegralChanges); } cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -12,6 +12,7 @@ import com.dsh.activity.feignclient.other.StoreClient; import com.dsh.activity.feignclient.other.model.StoreDetailOfCourse; import com.dsh.activity.model.PointMerchandiseVo; import com.dsh.activity.model.request.AppUserGoodResp; import com.dsh.activity.model.request.CommodityRequest; import com.dsh.activity.service.*; import com.dsh.activity.util.GDMapGeocodingUtil; @@ -160,7 +161,7 @@ int coursePackageNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>() .eq("pointsMerchandiseId",merchandise.getId() )); detailsVo.setRedeemedNum(coursePackageNums); detailsVo.setResidueNum(merchandise.getQuantityIssued() - coursePackageNums); detailsVo.setResidueNum(Math.max(merchandise.getQuantityIssued() - coursePackageNums, 0)); detailsVo.setPerLimit(merchandise.getPickUpQuantity()); if (merchandise.getRedemptionMethod() == 1){ detailsVo.setExchangeType(1); @@ -224,7 +225,7 @@ int count = upmseService.count(new QueryWrapper<UserPointsMerchandise>() .eq("pointsMerchandiseId",merchandise.getId() )); detailsVo.setRedeemedNum(count); detailsVo.setResidueNum(merchandise.getQuantityIssued()-count); detailsVo.setResidueNum(Math.max(merchandise.getQuantityIssued() - count, 0)); detailsVo.setPerLimit(merchandise.getPickUpQuantity()); detailsVo.setExchangeType(merchandise.getRedemptionMethod()); if (merchandise.getRedemptionMethod() == 1){ @@ -276,10 +277,10 @@ }); detailsVo.setGoodName(coupon.getName()); detailsVo.setBelongsScope(coupon.getUserPopulation()); int couponNums = uconService.count(new QueryWrapper<UserCoupon>() .eq("couponId",coupon.getId() )); int couponNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>() .eq("pointsMerchandiseId",merchandise.getId() )); detailsVo.setRedeemedNum(couponNums); detailsVo.setResidueNum(coupon.getQuantityIssued()-couponNums); detailsVo.setResidueNum(Math.max(coupon.getQuantityIssued() - couponNums, 0)); detailsVo.setPerLimit(coupon.getPickUpQuantity()); detailsVo.setExchangeType(coupon.getRedemptionMethod()); if (coupon.getRedemptionMethod() == 1){ @@ -489,4 +490,19 @@ return storeIds; } /** * 获取用户已兑换商品的数量 * @param goodResp * @return 数量 */ @ResponseBody @PostMapping("/base/pointMerchars/queryUserHasGoodsNums") public int queryUserHasGoodsNums(@RequestBody AppUserGoodResp goodResp){ int count = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>() .eq(UserPointsMerchandise::getUserId,goodResp.getGoodId()) .eq(UserPointsMerchandise::getPointsMerchandiseId,goodResp.getGoodId())); System.out.println(count); return count; } } cloud-server-activity/src/main/java/com/dsh/activity/model/request/AppUserGoodResp.java
New file @@ -0,0 +1,21 @@ package com.dsh.activity.model.request; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor public class AppUserGoodResp { /** * 用户id */ Integer appUserId; /** * 商品id */ Integer goodId; }