From 092f6f0ac702f1f4ebe0db0589b7721c98ee9c75 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 09 八月 2024 09:36:18 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteVO.java                                  |   25 ++
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/query/SiteQuery.java                            |   29 +++
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/TAccountingStrategyDetailVO.java             |    2 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java                           |    9 +
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java             |   27 +++
 ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml                                    |   80 ++++++++
 /dev/null                                                                                                                 |  166 ------------------
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java                      |   15 +
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java       |    2 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java             |   32 +++
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java                              |    9 +
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java                   |   11 +
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java |   43 ++++
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/status/SiteStatusEnum.java                       |   46 +++++
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TFaultMessage.java                        |    6 
 15 files changed, 327 insertions(+), 175 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TFaultMessage.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TFaultMessage.java
index 236e989..3301e51 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TFaultMessage.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TFaultMessage.java
@@ -6,6 +6,7 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.hibernate.validator.constraints.Length;
 
 import java.io.Serializable;
 import java.time.LocalDateTime;
@@ -46,6 +47,11 @@
     @TableField("status")
     private Integer status;
 
+    @ApiModelProperty(value = "故障内容")
+    @Length(max = 200, message = "故障内容长度不能超过200")
+    @TableField("content")
+    private String content;
+
     @ApiModelProperty(value = "故障时间")
     @TableField("down_time")
     private LocalDateTime downTime;
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TSite.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TSite.java
deleted file mode 100644
index b099b24..0000000
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TSite.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package com.ruoyi.chargingPile.api.model;
-
-import com.baomidou.mybatisplus.annotation.*;
-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.io.Serializable;
-import java.time.LocalDateTime;
-
-/**
- * <p>
- * 
- * </p>
- *
- * @author xiaochen
- * @since 2024-08-08
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@TableName("t_site")
-@ApiModel(value="TSite对象", description="")
-public class TSite extends BasePojo {
-
-    private static final long serialVersionUID = 1L;
-
-    @ApiModelProperty(value = "主键")
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
-
-    @ApiModelProperty(value = "合作商id")
-    @TableField("partner_id")
-    private Integer partnerId;
-
-    @ApiModelProperty(value = "站点编号")
-    @TableField("code")
-    private String code;
-
-    @ApiModelProperty(value = "站点名称")
-    @TableField("name")
-    private String name;
-
-    @ApiModelProperty(value = "站点类型(0=其他,1=公共,2=个人,3=公交(专业),4=环卫(专用),5=物流(专用),6=出租车(专用))")
-    @TableField("site_type")
-    private Integer siteType;
-
-    @ApiModelProperty(value = "经营类型(1=直营,2=非直营)")
-    @TableField("business_category")
-    private Integer businessCategory;
-
-    @ApiModelProperty(value = "站点状态(1=正常使用,2=维修中,3=关闭下线)")
-    @TableField("status")
-    private Integer status;
-
-    @ApiModelProperty(value = "建设场所(0=其他,1=居民区,2=公共机构,3=企事业单位,4=写字楼,5=工业园区,6=交通枢纽,7=大型文体设施,8=城市绿地,9=大型建筑配建停车场,10=路边停车位,11=城际高速服务区)")
-    @TableField("construction_site")
-    private Integer constructionSite;
-
-    @ApiModelProperty(value = "站点环境图")
-    @TableField("img_url")
-    private String imgUrl;
-
-    @ApiModelProperty(value = "省名称")
-    @TableField("province")
-    private String province;
-
-    @ApiModelProperty(value = "省区划代码")
-    @TableField("province_code")
-    private String provinceCode;
-
-    @ApiModelProperty(value = "市名称")
-    @TableField("city")
-    private String city;
-
-    @ApiModelProperty(value = "市区划代码")
-    @TableField("city_code")
-    private String cityCode;
-
-    @ApiModelProperty(value = "区县名称")
-    @TableField("districts")
-    private String districts;
-
-    @ApiModelProperty(value = "区县区划代码")
-    @TableField("districts_code")
-    private String districtsCode;
-
-    @ApiModelProperty(value = "经度")
-    @TableField("lon")
-    private String lon;
-
-    @ApiModelProperty(value = "纬度")
-    @TableField("lat")
-    private String lat;
-
-    @ApiModelProperty(value = "详细地址")
-    @TableField("address")
-    private String address;
-
-    @ApiModelProperty(value = "国家代码")
-    @TableField("country_code")
-    private String countryCode;
-
-    @ApiModelProperty(value = "站点电话")
-    @TableField("phone")
-    private String phone;
-
-    @ApiModelProperty(value = "服务电话")
-    @TableField("service_phone")
-    private String servicePhone;
-
-    @ApiModelProperty(value = "站点引导")
-    @TableField("guide")
-    private String guide;
-
-    @ApiModelProperty(value = "开始服务时间")
-    @TableField("start_service_time")
-    private String startServiceTime;
-
-    @ApiModelProperty(value = "结束服务时间")
-    @TableField("end_service_time")
-    private String endServiceTime;
-
-    @ApiModelProperty(value = "站内提供服务")
-    @TableField("service_description")
-    private String serviceDescription;
-
-    @ApiModelProperty(value = "车型描述")
-    @TableField("vehicle_description")
-    private String vehicleDescription;
-
-    @ApiModelProperty(value = "车位数")
-    @TableField("parking_space")
-    private Integer parkingSpace;
-
-    @ApiModelProperty(value = "充电费率描述")
-    @TableField("rate_description")
-    private String rateDescription;
-
-    @ApiModelProperty(value = "超时占位费说明")
-    @TableField("space_charge_explain")
-    private String spaceChargeExplain;
-
-    @ApiModelProperty(value = "计费策略id")
-    @TableField("accounting_strategy_id")
-    private Integer accountingStrategyId;
-
-    @ApiModelProperty(value = "建站时间")
-    @TableField("establishment_time")
-    private LocalDateTime establishmentTime;
-
-    @ApiModelProperty(value = "排序")
-    @TableField("sort")
-    private Integer sort;
-
-    @ApiModelProperty(value = "备注")
-    @TableField("remark")
-    private String remark;
-
-    @ApiModelProperty(value = "评分")
-    @TableField("mark")
-    private Integer mark;
-
-
-}
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/query/SiteQuery.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/query/SiteQuery.java
new file mode 100644
index 0000000..7eb33df
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/query/SiteQuery.java
@@ -0,0 +1,29 @@
+package com.ruoyi.chargingPile.api.query;
+
+import com.ruoyi.common.core.web.page.BasePage;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel(value = "SiteQuery对象",description = "站点查询条件")
+public class SiteQuery extends BasePage {
+
+    @ApiModelProperty(value = "站点名称")
+    private String name;
+
+    @ApiModelProperty(value = "排序方式 1=离我最近 2=价格较低 3=空闲较多")
+    @NotNull(message = "排序方式不能为空")
+    private Integer sortType;
+
+    @ApiModelProperty(value = "经度")
+    @NotNull(message = "地址经度不能为空")
+    private String lon;
+
+    @ApiModelProperty(value = "纬度")
+    @NotNull(message = "地址纬度不能为空")
+    private String lat;
+
+}
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteVO.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteVO.java
new file mode 100644
index 0000000..ba71ee4
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteVO.java
@@ -0,0 +1,25 @@
+package com.ruoyi.chargingPile.api.vo;
+
+import com.ruoyi.chargingPile.api.model.Site;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@ApiModel(value = "SiteVO对象", description = "站点信息")
+public class SiteVO extends Site {
+
+    @ApiModelProperty(value = "快充数量")
+    private Integer fastCount;
+    @ApiModelProperty(value = "超充数量")
+    private Integer superCount;
+    @ApiModelProperty(value = "慢充数量")
+    private Integer slowCount;
+    @ApiModelProperty(value = "普通电价")
+    private BigDecimal electrovalence;
+    @ApiModelProperty(value = "会员电价")
+    private BigDecimal vipElectrovalence;
+
+}
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/TAccountingStrategyDetailVO.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/TAccountingStrategyDetailVO.java
index 63c2588..caa1742 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/TAccountingStrategyDetailVO.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/TAccountingStrategyDetailVO.java
@@ -11,7 +11,7 @@
 @ApiModel(value = "TAccountingStrategyDetailVO",description = "计费策略明细")
 public class TAccountingStrategyDetailVO extends TAccountingStrategyDetail {
 
-    @ApiModelProperty(value = "原价服务费")
+    @ApiModelProperty(value = "总价")
     private BigDecimal totalPrice;
 
     @ApiModelProperty(value = "会员折扣")
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/status/SiteStatusEnum.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/status/SiteStatusEnum.java
new file mode 100644
index 0000000..5d08b48
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/status/SiteStatusEnum.java
@@ -0,0 +1,46 @@
+package com.ruoyi.common.core.enums.status;
+
+import lombok.Getter;
+
+/**
+ * @Description
+ * @Author xiaochen
+ * @Date 2023/6/8 16:42
+ */
+public enum SiteStatusEnum {
+
+
+    NORMAL_USE(1, "正常使用"),
+    IN_MAINTENANCE(2, "维修中"),
+    CLOSE_OFFLINE(3, "关闭下线");
+
+    @Getter
+    private String desc;
+
+
+    @Getter
+    private int code;
+
+
+    SiteStatusEnum(int code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
+    /**
+     * 通过code获取枚举
+     *
+     * @param code
+     * @return
+     */
+    public static SiteStatusEnum fromCode(Integer code) {
+        SiteStatusEnum[] resultTypes = SiteStatusEnum.values();
+        for (SiteStatusEnum resultType : resultTypes) {
+            if (code.equals(resultType.getCode())) {
+                return resultType;
+            }
+        }
+        return null;
+    }
+
+}
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
index 5d7f589..6bb56a7 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
@@ -3,12 +3,15 @@
 import com.ruoyi.chargingPile.api.dto.GetSiteListDTO;
 import com.ruoyi.chargingPile.api.model.Site;
 import com.ruoyi.chargingPile.api.query.GetSiteList;
+import com.ruoyi.chargingPile.api.query.SiteQuery;
+import com.ruoyi.chargingPile.api.vo.SiteVO;
 import com.ruoyi.chargingPile.service.ISiteService;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.PageInfo;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -23,8 +26,8 @@
 	
 	@Resource
 	private ISiteService siteService;
-	
-	
+
+
 	@ResponseBody
 	@GetMapping("/getSiteList")
 	@ApiOperation(value = "获取站点列表", tags = {"管理后台-站点管理"})
@@ -32,7 +35,13 @@
 		PageInfo<GetSiteListDTO> list = siteService.getSiteList(siteList);
 		return AjaxResult.success(list);
 	}
