From a85b63f3e4d933df586714ea91c69a3fd5d16b99 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 06 十二月 2024 11:56:07 +0800
Subject: [PATCH] 合作商权限
---
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java | 115 ++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 85 insertions(+), 30 deletions(-)
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
index 6364f94..66cbddc 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
@@ -39,10 +39,7 @@
import java.math.BigDecimal;
import javax.annotation.Resource;
import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -63,17 +60,32 @@
@Autowired
private TAppUserCarService appUserCarService;
- @Autowired
+ @Resource
private TokenService tokenService;
- @Autowired
+ @Resource
private ChargingPileClient chargingPileClient;
- @Autowired
+ @Resource
private ChargingOrderClient chargingOrderClient;
-
@Resource
private ChargingGunClient chargingGunClient;
+
+ @Autowired
+ private TAppUserTagService appUserTagService;
+ @Autowired
+ private TAppUserService appUserService;
+
-
+ /**
+ * 后台退款 回退优惠券使用状态
+ * @return
+ */
+ @PostMapping(value = "/refund/{id}")
+ public R refund(@PathVariable("id") String id) {
+ TAppCoupon byId = tAppCouponService.getById(id);
+ byId.setStatus(1);
+ tAppCouponService.updateById(byId);
+ return R.ok();
+ }
/**
* 小程序扫一扫 添加车辆
* @param dto
@@ -91,28 +103,32 @@
* @return
*/
@ApiOperation(value = "通过充电枪id和预付金额获取电站详情", tags = {"小程序-扫一扫"})
- @GetMapping(value = "/scan/siteInfo")
+ @PostMapping(value = "/scan/siteInfo")
public AjaxResult<SiteInfoVO> siteInfo(Integer id, BigDecimal money) {
TChargingGun chargingGun = chargingGunClient.getChargingGunById(id).getData();
TChargingPile chargingPile = chargingPileClient.getChargingPileById(chargingGun.getChargingPileId()).getData();
- SiteInfoVO data = chargingPileClient.getSiteInfoByNumber(chargingPile.getNumber().toString()).getData();
+ SiteInfoVO data = chargingPileClient.getSiteInfoByNumber1(chargingPile.getCode().toString()).getData();
data.setChargingGunId(id);
+ data.setSiteId(chargingGun.getSiteId());
+ data.setChargeMode(chargingGun.getChargeMode());
List<TAppUserCar> cars = appUserCarService.list(new QueryWrapper<TAppUserCar>()
.eq("app_user_id",tokenService.getLoginUserApplet().getUserId())
.orderByDesc("create_time"));
- Long data1 = chargingOrderClient.getCar().getData();
+ Long data1 = chargingOrderClient.getCar(tokenService.getLoginUserApplet().getUserId().toString()).getData();
+ Integer data2 = otherClient.getAddCarIntegral().getData();
+ data.setIntegral(data2);
if (!cars.isEmpty()){
- if (data1 == -1){
+ if (null == data1 || data1 == -1){
// 没有充电订单 展示最新添加的车辆
data.setLicensePlate(cars.get(0).getLicensePlate());
data.setVehicleBrand(cars.get(0).getVehicleBrand());
- data.setId(cars.get(0).getId());
+ data.setId(cars.get(0).getId().toString());
}else{
for (TAppUserCar car : cars) {
if (car.getId().equals(data1)){
data.setLicensePlate(car.getLicensePlate());
data.setVehicleBrand(car.getVehicleBrand());
- data.setId(car.getId());
+ data.setId(car.getId().toString());
}
}
}
@@ -121,11 +137,11 @@
BigDecimal vipElectrovalence = data.getVipElectrovalence();
// 计算预付金额能充多少度普通电
BigDecimal divide1 = money.divide(electrovalence, 2, BigDecimal.ROUND_HALF_UP);
- // 计算冲会员电能充多少度会员电
- BigDecimal divide = vipElectrovalence.divide(electrovalence, 2, BigDecimal.ROUND_HALF_UP);
- BigDecimal subtract = divide.subtract(divide1);
+ // 计算冲会员充电需要多少钱
+ BigDecimal vipMoney = divide1.multiply(vipElectrovalence).setScale(2,BigDecimal.ROUND_HALF_UP);
+// BigDecimal subtract = divide.subtract(divide1);
// 优惠金额
- data.setMoney(subtract.multiply(vipElectrovalence).setScale(2, BigDecimal.ROUND_HALF_UP));
+ data.setMoney(electrovalence.multiply(divide1).subtract(vipMoney).setScale(2, BigDecimal.ROUND_DOWN));
return AjaxResult.ok(data);
}
/**
@@ -148,6 +164,7 @@
public R<List<TAppUserCar>> carList() {
List<TAppUserCar> appUserId = appUserCarService.list(new QueryWrapper<TAppUserCar>()
.eq("app_user_id",tokenService.getLoginUserApplet().getUserId()));
+ appUserId.forEach(s->s.setId_(s.getId().toString()));
return R.ok(appUserId);
}
@@ -187,27 +204,31 @@
* @return
*/
@PostMapping("/getExchangeRecordByCouponId")
- public R<PageInfo<ExchangeRecordVO>> getExchangeRecordByCouponId(@RequestBody ExchangeRecordGoodsQuery couponId){
+ public R<List<ExchangeRecordVO>> getExchangeRecordByCouponId(@RequestBody ExchangeRecordGoodsQuery couponId){
return R.ok(tAppCouponService.pagelist(couponId));
}
@ApiOperation(value = "优惠卷可用数量", tags = {"小程序-站点管理-站点详情"})
- @PostMapping(value = "/couponCount")
+ @GetMapping(value = "/couponCount")
public R<Long> couponCount() {
- LocalDateTime now = LocalDateTime.now();
- return R.ok(tAppCouponService.lambdaQuery().le(TAppCoupon::getStartTime, now).ge(TAppCoupon::getEndTime, now).eq(TAppCoupon::getStatus, 1).count());
+ Long userId = tokenService.getLoginUserApplet().getUserId();
+ Long count = tAppCouponService.lambdaQuery().eq(TAppCoupon::getAppUserId, userId).ge(TAppCoupon::getEndTime, LocalDateTime.now()).eq(TAppCoupon::getStatus, 1).count();
+ if(Objects.isNull(count)){
+ count = 0L;
+ }
+ return R.ok(count);
}
- @Autowired
- private TAppUserTagService appUserTagService;
- @Autowired
- private TAppUserService appUserService;
+
/**
* 后台远程调用 给用户发放优惠券
*/
@PostMapping("/grantCoupon")
public R grantCoupon(@RequestBody GrantCouponDto dto){
+ if (dto.getWaysToObtain()==null){
+ dto.setWaysToObtain(3);
+ }
List<TAppCoupon> res = new ArrayList<>();
TCoupon coupon = otherClient.getCouponById(dto.getCouponId()).getData();
@@ -231,9 +252,20 @@
break;
case 2:
// 根据市codes 查询用户ids
- List<Long> collect1 = appUserService.list(new QueryWrapper<TAppUser>()
- .in("city_code", Arrays.asList(dto.getCityCode().split(","))))
- .stream().map(TAppUser::getId).collect(Collectors.toList());
+ List<Long> collect1 = new ArrayList<>();
+ // 根据市codes 查询用户ids
+ if (StringUtils.hasLength(dto.getProvinceCode())){
+ List<Long> collect2 = appUserService.list(new QueryWrapper<TAppUser>()
+ .in("province_code", Arrays.asList(dto.getProvinceCode().split(","))))
+ .stream().map(TAppUser::getId).collect(Collectors.toList());
+ collect1.addAll(collect2);
+ }
+ if (StringUtils.hasLength(dto.getCityCode())){
+ List<Long> collect2 = appUserService.list(new QueryWrapper<TAppUser>()
+ .in("city_code", Arrays.asList(dto.getCityCode().split(","))))
+ .stream().map(TAppUser::getId).collect(Collectors.toList());
+ collect1.addAll(collect2);
+ }
for (Long l : collect1) {
TAppCoupon tAppCoupon = new TAppCoupon();
tAppCoupon.setAppUserId(l);
@@ -265,5 +297,28 @@
return R.ok();
}
+
+
+ /**
+ * 根据id获取优惠券领取记录
+ * @param id
+ * @return
+ */
+ @PostMapping("/getAppCouponById")
+ public R<TAppCoupon> getAppCouponById(@RequestParam("id") Long id){
+ TAppCoupon appCoupon = tAppCouponService.getById(id);
+ return R.ok(appCoupon);
+ }
+
+ /**
+ * 修改用户优惠券
+ * @param appCoupon
+ * @return
+ */
+ @PostMapping("/updateAppCoupon")
+ public R updateAppCoupon(@RequestBody TAppCoupon appCoupon){
+ tAppCouponService.updateById(appCoupon);
+ return R.ok();
+ }
}
--
Gitblit v1.7.1