cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
@@ -247,8 +247,7 @@ if(null == userIdFormRedis){ return ResultUtil.tokenErr(); } // TODO: 2023/7/10 积分商品列表查询 return ResultUtil.success(); return ResultUtil.success(tauService.queryAppUserIntegral(request,userIdFormRedis)); }catch (Exception e){ return ResultUtil.runErr(); } cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java
@@ -1,9 +1,12 @@ package com.dsh.account.feignclient.activity; import com.dsh.account.feignclient.activity.model.CommodityRequest; import com.dsh.account.feignclient.activity.model.IntegralCommodity; import com.dsh.account.feignclient.activity.model.PointsMerchandise; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -14,4 +17,10 @@ public List<IntegralCommodity> getConvertibleGoods(); @PostMapping("/base/pointMerchars/getCommoditys") public List<PointsMerchandise> getVicinityGoods(@RequestBody CommodityRequest request); @PostMapping("/base/pointMerchars/getRedeemedNums") public int getRedeemedQuantity(@RequestBody Integer goodId); } cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/UserConponClient.java
@@ -1,8 +1,11 @@ package com.dsh.account.feignclient.activity; import com.dsh.account.feignclient.activity.model.CommodityRequest; import com.dsh.account.model.dto.Coupon; import com.dsh.account.model.vo.sourceDetail.CouponStuAvailableVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @@ -14,4 +17,12 @@ @PostMapping("/base/userConpon/getStuOfConpons") public List<CouponStuAvailableVo> queryUserWithConponList(@RequestParam("appUserId") Integer appUserId); @PostMapping("/base/coupon/getAllCoupons") public List<Coupon> getAllCoupons(@RequestBody CommodityRequest request); @PostMapping("/base/coupon/getRedeemedNums") public int getRedeemedQuantity(@RequestBody Integer id); } cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/CommodityRequest.java
New file @@ -0,0 +1,16 @@ package com.dsh.account.feignclient.activity.model; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class CommodityRequest { @ApiModelProperty(value = "经度") private String lon; @ApiModelProperty(value = "纬度") private String lat; } cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/PointsMerchandise.java
New file @@ -0,0 +1,108 @@ package com.dsh.account.feignclient.activity.model; import lombok.Data; import java.math.BigDecimal; import java.util.Date; @Data public class PointsMerchandise { /** * 主键 */ private Integer id; /** * 类型(1=实体商品,2=课包商品,3=门票商品) */ private Integer type; /** * 商品名称 */ private String name; /** * 课包id */ private Integer coursePackageId; /** * 原价 */ private BigDecimal price; /** * 兑换方式(1=积分,2=现金+积分) */ private Integer redemptionMethod; /** * 所需现金 */ private BigDecimal cash; /** * 所属积分 */ private BigDecimal integral; /** * 商品封面 */ private String cover; /** * 商品图片 */ private String productImages; /** * 用户人群(1=全部用户,2=年度会员,3=已有学员用户) */ private Integer userPopulation; /** * 发放数量 */ private Integer quantityIssued; /** * 限领数量 */ private Integer pickUpQuantity; /** * 开始时间 */ private Date startTime; /** * 结束时间 */ private Date endTime; /** * 使用范围(1=全国,2=指定城市,3=指定门店) */ private Integer useScope; /** * 省 */ private String province; /** * 省编号 */ private String provinceCode; /** * 市 */ private String city; /** * 市编号 */ private String cityCode; /** * 兑换说明 */ private String redemptionInstructions; /** * 排序 */ private Integer sort; /** * 状态(1=正常,2=冻结,3=删除) */ private Integer state; /** * 添加时间 */ private Date insertTime; } cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePackageClient.java
New file @@ -0,0 +1,22 @@ package com.dsh.account.feignclient.course; import com.dsh.account.feignclient.course.model.CoursePackage; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; /** * @author zhibing.pu * @date 2023/7/5 9:55 */ @FeignClient("mb-cloud-course") public interface CoursePackageClient { /** * 根据id获取课包 * @param id * @return */ @PostMapping("/coursePackage/queryCoursePackageById") CoursePackage queryCoursePackageById(Integer id); } cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/CoursePackage.java
New file @@ -0,0 +1,128 @@ package com.dsh.account.feignclient.course.model; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.util.Date; /** * @author zhibing.pu * @date 2023/7/5 9:56 */ @Data public class CoursePackage { private Integer id; /** * 省 */ private String province; /** * 省编号 */ private String provinceCode; /** * 市 */ private String city; /** * 市编号 */ private String cityCode; /** * 门店id */ private Integer storeId; /** * 课包类型id */ private Integer coursePackageTypeId; /** * 课包名称 */ private String name; /** * 上课场地id */ private Integer siteId; /** * 教练id */ private Integer coachId; /** * 最多预约人数 */ private Integer maxSubscribeNumber; /** * 上课开始时间 */ private String classStartTime; /** * 上课结束时段 */ private String classEndTime; /** * 上课周,多个分号分隔 */ private String classWeeks; /** * 封面图 */ private String coverDrawing; /** * 详情图 */ private String detailDrawing; /** * 介绍图 */ private String introduceDrawing; /** * 排序 */ private Integer sort; /** * 支付方式(1=现金,2=玩湃币) */ private Integer payType; /** * 有效天数 */ private Integer validDays; /** * 课后练习课程id */ private Integer courseId; /** * 课后练习视频介绍 */ private String introduce; /** * 完成课后练习获取积分 */ private Integer integral; /** * 课程状态(1=未开始,2=进行中,3=已结束,4=已取消) */ private Integer status; /** * 审核状态(1=待审核,2=已同意,3=已拒绝) */ private Integer auditStatus; /** * 审核人id */ private Integer auditUserId; /** * 审核备注 */ private String authRemark; /** * 状态(1=正常,2=冻结,3=删除) */ private Integer state; /** * 添加时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date insertTime; } cloud-server-account/src/main/java/com/dsh/account/model/dto/Coupon.java
New file @@ -0,0 +1,119 @@ package com.dsh.account.model.dto; import lombok.Data; import java.math.BigDecimal; import java.util.Date; @Data public class Coupon { /** * 主键 */ private Integer id; /** * 优惠券名称 */ private String name; /** * 优惠券类型(1=满减券,2=代金券,3=体验券) */ private Integer type; /** * 优惠券规则JSON */ private String content; /** * 优惠券说明 */ private String illustrate; /** * 发放方式(1=积分购买,2=注册赠送,3=自动发券) */ private Integer distributionMethod; /** * 兑换方式(1=积分,2=积分+现金) */ private Integer redemptionMethod; /** * 所需现金 */ private BigDecimal cash; /** * 所属积分 */ private BigDecimal integral; /** * 用户人群(1=全部用户,2=年度会员,3=已有学员用户) */ private Integer userPopulation; /** * 发放数量 */ private Integer quantityIssued; /** * 限领数量 */ private Integer pickUpQuantity; /** * 开始时间 */ private Date startTime; /** * 结束时间 */ private Date endTime; /** * 使用范围(1=全国,2=指定城市,3=指定门店) */ private Integer useScope; /** * 省 */ private String province; /** * 省编号 */ private String provinceCode; /** * 市 */ private String city; /** * 市编号 */ private String cityCode; /** * 审核状态(1=待审核,2=已通过,3=已拒绝) */ private Integer auditStatus; /** * 审核人id */ private Integer auditUserId; /** * 审核备注 */ private String auditRemark; /** * 状态(1=未开始,2=已开始,3=已结束,4=已取消) */ private Integer status; /** * 状态(1=正常,2=冻结,3=删除) */ private Integer state; /** * 添加时间 */ private Date insertTime; /** * 封面图 */ private String cover; /** * 图片 */ private String productImages; } cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/PointMallDetailsResponse.java
@@ -35,18 +35,24 @@ @ApiModelProperty(value = "商品名称") private String goodName; @ApiModelProperty(value = "1积分 2现金+积分") private Integer condition; @ApiModelProperty(value = "金额") private BigDecimal amount; @ApiModelProperty(value = "积分") private Integer integral; @ApiModelProperty(value = "适用范围: 1 仅限会员 2仅限学员 3全部用户") @ApiModelProperty(value = "适用范围: 1全部用户 2仅限会员 3仅限学员") private Integer belongsType; @ApiModelProperty(value = "商品类型: 1实物 2课包 3门票 4优惠券") private Integer goodsType; @ApiModelProperty(value = "已兑换数量") private Integer nums; } } cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java
@@ -7,9 +7,7 @@ import com.dsh.account.model.LoginSMSCodeVo; import com.dsh.account.model.LoginWeChatVo; import com.dsh.account.model.vo.classDetails.classInsVo.ClassInfoVo; import com.dsh.account.model.vo.userBenefitDetail.BillingDetailsVo; import com.dsh.account.model.vo.userBenefitDetail.IndexOfUserBenefirVo; import com.dsh.account.model.vo.userBenefitDetail.RechargeCentVo; import com.dsh.account.model.vo.userBenefitDetail.*; import com.dsh.account.util.ResultUtil; import java.util.List; @@ -119,4 +117,7 @@ void cancellation(Integer appUserId); List<RechargeCentVo> getSysRechargeConfig(Integer appUserId); PointMallDetailsResponse queryAppUserIntegral(MallRequest request, Integer userIdFormRedis); } cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -9,8 +9,13 @@ import com.dsh.account.entity.VipPayment; import com.dsh.account.enums.RechargeRecordEnum; import com.dsh.account.feignclient.activity.MerChandiseClient; import com.dsh.account.feignclient.activity.UserConponClient; import com.dsh.account.feignclient.activity.model.CommodityRequest; import com.dsh.account.feignclient.activity.model.PointsMerchandise; import com.dsh.account.feignclient.course.CoursePackageClient; import com.dsh.account.feignclient.course.CoursePaymentClient; import com.dsh.account.feignclient.course.model.CourseOfStoreVo; import com.dsh.account.feignclient.course.model.CoursePackage; import com.dsh.account.feignclient.course.model.QueryStoreList; import com.dsh.account.feignclient.course.model.StuCourseResp; import com.dsh.account.feignclient.other.ImgConfigClient; @@ -26,14 +31,13 @@ import com.dsh.account.model.JoinPlayPaiVo; import com.dsh.account.model.LoginSMSCodeVo; import com.dsh.account.model.LoginWeChatVo; import com.dsh.account.model.dto.Coupon; import com.dsh.account.model.vo.classDetails.CourseVenue; import com.dsh.account.model.vo.classDetails.ExerciseVideo; import com.dsh.account.model.vo.classDetails.RegisteredCourse; import com.dsh.account.model.vo.classDetails.WeekedCourse; import com.dsh.account.model.vo.classDetails.classInsVo.ClassInfoVo; import com.dsh.account.model.vo.userBenefitDetail.BillingDetailsVo; import com.dsh.account.model.vo.userBenefitDetail.IndexOfUserBenefirVo; import com.dsh.account.model.vo.userBenefitDetail.RechargeCentVo; import com.dsh.account.model.vo.userBenefitDetail.*; import com.dsh.account.service.TAppUserService; import com.dsh.account.util.*; import com.dsh.account.util.akeylogin.Md5Util; @@ -44,10 +48,7 @@ import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import java.util.*; import java.util.stream.Collectors; /** @@ -100,6 +101,12 @@ @Resource private RechargeConfigClient reconMapper; @Resource private UserConponClient ucponClient; @Resource private CoursePackageClient cpageClient; @Override public ClassInfoVo queryUserOfStus(Integer id,String latitude,String longitude) { @@ -557,4 +564,130 @@ return centVos; } @Override public PointMallDetailsResponse queryAppUserIntegral(MallRequest request, Integer userIdFormRedis) { PointMallDetailsResponse detailsResponse = new PointMallDetailsResponse(); List<PointMallDetailsResponse.Goods> goods = new ArrayList<>(); TAppUser tAppUser = this.baseMapper.selectById(userIdFormRedis); detailsResponse.setName(tAppUser.getName()); detailsResponse.setIntegral(tAppUser.getIntegral()); detailsResponse.setHeadImg(tAppUser.getHeadImg()); CommodityRequest commodityRequest = new CommodityRequest(); commodityRequest.setLon(request.getLon()); commodityRequest.setLat(request.getLat()); List<PointsMerchandise> vicinityGoods = mcClient.getVicinityGoods(commodityRequest); if (vicinityGoods.size() > 0) { for (PointsMerchandise vicinityGood : vicinityGoods) { PointMallDetailsResponse.Goods commodity = new PointMallDetailsResponse.Goods(); switch (vicinityGood.getType()) { case 1: commodity.setGoodId(vicinityGood.getId()); commodity.setGoodName(vicinityGood.getName()); commodity.setGoodImg(vicinityGood.getCover()); commodity.setCondition(vicinityGood.getRedemptionMethod()); if (vicinityGood.getRedemptionMethod() == 1) { commodity.setIntegral(vicinityGood.getIntegral().intValue()); } else { commodity.setIntegral(vicinityGood.getIntegral().intValue()); commodity.setAmount(vicinityGood.getCash()); } commodity.setBelongsType(vicinityGood.getUserPopulation()); commodity.setGoodsType(1); commodity.setNums(mcClient.getRedeemedQuantity(vicinityGood.getId())); break; case 2: commodity.setGoodId(vicinityGood.getCoursePackageId()); CoursePackage coursePackage = cpageClient.queryCoursePackageById(vicinityGood.getCoursePackageId()); commodity.setGoodImg(coursePackage.getCoverDrawing()); commodity.setGoodName(coursePackage.getName()); commodity.setCondition(vicinityGood.getRedemptionMethod()); if (vicinityGood.getRedemptionMethod() == 1) { commodity.setIntegral(vicinityGood.getIntegral().intValue()); } else { commodity.setIntegral(vicinityGood.getIntegral().intValue()); commodity.setAmount(vicinityGood.getCash()); } commodity.setBelongsType(vicinityGood.getUserPopulation()); commodity.setGoodsType(2); commodity.setNums(mcClient.getRedeemedQuantity(vicinityGood.getId())); break; case 3: commodity.setGoodId(vicinityGood.getId()); commodity.setGoodName(vicinityGood.getName()); commodity.setGoodImg(vicinityGood.getCover()); commodity.setCondition(vicinityGood.getRedemptionMethod()); if (vicinityGood.getRedemptionMethod() == 1) { commodity.setIntegral(vicinityGood.getIntegral().intValue()); } else { commodity.setIntegral(vicinityGood.getIntegral().intValue()); commodity.setAmount(vicinityGood.getCash()); } commodity.setBelongsType(vicinityGood.getUserPopulation()); commodity.setGoodsType(3); commodity.setNums(mcClient.getRedeemedQuantity(vicinityGood.getId())); break; default: break; } goods.add(commodity); } } List<Coupon> allCoupons = ucponClient.getAllCoupons(commodityRequest); if (allCoupons.size() > 0) { for (Coupon allCoupon : allCoupons) { PointMallDetailsResponse.Goods commodity = new PointMallDetailsResponse.Goods(); commodity.setGoodId(allCoupon.getId()); commodity.setGoodName(allCoupon.getName()); commodity.setCondition(allCoupon.getRedemptionMethod()); commodity.setGoodImg(allCoupon.getCover()); if (allCoupon.getRedemptionMethod() == 1) { commodity.setIntegral(allCoupon.getIntegral().intValue()); } else { commodity.setIntegral(allCoupon.getIntegral().intValue()); commodity.setAmount(allCoupon.getCash()); } commodity.setBelongsType(allCoupon.getUserPopulation()); commodity.setGoodsType(4); commodity.setNums(ucponClient.getRedeemedQuantity(allCoupon.getId())); goods.add(commodity); } } if (StringUtils.hasText(request.getSearch())){ goods = goods.stream() .filter(merchandise -> merchandise.getGoodName().contains(request.getSearch())) .collect(Collectors.toList()); } if (null != request.getRank()){ switch (request.getRank()){ case 1: goods = goods.stream() .sorted(Comparator.comparing(PointMallDetailsResponse.Goods::getIntegral).reversed()) .collect(Collectors.toList()); break; case 2: goods = goods.stream() .sorted(Comparator.comparing(PointMallDetailsResponse.Goods::getIntegral)) .collect(Collectors.toList()); break; case 3: goods = goods.stream() .sorted(Comparator.comparing(PointMallDetailsResponse.Goods::getNums).reversed()) .collect(Collectors.toList()); break; default: break; } } if (null != request.getGoodsType()){ goods = goods.stream() .filter(merchandise -> merchandise.getGoodsType().equals(request.getGoodsType())) .collect(Collectors.toList()); } detailsResponse.setGoods(goods); return detailsResponse; } } cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
@@ -1,11 +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; @@ -14,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 @@ -32,6 +39,9 @@ @Autowired private UserCouponService ucService; @Autowired private GDMapGeocodingUtil gdMapGeocodingUtil; @@ -103,4 +113,46 @@ } } @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)); } } cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -3,16 +3,19 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.activity.entity.PointsMerchandise; import com.dsh.activity.entity.UserPointsMerchandise; import com.dsh.activity.feignclient.model.IntegralCommodity; import com.dsh.activity.model.request.CommodityRequest; import com.dsh.activity.service.PointsMerchandiseService; import com.dsh.activity.service.UserPointsMerchandiseService; import com.dsh.activity.util.GDMapGeocodingUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.*; @RestController @RequestMapping("") @@ -21,6 +24,12 @@ @Autowired private PointsMerchandiseService pmdsService; @Autowired private GDMapGeocodingUtil gdMapGeocodingUtil; @Autowired private UserPointsMerchandiseService upmseService; @@ -43,4 +52,37 @@ return commodity; } @PostMapping("/base/pointMerchars/getCommoditys") public List<PointsMerchandise> getVicinityGoods(@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(); } List<PointsMerchandise> list = pmdsService.list(new QueryWrapper<PointsMerchandise>() .eq("state", 1)); if (list.size() > 0 ){ Iterator<PointsMerchandise> iterator = list.iterator(); while (iterator.hasNext()) { PointsMerchandise merchandise = iterator.next(); if (merchandise.getUseScope() == 2 && (!Objects.equals(merchandise.getCityCode(), cityCode) && !Objects.equals(merchandise.getProvinceCode(), provinceCode))) { iterator.remove(); // 移除符合条件的商品 } } } return list; } @PostMapping("/base/pointMerchars/getRedeemedNums") public int getRedeemedQuantity(@RequestBody Integer goodId){ return upmseService.count(new QueryWrapper<UserPointsMerchandise>() .eq("pointsMerchandiseId",goodId)); } } cloud-server-activity/src/main/java/com/dsh/activity/entity/Coupon.java
@@ -158,6 +158,16 @@ @TableField("insertTime") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date insertTime; /** * 封面图 */ @TableField("cover") private String cover; /** * 图片 */ @TableField("productImages") private String productImages; @Override cloud-server-activity/src/main/java/com/dsh/activity/feignclient/MerChandiseClient.java
@@ -1,9 +1,12 @@ package com.dsh.activity.feignclient; import com.dsh.activity.entity.PointsMerchandise; import com.dsh.activity.feignclient.model.IntegralCommodity; import com.dsh.activity.model.request.CommodityRequest; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -13,5 +16,10 @@ @PostMapping("/base/pointMerchars/convertGoods") public List<IntegralCommodity> getConvertibleGoods(); @PostMapping("/base/pointMerchars/getCommoditys") public List<PointsMerchandise> getVicinityGoods(@RequestBody CommodityRequest request); @PostMapping("/base/pointMerchars/getRedeemedNums") public int getRedeemedQuantity(@RequestBody Integer goodId); } cloud-server-activity/src/main/java/com/dsh/activity/feignclient/UserConponClient.java
@@ -1,8 +1,11 @@ package com.dsh.activity.feignclient; import com.dsh.activity.entity.Coupon; import com.dsh.activity.feignclient.model.CouponStuAvailableVo; import com.dsh.activity.model.request.CommodityRequest; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @@ -14,4 +17,11 @@ @PostMapping("/base/userConpon/getStuOfConpons") public List<CouponStuAvailableVo> queryUserWithConponList(@RequestParam("appUserId") Integer appUserId); @PostMapping("/base/coupon/getAllCoupons") public List<Coupon> getAllCoupons(@RequestBody CommodityRequest request); @PostMapping("/base/coupon/getRedeemedNums") public int getRedeemedQuantity(@RequestBody Integer id); } cloud-server-activity/src/main/java/com/dsh/activity/model/request/CommodityRequest.java
New file @@ -0,0 +1,18 @@ package com.dsh.activity.model.request; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class CommodityRequest { @ApiModelProperty(value = "经度") private String lon; @ApiModelProperty(value = "纬度") private String lat; }