Pu Zhibing
2024-10-24 18d2ac4785e5ff819fe077bdd4eb4ee9731ab454
Merge remote-tracking branch 'origin/master'
23个文件已修改
398 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserVipDetail.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityStatisticslVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/VipInfoDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserVipDetailController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/resources/template/充电桩申请记录.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/resources/template/结算汇总.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/export/TChargingOrderExport.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml 61 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserVipDetail.java
@@ -88,6 +88,8 @@
    private String couponIds;
    @TableField(exist = false)
    private String vipName;
    @TableField(exist = false)
    private Integer type;
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
@@ -5,6 +5,7 @@
import com.ruoyi.common.core.dto.ExchangeDto;
import com.ruoyi.order.api.feignClient.OrderClient;
import com.ruoyi.order.api.model.ChargingListQuery;
import com.ruoyi.order.api.model.TGrantVip;
import com.ruoyi.order.api.model.TShoppingOrder;
import com.ruoyi.order.api.model.TVipOrder;
import com.ruoyi.order.api.query.TActivityStatisticsQuery;
@@ -35,6 +36,11 @@
            @Override
            public R managementGiveVip(TGrantVip grantVip) {
                return R.fail("管理后台赠送会员:" + cause.getMessage());
            }
            @Override
            public R<List<Integer>> getSalesCountByGoodsId(String goodsIds) {
                return R.fail("根据商品订单ids查询销量:" + cause.getMessage());
            }
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
@@ -6,6 +6,7 @@
import com.ruoyi.common.core.dto.ExchangeDto;
import com.ruoyi.order.api.factory.OrderFallbackFactory;
import com.ruoyi.order.api.model.ChargingListQuery;
import com.ruoyi.order.api.model.TGrantVip;
import com.ruoyi.order.api.model.TShoppingOrder;
import com.ruoyi.order.api.model.TVipOrder;
import com.ruoyi.order.api.query.TActivityStatisticsQuery;
@@ -23,7 +24,8 @@
 */