-	
+
+	@ApiOperation(value = "获取站点分页列表", tags = {"小程序-站点管理"})
+	@PostMapping("/pageList")
+	public AjaxResult<PageInfo<SiteVO>> pageList(@Validated @RequestBody SiteQuery query){
+		return AjaxResult.success(siteService.pageList(query));
+	}
+
 	
 	@ResponseBody
 	@PostMapping("/getSiteList")
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
index ee1cceb..cad73d2 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
@@ -60,7 +60,7 @@
     public AjaxResult<List<TAccountingStrategyDetailVO>> queryAccountingStrategyDetailByStrategyId(@RequestParam Integer strategyId) {
         List<TAccountingStrategyDetailVO> list = accountingStrategyDetailService.queryAccountingStrategyDetailByStrategyId(strategyId);
         list.forEach(detail -> {
-            detail.setTotalPrice(detail.getCostServiceCharge().add(detail.getElectrovalence()));
+            detail.setTotalPrice(detail.getElectrovalence().add(detail.getElectrovalence()));
         });
         return AjaxResult.ok(list);
     }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java
index f4cd149..c58f62a 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java
@@ -1,9 +1,23 @@
 package com.ruoyi.chargingPile.controller;
 
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.chargingPile.api.model.TAccountingStrategy;
+import com.ruoyi.chargingPile.api.vo.TAccountingStrategyDetailVO;
+import com.ruoyi.chargingPile.service.TAccountingStrategyDetailService;
+import com.ruoyi.chargingPile.service.TAccountingStrategyService;
+import com.ruoyi.common.core.exception.ServiceException;
+import com.ruoyi.common.core.web.domain.AjaxResult;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Objects;
 
 /**
  * <p>
@@ -18,5 +32,34 @@
 @RequestMapping("/t-accounting-strategy-detail")
 public class TAccountingStrategyDetailController {
 
+    private final TAccountingStrategyService accountingStrategyService;
+    private final TAccountingStrategyDetailService accountingStrategyDetailService;
+
+    @Autowired
+    public TAccountingStrategyDetailController(TAccountingStrategyService accountingStrategyService, TAccountingStrategyDetailService accountingStrategyDetailService) {
+        this.accountingStrategyService = accountingStrategyService;
+        this.accountingStrategyDetailService = accountingStrategyDetailService;
+    }
+
+    /**
+     * 通过电站id查询计费策略明细列表
+     */
+    @ApiOperation(tags = {"小程序-计费策略"},value = "通过站点id查询计费策略明细列表")
+    @GetMapping(value = "/queryAccountingStrategyDetailBySiteId")
+    public AjaxResult<List<TAccountingStrategyDetailVO>> queryAccountingStrategyDetailBySiteId(@RequestParam Integer siteId) {
+        TAccountingStrategy accountingStrategy = accountingStrategyService.getOne(Wrappers.lambdaQuery(TAccountingStrategy.class)
+                .eq(TAccountingStrategy::getSiteId, siteId)
+                .last("limit 1"));
+        if(Objects.isNull(accountingStrategy)){
+            throw new ServiceException("未查询到计费策略");
+        }
+        // TODO 修改
+        List<TAccountingStrategyDetailVO> list = accountingStrategyDetailService.queryAccountingStrategyDetailByStrategyId(accountingStrategy.getId());
+        list.forEach(detail -> {
+            detail.setTotalPrice(detail.getElectrovalence().add(detail.getElectrovalence()));
+        });
+        return AjaxResult.ok(list);
+    }
+
 }
 
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java
index 4d5ba01..66777e4 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java
@@ -1,9 +1,20 @@
 package com.ruoyi.chargingPile.controller;
 
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.chargingPile.api.model.TChargingPile;
+import com.ruoyi.chargingPile.api.query.TChargingGunQuery;
+import com.ruoyi.chargingPile.api.vo.TChargingGunVO;
+import com.ruoyi.chargingPile.service.TChargingGunService;
+import com.ruoyi.chargingPile.service.TChargingPileService;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.PageInfo;
 import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 /**
  * <p>
@@ -18,5 +29,22 @@
 @RequestMapping("/t-charging-pile")
 public class TChargingPileController {
 
+    private final TChargingPileService chargingPileService;
+
+    @Autowired
+    public TChargingPileController(TChargingPileService chargingPileService) {
+        this.chargingPileService = chargingPileService;
+    }
+
+    /**
+     * 查询充电桩列表
+     */
+    @ApiOperation(tags = {"小程序-充电桩"},value = "查询充电桩列表")
+    @PostMapping(value = "/list")
+    public AjaxResult<List<TChargingPile>> list(@RequestParam(name = "siteId",value = "站点id",required = false)Integer siteId) {
+        return AjaxResult.ok(chargingPileService.list(Wrappers.lambdaQuery(TChargingPile.class)
+                .eq(TChargingPile::getSiteId,siteId)));
+    }
+
 }
 
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java
index bfacc04..a37a427 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java
@@ -1,6 +1,16 @@
 package com.ruoyi.chargingPile.controller;
 
 
