无关风月
2024-08-22 6ef0fd3df85b38be2f8e47a0d51ce2a7303b69c7
代码提交
6个文件已修改
100 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java
@@ -9,6 +9,8 @@
@Data
@ApiModel("管理后台发放优惠券DTO")
public class GrantCouponDto {
    @ApiModelProperty("类型 1按用户标签 2按用户所在地 3自定义发放")
    private Integer type;
    @ApiModelProperty("用户ids 逗号分隔")
    private String userIds;
    @ApiModelProperty("优惠券id")
@@ -17,4 +19,9 @@
    private Integer waysToObtain;
    @ApiModelProperty("结束时间 前端忽略")
    private LocalDateTime endTime;
    @ApiModelProperty("标签ids")
    private String tags;
    @ApiModelProperty("市code 多个逗号分割")
    private String cityCode;
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
@@ -5,8 +5,12 @@
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.TAppUser;
import com.ruoyi.account.api.model.TAppUserCar;
import com.ruoyi.account.api.model.TAppUserTag;
import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery;
import com.ruoyi.account.service.TAppUserService;
import com.ruoyi.account.service.TAppUserTagService;
import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient;
import com.ruoyi.chargingPile.api.model.TChargingGun;
import com.ruoyi.chargingPile.api.model.TChargingPile;
@@ -35,6 +39,7 @@
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
 * <p>
@@ -180,12 +185,50 @@
        return R.ok(tAppCouponService.pagelist(couponId));
    }
    @Autowired
    private TAppUserTagService appUserTagService;
    @Autowired
    private TAppUserService appUserService;
    /**
     * 后台远程调用 给用户发放优惠券
     */
    @PostMapping("/grantCoupon")
    public R  grantCoupon(@RequestBody GrantCouponDto dto){
        List<TAppCoupon> res = new ArrayList<>();
        switch (dto.getType()){
            case 1:
                // 根据标签ids 查询用户ids
                List<Long> collect = appUserTagService.list(new QueryWrapper<TAppUserTag>()
                        .in("user_tag_id", Arrays.asList(dto.getTags().split(","))))
                        .stream().map(TAppUserTag::getAppUserId).collect(Collectors.toList());
                for (Long l : collect) {
                    TAppCoupon tAppCoupon = new TAppCoupon();
                    tAppCoupon.setAppUserId(l);
                    tAppCoupon.setCouponId(dto.getCouponId());
                    tAppCoupon.setEndTime(dto.getEndTime());
                    tAppCoupon.setWaysToObtain(dto.getWaysToObtain());
                    tAppCoupon.setStatus(1);
                    res.add(tAppCoupon);
                }
                tAppCouponService.saveBatch(res);
                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());
                for (Long l : collect1) {
                    TAppCoupon tAppCoupon = new TAppCoupon();
                    tAppCoupon.setAppUserId(l);
                    tAppCoupon.setCouponId(dto.getCouponId());
                    tAppCoupon.setEndTime(dto.getEndTime());
                    tAppCoupon.setWaysToObtain(dto.getWaysToObtain());
                    tAppCoupon.setStatus(1);
                    res.add(tAppCoupon);
                }
                tAppCouponService.saveBatch(res);
                break;
            case 3:
        for (String s : dto.getUserIds().split(",")) {
            TAppCoupon tAppCoupon = new TAppCoupon();
            tAppCoupon.setAppUserId(Long.valueOf(s));
@@ -196,6 +239,11 @@
            res.add(tAppCoupon);
        }
        tAppCouponService.saveBatch(res);
                break;
        }
        return R.ok();
    }
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -11,6 +11,7 @@
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.order.api.model.TOrderEvaluate;
import com.ruoyi.order.api.query.ChargingOrderQuery;
import com.ruoyi.order.api.query.TChargingCountQuery;
import com.ruoyi.order.api.vo.ChargingOrderVO;
import com.ruoyi.order.dto.GetMyChargingOrderList;
@@ -71,8 +72,9 @@
    @ResponseBody
    @PostMapping(value = "/chargingOrder")
    @ApiOperation(value = "充电桩订单列表", tags = {"管理后台-订单管理"})
    public AjaxResult<PageInfo<ChargingOrderVO>> chargingOrder(@RequestBody OrderEvaluateVo dto){
        return AjaxResult.success();
    public AjaxResult<PageInfo<ChargingOrderVO>> chargingOrder(@RequestBody ChargingOrderQuery dto){
        PageInfo<ChargingOrderVO> res = chargingOrderService.chargingOrder(dto);
        return AjaxResult.success(res);
    }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
@@ -1,7 +1,10 @@
package com.ruoyi.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.order.api.query.ChargingOrderQuery;
import com.ruoyi.order.api.vo.ChargingOrderVO;
import com.ruoyi.order.dto.GetNoInvoicedOrder;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -42,4 +45,7 @@
     */
    List<TChargingOrder> getNoInvoicedOrder(@Param("appUserId") Long appUserId, @Param("month") String month,
                                            @Param("pageCurr") Integer pageCurr, @Param("pageSize") Integer pageSize);
    List<ChargingOrderVO> chargingOrder(@Param("pageInfo") PageInfo<ChargingOrderVO> pageInfo, ChargingOrderQuery dto, String startTime1, String startTime2, String endTime1, String endTime11);
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
@@ -3,7 +3,10 @@
import com.baomidou.mybatisplus.extension.service.IService;
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.order.api.model.TChargingOrder;
import com.ruoyi.order.api.query.ChargingOrderQuery;
import com.ruoyi.order.api.vo.ChargingOrderVO;
import com.ruoyi.order.dto.*;
import org.springframework.web.bind.annotation.RequestBody;
@@ -78,4 +81,6 @@
     * @return
     */
    AjaxResult stopCharging(String id);
    PageInfo<ChargingOrderVO> chargingOrder(ChargingOrderQuery dto);
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -17,20 +17,25 @@
import com.ruoyi.chargingPile.api.model.TChargingPile;
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.redis.service.RedisService;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy;
import com.ruoyi.order.api.query.ChargingOrderQuery;
import com.ruoyi.order.api.vo.ChargingOrderVO;
import com.ruoyi.order.dto.*;
import com.ruoyi.order.mapper.TChargingOrderMapper;
import com.ruoyi.order.service.TChargingOrderAccountingStrategyService;
import com.ruoyi.order.service.TChargingOrderService;
import com.ruoyi.other.api.domain.TVip;
import com.ruoyi.payment.api.feignClient.WxPaymentClient;
import com.ruoyi.payment.api.vo.NotifyV3PayDecodeRespBody;
import com.ruoyi.payment.api.vo.PaymentOrder;
import io.seata.spring.annotation.GlobalTransactional;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.math.BigDecimal;
@@ -386,4 +391,27 @@
        // todo 待完善
        return AjaxResult.success();
    }
    @Override
    public PageInfo<ChargingOrderVO> chargingOrder(ChargingOrderQuery dto) {
        String startTime1 = null;
        String startTime2 = null;
        String endTime1 = null;
        String endTime2 = null;
        if (StringUtils.hasLength(dto.getStartTime())){
            String[] split = dto.getStartTime().split(" - ");
            startTime1 = split[0];
            startTime2 = split[1];
        }
        if (StringUtils.hasLength(dto.getEndTime())){
            String[] split = dto.getEndTime().split(" - ");
            endTime1 = split[0];
            endTime2 = split[1];
        }
        PageInfo<ChargingOrderVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
        List<ChargingOrderVO> list = this.baseMapper.chargingOrder(pageInfo,dto,startTime1,startTime2,endTime1,endTime2);
        pageInfo.setRecords(list);
        return pageInfo;
    }
}