Przeglądaj źródła

admin 充电订单列表

skyline 2 lat temu
rodzic
commit
4e1528d730

+ 3 - 4
admin/src/main/java/com/kym/admin/aspect/SysLogAspect.java

@@ -1,7 +1,7 @@
 package com.kym.admin.aspect;
 
 import cn.dev33.satoken.stp.StpUtil;
-import com.google.gson.Gson;
+import com.alibaba.fastjson2.JSON;
 import com.kym.common.annotation.SysLog;
 import com.kym.common.utils.HttpContextUtils;
 import com.kym.common.utils.IDGenerator;
@@ -16,7 +16,6 @@ import org.aspectj.lang.annotation.Pointcut;
 import org.aspectj.lang.reflect.MethodSignature;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.lang.reflect.Method;
@@ -32,8 +31,8 @@ import java.lang.reflect.Method;
 public class SysLogAspect {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(SysLogAspect.class);
-    IDGenerator idGenerator;
     private final SystemLogService systemLogService;
+    IDGenerator idGenerator;
 
     SysLogAspect(SystemLogService systemLogService) {
         this.idGenerator = new IDGenerator();
@@ -75,7 +74,7 @@ public class SysLogAspect {
         systemLog.setMethod(className + "." + methodName + "()");
         //请求的参数
         Object[] args = joinPoint.getArgs();
-        String params = new Gson().toJson(args);
+        String params = JSON.toJSON(args).toString();
         systemLog.setRequestParam(params);
         //获取request
         HttpServletRequest request = HttpContextUtils.getHttpServletRequest();

+ 2 - 5
admin/src/main/java/com/kym/admin/controller/CustomController.java

@@ -33,9 +33,6 @@ public class CustomController {
         this.payLogService = payLogService;
     }
 
-    // TODO: 2023-08-18 用户信息列表(基本信息,余额)
-
-
     @SysLog("查询用户列表")
     @GetMapping("/listUser")
     public R listUser(@ModelAttribute CommonQueryParam params,
@@ -45,8 +42,8 @@ public class CustomController {
     }
 
     @SysLog("查询用户充电订单列表")
-    @GetMapping("/listUserChargeOrders")
-    public R listUserChargeOrders(CustomChargeOrdersQueryParam params,
+    @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));

+ 0 - 15
entity/src/main/java/com/kym/entity/admin/Station.java

@@ -1,19 +1,15 @@
 package com.kym.entity.admin;
 
-import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
-import com.alibaba.fastjson2.annotation.JSONCreator;
 import com.alibaba.fastjson2.annotation.JSONField;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
 import com.kym.entity.BaseEntity;
-import com.kym.entity.enplus.EnEquipmentInfo;
 import lombok.Getter;
 import lombok.Setter;
 
 import java.io.Serializable;
-import java.util.List;
 
 /**
  * <p>
@@ -185,16 +181,5 @@ public class Station extends BaseEntity implements Serializable {
     @JSONField(name = "Remark")
     private String remark;
 
-    /**
-     * 充电设备信息列表
-     */
-    private List<EnEquipmentInfo> equipmentInfos;
-
-
-    @JSONCreator
-    public Station(@JSONField(name = "StationLng") Double lng, @JSONField(name = "StationLat") Double lat, @JSONField(name = "EquipmentInfos") JSONArray array) {
-        this.location = JSONObject.of("stationLng", lng, "stationLat", lat);
-        this.equipmentInfos = array.toJavaList(EnEquipmentInfo.class);
-    }
 
 }

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

@@ -18,7 +18,7 @@ public class CustomChargeOrdersQueryParam {
     /**
      * 充电订单号
      */
-    private String startChargeNo;
+    private String startChargeSeq;
     /**
      * 手机号
      */

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

@@ -0,0 +1,30 @@
+package com.kym.entity.admin.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * @author skyline
+ * @description
+ * @date 2023-08-30 18:55
+ */
+@Data
+public class CustomOrderVo {
+    private Long userId;
+    private String mobilePhone;
+    private String startChargeSeq;
+    private String stationId;
+    private String connectorId;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime startTime;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime endTime;
+    private Double totalPower;
+    private Integer totalMoney;
+    private Integer elecMoney;
+    private Integer serviceMoney;
+    private Integer orderStatus;
+    private Integer chargeStatus;
+}

+ 200 - 0
entity/src/main/java/com/kym/entity/admin/vo/StationVo.java

@@ -0,0 +1,200 @@
+package com.kym.entity.admin.vo;
+
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
+import com.alibaba.fastjson2.annotation.JSONCreator;
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
+import com.kym.entity.BaseEntity;
+import com.kym.entity.enplus.EnEquipmentInfo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * <p>
+ * 充电站信息
+ * </p>
+ *
+ * @author skyline
+ * @since 2023-08-12
+ */
+@Getter
+@Setter
+public class StationVo extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 公司id
+     */
+    private Long companyId;
+
+    /**
+     * 电站组id
+     */
+    private Long groupId;
+
+    /**
+     * en+充电站id
+     */
+    @JSONField(name = "StationID")
+    private String stationId;
+
+    /**
+     * en+运营商id
+     */
+    @JSONField(name = "OperatorID")
+    private String operatorId;
+
+    /**
+     * 设备所属运营平台组织机构代码
+     */
+    @JSONField(name = "EquipmentOwnerID")
+    private String equipmentOwnerId;
+
+    /**
+     * 站点名称
+     */
+    @JSONField(name = "StationName")
+    private String stationName;
+
+    /**
+     * 充电中国家代码:CN
+     */
+    @JSONField(name = "CountryCode")
+    private String countryCode;
+
+    /**
+     * 充电站省市辖区编码
+     */
+    @JSONField(name = "AreaCode")
+    private String areaCode;
+
+    /**
+     * 地址
+     */
+    @JSONField(name = "Address")
+    private String address;
+
+    /**
+     * 站点电话
+     */
+    @JSONField(name = "StationTel")
+    private String stationTel;
+
+    /**
+     * 服务电话
+     */
+    @JSONField(name = "ServiceTel")
+    private String serviceTel;
+
+    /**
+     * 站点类型:1:公共 50:个人 100:公交(专业)101:环卫(专用)102:物流(专用)103:出租车(专用)255:其他
+     */
+    @JSONField(name = "StationType")
+    private Integer stationType;
+
+    /**
+     * 站点状态:0:未知 1:建设中 5:关闭下线 6:维护中 50:正常使用
+     */
+    @JSONField(name = "StationStatus")
+    private Integer stationStatus;
+
+    /**
+     * 充电车位数量
+     */
+    @JSONField(name = "ParkNums")
+    private Integer parkingNum;
+
+    /**
+     * 充电桩位置坐标
+     * <p>
+     * FastjsonTypeHandler
+     * 支持 MVC JSON 解析
+     * 不支持 MySQL JSON 解析
+     * <p>
+     * JacksonTypeHandler
+     * 支持 MVC JSON 解析
+     * 支持 MySQL JSON 解析
+     */
+    @TableField(typeHandler = JacksonTypeHandler.class)
+    private JSONObject location;
+    /**
+     * 站点引导
+     */
+    @JSONField(name = "SiteGuide")
+    private String siteGuide;
+    /**
+     * 建设场所:1:居民区 2:公共机构 3:企事业单位 4:写字楼 5:工业园区 6:交通枢纽 7:大型文体设施 8:城市绿地 9:大型建筑配建停车场 10:路边停车位 11:城际高速服务区 255:其他
+     */
+    @JSONField(name = "Construction")
+    private Integer construction;
+    /**
+     * 站点照片
+     */
+    private String pictures;
+    /**
+     * 使用车型描述
+     */
+    @JSONField(name = "MatchCars")
+    private String matchCars;
+    /**
+     * 车位楼层及数量描述
+     */
+    @JSONField(name = "ParkInfo")
+    private String parkInfo;
+    /**
+     * 营业时间描述
+     */
+    @JSONField(name = "BusineHours")
+    private String businessHours;
+    /**
+     * 充电费描述
+     */
+    @JSONField(name = "ElectricityFee")
+    private String electricityFee;
+    /**
+     * 服务费率描述
+     */
+    @JSONField(name = "ServiceFee")
+    private String serviceFee;
+    /**
+     * 停车费
+     */
+    @JSONField(name = "ParkFee")
+    private String parkFee;
+    /**
+     * 支付方式:刷卡、线上、现金(电子钱包类卡为刷卡、身份鉴权卡、微信/支付宝、APP为线上)
+     */
+    @JSONField(name = "Payment")
+    private String payment;
+    /**
+     * 是否支持预约:0:不支持 1:支持
+     */
+    @JSONField(name = "SupportOrder")
+    private Integer supportOrder;
+    /**
+     * 备注
+     */
+    @JSONField(name = "Remark")
+    private String remark;
+
+    /**
+     * 充电设备信息列表
+     */
+    @TableField(exist = false)
+    private List<EnEquipmentInfo> equipmentInfos;
+
+
+    @JSONCreator
+    public StationVo(@JSONField(name = "StationLng") Double lng, @JSONField(name = "StationLat") Double lat, @JSONField(name = "EquipmentInfos") JSONArray array) {
+        this.location = JSONObject.of("stationLng", lng, "stationLat", lat);
+        this.equipmentInfos = array.toJavaList(EnEquipmentInfo.class);
+    }
+
+}

+ 7 - 1
mapper/src/main/java/com/kym/mapper/miniapp/ChargeOrderMapper.java

@@ -1,7 +1,12 @@
 package com.kym.mapper.miniapp;
 
-import com.kym.entity.miniapp.ChargeOrder;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kym.entity.admin.queryParams.CustomChargeOrdersQueryParam;
+import com.kym.entity.admin.vo.CustomOrderVo;
+import com.kym.entity.miniapp.ChargeOrder;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +18,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ChargeOrderMapper extends BaseMapper<ChargeOrder> {
 
+    List<CustomOrderVo> listChargeOrders(@Param("params") CustomChargeOrdersQueryParam params);
 }

+ 82 - 20
mapper/src/main/resources/mappers/miniapp/ChargeOrderMapper.xml

@@ -4,30 +4,92 @@
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.kym.entity.miniapp.ChargeOrder">
-        <id column="id" property="id" />
-        <result column="user_id" property="userId" />
-        <result column="station_id" property="stationId" />
-        <result column="start_charge_seq" property="startChargeSeq" />
-        <result column="connector_id" property="connectorId" />
-        <result column="start_time" property="startTime" />
-        <result column="end_time" property="endTime" />
-        <result column="soc" property="soc" />
-        <result column="total_power" property="totalPower" />
-        <result column="total_money" property="totalMoney" />
-        <result column="elec_money" property="elecMoney" />
-        <result column="service_money" property="serviceMoney" />
-        <result column="sum_period" property="sumPeriod" />
-        <result column="charge_detail" property="chargeDetail" />
-        <result column="order_status" property="orderStatus" />
-        <result column="charge_status" property="chargeStatus" />
-        <result column="stop_reason" property="stopReason" />
-        <result column="create_time" property="createTime" />
-        <result column="update_time" property="updateTime" />
+        <id column="id" property="id"/>
+        <result column="user_id" property="userId"/>
+        <result column="station_id" property="stationId"/>
+        <result column="start_charge_seq" property="startChargeSeq"/>
+        <result column="connector_id" property="connectorId"/>
+        <result column="start_time" property="startTime"/>
+        <result column="end_time" property="endTime"/>
+        <result column="soc" property="soc"/>
+        <result column="total_power" property="totalPower"/>
+        <result column="total_money" property="totalMoney"/>
+        <result column="elec_money" property="elecMoney"/>
+        <result column="service_money" property="serviceMoney"/>
+        <result column="sum_period" property="sumPeriod"/>
+        <result column="charge_detail" property="chargeDetail"/>
+        <result column="order_status" property="orderStatus"/>
+        <result column="charge_status" property="chargeStatus"/>
+        <result column="stop_reason" property="stopReason"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_time" property="updateTime"/>
+    </resultMap>
+
+    <resultMap id="CustomChargeOrderMap" type="com.kym.entity.admin.vo.CustomOrderVo">
+        <result column="user_id" property="userId"/>
+        <result column="mobile_phone" property="mobilePhone"/>
+        <result column="start_charge_seq" property="startChargeSeq"/>
+        <result column="station_id" property="stationId"/>
+        <result column="connector_id" property="connectorId"/>
+        <result column="start_time" property="startTime"/>
+        <result column="end_time" property="endTime"/>
+        <result column="total_power" property="totalPower"/>
+        <result column="total_money" property="totalMoney"/>
+        <result column="elec_money" property="elecMoney"/>
+        <result column="service_money" property="serviceMoney"/>
+        <result column="order_status" property="orderStatus"/>
+        <result column="charge_status" property="chargeStatus"/>
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        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, create_time, update_time
+        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, create_time, update_time
     </sql>
 
+    <select id="listChargeOrders" resultMap="CustomChargeOrderMap"
+            parameterType="com.kym.entity.admin.queryParams.CustomChargeOrdersQueryParam">
+        SELECT
+        t1.user_id,
+        t2.mobile_phone,
+        t1.start_charge_seq,
+        t1.station_id,
+        t1.connector_id,
+        t1.start_time,
+        t1.end_time,
+        t1.total_power,
+        t1.total_money,
+        t1.elec_money,
+        t1.service_money,
+        t1.order_status,
+        t1.charge_status
+        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 t2.mobile_phone = "${params.mobilePhone}"
+            </if>
+            <if test="params.connectorId != null">
+                and t1.connector_id = "${params.connectorId}"
+            </if>
+            <if test="params.startChargeSeq != null">
+                and t1.start_charge_seq = "${params.startChargeSeq}"
+            </if>
+            <if test="params.orderStatus != null">
+                and t1.order_status = ${params.orderStatus}
+            </if>
+            <if test="params.startDate != null">
+                and t1.start_time &gt;= "${params.startDate}"
+            </if>
+            <if test="params.endDate != null">
+                and t1.end_time &lt;= "${params.endDate}"
+            </if>
+        </where>
+    </select>
+
 </mapper>

+ 2 - 1
miniapp/src/main/java/com/kym/miniapp/controller/ChargerController.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSONObject;
 import com.kym.common.R;
 import com.kym.common.annotation.ApiLog;
 import com.kym.entity.admin.Station;
+import com.kym.entity.admin.vo.StationVo;
 import com.kym.entity.enplus.response.EnResponse;
 import com.kym.entity.miniapp.ChargeOrder;
 import com.kym.service.admin.StationService;
@@ -54,7 +55,7 @@ public class ChargerController {
     @GetMapping("/listStation")
     R listChargeStation(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
         // 请求en+接口
-        List<Station> response = stationService.queryStationInfo(pageNum, pageSize);
+        List<StationVo> response = stationService.queryStationInfo(pageNum, pageSize);
         return R.success(response);
     }
 

+ 2 - 1
service/src/main/java/com/kym/service/admin/StationService.java

@@ -3,6 +3,7 @@ package com.kym.service.admin;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.kym.entity.admin.Station;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.kym.entity.admin.vo.StationVo;
 import com.kym.entity.enplus.EnStationStatsInfo;
 import com.kym.entity.enplus.EnStationStatusInfo;
 import org.springframework.transaction.annotation.Transactional;
@@ -19,7 +20,7 @@ import java.util.List;
  */
 public interface StationService extends IService<Station> {
 
-    public List<Station> queryStationInfo(int pageNum, int pageSize) throws JsonProcessingException;
+    public List<StationVo> queryStationInfo(int pageNum, int pageSize) throws JsonProcessingException;
 
     public List<EnStationStatusInfo> stationStatus(String[] ids);
 

+ 21 - 8
service/src/main/java/com/kym/service/admin/impl/StationServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.kym.common.enums.EnPlusApi;
 import com.kym.common.utils.AESUtil;
 import com.kym.entity.admin.Station;
+import com.kym.entity.admin.vo.StationVo;
 import com.kym.entity.enplus.EnStationStatsInfo;
 import com.kym.entity.enplus.EnStationStatusInfo;
 import com.kym.mapper.admin.StationMapper;
@@ -14,10 +15,12 @@ import com.kym.service.enplus.EnPlusService;
 import com.kym.service.utils.KymCache;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.BeanUtils;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -33,15 +36,18 @@ import java.util.List;
 public class StationServiceImpl extends ServiceImpl<StationMapper, Station> implements StationService {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(StationServiceImpl.class);
-    @Autowired
-    private KymCache kymCache;
+    private final KymCache kymCache;
 
 
-    @Autowired
-    private EnPlusService enPlusService;
+    private final EnPlusService enPlusService;
+
+    public StationServiceImpl(@Lazy KymCache kymCache, EnPlusService enPlusService) {
+        this.kymCache = kymCache;
+        this.enPlusService = enPlusService;
+    }
 
     @Override
-    public List<Station> queryStationInfo(int pageNum, int pageSize) {
+    public List<StationVo> queryStationInfo(int pageNum, int pageSize) {
         var param = """
                 {
                     "PageNo":%d,
@@ -51,7 +57,7 @@ public class StationServiceImpl extends ServiceImpl<StationMapper, Station> impl
                 """.formatted(pageNum, pageSize);
         var response = enPlusService.enPlusPost(EnPlusApi.EN_PLUS_QUERY_STATION_INFO.getApi(), enPlusService.buildParams(param));
         var enStations = JSONObject.parseObject(AESUtil.decrypt(response.getData()));
-        var stationList = enStations.getJSONArray("StationInfos").toJavaList(Station.class);
+        var stationList = enStations.getJSONArray("StationInfos").toJavaList(StationVo.class);
         stationList.forEach(station -> station.getEquipmentInfos().forEach(enEquipmentInfo -> enEquipmentInfo.setShortId(kymCache.getShortId(enEquipmentInfo.getEquipmentId()))));
         return stationList;
 
@@ -101,7 +107,14 @@ public class StationServiceImpl extends ServiceImpl<StationMapper, Station> impl
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void pullEnStationInfos() {
-        saveOrUpdateBatch(queryStationInfo(1, 1000));
+        var stationVoList = queryStationInfo(1, 1000);
+        var stationList = new ArrayList<Station>();
+        stationVoList.forEach(vo -> {
+            var station = new Station();
+            BeanUtils.copyProperties(vo, station);
+            stationList.add(station);
+        });
+        saveOrUpdateBatch(stationList);
     }
 
 }

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

@@ -1,9 +1,10 @@
 package com.kym.service.miniapp;
 
-import com.github.pagehelper.PageInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.kym.entity.admin.queryParams.CustomChargeOrdersQueryParam;
+import com.kym.entity.admin.vo.CustomOrderVo;
+import com.kym.entity.common.PageBean;
 import com.kym.entity.miniapp.ChargeOrder;
-import com.baomidou.mybatisplus.extension.service.IService;
 
 /**
  * <p>
@@ -19,7 +20,7 @@ public interface ChargeOrderService extends IService<ChargeOrder> {
 
     ChargeOrder getChargingOrderByStartChargeSeq(String startChargeSeq);
 
-    PageInfo<ChargeOrder> customChargeOrders(CustomChargeOrdersQueryParam params, Integer pageNum, Integer pageSize);
+    PageBean<CustomOrderVo> customChargeOrders(CustomChargeOrdersQueryParam params, Integer pageNum, Integer pageSize);
 
     Object orderDetail(String startChargeSeq);
 

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

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.kym.entity.admin.queryParams.CustomChargeOrdersQueryParam;
+import com.kym.entity.admin.vo.CustomOrderVo;
+import com.kym.entity.common.PageBean;
 import com.kym.entity.miniapp.ChargeOrder;
 import com.kym.mapper.miniapp.ChargeOrderMapper;
 import com.kym.service.miniapp.ChargeOrderService;
@@ -32,10 +34,13 @@ public class ChargeOrderServiceImpl extends ServiceImpl<ChargeOrderMapper, Charg
     }
 
     @Override
-    public PageInfo<ChargeOrder> customChargeOrders(CustomChargeOrdersQueryParam params, Integer pageNum, Integer pageSize) {
+    public PageBean<CustomOrderVo> customChargeOrders(CustomChargeOrdersQueryParam params, Integer pageNum, Integer pageSize) {
         PageHelper.startPage(pageNum, pageSize);
-        // TODO: 2023-08-22 查询订单列表(订单编号,手机号,充电站,充电桩SN/短码,订单状态,建单时间,结算时间,充电电量,实付金额,付款状态)
-        return null;
+        // 查询订单列表(订单编号,手机号,充电站,充电桩SN/短码,订单状态,建单时间,结算时间,充电电量,实付金额,付款状态)
+        var result = baseMapper.listChargeOrders(params);
+        // stationName处理
+
+        return new PageBean<>(result);
     }
 
     @Override

+ 9 - 2
service/src/main/java/com/kym/service/utils/KymCache.java

@@ -1,7 +1,9 @@
 package com.kym.service.utils;
 
 import com.kym.entity.admin.EquipmentRelation;
+import com.kym.entity.admin.Station;
 import com.kym.service.admin.EquipmentRelationService;
+import com.kym.service.admin.StationService;
 import lombok.Data;
 import org.springframework.stereotype.Component;
 
@@ -18,12 +20,13 @@ import java.util.stream.Collectors;
 public class KymCache {
 
     private static Map<String, String> SHORT_ID_MAPPING;
-
     private static Map<String, String> CONNECTOR_STATION_MAPPING;
+    private static Map<String, String> STATION_MAPPING;
 
-    public KymCache(EquipmentRelationService relationService) {
+    public KymCache(EquipmentRelationService relationService, StationService stationService) {
         SHORT_ID_MAPPING = relationService.list().stream().collect(Collectors.toMap(EquipmentRelation::getEquipmentId, EquipmentRelation::getShortId));
         CONNECTOR_STATION_MAPPING = relationService.list().stream().collect(Collectors.toMap(EquipmentRelation::getConnectorId, EquipmentRelation::getStationId));
+        STATION_MAPPING = stationService.list().stream().collect(Collectors.toMap(Station::getStationId, Station::getStationName));
     }
 
     public String getShortId(String equipmentId) {
@@ -34,5 +37,9 @@ public class KymCache {
         return CONNECTOR_STATION_MAPPING.get(connectorId);
     }
 
+    public String getStationName(String stationId) {
+        return STATION_MAPPING.get(stationId);
+    }
+
 
 }