+import com.ruoyi.chargingPile.api.dto.TChargingGunDTO;
+import com.ruoyi.chargingPile.api.model.TFaultMessage;
+import com.ruoyi.chargingPile.service.TChargingPileService;
+import com.ruoyi.chargingPile.service.TFaultMessageService;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -16,5 +26,22 @@
 @RequestMapping("/t-fault-message")
 public class TFaultMessageController {
 
+    private final TFaultMessageService faultMessageService;
+
+    @Autowired
+    public TFaultMessageController(TFaultMessageService faultMessageService) {
+        this.faultMessageService = faultMessageService;
+    }
+
+    /**
+     * 添加故障报修管理
+     */
+    @ApiOperation(tags = {"小程序-故障报修"},value = "添加故障报修管理")
+    @PostMapping(value = "/add")
+    public AjaxResult<Boolean> add(@Validated @RequestBody TFaultMessage dto) {
+        return AjaxResult.ok(faultMessageService.save(dto));
+    }
+
+
 }
 
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java
index 42263de..7fae91b 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/SiteMapper.java
@@ -4,6 +4,8 @@
 import com.ruoyi.chargingPile.api.dto.GetSiteListDTO;
 import com.ruoyi.chargingPile.api.model.Site;
 import com.ruoyi.chargingPile.api.query.GetSiteList;
