From f47d695f19bca1e58ddedcc10f8d3dff7d7f8f1d Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期三, 21 八月 2024 11:39:43 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java | 132 +++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 123 insertions(+), 9 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 ffc595e..cee2bbe 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 @@ -2,23 +2,37 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ruoyi.account.api.dto.CouponListDto; +import com.ruoyi.account.api.dto.GrantCouponDto; import com.ruoyi.account.api.model.TAppCoupon; +import com.ruoyi.account.api.model.TAppUserCar; import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery; +import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient; +import com.ruoyi.chargingPile.api.model.TChargingGun; +import com.ruoyi.chargingPile.api.model.TChargingPile; +import com.ruoyi.other.api.vo.CouponListVOVO; import com.ruoyi.account.api.vo.ExchangeRecordVO; import com.ruoyi.account.service.TAppCouponService; +import com.ruoyi.account.service.TAppUserCarService; +import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient; +import com.ruoyi.chargingPile.api.vo.SiteInfoVO; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.web.page.BasePage; import com.ruoyi.common.core.web.page.PageInfo; +import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.order.api.feignClient.ChargingOrderClient; import com.ruoyi.other.api.domain.TCoupon; +import com.ruoyi.other.api.feignClient.OtherClient; +import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; 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 org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.Arrays; +import java.util.Date; import java.util.List; /** @@ -35,21 +49,102 @@ @Autowired private TAppCouponService tAppCouponService; + @Autowired + private TAppUserCarService appUserCarService; + @Autowired + private TokenService tokenService; + @Autowired + private ChargingPileClient chargingPileClient; + @Autowired + private ChargingOrderClient chargingOrderClient; + + @Resource + private ChargingGunClient chargingGunClient; + + + /** + * 小程序扫一扫 添加车辆 + * @param dto + * @return + */ + @ApiOperation(value = "添加车辆", tags = {"小程序-扫一扫"}) + @PostMapping(value = "/scan/addCar") + public AjaxResult addCar(@RequestBody TAppUserCar dto) { + dto.setAppUserId(tokenService.getLoginUserApplet().getUserId()); + appUserCarService.save(dto); + return AjaxResult.success(); + } + /** + * 查询用户可用优惠券数量 + * @return + */ + @ApiOperation(value = "通过桩编号获取电站详情", tags = {"小程序-扫一扫"}) + @GetMapping(value = "/scan/siteInfo") + public AjaxResult<SiteInfoVO> siteInfo(Integer id) { + TChargingGun chargingGun = chargingGunClient.getChargingGunById(id).getData(); + TChargingPile chargingPile = chargingPileClient.getChargingPileById(chargingGun.getChargingPileId()).getData(); + SiteInfoVO data = chargingPileClient.getSiteInfoByNumber(chargingPile.getNumber().toString()).getData(); + data.setChargingGunId(id); + List<TAppUserCar> cars = appUserCarService.list(new QueryWrapper<TAppUserCar>() + .eq("app_user_id",tokenService.getLoginUserApplet().getUserId()) + .orderByDesc("create_time")); + Long data1 = chargingOrderClient.getCar().getData(); + if (!cars.isEmpty()){ + if (data1 == -1){ + // 没有充电订单 展示最新添加的车辆 + data.setLicensePlate(cars.get(0).getLicensePlate()); + data.setVehicleBrand(cars.get(0).getVehicleBrand()); + data.setId(cars.get(0).getId()); + }else{ + for (TAppUserCar car : cars) { + if (car.getId().equals(data1)){ + data.setLicensePlate(car.getLicensePlate()); + data.setVehicleBrand(car.getVehicleBrand()); + data.setId(car.getId()); + } + } + } + } + return AjaxResult.ok(data); + } + /** + * 查询用户可用优惠券数量 + * @param dto + * @return + */ + @ApiOperation(value = "选择优惠券分页查询", tags = {"小程序-扫一扫"}) + @PostMapping(value = "/scan/couponList") + public AjaxResult<PageInfo<CouponListVOVO>> couponList(@RequestBody CouponListDto dto) { + PageInfo<CouponListVOVO> res = tAppCouponService.couponList(dto); + return AjaxResult.ok(res); + } + /** + * 选择车辆列表 远程调用 + * @return + */ + @ApiOperation(value = "选择车辆列表", tags = {"小程序-扫一扫"}) + @PostMapping(value = "/scan/carList") + public R<List<TAppUserCar>> carList() { + List<TAppUserCar> appUserId = appUserCarService.list(new QueryWrapper<TAppUserCar>() + .eq("app_user_id",tokenService.getLoginUserApplet().getUserId())); + return R.ok(appUserId); + } + /** * 管理后台远程调用 根据优惠券ids 查询对应的发放数量 * @return 优惠券ids 查询每个优惠券的发放数量 */ @PostMapping("/getCountByCouponIds") - public R<List<Integer>> getCountByCouponIds(String couponIds) { + public R<List<Integer>> getCountByCouponIds(@RequestParam("couponIds") String couponIds) { // 最终结果 和优惠券id一一对应 List<Integer> res = new ArrayList<>(); String[] split = couponIds.split(","); // 查询每个优惠券的发放数量 - List<TAppCoupon> couponId = tAppCouponService.list(new QueryWrapper<TAppCoupon>() - .in("coupon_id", Arrays.asList(split))); for (String s : split) { res.add(tAppCouponService.list(new QueryWrapper<TAppCoupon>() - .eq("coupon_id", s)).size()); + .eq("coupon_id", s) + .eq("del_flag",0) + ).size()); } return R.ok(res); } @@ -71,8 +166,27 @@ * @return */ @PostMapping("/getExchangeRecordByCouponId") - public R<PageInfo<ExchangeRecordVO>> getUseCountByCouponId(ExchangeRecordGoodsQuery couponId){ + public R<PageInfo<ExchangeRecordVO>> getExchangeRecordByCouponId(@RequestBody ExchangeRecordGoodsQuery couponId){ return R.ok(tAppCouponService.pagelist(couponId)); } + + /** + * 后台远程调用 给用户发放优惠券 + */ + @PostMapping("/grantCoupon") + public R grantCoupon(@RequestBody GrantCouponDto dto){ + List<TAppCoupon> res = new ArrayList<>(); + for (String s : dto.getUserIds().split(",")) { + TAppCoupon tAppCoupon = new TAppCoupon(); + tAppCoupon.setAppUserId(Long.valueOf(s)); + tAppCoupon.setCouponId(dto.getCouponId()); + tAppCoupon.setEndTime(dto.getEndTime()); + tAppCoupon.setWaysToObtain(dto.getWaysToObtain()); + tAppCoupon.setStatus(1); + res.add(tAppCoupon); + } + tAppCouponService.saveBatch(res); + return R.ok(); + } } -- Gitblit v1.7.1