@FeignClient(contextId = "OrderClient", value = ServiceNameConstants.ORDER_SERVICE, fallbackFactory = OrderFallbackFactory.class)
public interface OrderClient {
    @PostMapping(value = "/t-charging-order/management/give/vip")
    public R managementGiveVip(@RequestBody TGrantVip grantVip);
    @GetMapping("/t-exchange-order/getSalesCountByGoodsIds/{goodsIds}")
    R<List<Integer>> getSalesCountByGoodsId(@PathVariable("goodsIds") String goodsIds);
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java
@@ -14,8 +14,11 @@
public class ChargingOrderListVO  {
    @ApiModelProperty(value = "电站名称")
    private String siteName;
    @ApiModelProperty(value = "订单状态")
    private Integer status;
    @ApiModelProperty(value = "充值支付状态(1=待支付,2=已支付)")
    private Integer rechargePaymentStatus;
    @ApiModelProperty(value = "电站id")
    private Integer siteId;
    @ApiModelProperty(value = "充电桩id")
@@ -40,6 +43,8 @@
    private BigDecimal electricity;
    @ApiModelProperty(value = "充电到账金额")
    private BigDecimal orderAmount;
    @ApiModelProperty(value = "会员抵扣金额")
    private BigDecimal vipDiscountAmount;
    @ApiModelProperty(value = "车牌号")
    private String licensePlate;
    @ApiModelProperty(value = "客户手机号")
@@ -61,6 +66,11 @@
    @ApiModelProperty(value = "开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime startTime;
    @ApiModelProperty(value = "最后支付时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime payTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;
    @ApiModelProperty(value = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime endTime;
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityStatisticslVO.java
@@ -17,6 +17,8 @@
    @ApiModelProperty(value = "用户手机号")
    private String phone;
    @ApiModelProperty(value = "用户id")
    private Long appUserId;
    @ApiModelProperty(value = "参与类型 优惠券 会员抵扣 会员活动 赠送会员")
    private String type;
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/VipInfoDto.java
@@ -42,4 +42,5 @@
    @ApiModelProperty(value = "会员名称")
    private String name;
    private Integer type;
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
@@ -225,7 +225,9 @@
     */
    @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();
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
@@ -19,6 +19,7 @@
import com.ruoyi.common.core.dto.PointChangeDto;
import com.ruoyi.common.core.enums.status.AppUserStatusEnum;
import com.ruoyi.common.core.utils.JwtUtils;
import com.ruoyi.common.core.utils.OrderCodeUtil;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.common.core.web.domain.AjaxResult;
@@ -33,8 +34,10 @@
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.order.api.feignClient.ChargingOrderClient;
import com.ruoyi.order.api.feignClient.ExchangeOrderClient;
import com.ruoyi.order.api.feignClient.OrderClient;
import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.order.api.model.TExchangeOrder;
import com.ruoyi.order.api.model.TGrantVip;
import com.ruoyi.other.api.domain.*;
import com.ruoyi.other.api.domain.TCoupon;
import com.ruoyi.other.api.dto.UnitListQueryDto;
@@ -51,6 +54,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
@@ -76,6 +80,8 @@
    private TAppUserService appUserService;
    @Resource
    private TAppUserTagService appUserTagService;
    @Autowired
    private OrderClient orderClient;
    @Resource
    private TAppUserVipDetailService tAppUserVipDetailService;
@@ -332,6 +338,13 @@
            appUser.setLastDays( Duration.between(LocalDateTime.now(), appUser.getVipEndTime()).toDays());
            appUser.setUid(appUser.getId().toString());
            TAppUserCar one1 = appUserCarService.lambdaQuery().eq(TAppUserCar::getAppUserId, appUser.getId()).orderByDesc(BasePojo::getCreateTime).last("limit 1").one();
            if (one1!=null){
                CarNumDto carNumDto = CarUtil.carNum(one1.getLicensePlate());
                appUser.setPlace(carNumDto.getProvince()+carNumDto.getCity());
            }
        }
        return R.ok(page);
    }
@@ -719,9 +732,31 @@
        } else if (giveVipDto.getType() == 3) {
            plusDay = 12;
        }
            BigDecimal bigDecimal = new BigDecimal("0");
            TVip info = vipClient.getInfo1(giveVipDto.getVipId()).getData();
        switch (giveVipDto.getType()){
            case 1:
                bigDecimal = bigDecimal.add(info.getMonthlyCard());
                break;
            case 2:
                bigDecimal = bigDecimal.add(info.getSeasonCard());
                break;
            case 3:
                bigDecimal = bigDecimal.add(info.getAnnualCard());
                break;
        }
        //增加vipDetail
        giveVipUtil.sendVip(nowUser, giveVipDto.getVipId(),plusDay,giveVipDto.getType());
        appUserService.updateById(nowUser);
        // 新增后台赠送记录
            TGrantVip tGrantVip = new TGrantVip();
            tGrantVip.setCode(OrderCodeUtil.getOrderCode("ZS"));
            tGrantVip.setAppUserId(nowUser.getId());
            tGrantVip.setVipId(giveVipDto.getVipId());
            tGrantVip.setOrderAmount(bigDecimal);
            tGrantVip.setCreateTime(LocalDateTime.now());
            tGrantVip.setAppUserId(nowUser.getId());
            orderClient.managementGiveVip(tGrantVip);
        }
        return R.ok();
    }
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserVipDetailController.java
@@ -64,6 +64,7 @@
            if(null != tAppUserVipDetail.getVipId()){
                TVip data = vipClient.getInfo1(tAppUserVipDetail.getVipId()).getData();
                tAppUserVipDetail.setVipName(data.getName());
                tAppUserVipDetail.setType(data.getType());
            }
        }
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java
@@ -54,6 +54,7 @@
            if(Objects.isNull(appUser)){
                appUser = new TAppUser();
                appUser.setPhone(appletUserDecodeData.getPhoneNumber());
                appUser.setInviteUserId(inviteUserId);
            }
        }
        if(Objects.nonNull(appUser.getStatus())){
@@ -68,14 +69,15 @@
                    break;
            }
        }
        appUser.setInviteUserId(inviteUserId);
        appUser.setAvatar(appletUserDecodeData.getAvatarUrl());
        appUser.setCity(appletUserDecodeData.getCity());
        appUser.setName(appletUserDecodeData.getNickName());
        appUser.setProvince(appletUserDecodeData.getProvince());
        appUser.setWxOpenid(appletUserDecodeData.getOpenId());
        this.saveOrUpdate(appUser);
        if(Objects.nonNull(inviteUserId)){
        inviteUserService.saveInviteUser(appUser.getId(), inviteUserId);
        }
        return this.getUserInfo(appUser);
    }
@@ -95,6 +97,7 @@
            if(Objects.isNull(appUser)){
                appUser = new TAppUser();
                appUser.setPhone(phone);
                appUser.setInviteUserId(inviteUserId);
            }
        }
        if(Objects.nonNull(appUser.getStatus())){
@@ -109,10 +112,11 @@
                    break;
            }
        }
        appUser.setInviteUserId(inviteUserId);
        appUser.setAliOpenid(response.getOpenId());
        this.saveOrUpdate(appUser);
        if(Objects.nonNull(inviteUserId)){
        inviteUserService.saveInviteUser(appUser.getId(), inviteUserId);
        }
        return this.getUserInfo(appUser);
    }