+import com.ruoyi.chargingPile.api.query.SiteQuery;
+import com.ruoyi.chargingPile.api.vo.SiteVO;
 import com.ruoyi.common.core.web.page.PageInfo;
 import org.apache.ibatis.annotations.Param;
 
@@ -23,4 +25,11 @@
 	 * @return
 	 */
 	List<GetSiteListDTO> getSiteList(PageInfo<GetSiteListDTO> pageInfo, @Param("item") GetSiteList siteList);
+
+	/**
+	 * 获取站点分页列表
+	 * @return
+	 */
+	List<SiteVO> pageList(@Param("query")SiteQuery query,@Param("pageInfo")PageInfo<SiteVO> pageInfo);
+
 }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java
index 5e136d6..96259c2 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/ISiteService.java
@@ -4,6 +4,8 @@
 import com.ruoyi.chargingPile.api.dto.GetSiteListDTO;
 import com.ruoyi.chargingPile.api.model.Site;
 import com.ruoyi.chargingPile.api.query.GetSiteList;
+import com.ruoyi.chargingPile.api.query.SiteQuery;
+import com.ruoyi.chargingPile.api.vo.SiteVO;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.PageInfo;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -46,4 +48,11 @@
 	 * @return
 	 */
 	AjaxResult delSite(Integer id);
