ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/UserCouponClientFallbackFactory.java
@@ -3,6 +3,7 @@ import com.ruoyi.account.api.feignClient.UserCouponClient; import com.ruoyi.account.api.vo.CouponInfoVo; import com.ruoyi.account.api.vo.PaymentUserCoupon; import com.ruoyi.account.api.vo.PaymentUserCouponVo; import com.ruoyi.common.core.domain.R; import org.springframework.cloud.openfeign.FallbackFactory; @@ -18,7 +19,7 @@ return new UserCouponClient() { @Override public R<List<CouponInfoVo>> getPaymentUserCoupon(PaymentUserCoupon paymentUserCoupon) { public R<List<PaymentUserCouponVo>> getPaymentUserCoupon(PaymentUserCoupon paymentUserCoupon) { return R.fail("根据id获取优惠券数据失败:" + cause.getMessage()); } }; ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/UserCouponClient.java
@@ -3,6 +3,7 @@ import com.ruoyi.account.api.factory.UserCouponClientFallbackFactory; import com.ruoyi.account.api.vo.CouponInfoVo; import com.ruoyi.account.api.vo.PaymentUserCoupon; import com.ruoyi.account.api.vo.PaymentUserCouponVo; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import org.springframework.cloud.openfeign.FeignClient; @@ -24,5 +25,5 @@ * @return */ @PostMapping("/user-coupon/getPaymentUserCoupon") R<List<CouponInfoVo>> getPaymentUserCoupon(@RequestBody PaymentUserCoupon paymentUserCoupon); R<List<PaymentUserCouponVo>> getPaymentUserCoupon(@RequestBody PaymentUserCoupon paymentUserCoupon); } ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/CouponInfoVo.java
@@ -1,38 +1,6 @@ package com.ruoyi.account.api.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; /** * @author zhibing.pu * @Date 2024/11/25 17:59 */ @Data @ApiModel public class CouponInfoVo { @ApiModelProperty("优惠券id") private Long id; @ApiModelProperty("优惠券名称") private String name; @ApiModelProperty("优惠券类型 1=满减券,2=代金券,3=折扣券,4=商品券") private Integer couponType; @ApiModelProperty("满x元") private BigDecimal conditionAmount; @ApiModelProperty("减x元") private BigDecimal discountAmount; @ApiModelProperty("代金x元") private BigDecimal moneyAmount; @ApiModelProperty("折扣") private BigDecimal discount; @ApiModelProperty("有效期开始时间") private String periodStartTime; @ApiModelProperty("有效期结束时间") private String periodEndTime; @ApiModelProperty("是否可用") private Boolean available; import com.baomidou.mybatisplus.annotation.*; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/PaymentUserCouponVo.java
New file @@ -0,0 +1,36 @@ package com.ruoyi.account.api.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; /** * @author zhibing.pu * @Date 2024/11/29 16:39 */ @Data @ApiModel public class PaymentUserCouponVo { @ApiModelProperty("优惠券id") private Long id; @ApiModelProperty("优惠券名称") private String name; @ApiModelProperty("优惠券类型 1=满减券,2=代金券,3=折扣券,4=商品券") private Integer couponType; @ApiModelProperty("满x元") private BigDecimal conditionAmount; @ApiModelProperty("减x元") private BigDecimal discountAmount; @ApiModelProperty("代金x元") private BigDecimal moneyAmount; @ApiModelProperty("折扣") private BigDecimal discount; @ApiModelProperty("有效期开始时间") private String periodStartTime; @ApiModelProperty("有效期结束时间") private String periodEndTime; @ApiModelProperty("是否可用") private Boolean available; } ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserAddressController.java
@@ -63,7 +63,7 @@ @PostMapping("/add") @ApiOperation(value = "添加", tags = {"小程序-个人中心首页-我的地址"}) public R add(@RequestBody UserAddress userAddress){ Long userId = tokenService.getLoginUserApplet().getUserId(); Long userId = tokenService.getLoginUserApplet().getUserid(); userAddress.setAppUserId(userId); userAddressService.save(userAddress); return R.ok(); @@ -87,7 +87,7 @@ @PostMapping("/set") @ApiOperation(value = "设为默认", tags = {"小程序-个人中心首页-我的地址"}) public R set(@RequestParam Integer id){ Long userId = tokenService.getLoginUserApplet().getUserId(); Long userId = tokenService.getLoginUserApplet().getUserid(); List<UserAddress> list = userAddressService.lambdaQuery().eq(UserAddress::getAppUserId, userId).list(); for (UserAddress userAddress : list) { userAddress.setIsDefault(0); ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java
@@ -7,6 +7,7 @@ import com.ruoyi.account.api.model.UserCoupon; import com.ruoyi.account.api.model.UserPoint; import com.ruoyi.account.api.vo.CouponInfoVo; import com.ruoyi.account.api.vo.PaymentUserCouponVo; import com.ruoyi.account.service.AppUserService; import com.ruoyi.account.service.UserCouponService; import com.ruoyi.account.service.UserPointService; @@ -145,8 +146,8 @@ */ @ResponseBody @PostMapping("/getPaymentUserCoupon") public R<List<CouponInfoVo>> getPaymentUserCoupon(@RequestBody PaymentUserCoupon paymentUserCoupon){ List<CouponInfoVo> userCoupon = userCouponService.getUserCoupon(paymentUserCoupon.getUserId(), paymentUserCoupon.getOrderMoney(), paymentUserCoupon.getType()); public R<List<PaymentUserCouponVo>> getPaymentUserCoupon(@RequestBody PaymentUserCoupon paymentUserCoupon){ List<PaymentUserCouponVo> userCoupon = userCouponService.getUserCoupon(paymentUserCoupon.getUserId(), paymentUserCoupon.getOrderMoney(), paymentUserCoupon.getType()); return R.ok(userCoupon); } ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/UserCouponService.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.account.api.model.UserCoupon; import com.ruoyi.account.api.vo.CouponInfoVo; import com.ruoyi.account.api.vo.PaymentUserCouponVo; import org.springframework.web.bind.annotation.RequestParam; import java.math.BigDecimal; @@ -23,5 +24,5 @@ * @param userId * @return */ List<CouponInfoVo> getUserCoupon(Long userId, BigDecimal orderMoney, Integer type); List<PaymentUserCouponVo> getUserCoupon(Long userId, BigDecimal orderMoney, Integer type); } ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserCouponServiceImpl.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.api.vo.CouponInfoVo; import com.ruoyi.account.api.vo.PaymentUserCouponVo; import com.ruoyi.account.mapper.UserCouponMapper; import com.ruoyi.account.api.model.UserCoupon; import com.ruoyi.account.service.UserCouponService; @@ -40,7 +41,7 @@ * @return */ @Override public List<CouponInfoVo> getUserCoupon(Long userId, BigDecimal orderMoney, Integer type) { public List<PaymentUserCouponVo> getUserCoupon(Long userId, BigDecimal orderMoney, Integer type) { List<UserCoupon> list = this.list(new LambdaQueryWrapper<UserCoupon>().eq(UserCoupon::getAppUserId, userId).eq(UserCoupon::getDelFlag, 0) .last(" and now() between start_time and end_time")); List<Integer> couponIds = list.stream().map(UserCoupon::getCouponId).collect(Collectors.toList()); @@ -50,10 +51,10 @@ List<CouponInfo> couponInfoList = couponInfoClient.getCouponInfoList(couponIds).getData(); //构建返回数据 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); List<CouponInfoVo> infoVoList = new ArrayList<>(); List<PaymentUserCouponVo> infoVoList = new ArrayList<>(); for (UserCoupon userCoupon : list) { CouponInfo couponInfo = couponInfoList.stream().filter(s -> s.getId().equals(userCoupon.getCouponId())).findFirst().get(); CouponInfoVo couponInfoVo = new CouponInfoVo(); PaymentUserCouponVo couponInfoVo = new PaymentUserCouponVo(); couponInfoVo.setId(userCoupon.getId()); couponInfoVo.setName(couponInfo.getCouponName()); couponInfoVo.setCouponType(couponInfo.getCouponType()); ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
@@ -12,6 +12,7 @@ import com.ruoyi.account.api.model.UserAddress; import com.ruoyi.account.api.vo.CouponInfoVo; import com.ruoyi.account.api.vo.PaymentUserCoupon; import com.ruoyi.account.api.vo.PaymentUserCouponVo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.security.service.TokenService; @@ -325,7 +326,7 @@ paymentUserCoupon.setUserId(userid); paymentUserCoupon.setOrderMoney(orderMoney); paymentUserCoupon.setType(confirmOrder.getType()); List<CouponInfoVo> data = userCouponClient.getPaymentUserCoupon(paymentUserCoupon).getData(); List<PaymentUserCouponVo> data = userCouponClient.getPaymentUserCoupon(paymentUserCoupon).getData(); confirmOrderVo.setCoupon(data); //获取快递策略 SystemConfig systemConfig = systemConfigClient.getSystemConfig(3).getData(); ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/ConfirmOrderVo.java
@@ -2,6 +2,7 @@ import com.ruoyi.account.api.model.UserAddress; import com.ruoyi.account.api.vo.CouponInfoVo; import com.ruoyi.account.api.vo.PaymentUserCouponVo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -45,5 +46,5 @@ @ApiModelProperty("活动是否可以和优惠券同时使用") private Boolean useSimultaneously; @ApiModelProperty("优惠券列表") private List<CouponInfoVo> coupon; private List<PaymentUserCouponVo> coupon; }