From 043ae9ebbfc50fb87bfadd54fc17c7012c90e564 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 07 九月 2024 10:01:36 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 170 +++++++++++++
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/SiteFallbackFactory.java | 7
ruoyi-service/ruoyi-chargingPile/src/main/resources/template/运营商名称1-充电桩名称1-结算对账单明细-结算月份1.xlsx | 0
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TSettlementConfirmMapper.java | 31 ++
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TSettlementConfirmServiceImpl.java | 34 ++
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/SettlementListQuery.java | 25 ++
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java | 7
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java | 8
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TSettlementConfirm.java | 182 +++++++++++++++
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/config/IotDAConfig.java | 6
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java | 13
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TSettlementConfirmService.java | 24 ++
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TSettlementConfirmMapper.xml | 32 ++
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java | 57 ++++
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java | 13
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java | 72 ++---
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/token/IotTokenUtil.java | 2
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/dto/SettlementConfirmAdd.java | 26 ++
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/SiteClient.java | 8
19 files changed, 655 insertions(+), 62 deletions(-)
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/SiteFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/SiteFallbackFactory.java
index b4cdc47..2b00996 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/SiteFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/SiteFallbackFactory.java
@@ -2,6 +2,7 @@
import com.ruoyi.chargingPile.api.dto.GetSiteListDTO;
import com.ruoyi.chargingPile.api.feignClient.SiteClient;
+import com.ruoyi.chargingPile.api.model.Partner;
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.common.core.domain.R;
import org.slf4j.Logger;
@@ -40,6 +41,12 @@
public R<List<GetSiteListDTO>> getSiteListByUserId(Long userId) {
return null;
}
+
+ @Override
+ public R<Partner> getPartnerR(Integer id) {
+ return R.fail("根据合作商id获取合作商详情失败:" + throwable.getMessage());
+
+ }
};
}
}
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/SiteClient.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/SiteClient.java
index a56392f..a1aea08 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/SiteClient.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/SiteClient.java
@@ -2,14 +2,12 @@
import com.ruoyi.chargingPile.api.dto.GetSiteListDTO;
import com.ruoyi.chargingPile.api.factory.SiteFallbackFactory;
+import com.ruoyi.chargingPile.api.model.Partner;
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -37,4 +35,6 @@
@GetMapping("/site/getSiteList/byUserId")
R<List<GetSiteListDTO>> getSiteListByUserId(@RequestParam("userId") Long userId);
+ @GetMapping("/getPartnerR/{id}")
+ R<Partner> getPartnerR(@PathVariable("id") Integer id);
}
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/dto/SettlementConfirmAdd.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/dto/SettlementConfirmAdd.java
new file mode 100644
index 0000000..fe67ee4
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/dto/SettlementConfirmAdd.java
@@ -0,0 +1,26 @@
+package com.ruoyi.order.api.dto;
+
+import com.ruoyi.common.core.web.page.BasePage;
+import com.ruoyi.order.api.model.TSettlementConfirm;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel(value = "SettlementConfirmAdd生成结算确认表对象",description = "管理后台-财务结算生成结算确认表对象")
+public class SettlementConfirmAdd {
+ @ApiModelProperty(value = "站点id")
+ private Integer siteId;
+ @ApiModelProperty(value = "费用归属日期类型 1开始 2结束")
+ private Integer type;
+ @ApiModelProperty(value = "开始时间2020-01-01 00:00:00")
+ private String startTime;
+ @ApiModelProperty(value = "结束时间2020-01-01 23:59:59")
+ private String endTime;
+ @ApiModelProperty(value = "点击去生成 传1 填完表格数据点击保存 传2")
+ private Integer state;
+ @ApiModelProperty(value = "保存的数据")
+ private TSettlementConfirm data;
+}
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
index cb89711..f43eb6e 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
@@ -6,6 +6,7 @@
import com.ruoyi.order.api.feignClient.ChargingOrderClient;
import com.ruoyi.order.api.model.ChargingListQuery;
import com.ruoyi.order.api.model.TChargingOrder;
+import com.ruoyi.order.api.model.TSettlementConfirm;
import com.ruoyi.order.api.query.TChargingCountQuery;
import com.ruoyi.order.api.query.UploadRealTimeMonitoringDataQuery;
import com.ruoyi.order.api.vo.ChargingBillVO;
@@ -91,11 +92,16 @@
public void excelEndCharge(String code) {
}
-
+
@Override
public R<TChargingOrder> getChargingOrderByLicensePlate(GetChargingOrderByLicensePlate query) {
return R.fail("根据车牌号和时间查询有效的充电数据失败:" + throwable.getMessage());
}
+
+ @Override
+ public R<TSettlementConfirm> downloadSettlement(String uid) {
+ return R.fail("通过id查询结算确认失败:" + throwable.getMessage());
+ }
};
}
}
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
index 366a8c3..5979a05 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
@@ -7,6 +7,7 @@
import com.ruoyi.order.api.factory.ChargingOrderFallbackFactory;
import com.ruoyi.order.api.model.ChargingListQuery;
import com.ruoyi.order.api.model.TChargingOrder;
+import com.ruoyi.order.api.model.TSettlementConfirm;
import com.ruoyi.order.api.query.TChargingCountQuery;
import com.ruoyi.order.api.query.UploadRealTimeMonitoringDataQuery;
import com.ruoyi.order.api.vo.ChargingBillVO;
@@ -96,8 +97,8 @@
*/
@PostMapping("/t-charging-order/excelEndCharge")
void excelEndCharge(@RequestParam("code") String code);
-
-
+
+
/**
* 根据车牌号和时间查询有效的充电数据
* @param query
@@ -105,4 +106,12 @@
*/
@PostMapping("/t-charging-order/getChargingOrderByLicensePlate")
R<TChargingOrder> getChargingOrderByLicensePlate(@RequestBody GetChargingOrderByLicensePlate query);
+
+ /**
+ * 获取充电结算记录
+ * @param uid
+ * @return
+ */
+ @GetMapping(value = "/financial/settlement/downloadSettlement/{uid}")
+ public R<TSettlementConfirm> downloadSettlement(@PathVariable("uid") String uid);
}
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TSettlementConfirm.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TSettlementConfirm.java
new file mode 100644
index 0000000..5416fdb
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TSettlementConfirm.java
@@ -0,0 +1,182 @@
+package com.ruoyi.order.api.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.web.domain.BasePojo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2024-08-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("t_settlement confirm")
+@ApiModel(value="TSettlementConfirm对象", description="")
+public class TSettlementConfirm extends BasePojo {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "主键")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @ApiModelProperty(value = "站点id")
+ @TableField("site_id")
+ private Integer siteId;
+ @ApiModelProperty(value = "合作商id")
+ @TableField("partner_id")
+ private Integer partnerId;
+ @ApiModelProperty(value = "结算电费备注")
+ @TableField("remark")
+ private String remark;
+ @ApiModelProperty(value = "结算服务费备注")
+ @TableField("service_remark")
+ private String serviceRemark;
+
+ @ApiModelProperty(value = "计量电量(电量合计)")
+ @TableField("metering_electronic")
+ private BigDecimal meteringElectronic;
+ @ApiModelProperty(value = "充电电量")
+ @TableField("charging_electronic")
+ private BigDecimal chargingElectronic;
+ @ApiModelProperty(value = "电损电量")
+ @TableField("loss_electronic")
+ private BigDecimal lossElectronic;
+ @ApiModelProperty(value = "收入合计")
+ @TableField("income")
+ private BigDecimal income;
+ @ApiModelProperty(value = "场地费")
+ @TableField("venue")
+ private BigDecimal venue;
+ @ApiModelProperty(value = "计量电费")
+ @TableField("metering")
+ private BigDecimal metering;
+ @ApiModelProperty(value = "清洁费")
+ @TableField("clean")
+ private BigDecimal clean;
+ @ApiModelProperty(value = "日常维护费")
+ @TableField("maintain")
+ private BigDecimal maintain;
+ @ApiModelProperty(value = "成本(可分配合计)")
+ @TableField("cost")
+ private BigDecimal cost;
+ @ApiModelProperty(value = "利润")
+ @TableField("profit_money")
+ private BigDecimal profitMoney;
+ @ApiModelProperty(value = "新能源利润")
+ @TableField("new_money")
+ private BigDecimal newMoney;
+ @ApiModelProperty(value = "新能源结算金额")
+ @TableField("new_Settlement")
+ private BigDecimal newSettlement;
+
+ @ApiModelProperty(value = "供电局结算电费")
+ @TableField("supply_electronic")
+ private BigDecimal supplyElectronic;
+ @ApiModelProperty(value = "合作商承担电损占比")
+ @TableField("proportion_partner")
+ private BigDecimal proportionPartner;
+ @ApiModelProperty(value = "承担金额")
+ @TableField("proportion_money")
+ private BigDecimal proportionMoney;
+ @ApiModelProperty(value = "本期结算电费总金额 (实际电费转账)")
+ @TableField("total_electronic")
+ private BigDecimal totalElectronic;
+ @ApiModelProperty(value = "本期结算服务费总金额(实际服务费转账)")
+ @TableField("total_service")
+ private BigDecimal totalService;
+ @ApiModelProperty(value = "合作商充电服务费根据合同约定分成比例")
+ @TableField("service_partner")
+ private BigDecimal servicePartner;
+ @ApiModelProperty(value = "合作商充电服务费根据合同约定分成金额")
+ @TableField("service_money")
+ private BigDecimal serviceMoney;
+
+ @ApiModelProperty(value = "三方收费(合计三方平台收费)")
+ @TableField("sharing_amount")
+ private BigDecimal sharingAmount;
+ @ApiModelProperty(value = " 交易手续费 三方收费*0.06%")
+ @TableField("commission_amount")
+ private BigDecimal commissionAmount;
+ @ApiModelProperty(value = "充电电费计费(平台合计电费)")
+ @TableField("electrovalence")
+ private BigDecimal electrovalence;
+ @ApiModelProperty(value = "充电服务费计费(实收服务费)")
+ @TableField("service_charge")
+ private BigDecimal serviceCharge;
+ @ApiModelProperty(value = "交易手续费计费")
+ @TableField("order_commission")
+ private BigDecimal orderCommission;
+ @ApiModelProperty(value = "会员抵扣")
+ @TableField("vip_discount")
+ private BigDecimal vipDiscount;
+ @ApiModelProperty(value = "优惠券抵扣")
+ @TableField("coupon_discount")
+ private BigDecimal couponDiscount;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @ApiModelProperty(value = "类型(1=开始,2=结束)")
+ @TableField("type")
+ private Integer type;
+ @ApiModelProperty(value = "开始时间")
+ @TableField("start_time")
+ private LocalDateTime startTime;
+ @ApiModelProperty(value = "结束时间")
+ @TableField("end_time")
+ private LocalDateTime endTime;
+ @ApiModelProperty(value = "站点名称")
+ @TableField(exist = false)
+ private String siteName;
+ @ApiModelProperty(value = "合作商名称")
+ @TableField(exist = false)
+ private String partnerName;
+
+ @ApiModelProperty(value = "uid")
+ @TableField(exist = false)
+ private String uid;
+ @ApiModelProperty(value = "合计可分配金额")
+ @TableField(exist = false)
+ private BigDecimal distribution;
+ @ApiModelProperty(value = "结账日期 2024年09月06日17:10:06至2024年09月06日17:10:06")
+ @TableField(exist = false)
+ private String time;
+
+}
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/SettlementListQuery.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/SettlementListQuery.java
new file mode 100644
index 0000000..7117147
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/SettlementListQuery.java
@@ -0,0 +1,25 @@
+package com.ruoyi.order.api.query;
+
+import com.ruoyi.common.core.web.page.BasePage;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel(value = "SettlementListQuery结算表记录列表查询对象",description = "管理后台-财务结算-结算表记录列表查询对")
+public class SettlementListQuery extends BasePage {
+
+ @ApiModelProperty(value = "类型(1=开始,2=结束)")
+ private Integer type;
+ @ApiModelProperty(value = "站点ids 选择全部 不传")
+ private List<Integer> siteIds;
+ @ApiModelProperty(value = "合作商id ")
+ private Integer partnerId;
+ @ApiModelProperty(value = "开始时间2020-01-01 00:00:00")
+ private String startTime;
+ @ApiModelProperty(value = "结束时间2021-01-01 23:59:59")
+ private String endTime;
+
+}
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java
index 3c71cd9..7f3c920 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java
@@ -9,6 +9,7 @@
import com.ruoyi.chargingPile.api.query.SetPermissionConfiguration;
import com.ruoyi.chargingPile.dto.ResetPassword;
import com.ruoyi.chargingPile.service.IPartnerService;
+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.common.security.utils.SecurityUtils;
@@ -68,6 +69,12 @@
Partner partner = partnerService.getPartner(id);
return AjaxResult.success(partner);
}
+ @ResponseBody
+ @GetMapping("/getPartnerR/{id}")
+ public R<Partner> getPartnerR(@PathVariable("id") Integer id){
+ Partner partner = partnerService.getPartner(id);
+ return R.ok(partner);
+ }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java
index ca22e94..e5d620f 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java
@@ -1,7 +1,12 @@
package com.ruoyi.chargingPile.controller;
import java.math.BigDecimal;
+
+import com.ruoyi.chargingPile.api.feignClient.SiteClient;
+import com.ruoyi.chargingPile.api.model.Partner;
+import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.order.api.model.TChargingOrder;
+import com.ruoyi.order.api.model.TSettlementConfirm;
import com.ruoyi.order.api.vo.ChargingBillListVO;
@@ -50,6 +55,7 @@
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.regex.Pattern;
@@ -70,6 +76,8 @@
private final RedisService redisService;
@Resource
private ChargingOrderClient chargingOrderClient;
+ @Resource
+ private SiteClient siteClient;
@Autowired
public TApplyChargingPileController(TApplyChargingPileService applyChargingPileService, TokenService tokenService, RedisService redisService) {
@@ -272,6 +280,55 @@
}
return R.ok();
}
+ @ApiOperation(value = "下载", tags = {"管理后台-结算表记录"})
+ @GetMapping("/downloadSettlement")
+ public R downloadSettlement(String uid,HttpServletResponse response)
+ {
+ TSettlementConfirm data = chargingOrderClient.downloadSettlement(uid).getData();
+ List<Site> data1 = siteClient.getSiteByIds(Arrays.asList(data.getSiteId())).getData();
+ if (!data1.isEmpty()){
+ data.setSiteName(data1.get(0).getName());
+ }
+ Partner data2 = siteClient.getPartnerR(data.getPartnerId()).getData();
+ if (data2!=null){
+ data.setPartnerName(data2.getName());
+ }
+ List<TSettlementConfirm> chargingBillVOS = new ArrayList<>();
+ chargingBillVOS.add(data);
+ try {
+ response.setCharacterEncoding(Constants.UTF8);
+ response.setContentType("application/vnd.ms-excel");
+ response.setHeader("Access-Control-Expose-Headers", "Content-disposition");
+ response.setHeader("Content-Disposition", "attachment;filename=" +
+ URLEncoder.encode("结算确认单", CharEncoding.UTF_8) + ".xlsx");
+ } catch (UnsupportedEncodingException e) {
+ return R.fail("excel导出失败!");
+ }
+ try {
+ // excel模板封装
+ ExcelWriterBuilder excelWriterBuilder = EasyExcelFactory.write(response.getOutputStream());
+ InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream("template/" +"运营商名称1-充电桩名称1-结算对账单明细-结算月份1" + ".xlsx");
+ // 自动释放资源
+ try (ExcelWriter excelWriter = excelWriterBuilder.withTemplate(stream).build()) {
+ WriteSheet writeSheet = EasyExcel.writerSheet().build();
+ FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.HORIZONTAL).build();
+ excelWriter.fill(new FillWrapper("data1", chargingBillVOS), fillConfig, writeSheet);
+ excelWriter.fill(new FillWrapper("data2", chargingBillVOS), fillConfig, writeSheet);
+ excelWriter.finish();
+ } catch (Exception e) {
+ return R.fail("excel导出失败!");
+ }
+ } catch (IOException e) {
+ return R.fail("excel导出失败!");
+ }
+ return R.ok();
+ }
+
+
+
+
+
+
@ApiOperation(value = "下载-未出账", tags = {"管理后台-充电算账单"})
@GetMapping("/download")
public R download(String uid,HttpServletResponse response)
diff --git "a/ruoyi-service/ruoyi-chargingPile/src/main/resources/template/\350\277\220\350\220\245\345\225\206\345\220\215\347\247\2601-\345\205\205\347\224\265\346\241\251\345\220\215\347\247\2601-\347\273\223\347\256\227\345\257\271\350\264\246\345\215\225\346\230\216\347\273\206-\347\273\223\347\256\227\346\234\210\344\273\2751.xlsx" "b/ruoyi-service/ruoyi-chargingPile/src/main/resources/template/\350\277\220\350\220\245\345\225\206\345\220\215\347\247\2601-\345\205\205\347\224\265\346\241\251\345\220\215\347\247\2601-\347\273\223\347\256\227\345\257\271\350\264\246\345\215\225\346\230\216\347\273\206-\347\273\223\347\256\227\346\234\210\344\273\2751.xlsx"
new file mode 100644
index 0000000..7669c3a
--- /dev/null
+++ "b/ruoyi-service/ruoyi-chargingPile/src/main/resources/template/\350\277\220\350\220\245\345\225\206\345\220\215\347\247\2601-\345\205\205\347\224\265\346\241\251\345\220\215\347\247\2601-\347\273\223\347\256\227\345\257\271\350\264\246\345\215\225\346\230\216\347\273\206-\347\273\223\347\256\227\346\234\210\344\273\2751.xlsx"
Binary files differ
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/config/IotDAConfig.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/config/IotDAConfig.java
index 27e04ad..c69b333 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/config/IotDAConfig.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/config/IotDAConfig.java
@@ -20,15 +20,15 @@
*/
private String sk;
/**
- * endpoint配置 938d8d39e2.iotda.cn-north-4.myhuaweicloud.com
+ * endpoint配置 94cb3eb5f9.st1.iotda-app.cn-south-1.myhuaweicloud.com
*/
private String endpoint;
/**
- * project_id配置 0cc59978c61e4b4da24e8c3d02937b45
+ * project_id配置 f31c21e190e04fb0aebf8c0b1e7959cd
*/
private String projectId;
/**
- * Instance-Id配置 c60f266a-57a2-460c-a24e-eabda84602eb
+ * Instance-Id配置 d21a37d3-c578-43aa-a1ab-be3854e7c337
*/
private String instanceId;
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/token/IotTokenUtil.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/token/IotTokenUtil.java
index c2a2428..91d8a7f 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/token/IotTokenUtil.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/token/IotTokenUtil.java
@@ -5,9 +5,9 @@
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.iam.v3.model.*;
import com.ruoyi.common.redis.service.RedisService;
-import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.iotda.builder.IotBuilder;
import com.ruoyi.integration.iotda.config.IotAccountConfig;
+import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.iotda.utils.time.UtcToSeconds;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
index 950f938..3ec44b2 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
@@ -7,9 +7,14 @@
import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient;
import com.ruoyi.chargingPile.api.feignClient.ParkingLotClient;
import com.ruoyi.chargingPile.api.feignClient.SiteClient;
+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.common.redis.service.RedisService;
import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.order.api.dto.SettlementConfirmAdd;
+import com.ruoyi.order.api.model.TSettlementConfirm;
+import com.ruoyi.order.api.query.SettlementListQuery;
import com.ruoyi.order.vo.ChargingOrderListInfoVO;
import com.ruoyi.order.api.vo.ChargingOrderTimeVO;
import com.ruoyi.order.api.model.ChargingListQuery;
@@ -18,6 +23,7 @@
import com.ruoyi.payment.api.feignClient.WxPaymentClient;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -38,59 +44,43 @@
@Resource
private TChargingOrderService chargingOrderService;
- @Autowired
- private TokenService tokenService;
- @Autowired
- private TOrderEvaluateService orderEvaluateService;
-
@Resource
- private WxPaymentClient wxPaymentClient;
-
- @Resource
- private RedisService redisService;
-
- @Resource
- private AliPaymentClient aliPaymentClient;
- @Resource
- private TShoppingOrderService shoppingOrderService;
-
- @Resource
- private AppUserClient appUserClient;
-
- @Resource
- private TVipOrderService vipOrderService;
- @Resource
- private ParkingLotClient parkingLotClient;
- @Resource
- private TChargingOrderRefundService chargingOrderRefundService;
-
- @Resource
- private TShoppingOrderRefundService shoppingOrderRefundService;
- @Resource
- private TVipOrderRefundService vipOrderRefundService;
- @Resource
- private SiteClient siteClient;
- @Resource
- private ChargingPileClient chargingPileClient;
- @Resource
- private ChargingGunClient chargingGunClient;
- @Resource
- private AppUserCarClient appUserCarClient;
- @Resource
- private TChargingOrderAccountingStrategyService chargingOrderAccountingStrategyService;
- @ResponseBody
+ private TSettlementConfirmService tSettlementConfirmService;
@PostMapping(value = "/chargingList")
@ApiOperation(value = "充电时段统计列表", tags = {"管理后台-财务结算"})
public AjaxResult<ChargingOrderTimeVO> chargingList(@RequestBody ChargingListQuery dto) {
ChargingOrderTimeVO res = chargingOrderService.chargingList(dto);
return AjaxResult.success(res);
}
- @ResponseBody
@GetMapping(value = "/chargingInfo")
@ApiOperation(value = "充电时段统计列表-查看详情", tags = {"管理后台-财务结算"})
public AjaxResult<ChargingOrderListInfoVO> chargingInfo(String uid) {
ChargingOrderListInfoVO res = chargingOrderService.chargingInfo(uid);
return AjaxResult.success(res);
}
+
+ @GetMapping(value = "/settlementTotal")
+ @ApiOperation(value = "结算确认表-列表查询", tags = {"管理后台-财务结算"})
+ @ApiParam(name = "time", value = "汇报时间yyyy-MM")
+ public AjaxResult<ChargingOrderListInfoVO> settlementTotal(String time) {
+ return AjaxResult.success(null);
+ }
+ @PostMapping(value = "/settlementAdd")
+ @ApiOperation(value = "结算确认表-生成/保存结算确认表", tags = {"管理后台-财务结算"})
+ public R<TSettlementConfirm> settlementAdd(@RequestBody SettlementConfirmAdd dto) {
+ TSettlementConfirm res = chargingOrderService.settlementAdd(dto);
+ return R.ok(res);
+ }
+ @PostMapping(value = "/settlementList")
+ @ApiOperation(value = "结算表记录-列表查询", tags = {"管理后台-财务结算"})
+ public R<PageInfo<TSettlementConfirm>> settlementList(@RequestBody SettlementListQuery dto) {
+ PageInfo<TSettlementConfirm> res = chargingOrderService.settlementList(dto);
+ return R.ok(res);
+ }
+ @GetMapping(value = "/downloadSettlement/{uid}")
+ public R<TSettlementConfirm> downloadSettlement(@PathVariable("uid") String uid) {
+ return R.ok(tSettlementConfirmService.getById(uid));
+ }
+
}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TSettlementConfirmMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TSettlementConfirmMapper.java
new file mode 100644
index 0000000..6c711c0
--- /dev/null
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TSettlementConfirmMapper.java
@@ -0,0 +1,31 @@
+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.TSettlementConfirm;
+import com.ruoyi.order.api.model.TVipOrder;
+import com.ruoyi.order.api.query.SettlementListQuery;
+import com.ruoyi.order.api.query.VipShoppingOrderQuery;
+import com.ruoyi.order.dto.SixVipDto;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import javax.validation.constraints.Pattern;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.List;
+
+/**
+ * <p>
+ * Mapper 接口
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2024-08-07
+ */
+@Mapper
+public interface TSettlementConfirmMapper extends BaseMapper<TSettlementConfirm> {
+
+
+ List<TSettlementConfirm> settlementList(@Param("pageInfo") PageInfo<TSettlementConfirm> pageInfo, @Param("req") SettlementListQuery dto);
+}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
index f7da0dc..00a91aa 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
@@ -6,10 +6,13 @@
import com.ruoyi.common.core.dto.ChargingPercentProvinceDto;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.order.api.dto.SettlementConfirmAdd;
import com.ruoyi.order.api.model.ChargingListQuery;
import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.order.api.model.TChargingOrderRefund;
+import com.ruoyi.order.api.model.TSettlementConfirm;
import com.ruoyi.order.api.query.ChargingOrderQuery;
+import com.ruoyi.order.api.query.SettlementListQuery;
import com.ruoyi.order.api.query.UploadRealTimeMonitoringDataQuery;
import com.ruoyi.order.api.vo.ChargingOrderTimeVO;
import com.ruoyi.order.api.vo.ChargingOrderVO;
@@ -156,13 +159,17 @@
* @param orderCode
*/
void excelEndCharge(String orderCode);
-
-
+
+
/**
* 根据车牌号和开始时间查询充电数据
* @param query
* @return
*/
TChargingOrder getChargingOrderByLicensePlate(GetChargingOrderByLicensePlate query);
-
+
+
+ TSettlementConfirm settlementAdd(SettlementConfirmAdd dto);
+
+ PageInfo<TSettlementConfirm> settlementList(SettlementListQuery dto);
}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TSettlementConfirmService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TSettlementConfirmService.java
new file mode 100644
index 0000000..f46e6dd
--- /dev/null
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TSettlementConfirmService.java
@@ -0,0 +1,24 @@
+package com.ruoyi.order.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.order.api.model.TSettlementConfirm;
+import com.ruoyi.order.api.model.TVipOrder;
+import com.ruoyi.order.api.query.VipShoppingOrderQuery;
+import com.ruoyi.order.dto.SixVipDto;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.List;
+
+/**
+ * <p>
+ * 服务类
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2024-08-07
+ */
+public interface TSettlementConfirmService extends IService<TSettlementConfirm> {
+
+}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index 928979b..27599e1 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1,7 +1,9 @@
package com.ruoyi.order.service.impl;
+import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -29,14 +31,17 @@
import com.ruoyi.integration.api.feignClient.*;
import com.ruoyi.integration.api.model.*;
import com.ruoyi.integration.api.vo.GetPlatformStopChargingReply;
+import com.ruoyi.order.api.dto.SettlementConfirmAdd;
import com.ruoyi.order.api.feignClient.AccountingStrategyDetailOrderClient;
import com.ruoyi.order.api.feignClient.ChargingOrderAccountingStrategyClient;
import com.ruoyi.order.api.model.*;
import com.ruoyi.order.api.query.ChargingOrderQuery;
+import com.ruoyi.order.api.query.SettlementListQuery;
import com.ruoyi.order.api.query.UploadRealTimeMonitoringDataQuery;
import com.ruoyi.order.api.vo.*;
import com.ruoyi.order.dto.*;
import com.ruoyi.order.mapper.TChargingOrderMapper;
+import com.ruoyi.order.mapper.TSettlementConfirmMapper;
import com.ruoyi.order.service.TChargingOrderAccountingStrategyService;
import com.ruoyi.order.service.TChargingOrderRefundService;
import com.ruoyi.order.service.TChargingOrderService;
@@ -47,6 +52,7 @@
import com.ruoyi.order.vo.ChargingOrderListInfoVO;
import com.ruoyi.other.api.domain.TIntegralRule;
import com.ruoyi.other.api.feignClient.IntegralRuleClient;
+import com.ruoyi.other.api.feignClient.OtherClient;
import com.ruoyi.other.api.feignClient.RoleSiteClient;
import com.ruoyi.other.api.feignClient.UserSiteClient;
import com.ruoyi.payment.api.feignClient.AliPaymentClient;
@@ -93,10 +99,13 @@
@Resource
private ChargingGunClient chargingGunClient;
-
+ @Resource
+ private TSettlementConfirmMapper tSettlementConfirmMapper;
+
@Resource
private SiteClient siteClient;
-
+
+
@Resource
private AppUserCarClient appUserCarClient;
@Resource
@@ -104,7 +113,6 @@
@Resource
private ChargingPileClient chargingPileClient;
-
@Resource
private TChargingOrderAccountingStrategyService chargingOrderAccountingStrategyService;
@@ -117,7 +125,6 @@
@Resource
private AliPaymentClient aliPaymentClient;
-
@Resource
private AppCouponClient appCouponClient;
@@ -437,7 +444,7 @@
chargingOrder.setVipDiscountAmount(discountAmount);
}
}
-
+
}
this.save(chargingOrder);
@@ -1612,8 +1619,8 @@
return null;
}
-
-
+
+
/**
* 根据车牌号和开始时间查询充电数据
* @param query
@@ -1630,4 +1637,153 @@
.eq(TChargingOrder::getRechargePaymentStatus, 2).ne(TChargingOrder::getStatus, -1));
return one;
}
+
+ @Override
+ public TSettlementConfirm settlementAdd(SettlementConfirmAdd dto) {
+ List<Site> data = siteClient.getSiteByIds(Arrays.asList(dto.getSiteId())).getData();
+ TSettlementConfirm tSettlementConfirm = new TSettlementConfirm();
+ if (!data.isEmpty()){
+ tSettlementConfirm.setSiteName(data.get(0).getName());
+ tSettlementConfirm.setPartnerId(data.get(0).getPartnerId());
+ if (data.get(0).getPartnerId()!=null){
+ Partner data1 = siteClient.getPartnerR(data.get(0).getPartnerId()).getData();
+ if (data1!=null){
+ tSettlementConfirm.setPartnerName(data1.getName());
+ tSettlementConfirm.setPartnerId(data1.getId());
+ }
+ }
+ }
+ String startTime = dto.getStartTime();
+ String endTime = dto.getEndTime();
+ // 将这两个时间转化为localDateTime
+ tSettlementConfirm.setStartTime(LocalDateTime.parse(startTime));
+ tSettlementConfirm.setEndTime(LocalDateTime.parse(endTime));
+ // 根据站点id和开始时间和结束时间和归属日期 查询充电订单列表
+ QueryWrapper<TChargingOrder> eq = new QueryWrapper<TChargingOrder>()
+ .eq("site_id", dto.getSiteId())
+ .eq("recharge_payment_status",2);
+ switch (dto.getType()){
+ case 1:
+ eq.between("start_time", startTime, endTime);
+ break;
+ case 2:
+ eq.between("end_time", startTime, endTime);
+ break;
+ }
+ List<TChargingOrder> tChargingOrders = this.baseMapper.selectList(eq);
+ // 充电电量 度
+ BigDecimal chargingElectronic = new BigDecimal("0");
+ // 三方收费 分佣
+ BigDecimal sharingAmount = new BigDecimal("0");
+ // 三方交易手续费 三方收费*0.6%
+ BigDecimal commissionAmount = new BigDecimal("0");
+ // 累计电费
+ BigDecimal electrovalence = new BigDecimal("0");
+ // 累计服务费
+ BigDecimal serviceCharge = new BigDecimal("0");
+ // 订单手续费 订单支付金额*0.6%
+ BigDecimal orderCommission = new BigDecimal("0");
+ // 会员抵扣
+ BigDecimal vipDiscount = new BigDecimal("0");
+ // 优惠券抵扣
+ BigDecimal couponDiscount = new BigDecimal("0");
+ // 支付订单金额 需要减去退款金额
+ BigDecimal paymentAmount = new BigDecimal("0");
+ for (TChargingOrder tChargingOrder : tChargingOrders) {
+ // 累加充电总度数
+ chargingElectronic = chargingElectronic.add(tChargingOrder.getChargingCapacity());
+ // 累加分佣
+ sharingAmount = sharingAmount.add(tChargingOrder.getSharingAmount());
+ // 累加电费
+ electrovalence = electrovalence.add(tChargingOrder.getElectrovalence());
+ // 累加服务费
+ serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge());
+ // 累加会员折扣
+ if (tChargingOrder.getVipDiscountAmount()!=null){
+ vipDiscount = vipDiscount.add(tChargingOrder.getVipDiscountAmount());
+ }
+ // 累加优惠券折扣
+ if (tChargingOrder.getCouponDiscountAmount()!=null){
+ couponDiscount = couponDiscount.add(tChargingOrder.getCouponDiscountAmount());
+ }
+ if (tChargingOrder.getRefundStatus() == 2){
+ // 如果成功退款 那么减去退款金额
+ paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount().subtract(tChargingOrder.getRefundAmount()));
+ }else{
+ paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
+ }
+ }
+ // 三方交易手续费 三方收费*0.6%
+ commissionAmount = sharingAmount.multiply(new BigDecimal("0.006"));
+ // 订单手续费 订单支付金额 - 退款金额*0.6%
+ orderCommission = paymentAmount.multiply(new BigDecimal("0.006"));
+ tSettlementConfirm.setSharingAmount(sharingAmount);
+ tSettlementConfirm.setCommissionAmount(commissionAmount);
+ tSettlementConfirm.setElectrovalence(electrovalence);
+ // 服务费=总服务费-三费收费-交易手续费-交易手续费-服务费会员抵扣-服务费优惠券抵扣
+ tSettlementConfirm.setServiceCharge(serviceCharge.subtract(commissionAmount).subtract(sharingAmount).subtract(orderCommission).subtract(vipDiscount).subtract(couponDiscount));
+ tSettlementConfirm.setOrderCommission(orderCommission);
+ tSettlementConfirm.setVipDiscount(vipDiscount);
+ tSettlementConfirm.setCouponDiscount(couponDiscount);
+ tSettlementConfirm.setSiteId(dto.getSiteId());
+ tSettlementConfirm.setMeteringElectronic(dto.getData().getMeteringElectronic());
+ tSettlementConfirm.setChargingElectronic(chargingElectronic);
+ tSettlementConfirm.setLossElectronic(dto.getData().getLossElectronic());
+ tSettlementConfirm.setIncome(chargingElectronic.add(serviceCharge));
+ tSettlementConfirm.setVenue(dto.getData().getVenue());
+ tSettlementConfirm.setMetering(dto.getData().getMetering());
+ tSettlementConfirm.setClean(dto.getData().getClean());
+ tSettlementConfirm.setMaintain(dto.getData().getMaintain());
+ tSettlementConfirm.setCost(dto.getData().getCost());
+ tSettlementConfirm.setProfitMoney(new BigDecimal("0"));
+ tSettlementConfirm.setNewMoney(new BigDecimal("0"));
+ tSettlementConfirm.setNewSettlement(new BigDecimal("0"));
+ tSettlementConfirm.setVipDiscount(vipDiscount);
+ tSettlementConfirm.setCouponDiscount(couponDiscount);
+ tSettlementConfirm.setSupplyElectronic(dto.getData().getSupplyElectronic());
+ tSettlementConfirm.setType(dto.getType());
+ tSettlementConfirm.setProportionPartner(dto.getData().getProportionPartner());
+ tSettlementConfirm.setProportionMoney(dto.getData().getProportionMoney());
+ tSettlementConfirm.setTotalElectronic(dto.getData().getTotalElectronic());
+ tSettlementConfirm.setTotalService(dto.getData().getTotalService());
+ tSettlementConfirm.setRemark(dto.getData().getRemark());
+ tSettlementConfirm.setServicePartner(dto.getData().getServicePartner());
+ tSettlementConfirm.setServiceMoney(dto.getData().getServiceMoney());
+ tSettlementConfirm.setTotalService(dto.getData().getTotalService());
+ tSettlementConfirm.setServiceRemark(dto.getData().getServiceRemark());
+ if (dto.getState() == 2){
+ tSettlementConfirmMapper.insert(tSettlementConfirm);
+ }
+ return tSettlementConfirm;
+ }
+
+ @Override
+ public PageInfo<TSettlementConfirm> settlementList(SettlementListQuery dto) {
+ PageInfo<TSettlementConfirm> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
+ List<TSettlementConfirm> list = tSettlementConfirmMapper.settlementList(pageInfo,dto);
+ for (TSettlementConfirm tSettlementConfirm : list) {
+ tSettlementConfirm.setUid(tSettlementConfirm.getId().toString());
+ Partner data = siteClient.getPartnerR(tSettlementConfirm.getPartnerId()).getData();
+ List<Site> data1 = siteClient.getSiteByIds(Arrays.asList(tSettlementConfirm.getSiteId())).getData();
+ if (!data1.isEmpty()){
+ tSettlementConfirm.setSiteName(data1.get(0).getName());
+ }
+ if (data!=null){
+ tSettlementConfirm.setPartnerName(data.getName());
+ }
+ String format = tSettlementConfirm.getStartTime().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日HH:mm:ss"));
+ String format1 = tSettlementConfirm.getEndTime().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日HH:mm:ss"));
+ tSettlementConfirm.setTime(format+"至"+format1);
+
+
+ }
+ pageInfo.setRecords(list);
+ return null;
+ }
+
+ public static void main(String[] args) {
+ String format = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日HH:mm:ss"));
+ String format1 = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日HH:mm:ss"));
+ System.err.println(format+"至"+format1);
+ }
}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TSettlementConfirmServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TSettlementConfirmServiceImpl.java
new file mode 100644
index 0000000..c1f0076
--- /dev/null
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TSettlementConfirmServiceImpl.java
@@ -0,0 +1,34 @@
+package com.ruoyi.order.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.order.api.model.TSettlementConfirm;
+import com.ruoyi.order.api.model.TVipOrder;
+import com.ruoyi.order.api.query.VipShoppingOrderQuery;
+import com.ruoyi.order.dto.SixVipDto;
+import com.ruoyi.order.mapper.TSettlementConfirmMapper;
+import com.ruoyi.order.mapper.TVipOrderMapper;
+import com.ruoyi.order.service.TSettlementConfirmService;
+import com.ruoyi.order.service.TVipOrderService;
+import com.ruoyi.other.api.domain.TVip;
+import com.ruoyi.other.api.feignClient.VipClient;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.List;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2024-08-07
+ */
+@Service
+public class TSettlementConfirmServiceImpl extends ServiceImpl<TSettlementConfirmMapper, TSettlementConfirm> implements TSettlementConfirmService {
+
+}
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TSettlementConfirmMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TSettlementConfirmMapper.xml
new file mode 100644
index 0000000..4b8223a
--- /dev/null
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TSettlementConfirmMapper.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.order.mapper.TSettlementConfirmMapper">
+
+ <select id="pageList" resultType="com.ruoyi.order.api.model.TSettlementConfirm">
+select t1.* from
+ t_settlement_confirm t1
+where 1=1
+ <if test="req.type != null ">
+ and t1.type = #{req.type}
+ </if>
+ <if test="req.partnerId != null ">
+ and t1.partnerId = #{req.partnerId}
+ </if>
+ <if test="req.type == 1 ">
+ <if test="req.startTime != null and req.startTime!=''">
+ and (t1.start_time between #{req.startTime} and #{req.endTime}
+ </if>
+ </if>
+ <if test="req.siteIds != null and req.siteIds.size() > 0">
+ AND t1.site_id IN
+ <foreach collection="req.siteIds" item="siteId" open="(" separator="," close=")">
+ #{siteId}
+ </foreach>
+ </if>
+ <if test="req.type == 2 ">
+ <if test="req.startTime != null and req.startTime!=''">
+ and (t1.end_time between #{req.startTime} and #{req.endTime}
+ </if>
+ </if>
+ </select>
+</mapper>
--
Gitblit v1.7.1