فهرست منبع

fix bug 发票购买方信息-telephone字段补充
服务费显示改为实付服务费

skyline 2 سال پیش
والد
کامیت
3ffb9fa50f

+ 8 - 8
admin-web/src/views/admin/index.vue

@@ -45,8 +45,8 @@
 
 
             <div class="trend-summary">
-              总服务费:
-              <el-tag type="success">{{ u.fmt.fmtMoney(state.homeOneExtra.serviceMoney) }}元</el-tag>
+              总实付服务费:
+              <el-tag type="success">{{ u.fmt.fmtMoney(state.homeOneExtra.payServiceAmount) }}元</el-tag>
               总电量:
               <el-tag type="danger">{{ state.homeOneExtra.totalPower }}Kwh</el-tag>
             </div>
@@ -118,7 +118,7 @@ const state = reactive({
     {
       num1: '0',
       num2: '+42.32',
-      num3: '今日充电总金额(元)',
+      num3: '今日订单总金额(元)',
       num4: 'iconfont icon-ditu',
       color1: '#6690F9',
       color2: '--next-color-success-lighter',
@@ -136,7 +136,7 @@ const state = reactive({
     {
       num1: '0',
       num2: '-10.01',
-      num3: '今日总服务费(元)',
+      num3: '今日实付总服务费(元)',
       num4: 'fa fa-github-alt',
       color1: '#FF6462',
       color2: '--next-color-danger-lighter',
@@ -281,12 +281,12 @@ const initLineChart = (dataList: Array<any>) => {
               },
             },*/
       {
-        name: '服务费',
+        name: '实付服务费',
         type: 'line',
         symbolSize: 6,
         symbol: 'circle',
         smooth: true,
-        data: dataList.map(k => u.fmt.fmtMoney(k.serviceMoney)),
+        data: dataList.map(k => u.fmt.fmtMoney(k.payServiceAmount)),
         lineStyle: {color: '#3770ff'},
         itemStyle: {color: '#3770ff', borderColor: '#3770ff'},
         areaStyle: {
@@ -453,11 +453,11 @@ const loadStationStatToday = () => {
   $get(`stat/stationTodayStat`, {stationId: state.currentStationId}).then((res: any) => {
     console.log(res)
     if (!u.isEmptyOrNull(res)) {
-      let {chargeUsers, totalOrders, totalPower, totalMoney, elecMoney, serviceMoney} = res
+      let {chargeUsers, totalOrders, totalPower, totalMoney, elecMoney, payServiceAmount} = res
       state.homeOne[0].num1 = totalPower;
       state.homeOne[1].num1 = u.fmt.fmtMoney(totalMoney);
       state.homeOne[2].num1 = u.fmt.fmtMoney(elecMoney);
-      state.homeOne[3].num1 = u.fmt.fmtMoney(serviceMoney);
+      state.homeOne[3].num1 = u.fmt.fmtMoney(payServiceAmount);
       state.homeOne[4].num1 = chargeUsers;
       state.homeOne[5].num1 = totalOrders;
     }

+ 16 - 8
admin-web/src/views/admin/ordering/index.vue

@@ -129,10 +129,14 @@
           <el-tag type="success">{{state.extraData.totalPower}} 度</el-tag>
           <span class="ml5">订单金额:</span>
           <el-tag type="success">{{u.fmt.fmtMoney(state.extraData.totalMoney)}} 元</el-tag>
-          <span class="ml5"> 实付电费:</span>
+          <span class="ml5"> 电费:</span>
           <el-tag type="success">{{u.fmt.fmtMoney(state.extraData.elecMoney)}} 元</el-tag>
-          <span class="ml5">实付服务费:</span>
+          <span class="ml5">服务费:</span>
           <el-tag type="success">{{u.fmt.fmtMoney(state.extraData.serviceMoney)}} 元</el-tag>
+          <span class="ml5">服务费优惠:</span>
+          <el-tag type="success">{{u.fmt.fmtMoney(state.extraData.serviceMoneyDiscount)}} 元</el-tag>
+          <span class="ml5">实付服务费:</span>
+          <el-tag type="success">{{u.fmt.fmtMoney(state.extraData.payServiceAmount)}} 元</el-tag>
         </div>
 
       </el-card>
@@ -169,6 +173,12 @@
             <template v-else-if="'totalMoney'===field.prop">
               {{u.fmt.fmtMoney(row[field.prop])}}
             </template>
+            <template v-else-if="'elecMoney'===field.prop">
+              {{u.fmt.fmtMoney(row[field.prop])}}
+            </template>
+            <template v-else-if="'serviceMoney'===field.prop">
+              {{u.fmt.fmtMoney(row[field.prop])}}
+            </template>
             <template v-else-if="'payAmount'===field.prop">
               {{u.fmt.fmtMoney(row[field.prop])}}
             </template>
@@ -178,10 +188,7 @@
             <template v-else-if="'serviceMoneyDiscount'===field.prop">
               {{u.fmt.fmtMoney(row[field.prop])}}
             </template>
-            <template v-else-if="'elecMoney'===field.prop">
-              {{u.fmt.fmtMoney(row[field.prop])}}
-            </template>
-            <template v-else-if="'serviceMoney'===field.prop">
+            <template v-else-if="'payServiceAmount'===field.prop">
               {{u.fmt.fmtMoney(row[field.prop])}}
             </template>
             <template v-else-if="'orderStatus'===field.prop">
@@ -260,8 +267,9 @@ const state = reactive({
       {label: '订单总金额(元)', prop: 'totalMoney', width:150, resizable: true},
       {label: '服务费优惠(元)', prop: 'serviceMoneyDiscount', width:150, resizable: true},
       {label: '实付金额(元)', prop: 'payAmount', width:150, resizable: true},
-      {label: '累积电费(元)', prop: 'elecMoney', width:140, resizable: true},
-      {label: '累积服务费(元)', prop: 'serviceMoney', width:150, resizable: true},
+      {label: '总电费(元)', prop: 'elecMoney', width:140, resizable: true},
+      {label: '总服务费(元)', prop: 'serviceMoney', width:150, resizable: true},
+      {label: '实付服务费(元)', prop: 'payServiceAmount', width:150, resizable: true},
       // {label: '时段数:0~32', prop: 'sumPeriod', width:150, resizable: true},
       // {label: '充电明细信息', prop: 'chargeDetail', width:150, resizable: true},
       {label: '订单状态', prop: 'orderStatus', width:120, resizable: true},

+ 5 - 0
admin/src/main/java/com/kym/admin/controller/FinanceController.java

@@ -43,6 +43,11 @@ public class FinanceController {
         return R.success();
     }
 
+    @GetMapping("/getUserTitle/{applyId}")
+    Object getUserTitle(@PathVariable String applyId){
+        return wxPayService.userTitle(applyId);
+    }
+
     @SysLog("开具发票")
     @GetMapping("/handleInvoice/{invoiceId}")
     R<?> handleInvoice(@PathVariable("invoiceId") String invoiceId) {

+ 1 - 1
entity/src/main/java/com/kym/entity/admin/queryParams/EquipmentQueryParam.java

@@ -16,7 +16,7 @@ public class EquipmentQueryParam extends PageParams {
     /**
      * 充电站id
      */
-    private List<String> stationIds;
+    private String stationId;
 
     /**
      * 充电桩id

+ 4 - 0
entity/src/main/java/com/kym/entity/admin/vo/CustomOrderVo.java

@@ -32,6 +32,10 @@ public class CustomOrderVo {
     private Integer payAmount;
     private Integer discountAmount;
     private Integer serviceMoneyDiscount;
+    /**
+     * 实付服务费
+     */
+    private Integer payServiceAmount;
     private Integer orderStatus;
     private Integer chargeStatus;
     private Integer stopReason;

+ 1 - 0
entity/src/main/java/com/kym/entity/admin/vo/StationStatVo.java

@@ -19,6 +19,7 @@ public class StationStatVo {
     private Integer elecMoney;
     private BigDecimal elecMoneyPercent;
     private Integer serviceMoney;
+    private Integer payServiceAmount;
     private BigDecimal serviceMoneyPercent;
 
 }

+ 4 - 0
entity/src/main/java/com/kym/entity/miniapp/Invoice.java

@@ -99,6 +99,10 @@ public class Invoice extends BaseEntity {
      * 公司地址
      */
     private String address;
+    /**
+     * 购买方电话
+     */
+    private String telephone;
     /**
      * 开户银行
      */

+ 5 - 0
entity/src/main/java/com/kym/entity/miniapp/InvoiceTitle.java

@@ -55,6 +55,11 @@ public class InvoiceTitle extends BaseEntity {
      */
     private String address;
 
+    /**
+     * 购买方电话
+     */
+    private String telephone;
+
     /**
      * 开户银行
      */

+ 5 - 0
entity/src/main/java/com/kym/entity/miniapp/vo/ChargeOrderVo.java

@@ -81,6 +81,11 @@ public class ChargeOrderVo {
      */
     private Integer serviceMoneyDiscount;
 
+    /**
+     * 实付服务费金额(分)
+     */
+    private Integer payServiceAmount;
+
     /**
      * 优惠描述
      */

+ 5 - 0
entity/src/main/java/com/kym/entity/miniapp/vo/InvoiceVo.java

@@ -100,6 +100,11 @@ public class InvoiceVo extends BaseEntity {
      * 公司地址
      */
     private String address;
+
+    /**
+     * 购买方电话
+     */
+    private String telephone;
     /**
      * 开户银行
      */

+ 14 - 5
mapper/src/main/resources/mappers/miniapp/ChargeOrderMapper.xml

@@ -44,6 +44,7 @@
         <result column="pay_amount" property="payAmount"/>
         <result column="discount_amount" property="discountAmount"/>
         <result column="service_money_discount" property="serviceMoneyDiscount"/>
+        <result column="pay_service_amount" property="payServiceAmount"/>
         <result column="order_status" property="orderStatus"/>
         <result column="charge_status" property="chargeStatus"/>
         <result column="stop_reason" property="stopReason"/>
@@ -59,6 +60,8 @@
         <result column="total_money" property="totalMoney"/>
         <result column="elec_money" property="elecMoney"/>
         <result column="service_money" property="serviceMoney"/>
+        <result column="pay_service_amount" property="payServiceAmount"/>
+
     </resultMap>
 
     <!-- 通用查询结果列 -->
@@ -73,14 +76,16 @@
         sum(t1.total_power) totalPower,
         sum(t1.total_money) totalMoney,
         sum(t1.elec_money) elecMoney,
-        sum(t1.service_money) serviceMoney
+        sum(t1.service_money) serviceMoney,
+        sum(t1.service_money_discount) serviceMoneyDiscount,
+        (sum(t1.service_money) - sum(t1.service_money_discount)) payServiceAmount
         FROM
         t_charge_order t1
         LEFT JOIN t_user t2
         ON t1.user_id = t2.id
         <where>
             <if test="params.userId != null">
-                and t2.user_id = #{params.userId}
+                and t1.user_id = #{params.userId}
             </if>
             <if test="params.mobilePhone != null and params.mobilePhone != ''">
                 and t2.mobile_phone = #{params.mobilePhone}
@@ -123,6 +128,7 @@
         t1.pay_amount,
         t1.discount_amount,
         t1.service_money_discount,
+        (t1.service_money - t1.service_money_discount) pay_service_amount,
         t1.order_status,
         t1.charge_status,
         t1.invoice_status,
@@ -133,7 +139,7 @@
         ON t1.user_id = t2.id
         <where>
             <if test="params.userId != null">
-                and t2.user_id = #{params.userId}
+                and t1.user_id = #{params.userId}
             </if>
             <if test="params.mobilePhone != null and params.mobilePhone != ''">
                 and t2.mobile_phone = #{params.mobilePhone}
@@ -185,7 +191,8 @@
         SUM(t1.total_power) total_power,
         SUM(t1.total_money) total_money,
         SUM(t1.elec_money) elec_money,
-        SUM(t1.service_money) service_money
+        SUM(t1.service_money) service_money,
+        (SUM(t1.service_money) - SUM(t1.service_money_discount)) pay_service_amount
         FROM
         (SELECT
         *
@@ -215,8 +222,10 @@
         COUNT(t1.id) totalOrders,
         IFNULL (SUM(t1.total_power),0) totalPower,
         IFNULL(SUM(t1.total_money),0) totalMoney,
+        IFNULL(SUM(t1.pay_amount),0) payAmount,
         IFNULL(SUM(t1.elec_money),0) elecMoney,
-        IFNULL(SUM(t1.service_money),0) serviceMoney
+        IFNULL(SUM(t1.service_money),0) serviceMoney,
+        (IFNULL(SUM(t1.service_money),0) - IFNULL(SUM(t1.service_money_discount),0)) payServiceAmount
         FROM
         (SELECT
         *

+ 5 - 3
service/src/main/java/com/kym/service/admin/impl/ConnectorInfoServiceImpl.java

@@ -34,15 +34,16 @@ public class ConnectorInfoServiceImpl extends MPJBaseServiceImpl<ConnectorInfoMa
     public PageBean<ConnectorInfoVo> listConnectors(EquipmentQueryParam params) {
         // 判断数据权限
         var adminStationIds = KymCache.INSTANCE.getAdminUserStationIds(StpUtil.getLoginIdAsLong());
-        if (adminStationIds != null) {
-            params.setStationIds(adminStationIds);
+        if (params.getStationId() == null && KymCache.INSTANCE.getAdminUserStationIds(StpUtil.getLoginIdAsLong()) != null) {
+            params.setStationId(adminStationIds.get(0));
         }
         PageHelper.startPage(params.getPageNum(), params.getPageSize());
         var connectorInfos = lambdaQuery()
                 .likeLeft(isNotNull(params.getEquipmentId()), ConnectorInfo::getEquipmentId, params.getEquipmentId())
-                .in(isNotNull(params.getStationIds()), ConnectorInfo::getStationId, params.getStationIds())
+                .eq(isNotNull(params.getStationId()), ConnectorInfo::getStationId, params.getStationId())
                 .eq(isNotNull(params.getStatus()), ConnectorInfo::getStatus, params.getStatus())
                 .list();
+        var pageBean = new PageBean<>(connectorInfos);
         // 转换成vo
         var connectorInfoVos = new ArrayList<ConnectorInfoVo>(connectorInfos.parallelStream()
                 .map(item -> {
@@ -52,6 +53,7 @@ public class ConnectorInfoServiceImpl extends MPJBaseServiceImpl<ConnectorInfoMa
                         }
                 ).toList());
         var page = new PageBean<>(connectorInfoVos);
+        BeanUtils.copyProperties(pageBean, page);
         // parallelStream 这里可能有坑,注意检查
         var res = connectorInfoVos.parallelStream().map(item ->
                 item.setShortId(KymCache.INSTANCE.getShortIdByEquipmentIdOrConnectorId(item.getConnectorId()))

+ 3 - 1
service/src/main/java/com/kym/service/miniapp/impl/ChargeOrderServiceImpl.java

@@ -162,6 +162,7 @@ public class ChargeOrderServiceImpl extends MPJBaseServiceImpl<ChargeOrderMapper
         var voList = list.stream().map(chargeOrder -> {
             var vo = new ChargeOrderVo();
             BeanUtils.copyProperties(chargeOrder, vo);
+            vo.setPayServiceAmount(vo.getServiceMoney() - vo.getDiscountAmount());
             return vo;
         }).toList();
         return new PageBean<>(voList).setList(res);
@@ -206,7 +207,8 @@ public class ChargeOrderServiceImpl extends MPJBaseServiceImpl<ChargeOrderMapper
         }).collect(Collectors.toList());
         var map = Map.of(
                 "totalPower", BigDecimal.valueOf(res.stream().mapToDouble(StationStatVo::getTotalPower).sum()).setScale(2, RoundingMode.HALF_UP).doubleValue(),
-                "serviceMoney", res.stream().mapToInt(StationStatVo::getServiceMoney).sum()
+                "serviceMoney", res.stream().mapToInt(StationStatVo::getServiceMoney).sum(),
+                "payServiceAmount",res.stream().mapToInt(StationStatVo::getPayServiceAmount).sum()
         );
         return new PageBean<>(res).setExtraData(map);
     }

+ 2 - 0
service/src/main/java/com/kym/service/wechat/impl/WxPayServiceImpl.java

@@ -726,6 +726,7 @@ public class WxPayServiceImpl implements WxPayService {
                     .setInvoiceType(buyerInformation.getType())
                     .setInvoiceTitle(buyerInformation.getName())
                     .setTaxId(buyerInformation.getTaxpayer_id())
+                    .setTelephone(buyerInformation.getTelephone())
                     .setAddress(buyerInformation.getAddress())
                     .setBankName(buyerInformation.getBank_name())
                     .setBankAccount(buyerInformation.getBank_account())
@@ -834,6 +835,7 @@ public class WxPayServiceImpl implements WxPayService {
                 .setType(invoice.getInvoiceType())
                 .setName(invoice.getInvoiceTitle())
                 .setTaxpayer_id(invoice.getTaxId())
+                .setTelephone(invoice.getTelephone())
                 .setAddress(invoice.getAddress())
                 .setTelephone(invoice.getPhone())
                 .setBank_name(invoice.getBankName())