+
+	/**
+	 * 获取站点分页列表
+	 * @param query
+	 * @return
+	 */
+	PageInfo<SiteVO> pageList(SiteQuery query);
 }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
index 8ed6be2..d07b067 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
@@ -5,6 +5,9 @@
 import com.ruoyi.chargingPile.api.dto.GetSiteListDTO;
 import com.ruoyi.chargingPile.api.model.Site;
 import com.ruoyi.chargingPile.api.query.GetSiteList;
+import com.ruoyi.chargingPile.api.query.SiteQuery;
+import com.ruoyi.chargingPile.api.vo.SiteVO;
+import com.ruoyi.chargingPile.api.vo.TAccountingStrategyVO;
 import com.ruoyi.chargingPile.mapper.SiteMapper;
 import com.ruoyi.chargingPile.service.ISiteService;
 import com.ruoyi.common.core.utils.StringUtils;
@@ -142,4 +145,12 @@
 		this.updateById(site);
 		return AjaxResult.success();
 	}
+
+	@Override
+	public PageInfo<SiteVO> pageList(SiteQuery query) {
+		PageInfo<SiteVO> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize());
+		List<SiteVO> list = this.baseMapper.pageList(query,pageInfo);
+		pageInfo.setRecords(list);
+		return pageInfo;
+	}
 }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml
index e9cf906..3e354b3 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml
@@ -7,7 +7,7 @@
 		<id column="id" property="id" />
 		<result column="partner_id" property="partnerId" />
 		<result column="`code`" property="code" />
-		<result column="name" property="name" />
+		<result column="`name`" property="name" />
 		<result column="site_type" property="siteType" />
 		<result column="business_category" property="businessCategory" />
 		<result column="status" property="status" />