//    @Override
ruoyi-service/ruoyi-chargingPile/src/main/resources/template/充电桩申请记录.xlsx
Binary files differ
ruoyi-service/ruoyi-chargingPile/src/main/resources/template/结算汇总.xlsx
Binary files differ
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
@@ -5,10 +5,15 @@
import cn.afterturn.easypoi.excel.entity.ExportParams;
import com.ruoyi.account.api.feignClient.AppUserCarClient;
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.account.api.model.TAppUser;
import com.ruoyi.account.api.model.TAppUserCar;
import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient;
import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient;
import com.ruoyi.chargingPile.api.feignClient.ParkingLotClient;
import com.ruoyi.chargingPile.api.feignClient.SiteClient;
import com.ruoyi.chargingPile.api.model.Partner;
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.chargingPile.api.model.TChargingGun;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.WebUtils;
@@ -46,9 +51,11 @@
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
@@ -80,17 +87,103 @@
        ChargingOrderListInfoVO res = chargingOrderService.chargingInfo(uid);
        return AjaxResult.success(res);
    }
    @Autowired
    private SiteClient siteClient;
    @Autowired
    private AppUserClient appUserClient;
    @Autowired
    private ChargingGunClient chargingGunClient;
    @Autowired
    private AppUserCarClient appUserCarClient;
    @ApiOperation(value = "充电时段统计-导出", tags = {"管理后台-财务结算"})
    @PutMapping("/export")
    public void export(@RequestBody ChargingListQuery dto) {
        ChargingOrderTimeVO res = chargingOrderService.chargingList(dto);
        List<TChargingOrderExport> tChargingOrderExports = new ArrayList<>();
        List<ChargingOrderListVO> exportList = res.getExportList();
        List<ChargingOrderListVO> exportList = res.getList().getRecords();
        int i = 0;
        for (ChargingOrderListVO chargingOrderListVO : exportList) {
            TChargingOrderExport tChargingOrderExport = new TChargingOrderExport();
            BeanUtils.copyProperties(chargingOrderListVO,tChargingOrderExport);
            tChargingOrderExports.add(tChargingOrderExport);
            List<Site> data = siteClient.getSiteByIds(Arrays.asList(chargingOrderListVO.getSiteId())).getData();
            TAppUser data3 = appUserClient.getUserById(chargingOrderListVO.getAppUserId()).getData();
            TChargingGun data4 = chargingGunClient.getChargingGunById(chargingOrderListVO.getChargingGunId()).getData();
            if (data!=null&&(!data.isEmpty())){
                tChargingOrderExport.setSiteCode(data.get(0).getCode());
                tChargingOrderExport.setSiteName(chargingOrderListVO.getSiteName());
                tChargingOrderExport.setCity(data.get(0).getCity());
                tChargingOrderExport.setCityName(data.get(0).getDistricts());
                tChargingOrderExport.setSiteType(data.get(0).getSiteType());
                tChargingOrderExport.setStatus(data.get(0).getStatus()+"");
                Partner data2 = siteClient.getPartnerR(data.get(0).getPartnerId()).getData();
                if (data2!=null){
                    tChargingOrderExport.setPartner(data2.getName());
                }
            }
            tChargingOrderExport.setSaleType("1");
            tChargingOrderExport.setBusinessCategory("1");
            tChargingOrderExport.setId(i);
            tChargingOrderExport.setCode(chargingOrderListVO.getCode());
            tChargingOrderExport.setTerminalName(chargingOrderListVO.getTerminalName());
//            tChargingOrderExport.setName();
            tChargingOrderExport.setOrderClassification("1");
            tChargingOrderExport.setStartType("扫码");
            tChargingOrderExport.setOne("小程序");
            tChargingOrderExport.setTwo("小程序");
            tChargingOrderExport.setCreateTime(chargingOrderListVO.getCreateTime()+"");
            tChargingOrderExport.setStartTime(chargingOrderListVO.getStartTime()+"");
            tChargingOrderExport.setEndTime(chargingOrderListVO.getEndTime()+"");
            tChargingOrderExport.setRechargePaymentStatus(chargingOrderListVO.getRechargePaymentStatus()+"");
            tChargingOrderExport.setType("充电订单");
            tChargingOrderExport.setChargingType("单桩双充");
            tChargingOrderExport.setEndmode(chargingOrderListVO.getEndMode()+"");
            tChargingOrderExport.setChargingEndAccount("平台");
            tChargingOrderExport.setIsFree("否");
            tChargingOrderExport.setElectrovalence(chargingOrderListVO.getElectrovalence()+"");
            tChargingOrderExport.setServiceCharge(chargingOrderListVO.getServiceCharge()+"");
            tChargingOrderExport.setTotal(chargingOrderListVO.getPaymentAmount()+"");
            tChargingOrderExport.setChargingCapacity(chargingOrderListVO.getElectricity()+"");
//            tChargingOrderExport.setElectrovalencePrice();
//            tChargingOrderExport.setServiceChargePrice();
//            tChargingOrderExport.setServiceChargePriceLook();
//            tChargingOrderExport.setCumulativeChargingTime();
            tChargingOrderExport.setStartSoc(chargingOrderListVO.getStartSoc());
            tChargingOrderExport.setEndtSoc(chargingOrderListVO.getEndSoc());
            tChargingOrderExport.setIsSoc("否");
            tChargingOrderExport.setIsSocType("");
            tChargingOrderExport.setIsSocNum("0");
            tChargingOrderExport.setUserType("普通个人用户");
//            tChargingOrderExport.setVipType();
            tChargingOrderExport.setIsPlus(chargingOrderListVO.getVipDiscountAmount().compareTo(BigDecimal.ZERO)>0?"是":"否");
            if (data3!=null){
                tChargingOrderExport.setRealName(data3.getName());
                tChargingOrderExport.setPhone(data3.getPhone());
                tChargingOrderExport.setNickName(data3.getName());
            }
            if (data4!=null){
                tChargingOrderExport.setDeviceCode(data4.getCode());
            }
            tChargingOrderExport.setAccountType("个人");
            List<TAppUserCar> data1 = appUserCarClient.getCarByIds(Arrays.asList(chargingOrderListVO.getAppUserCarId())).getData();
            if (data1!=null&&(!data1.isEmpty())){
                tChargingOrderExport.setCarNumber(data1.get(0).getLicensePlate());
                tChargingOrderExport.setCarType(data1.get(0).getVehicleModel());
                tChargingOrderExport.setCarBrand(data1.get(0).getVehicleBrand());
            }
            tChargingOrderExport.setOrderCode(chargingOrderListVO.getCode());
            tChargingOrderExport.setIsSingle("是");
            tChargingOrderExport.setPayTime(chargingOrderListVO.getPayTime()+"");
            tChargingOrderExport.setElectrovalenceSiteName("四川明星新能源科技有限公司");
            tChargingOrderExport.setCompanyNameAdmin("四川明星新能源科技有限公司");
            tChargingOrderExport.setMoneyType("线上计费");
            tChargingOrderExport.setDeviceType("设备直连(自由集控)");
            tChargingOrderExport.setSettlementCompanyName("四川明星新能源科技有限公司");
            tChargingOrderExport.setPrePaymentType("先付后退");
            tChargingOrderExport.setIsSecurity("是");
            tChargingOrderExports.add(tChargingOrderExport);
            i++;
        }
        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TChargingOrderExport.class, tChargingOrderExports);
        HttpServletResponse response = WebUtils.response();
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -92,7 +92,8 @@
    private TokenService tokenService;
    @Autowired
    private TOrderEvaluateService orderEvaluateService;
    @Autowired
    private TGrantVipService tGrantVipService;
    @Resource
    private WxPaymentClient wxPaymentClient;
    
