| | |
| | | import com.ruoyi.account.api.dto.GrantCouponDto; |
| | | import com.ruoyi.account.api.feignClient.AppCouponClient; |
| | | import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; |
| | | import com.ruoyi.account.api.vo.CouponListVOVO; |
| | | import com.ruoyi.account.api.vo.ExchangeRecordVO; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.web.domain.AjaxResult; |
| | | import com.ruoyi.common.core.web.page.PageInfo; |
| | | import com.ruoyi.other.api.domain.TCoupon; |
| | |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | |
| | | return AjaxResult.ok(data); |
| | | } |
| | | @ApiOperation(tags = {"管理后台-优惠券管理"},value = "发放优惠券") |
| | | @GetMapping(value = "/pageList") |
| | | public AjaxResult pageList(@RequestBody GrantCouponDto dto) { |
| | | @GetMapping(value = "/grantCoupon") |
| | | public AjaxResult grantCoupon(@RequestBody GrantCouponDto dto) { |
| | | TCoupon byId = tCouponService.getById(dto.getCouponId()); |
| | | Integer waysToObtain = byId.getWaysToObtain(); |
| | | dto.setWaysToObtain(waysToObtain); |
| | |
| | | dto.setEndTime(LocalDateTime.now().plusDays(byId.getDays())); |
| | | break; |
| | | } |
| | | // 远程送优惠券 |
| | | appCouponClient.grantCoupon(dto); |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券列表分页查询") |
| | | @PostMapping(value = "/pageList") |
| | | public AjaxResult<PageInfo<TCoupon>> pageList(@RequestBody CouponQuery dto) { |
| | | return AjaxResult.ok(tCouponService.pageList(dto)); |
| | | } |
| | | |
| | | /** |
| | | * 小程序远程调用 获取优惠券信息 |
| | | */ |
| | | @PostMapping(value = "/getCouponInfoByCouponIds") |
| | | public R<List<CouponListVOVO>> getCouponInfoByCouponIds(@RequestBody List<CouponListVOVO> list) { |
| | | for (CouponListVOVO couponListVOVO : list) { |
| | | TCoupon byId = tCouponService.getById(couponListVOVO.getCouponId()); |
| | | BeanUtils.copyProperties(byId,couponListVOVO); |
| | | couponListVOVO.setCouponName(byId.getName()); |
| | | // 根据预付金额 判断是否满足 |
| | | if (byId.getMeetTheConditions().compareTo(BigDecimal.ZERO) == 0){ |
| | | // 无门槛 |
| | | couponListVOVO.setIsUse(1); |
| | | }else if (couponListVOVO.getPayMoney().compareTo(byId.getMeetTheConditions()) < 0){ |
| | | couponListVOVO.setIsUse(0); |
| | | }else{ |
| | | couponListVOVO.setIsUse(1); |
| | | } |
| | | // 根据优惠券类型和预付金额 判断哪一个优惠券减免的金额最大 将其排在第一位 |
| | | if (couponListVOVO.getIsUse() == 1){ |
| | | switch (byId.getPreferentialMode()){ |
| | | case 1: |
| | | couponListVOVO.setMoney(byId.getDiscountAmount()); |
| | | break; |
| | | case 2: |
| | | |
| | | break; |
| | | } |
| | | }else{ |
| | | couponListVOVO.setMoney(BigDecimal.ZERO); |
| | | } |
| | | |
| | | } |
| | | return R.ok(list); |
| | | } |
| | | } |
| | | |