Преглед на файлове

1、订单查询页新增统计数据
2、代码优化

skyline преди 2 години
родител
ревизия
9af7dc20ad

+ 1 - 1
admin-web/src/i18n/pages/login/zh-cn.ts

@@ -10,7 +10,7 @@ export default {
 	},
 	account: {
 		accountPlaceholder1: '用户名 admin 或不输均为 common',
-		accountPlaceholder2: '密码:123456',
+		accountPlaceholder2: '请输入密码',
 		accountPlaceholder3: '请输入验证码',
 		accountBtnText: '登 录',
 	},

+ 5 - 5
admin-web/src/views/login/component/account.vue

@@ -36,7 +36,7 @@
       <el-button type="primary" class="login-content-submit" round v-waves @click="onSignIn" :loading="state.loading.signIn">
         <span>{{ $t('message.account.accountBtnText') }}</span>
       </el-button>
-      <el-button type="danger" text class="login-content-forget" @click="handleForgetPassword">忘记密码?</el-button>
+<!--      <el-button type="danger" text class="login-content-forget" @click="handleForgetPassword">忘记密码?</el-button>-->
     </el-form-item>
   </el-form>
 </template>
@@ -68,9 +68,9 @@ const router = useRouter();
 const state = reactive({
   isShowPassword: false,
   ruleForm: {
-    name: 'yaopeng',
-    pwd: '1234',
-    code: '1234',
+    name: '',
+    pwd: '',
+    code: '',
     sign: '' as string
   },
   loading: {
@@ -236,7 +236,7 @@ const signInSuccess = (isNoPower: boolean | undefined) => {
   }
 
   .login-content-submit {
-    width: 80%;
+    width: 100%;
     letter-spacing: 2px;
     font-weight: 300;
     margin-top: 15px;

+ 4 - 8
admin/src/main/java/com/kym/admin/controller/CustomController.java

@@ -41,10 +41,8 @@ public class CustomController {
 
     @SysLog("查询用户充电订单列表")
     @GetMapping("/listChargeOrders")
-    public R listChargeOrders(@ModelAttribute CustomChargeOrdersQueryParam params,
-                              @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
-                              @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
-        return R.success(customChargeOrders.customChargeOrders(params, pageNum, pageSize));
+    public R listChargeOrders(@ModelAttribute CustomChargeOrdersQueryParam params) {
+        return R.success(customChargeOrders.customChargeOrders(params));
     }
 
     @SysLog("订单详情")
@@ -55,10 +53,8 @@ public class CustomController {
 
     @SysLog("充值记录列表")
     @GetMapping("/listRecharge")
-    public R listRecharge(@ModelAttribute CommonQueryParam params,
-                          @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
-                          @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
-        return R.success(payLogService.listRecharge(params, pageNum, pageSize));
+    public R listRecharge(@ModelAttribute CommonQueryParam params) {
+        return R.success(payLogService.listRecharge(params));
     }
 
 }

+ 5 - 3
admin/src/main/java/com/kym/admin/controller/StatController.java

@@ -1,12 +1,14 @@
 package com.kym.admin.controller;
 
-import cn.dev33.satoken.stp.StpUtil;
 import com.kym.common.R;
 import com.kym.entity.admin.queryParams.StatQueryParam;
 import com.kym.service.miniapp.ChargeOrderService;
 import com.kym.service.utils.KymCache;
 import org.springframework.context.annotation.Lazy;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * @author skyline
@@ -43,7 +45,7 @@ public class StatController {
      *
      * @return
      */
-    @GetMapping( "/stationTodayStat")
+    @GetMapping("/stationTodayStat")
     R stationTodayStat() {
         var res = chargeOrderService.stationTodayStat();
         return R.success(res);

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

@@ -10,7 +10,7 @@ import java.time.LocalDate;
  * @date 2023-08-22 18:56
  */
 @Data
-public class CustomChargeOrdersQueryParam {
+public class CustomChargeOrdersQueryParam extends PageParams {
     /**
      * 用户id
      */

+ 10 - 0
entity/src/main/java/com/kym/entity/common/PageBean.java

@@ -35,6 +35,11 @@ public class PageBean<T> extends PageSerializable<T> {
      */
     private int pages;
 
+    /**
+     * 临时扩展数据
+     */
+    private Object extraData;
+
     /**
      * 包装Page对象
      *
@@ -68,4 +73,9 @@ public class PageBean<T> extends PageSerializable<T> {
             this.size = list.size();
         }
     }
+
+    public PageBean<T> setExtraData(Object extraData) {
+        this.extraData = extraData;
+        return this;
+    }
 }

+ 3 - 0
mapper/src/main/java/com/kym/mapper/miniapp/ChargeOrderMapper.java

@@ -23,7 +23,10 @@ public interface ChargeOrderMapper extends BaseMapper<ChargeOrder> {
 
     List<CustomOrderVo> listChargeOrders(@Param("params") CustomChargeOrdersQueryParam params);
 
+    Map<String, Object> statChargeOrders(@Param("params") CustomChargeOrdersQueryParam params);
+
     List<StationStatVo> stationStat(@Param("params") StatQueryParam params);
 
     Map<String, Object> stationTodayStat(@Param("stationId") String stationId);
+
 }

+ 48 - 8
mapper/src/main/resources/mappers/miniapp/ChargeOrderMapper.xml

@@ -58,6 +58,46 @@
         id, user_id, station_id, start_charge_seq, connector_id, start_time, end_time, soc, total_power, total_money, elec_money, service_money, sum_period, charge_detail, order_status, charge_status, stop_reason, invoice_status,invoice_id,create_time, update_time
     </sql>
 
+    <select id="statChargeOrders" resultType="java.util.Map"
+            parameterType="com.kym.entity.admin.queryParams.CustomChargeOrdersQueryParam">
+        SELECT
+        count(*) totalOrders,
+        sum(t1.total_power) totalPower,
+        sum(t1.total_money) totalMoney,
+        sum(t1.elec_money) elecMoney,
+        sum(t1.service_money) serviceMoney
+        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}
+            </if>
+            <if test="params.mobilePhone != null and params.mobilePhone != ''">
+                and t2.mobile_phone = "#{params.mobilePhone}"
+            </if>
+            <if test="params.connectorId != null and params.connectorId != ''">
+                and t1.connector_id = "#{params.connectorId}"
+            </if>
+            <if test="params.startChargeSeq != null and params.startChargeSeq != ''">
+                and t1.start_charge_seq = "#{params.startChargeSeq}"
+            </if>
+            <if test="params.stationId != null and params.stationId != ''">
+                and t1.station_id = "#{params.stationId}"
+            </if>
+            <if test="params.orderStatus != null">
+                and t1.order_status = #{params.orderStatus}
+            </if>
+            <if test="params.startDate != null and params.startDate != ''">
+                and t1.start_time &gt;= "#{params.startDate}"
+            </if>
+            <if test="params.endDate != null and params.endDate != ''">
+                and t1.end_time &lt;= "#{params.endDate}"
+            </if>
+        </where>
+    </select>
+
     <select id="listChargeOrders" resultMap="CustomChargeOrderMap"
             parameterType="com.kym.entity.admin.queryParams.CustomChargeOrdersQueryParam">
         SELECT
@@ -80,28 +120,28 @@
         ON t1.user_id = t2.id
         <where>
             <if test="params.userId != null">
-                and t2.user_id = ${params.userId}
+                and t2.user_id = #{params.userId}
             </if>
             <if test="params.mobilePhone != null and params.mobilePhone != ''">
-                and t2.mobile_phone = "${params.mobilePhone}"
+                and t2.mobile_phone = "#{params.mobilePhone}"
             </if>
             <if test="params.connectorId != null and params.connectorId != ''">
-                and t1.connector_id = "${params.connectorId}"
+                and t1.connector_id = "#{params.connectorId}"
             </if>
             <if test="params.stationId != null and params.stationId != ''">
-                and t1.station_id = "${params.stationId}"
+                and t1.station_id = "#{params.stationId}"
             </if>
             <if test="params.startChargeSeq != null and params.startChargeSeq != ''">
-                and t1.start_charge_seq = "${params.startChargeSeq}"
+                and t1.start_charge_seq = "#{params.startChargeSeq}"
             </if>
             <if test="params.orderStatus != null">
-                and t1.order_status = ${params.orderStatus}
+                and t1.order_status = #{params.orderStatus}
             </if>
             <if test="params.startDate != null and params.startDate != ''">
-                and t1.start_time &gt;= "${params.startDate}"
+                and t1.start_time &gt;= "#{params.startDate}"
             </if>
             <if test="params.endDate != null and params.endDate != ''">
-                and t1.end_time &lt;= "${params.endDate}"
+                and t1.end_time &lt;= "#{params.endDate}"
             </if>
         </where>
         order by t1.start_time desc

+ 3 - 5
service/src/main/java/com/kym/service/miniapp/ChargeOrderService.java

@@ -1,6 +1,5 @@
 package com.kym.service.miniapp;
 
-import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.kym.entity.admin.queryParams.CustomChargeOrdersQueryParam;
 import com.kym.entity.admin.queryParams.StatQueryParam;
@@ -9,7 +8,6 @@ import com.kym.entity.admin.vo.StationStatVo;
 import com.kym.entity.common.PageBean;
 import com.kym.entity.miniapp.ChargeOrder;
 
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -26,13 +24,13 @@ public interface ChargeOrderService extends IService<ChargeOrder> {
 
     ChargeOrder getChargingOrderByStartChargeSeq(String startChargeSeq);
 
-    PageBean<CustomOrderVo> customChargeOrders(CustomChargeOrdersQueryParam params, Integer pageNum, Integer pageSize);
+    PageBean<CustomOrderVo> customChargeOrders(CustomChargeOrdersQueryParam params);
 
     Object orderDetail(String startChargeSeq);
 
     ChargeOrder orderDetailForApp(String startChargeSeq);
 
-    JSONObject stationStat(StatQueryParam params);
+    PageBean<StationStatVo> stationStat(StatQueryParam params);
 
-    Map stationTodayStat();
+    Map<String, Object> stationTodayStat();
 }

+ 1 - 1
service/src/main/java/com/kym/service/miniapp/PayLogService.java

@@ -16,6 +16,6 @@ import com.kym.entity.miniapp.PayLog;
  */
 public interface PayLogService extends IService<PayLog> {
 
-    PageBean<CustomRechargeVo> listRecharge(CommonQueryParam params, Integer pageNum, Integer pageSize);
+    PageBean<CustomRechargeVo> listRecharge(CommonQueryParam params);
 
 }

+ 10 - 7
service/src/main/java/com/kym/service/miniapp/impl/ChargeOrderServiceImpl.java

@@ -53,15 +53,16 @@ public class ChargeOrderServiceImpl extends ServiceImpl<ChargeOrderMapper, Charg
     }
 
     @Override
-    public PageBean<CustomOrderVo> customChargeOrders(CustomChargeOrdersQueryParam params, Integer pageNum, Integer pageSize) {
+    public PageBean<CustomOrderVo> customChargeOrders(CustomChargeOrdersQueryParam params) {
         // 判断数据权限
         params.setStationId(kymCache.getAdminUserStationId(StpUtil.getLoginIdAsLong()));
-        PageHelper.startPage(pageNum, pageSize);
+        PageHelper.startPage(params.getPageNum(), params.getPageSize());
         // 查询订单列表(订单编号,手机号,充电站,充电桩SN/短码,订单状态,建单时间,结算时间,充电电量,实付金额,付款状态)
         var result = baseMapper.listChargeOrders(params);
         var page = new PageBean<>(result);
         page.setList(result.stream().map(item -> item.setShortId(kymCache.getShortId(item.getConnectorId().substring(0, 15))).setStationName(kymCache.getStationName(item.getConnectorId()))).collect(Collectors.toList()));
-        return page;
+        var map = baseMapper.statChargeOrders(params);
+        return page.setExtraData(map);
     }
 
     @Override
@@ -87,7 +88,7 @@ public class ChargeOrderServiceImpl extends ServiceImpl<ChargeOrderMapper, Charg
      * @return
      */
     @Override
-    public JSONObject stationStat(StatQueryParam params) {
+    public PageBean<StationStatVo> stationStat(StatQueryParam params) {
         // 判断数据权限
         params.setStationId(kymCache.getAdminUserStationId(StpUtil.getLoginIdAsLong()));
         PageHelper.startPage(params.getPageNum(), params.getPageSize());
@@ -95,9 +96,11 @@ public class ChargeOrderServiceImpl extends ServiceImpl<ChargeOrderMapper, Charg
             item.setElecMoneyPercent((new BigDecimal(item.getElecMoney())).divide(new BigDecimal(Math.max(1, item.getTotalMoney())), 2, RoundingMode.HALF_UP));
             item.setServiceMoneyPercent(BigDecimal.ONE.subtract(item.getElecMoneyPercent()));
         }).collect(Collectors.toList());
-        return JSONObject.parseObject(JSONObject.toJSONString(new PageBean<>(res)))
-                .fluentPut("totalPower", res.stream().mapToDouble(StationStatVo::getTotalPower).sum())
-                .fluentPut("serviceMoney", res.stream().mapToInt(StationStatVo::getServiceMoney).sum());
+        var map = Map.of(
+                "totalPower", res.stream().mapToDouble(StationStatVo::getTotalPower).sum(),
+                "serviceMoney", res.stream().mapToInt(StationStatVo::getServiceMoney).sum()
+        );
+        return new PageBean<>(res).setExtraData(map);
     }
 
     /**

+ 2 - 2
service/src/main/java/com/kym/service/miniapp/impl/PayLogServiceImpl.java

@@ -25,8 +25,8 @@ import java.util.List;
 @DS("db-miniapp")
 public class PayLogServiceImpl extends ServiceImpl<PayLogMapper, PayLog> implements PayLogService {
     @Override
-    public PageBean<CustomRechargeVo> listRecharge(CommonQueryParam params, Integer pageNum, Integer pageSize) {
-        PageHelper.startPage(pageNum, pageSize);
+    public PageBean<CustomRechargeVo> listRecharge(CommonQueryParam params) {
+        PageHelper.startPage(params.getPageNum(), params.getPageSize());
         //  充值记录(交易单号,用户,充值金额,充值方式,第三方充值编号,充值时间)
         List<CustomRechargeVo> list = baseMapper.listRecharge(params);
         return new PageBean<>(list);