@@ -133,6 +134,15 @@
    @Resource
    private TOrderInvoiceService invoiceService;
    /**
     * 远程调用 增加管理后台赠送会员记录
     * @return
     */
    @ResponseBody
    @PostMapping(value = "/management/give/vip")
    public R managementGiveVip(@RequestBody TGrantVip grantVip) {
        return R.ok(tGrantVipService.save(grantVip));
    }
    /**
     * 远程调用根据枪id 查询最新的订单id 用户后台结束充电
@@ -333,7 +343,7 @@
        chargingOrderInfoVO.setSurplus(byId.getTotalElectricity()!=null?byId.getTotalElectricity().setScale(2, BigDecimal.ROUND_HALF_DOWN)+"":"");
        chargingOrderInfoVO.setTotalPower(byId.getPower()!=null?byId.getPower().setScale(2, BigDecimal.ROUND_HALF_DOWN)+"":"");
        if (byId.getAppUserCarId()!=null){
            List<TAppUserCar> data = appUserCarClient.getCarByIds(Collections.singletonList(byId.getAppUserCarId())).getData();
            List<TAppUserCar> data = appUserCarClient.getCarByIds(Arrays.asList(byId.getAppUserCarId())).getData();
            if (!data.isEmpty()){
                chargingOrderInfoVO.setLicensePlate(data.get(0).getLicensePlate());
                chargingOrderInfoVO.setVehicleBrand(data.get(0).getVehicleBrand());
@@ -635,10 +645,36 @@
        }
        LocalDate sixBefore = PreviousSixMonths.get();
        //通过siteIds进行sql查询统计
        List<SixChargingDto> sixChargingDtos = generateLastSixMonths();
        List<SixChargingDto> chargingDtos = chargingOrderService.charge(sixBefore, siteIds);
        for (SixChargingDto sixChargingDto : sixChargingDtos) {
            for (SixChargingDto chargingDto : chargingDtos) {
                if (sixChargingDto.getMonth().equals(chargingDto.getMonth())){
                    BeanUtils.copyProperties(chargingDto,sixChargingDto);
                }
            }
        return R.ok(chargingDtos);
        }
        return R.ok(sixChargingDtos);
    }
    public static List<SixChargingDto> generateLastSixMonths() {
        LocalDate today = LocalDate.now();
        List<SixChargingDto> months = new ArrayList<>();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM");
        for (int i = 5; i >= 0; i--) {
            LocalDate date = today.minusMonths(i);
            String month = date.format(formatter);
            SixChargingDto sixChargingDto = new SixChargingDto();
            sixChargingDto.setMonth(month);
            months.add(sixChargingDto);
        }
        return months;
    }
    @ResponseBody
@@ -672,7 +708,33 @@
        //count近6个月的数据
        LocalDate sixBefore = PreviousSixMonths.get();
        List<SixShopDto> sixShopDtos =  shoppingOrderService.sixBefore(sixBefore,status);
        return R.ok(sixShopDtos);
        List<SixShopDto> sixChargingDtos = generateLastSixMonths1();
        for (SixShopDto sixChargingDto : sixChargingDtos) {
            for (SixShopDto chargingDto : sixShopDtos) {
                if (sixChargingDto.getMonth().equals(chargingDto.getMonth())){
                    BeanUtils.copyProperties(chargingDto,sixChargingDto);
                }
            }
        }
        return R.ok(sixChargingDtos);
    }
    public static List<SixShopDto> generateLastSixMonths1() {
        LocalDate today = LocalDate.now();
        List<SixShopDto> months = new ArrayList<>();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM");
        for (int i = 5; i >= 0; i--) {
            LocalDate date = today.minusMonths(i);
            String month = date.format(formatter);
            SixShopDto sixChargingDto = new SixShopDto();
            sixChargingDto.setMonth(month);
            months.add(sixChargingDto);
        }
        return months;
    }
    @ResponseBody
@@ -811,7 +873,6 @@
            LocalDate mondayThisWeek = today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
            start = statisticsQueryDto.getStartTime();
            end = statisticsQueryDto.getEndTime();
            System.out.println("本周一是: " + mondayThisWeek);
        }
        else if (statisticsQueryDto.getDayType()==3){
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java
@@ -26,6 +26,7 @@
    private Integer status;
    @ApiModelProperty("订单金额")
    private Double orderAmount;
    private Double rechargeAmount;
    @ApiModelProperty("支付金额")
    private Double paymentAmount;
    @ApiModelProperty("下单时间")
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/export/TChargingOrderExport.java
@@ -18,6 +18,7 @@
    private String siteCode;
    @Excel(name = "电站名称",width = 30)
    private String siteName;
    @Excel(name = "终端名称",width = 30)
    private String terminalName;
    @Excel(name = "所属城市",width = 30)
@@ -30,6 +31,8 @@
    private Integer siteType;
    @Excel(name = "售电模式",width = 30,replace = {"正常使用_1","维修中_2","关闭下线_3"})
    private String saleType;
    @Excel(name = "站点状态",width = 30,replace = {"正常使用_1","维修中_2","关闭下线_3"})
    private String status;
    @Excel(name = "运营类型",width = 30,replace = {"直营_1","非直营_2"})
    private String businessCategory;
    @Excel(name = "计费模板",width = 30)
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
@@ -23,6 +23,7 @@
import com.ruoyi.order.mapper.TChargingBillMapper;
import com.ruoyi.order.mapper.TChargingOrderMapper;
import com.ruoyi.order.service.TChargingBillService;
import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
import org.omg.CORBA.PRIVATE_MEMBER;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
@@ -318,8 +319,9 @@
            chargingBillVO.setBillWeek(billTime.minusMonths(1).format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM")));
            chargingBillListVO.setUid(chargingBillListVO.getId().toString());
            // 根据账单的出账时间 查询上个月的充电订单
            LocalDateTime localDate = chargingBillListVO.getBillTime().minusMonths(1);
//            LocalDateTime localDate = chargingBillListVO.getBillTime().minusMonths(1);
            // todo 临时修改为查询昨天的充电订单
            LocalDateTime localDate = chargingBillListVO.getBillTime().minusDays(1);
            // 账单周期
            chargingBillListVO.setBillWeek(localDate.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM")));
            // 获取 LocalDate 对象
@@ -359,7 +361,7 @@
                if (tChargingOrder.getElectrovalence()!=null){
                    electrovalenceTotal = electrovalenceTotal.add(tChargingOrder.getElectrovalence());
                }
                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getRefundStatus() == 2){
                if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getRefundStatus()!=null&&  tChargingOrder.getRefundStatus()==2){
                    refundAmount = refundAmount.add(tChargingOrder.getRefundAmount());
                }
                // 累加累计服务费
@@ -642,6 +644,9 @@
            chargingBillListVO.setChargingSecond(chargingSecond);
        }
        for (ChargingBillListVO chargingBillListVO : list1) {
            if (chargingBillListVO.getType() ==1){
                continue;
            }
            LocalDateTime billTime = chargingBillListVO.getBillTime();
            // 将其转化为yyyy-MM格式字符串
            chargingBillVO.setCreateTime(billTime.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1158,6 +1158,16 @@
    public R<PageInfo<PayOrderDto>> payOrderQuery(PayOrderQueryDto payOrderQueryDto) {
        PageInfo<PayOrderDto> pageInfo = new PageInfo<>(payOrderQueryDto.getPageCurr(),payOrderQueryDto.getPageSize());
        List<PayOrderDto> list = this.baseMapper.payOrderQuery(pageInfo,payOrderQueryDto);
        for (PayOrderDto payOrderDto : list) {
            if (payOrderDto.getType()==2||payOrderDto.getType()==3){
                payOrderDto.setFinalAmount(payOrderDto.getOrderAmount());
            }
            if (payOrderDto.getType()==1&&payOrderDto.getStatus()==3){
                payOrderDto.setFinalAmount(payOrderDto.getRechargeAmount());
                payOrderDto.setOrderAmount(payOrderDto.getRechargeAmount());
                payOrderDto.setPaymentAmount(payOrderDto.getRechargeAmount());
            }
        }
        pageInfo.setRecords(list);
        return R.ok(pageInfo);
    }
@@ -1311,7 +1321,9 @@
                        carId.add(chargingOrderListVO.getAppUserCarId());
                        if (!carId.isEmpty()){
                            List<TAppUserCar> data4 = appUserCarClient.getCarByIds(carId).getData();
                            if (data4!=null && !data4.isEmpty()) chargingOrderListVO.setLicensePlate(data4.get(0).getLicensePlate());
                            if (data4!=null && !data4.isEmpty()) {
                                chargingOrderListVO.setLicensePlate(data4.get(0).getLicensePlate());
                            }
                        }
                    }
                    chargingOrderListVO.setPhone(data3.getPhone());
@@ -1969,7 +1981,7 @@
    }
    @Override
    public List<Map<String, Object>> usersByQuery1(ChargingStatisticsQueryDto statisticsQueryDto) {
        return this.baseMapper.usersByQuery(statisticsQueryDto);
        return this.baseMapper.usersByQuery1(statisticsQueryDto);
    }
    @Override
@@ -2033,7 +2045,7 @@
                chargingOrderRefund.setRefundTitle("后台退款");
                chargingOrderRefund.setRefundContent("后台退款");
                chargingOrderRefund.setRefundReason("后台退款");
                chargingOrderRefund.setRefundRemark("后台退款");
                chargingOrderRefund.setRefundRemark(payOrderQueryDto.getRemark());
                chargingOrderRefund.setRefundTotalAmount(tChargingOrder.getRefundAmount().add(payOrderQueryDto.getRefundAmount()));
                chargingOrderRefund.setPayAmount(tChargingOrder.getPaymentAmount());
@@ -2094,7 +2106,7 @@
                chargingOrderRefund.setRefundTitle("后台退款");
                chargingOrderRefund.setRefundContent("后台退款");
                chargingOrderRefund.setRefundReason("后台退款");
                chargingOrderRefund.setRefundRemark("后台退款");
                chargingOrderRefund.setRefundRemark(payOrderQueryDto.getRemark());
                chargingOrderRefund.setRefundTotalAmount(tChargingOrder.getRefundAmount().add(payOrderQueryDto.getRefundAmount()));
                chargingOrderRefund.setPayAmount(tChargingOrder.getPaymentAmount());
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
@@ -117,6 +117,10 @@
        BigDecimal grantVip = new BigDecimal("0");
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        for (TActivityStatisticslVO tActivityStatisticslVO : list1) {
            TAppUser data = appUserClient.getUserById(tActivityStatisticslVO.getAppUserId()).getData();
            if (data!=null){
                tActivityStatisticslVO.setPhone(data.getPhone());
            }
            // 判断享有了哪些类型
            switch (tActivityStatisticslVO.getOrderType()){
                case 1:
@@ -187,6 +191,7 @@
            }
        }
        for (TActivityStatisticslVO tActivityStatisticslVO : list) {
            // 判断享有了哪些类型
            switch (tActivityStatisticslVO.getOrderType()){
                case 1:
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
@@ -121,6 +121,7 @@
        title,
        `status`,
        order_amount,
        recharge_amount,
        payment_amount ,
        create_time,
        end_time,
@@ -381,7 +382,7 @@
            type,
            SUM( charging_capacity ) as charging_capacity ,
            SUM( period_service_price ) as period_electric_price,
            SUM(period_electric_price+period_service_price) as total_amount
            SUM(period_electric_price) as total_amount
        FROM
            t_charging_order_accounting_strategy
        <where>
@@ -398,9 +399,9 @@
    <select id="getDateData" resultType="java.util.Map">
        SELECT
            DATE_FORMAT( create_time, '%Y-%m-%d %H' ) as time,
    SUM(service_charge) as servicecharge,
    SUM(electrovalence) as electrovalence,
    SUM(payment_amount) AS paymentAmount,
        CAST(SUM(service_charge-coupon_discount_amount) AS DECIMAL(20, 6)) as  servicecharge,
        CAST(SUM(charging_capacity) AS DECIMAL(20, 6)) as electrovalence,
        CAST(SUM(electrovalence) AS DECIMAL(20, 4)) AS paymentAmount,
    count(1) as orderCount
        FROM
            t_charging_order
@@ -422,9 +423,9 @@
    <select id="getWeekData" resultType="java.util.Map">
        SELECT
        DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
        SUM(service_charge) as servicecharge,
        SUM(electrovalence) as electrovalence,
        SUM(payment_amount) AS paymentAmount,
        SUM(service_charge-coupon_discount_amount) as servicecharge,
        SUM(charging_capacity) as electrovalence,
        SUM(electrovalence) AS paymentAmount,
        count(1) as orderCount
        FROM
        t_charging_order
@@ -446,9 +447,9 @@
    <select id="getMonthData" resultType="java.util.Map">
        SELECT
        DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
        SUM(service_charge) as servicecharge,
        SUM(electrovalence) as electrovalence,
        SUM(payment_amount) AS paymentAmount,
        SUM(service_charge-coupon_discount_amount) as servicecharge,
        SUM(charging_capacity) as electrovalence,
        SUM(electrovalence) AS paymentAmount,
        count(1) as orderCount
        FROM
        t_charging_order
@@ -470,9 +471,9 @@
    <select id="getYearData" resultType="java.util.Map">
        SELECT
        DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
        SUM(service_charge) as servicecharge,
        SUM(electrovalence) as electrovalence,
        SUM(payment_amount) AS paymentAmount,
        SUM(service_charge-coupon_discount_amount) as servicecharge,
        SUM(charging_capacity) as electrovalence,
        SUM(electrovalence) AS paymentAmount,
        count(1) as orderCount
        FROM
@@ -496,8 +497,8 @@
    <select id="getByDate" resultType="java.util.Map">
        SELECT
        DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
        SUM(service_charge) as servicecharge,
        SUM(electrovalence) as electrovalence,
        SUM(service_charge-coupon_discount_amount) as servicecharge,
        SUM(charging_capacity) as electrovalence,
        count(1) as orderCount
        FROM
        t_charging_order
@@ -564,11 +565,11 @@
    </select>
    <select id="queryPowerLevel" resultType="java.util.Map">
        SELECT
            count(CASE WHEN power BETWEEN 0 AND 30 THEN 1 ELSE 0 END) AS count_0_30,
            count(CASE WHEN power BETWEEN 31 AND 60 THEN 1 ELSE 0 END) AS count_31_60,
            count(CASE WHEN power BETWEEN 61 AND 120 THEN 1 ELSE 0 END) AS count_61_120,
            count(CASE WHEN power BETWEEN 121 AND 300 THEN 1 ELSE 0 END) AS count_121_300,
            count(CASE WHEN power > 300 THEN 1 ELSE 0 END) AS count_above_300
        SUM(CASE WHEN power BETWEEN 0 AND 30 THEN 1 ELSE 0 END) AS count_0_30,
        SUM(CASE WHEN power BETWEEN 31 AND 60 THEN 1 ELSE 0 END) AS count_31_60,
        SUM(CASE WHEN power BETWEEN 61 AND 120 THEN 1 ELSE 0 END) AS count_61_120,
        SUM(CASE WHEN power BETWEEN 121 AND 300 THEN 1 ELSE 0 END) AS count_121_300,
        SUM(CASE WHEN power > 300 THEN 1 ELSE 0 END) AS count_above_300
        FROM
            t_charging_order
        WHERE
@@ -580,25 +581,25 @@
                #{siteId}
            </foreach>
        </if>
        <if test="statisticsQueryDto.dayType =1">
        <if test="statisticsQueryDto.dayType ==1">
            AND DATE(create_time) = CURDATE()
        </if>
        <if test="statisticsQueryDto.dayType =2">
        <if test="statisticsQueryDto.dayType ==2">
            AND WEEKOFYEAR(create_time) = WEEKOFYEAR(CURDATE())
        </if>
        <if test="statisticsQueryDto.dayType =3">
        <if test="statisticsQueryDto.dayType ==3">
            AND MONTH(create_time) = MONTH(CURDATE())
        </if>
        <if test="statisticsQueryDto.dayType =4">
        <if test="statisticsQueryDto.dayType ==4">
           AND YEAR(create_time) = YEAR(CURDATE())
        </if>
        <if test="statisticsQueryDto.dayType =5">
        <if test="statisticsQueryDto.startTime != null">
        <if test="statisticsQueryDto.dayType ==5">
            AND create_time >= #{statisticsQueryDto.startTime}
        </if>
        <if test="statisticsQueryDto.endTime != null">
            AND create_time &lt;= #{statisticsQueryDto.endTime}
        </if>
        </if>
    </select>
@@ -606,7 +607,7 @@
        SELECT
            DATE_FORMAT( create_time, '%Y-%m-%d %H' ) AS time,
            DATE_FORMAT( create_time, '%H:00' ) AS time,
    count(1) AS counts
        FROM
            charging_pile_account.t_app_user
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml
@@ -49,6 +49,7 @@
        t9.vip_discount_amount as vipDiscountAmount,
        t9.payment_amount as paymentAmount,
        t9.create_time as createTime,
        t9.app_user_id as appUserId,
        1 as orderType
        from t_charging_order t9
        where t9.id = 0 limit 1
@@ -60,6 +61,7 @@
               t1.vip_discount_amount as vipDiscountAmount,
               t1.payment_amount as paymentAmount,
               t1.create_time as createTime,
            t1.app_user_id as appUserId,
               1 as orderType
            from t_charging_order t1
            where 1 = 1
@@ -67,10 +69,13 @@
                and t1.code  LIKE CONCAT('%',#{req.code},'%')
            </if>
            <if test="req.type != null and req.type != '' and req.type == 1">
                and t1.coupon_discount_amount  IS NOT NULL and t1.coupon_discount_amount  != 0
                and t1.coupon_discount_amount > 0
            </if>
            <if test="req.type != null and req.type != '' and req.type == 2">
                and t1.vip_discount_amount  IS NOT NULL and t1.vip_discount_amount  != 0
                and t1.vip_discount_amount > 0
            </if>
            <if test="req.type == null ">
                and (t1.vip_discount_amount > 0 or t1.coupon_discount_amount > 0)
            </if>
            <if test="null != req.userIds and req.userIds.size()>0" >
                and t1.app_user_id in
@@ -95,11 +100,12 @@
        <if test="req.orderType == null or req.orderType == 2">
        <if test="req.type == null or req.type == 1 or req.type == 2">
            union all
            select t2.code ,t2.order_amount as orderAmount,
            select t2.code ,t2.order_amount as paymentAmount,
            t2.coupon_discount_amount as couponDiscountAmount,
            t2.vip_discount_amount as vipDiscountAmount,
            t2.payment_amount as paymentAmount,
            t2.payment_amount as orderAmount,
            t2.create_time as createTime,
            t2.app_user_id as appUserId,
            2 as orderType
            from t_shopping_order t2
            where 1 = 1
@@ -136,6 +142,7 @@
                t3.discount_amount as vipDiscountAmount,
                t3.payment_amount as paymentAmount,
                t3.create_time as createTime,
                t3.app_user_id as appUserId,
                3 as orderType
                from t_vip_order t3
                where 1 = 1
@@ -144,7 +151,7 @@
                    and t3.code  LIKE CONCAT('%',#{req.code},'%')
                </if>
                <if test="req.type == null ">
                    and t3.discount_amount  IS NOT NULL and t3.discount_amount  != 0
                    and t3.discount_amount  > 0
                </if>
                <if test="null != req.userIds and req.userIds.size()>0" >
                    and t3.app_user_id in
@@ -167,6 +174,7 @@
                t4.discount_amount as vipDiscountAmount,
                t4.payment_amount as paymentAmount,
                t4.create_time as createTime,
                t4.app_user_id as appUserId,
                4 as orderType
                from t_vip_order t4
                where 1 = 1
@@ -175,7 +183,7 @@
                    and t4.code  LIKE CONCAT('%',#{req.code},'%')
                </if>
                <if test="req.type == null ">
                    and t4.discount_amount  IS NOT NULL and t4.discount_amount  != 0
                    and t4.discount_amount  > 0
                </if>
                <if test="null != req.userIds and req.userIds.size()>0" >
                    and t4.app_user_id in
@@ -198,6 +206,7 @@
                0 as vipDiscountAmount,
                0 as paymentAmount,
                t5.create_time as createTime,
                t5.app_user_id as appUserId,
                4 as orderType
                from t_grant_vip t5
                where 1 = 1
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java
@@ -2,11 +2,15 @@
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.account.api.dto.SendCouponDto;
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.account.api.feignClient.AppUserVipDetailClient;
import com.ruoyi.account.api.model.TAppUser;
import com.ruoyi.account.api.model.TAppUserVipDetail;
import com.ruoyi.account.api.vo.GetAppUserVipDetail;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.BasePage;
@@ -222,6 +226,9 @@
    @Resource
    private AppUserClient appUserClient;
    @Resource
    private AppUserVipDetailClient vipDetailClient;
    @ApiOperation(value = "当前生效会员信息", tags = {"小程序-个人中心"})
    @GetMapping("/recent/vipInfo")
    public R<List<VipInfoDto>> recentVipInfo() {
@@ -230,7 +237,17 @@
       if (data.getVipEndTime()!=null&&data.getVipEndTime().isAfter(LocalDateTime.now())) {
           List<VipInfoDto> vipInfoDtos = new ArrayList<>();
           List<TVip> vips = vipService.lambdaQuery().eq(TVip::getId, data.getVipId()).list();
//           List<TVip> vips = vipService.lambdaQuery().eq(TVip::getId, data.getVipId()).list();
           List<TVip> vips = new ArrayList<>();
           GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail();
           getAppUserVipDetail.setAppUserId(userId);
           getAppUserVipDetail.setVipId(data.getVipId());
           R<TAppUserVipDetail> appUserVipDetail = vipDetailClient.getAppUserVipDetail(getAppUserVipDetail);
           TAppUserVipDetail data1 = appUserVipDetail.getData();
           String vipJson = data1.getVipJson();
           TVip tVip = JSON.parseObject(vipJson, TVip.class);
           vips.add(tVip);
           LocalDateTime now = LocalDateTime.now();
           for (TVip vip : vips) {
               VipInfoDto vipInfoDto = new VipInfoDto();
@@ -255,6 +272,7 @@
               vipInfoDto.setMallExclusivePrice(vip.getMallExclusivePrice());
               vipInfoDto.setName(vip.getName());
               vipInfoDto.setId(vip.getId());
               if (vip.getCoupon()!=null) {
               List<SendCouponDto> javaList = JSON.parseArray(vip.getCoupon()).toJavaList(SendCouponDto.class);
               List<VipCouponDto> vipCouponDtos = new ArrayList<>();
               if (!javaList.isEmpty()) {
@@ -280,9 +298,14 @@
                       total.add(tCoupon.getDiscountAmount());
                   }
               }
               vipInfoDto.setTotalDiscount(total);
               vipInfoDto.setTimeAmount(vip.getMaximumDeduction().multiply(BigDecimal.valueOf(vip.getDiscountTimes())));
               }
               vipInfoDto.setType(vip.getType());
               vipInfoDtos.add(vipInfoDto);
           }
           return R.ok(vipInfoDtos);
ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml
@@ -23,7 +23,7 @@
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 192.168.110.169:8848
        server-addr: 127.0.0.1:8848
        service: ${spring.application.name}
        group: DEFAULT_GROUP
        namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
@@ -31,7 +31,7 @@
        password: nacos
      config:
        # 配置中心地址
        server-addr: 192.168.110.169:8848
        server-addr: 127.0.0.1:8848
        namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
        group: DEFAULT_GROUP
        name: ${spring.application.name}
@@ -56,7 +56,7 @@
    type: nacos
    nacos:
      # 开发环境
      server-addr: 192.168.110.169:8848
      server-addr: 127.0.0.1:8848
      namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
      group: DEFAULT_GROUP
      data-id: seata-server.properties
@@ -74,7 +74,7 @@
    nacos:
      application: seata-server
      # 开发环境
      server-addr: 192.168.110.169:8848
      server-addr: 127.0.0.1:8848
      namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
      group: DEFAULT_GROUP
      username: nacos
@@ -89,7 +89,7 @@
    nacos:
      discovery:
        # 开发环境
        server-addr: 192.168.110.169:8848 # nacos注册中心地址
        server-addr: 127.0.0.1:8848 # nacos注册中心地址
        namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间
        group: DEFAULT_GROUP
        application: seata-server #Nacos 中 Seata 名称