From c81d766cd91be3b3a24c8db94dcd93c071a66c62 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 14 七月 2023 09:30:19 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 104 insertions(+), 1 deletions(-) diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java index dcf1887..a3feebf 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java @@ -1,7 +1,15 @@ package com.dsh.activity.controller; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsh.activity.entity.Coupon; +import com.dsh.activity.entity.UserCoupon; import com.dsh.activity.model.CouponListVo; +import com.dsh.activity.model.request.CommodityRequest; +import com.dsh.activity.model.request.CouponPackageReq; +import com.dsh.activity.model.response.CouponPackageResp; import com.dsh.activity.service.ICouponService; +import com.dsh.activity.service.UserCouponService; +import com.dsh.activity.util.GDMapGeocodingUtil; import com.dsh.activity.util.ResultUtil; import com.dsh.activity.util.TokenUtil; import io.swagger.annotations.ApiImplicitParam; @@ -10,7 +18,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.Iterator; import java.util.List; +import java.util.Map; +import java.util.Objects; /** * @author zhibing.pu @@ -26,6 +37,12 @@ @Autowired private TokenUtil tokenUtil; + @Autowired + private UserCouponService ucService; + + @Autowired + private GDMapGeocodingUtil gdMapGeocodingUtil; + @@ -36,7 +53,7 @@ @ApiImplicitParam(value = "1=积分购买,2=注册赠送", name = "distributionMethod", dataType = "int", required = true), @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil queryCouponList(@RequestBody Integer distributionMethod){ + public ResultUtil<List<CouponListVo>> queryCouponList(Integer distributionMethod){ if(null == distributionMethod){ return ResultUtil.paranErr("distributionMethod"); } @@ -52,4 +69,90 @@ return ResultUtil.success(); } } + + + /** + * 根据id获取优惠券信息 + * @param id + * @return + */ + @ResponseBody + @PostMapping("/coupon/queryCouponById") + public Coupon queryCouponById(@RequestBody Integer id){ + try { + Coupon coupon = couponService.getById(id); + return coupon; + }catch (Exception e){ + e.printStackTrace(); + return null; + } + } + + + /** + * 我的券包列表 + * @param req + * @return + */ + @ResponseBody + @PostMapping("/api/coupon/queryCouponPackage") + @ApiOperation(value = "我的券包列表", tags = {"APP-使用福利"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<List<CouponPackageResp>> queryAppuserCouponList( CouponPackageReq req){ + try { + Integer uid = tokenUtil.getUserIdFormRedis(); + if(null == uid){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(ucService.queryCouponPackagesList(uid, req)); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.success(); + } + } + + + @PostMapping("/base/coupon/getAllCoupons") + public List<Coupon> getAllCoupons(@RequestBody CommodityRequest request){ + String provinceCode = ""; + String cityCode = ""; + try { + Map<String, String> geocode = gdMapGeocodingUtil.geocode(request.getLon(), request.getLat()); + provinceCode = geocode.get("provinceCode"); + cityCode = geocode.get("cityCode"); + }catch (Exception e){ + e.printStackTrace(); + } + try { + Integer userAppId = tokenUtil.getUserIdFormRedis(); + List<UserCoupon> list = ucService.list(new QueryWrapper<UserCoupon>() + .eq("userId",userAppId )); + List<Coupon> couponList = couponService.list(new QueryWrapper<Coupon>() + .eq("auditStatus",2) + .eq("state",1) + .eq("status",2)); + if (couponList.size() > 0 ){ + Iterator<Coupon> iterator = couponList.iterator(); + while (iterator.hasNext()) { + Coupon merchandise = iterator.next(); + if (merchandise.getUseScope() == 2 && (!Objects.equals(merchandise.getCityCode(), cityCode) && !Objects.equals(merchandise.getProvinceCode(), provinceCode))) { + iterator.remove(); // 移除符合条件的商品 + } + } + } + return couponList; + } catch (Exception e) { + throw new RuntimeException(e); + } + + } + + @PostMapping("/base/coupon/getRedeemedNums") + public int getRedeemedQuantity(@RequestBody Integer id){ + return ucService.count(new QueryWrapper<UserCoupon>() + .eq("couponId",id)); + } + } -- Gitblit v1.7.1