@@ -41,7 +41,11 @@
 		<result column="create_time" property="createTime" />
 		<result column="del_flag" property="delFlag" />
 	</resultMap>
-	
+
+	<!-- 通用查询结果列 -->
+	<sql id="Base_Column_List">
+		id, partner_id, code, `name`, site_type, business_category, status, construction_site, img_url, province, province_code, city, city_code, districts, districts_code, lon, lat, address, country_code, phone, service_phone, guide, start_service_time, end_service_time, service_description, vehicle_description, parking_space, rate_description, space_charge_explain, accounting_strategy_id, establishment_time, sort, remark, create_time, del_flag, mark
+	</sql>
 	
 	<select id="getSiteList" resultType="com.ruoyi.chargingPile.api.dto.GetSiteListDTO">
 		select
@@ -89,4 +93,76 @@
 		</if>
 		order by a.sort desc, a.create_time desc limit #{item.pageCurr}, #{item.pageSize}
 	</select>
+
+	<select id="pageList" resultType="com.ruoyi.chargingPile.api.vo.SiteVO">
+		select
+		ts.id, ts.partner_id, ts.code, ts.`name`, ts.site_type, ts.business_category, ts.status, ts.construction_site, ts.img_url,
+		ts.lon, ts.lat, ts.address, ts.country_code, ts.phone,ts.guide, ts.service_description, ts.vehicle_description,
+		ts.parking_space, ts.rate_description, ts.space_charge_explain, ts.accounting_strategy_id,ts.del_flag,tcg.fastCount,
+		tcg.slowCount,tcg.superCount,tasd.electrovalence,tasd.vipElectrovalence,
+		ROUND(
+		6378.138 * 2 * ASIN(
+		SQRT(
+		POW(
+		SIN(
+		(
+		#{query.lat} * PI() / 180 - ts.lat * PI() / 180
+		) / 2
+		),
+		2
+		) + COS(#{query.lat} * PI() / 180) * COS(ts.lat * PI() / 180) * POW(
+		SIN(
+		(
+		#{query.lon} * PI() / 180 - ts.lon * PI() / 180
+		) / 2
+		),
+		2
+		)
+		)
+		) * 1000
+		) AS distance
+		from t_site ts
+		left join (
+		select site_id,
+			SUM(CASE WHEN charge_mode = 1 THEN 1 ELSE 0 END) AS superCount,
+			SUM(CASE WHEN charge_mode = 2 THEN 1 ELSE 0 END) AS fastCount,
+			SUM(CASE WHEN charge_mode = 3 THEN 1 ELSE 0 END) AS slowCount
+		from
+		    t_charging_gun
+		where
+		    del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
+		group by
+		    site_id) tcg on (ts.id = tcg.site_id)
+		left join (
+		select
+		    a.accounting_strategy_id,
+			(a.electrovalence+a.service_charge) AS electrovalence,
+			((a.electrovalence+a.service_charge)*a.discount) AS vipElectrovalence
+		from
+		    t_accounting_strategy_detail a
+		left join
+		        t_accounting_strategy b on (a.accounting_strategy_id = b.id)
+		where b.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
+		AND DATE_FORMAT(NOW(), '%H:%i:%s') between b.start_time and b.end_time) tasd on (ts.accounting_strategy_id = tasd.accounting_strategy_id)
+		<where>
+			<if test="null != query.name and '' != query.name">
+				and ts.`name` like CONCAT('%', #{query.name}, '%')
+			</if>
+			AND ts.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
+			AND ts.status = ${@com.ruoyi.common.core.enums.SiteStatusEnum@NORMAL_USE.getCode()}
+		</where>
+		<if test="query.sortType != null">
+			<choose>
+				<when test="query.sortType == 1">
+					ORDER BY ts.distance ASC
+				</when>
+				<when test="query.sortType == 2">
+					ORDER BY tasd.electrovalence ASC
+				</when>
+				<when test="query.sortType == 3">
+					ORDER BY (tcg.fastCount + tcg.slowCount + tcg.superCount) DESC
+				</when>
+			</choose>
+		</if>
+	</select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.7.1