From c0211a20f4f2d94fe1ac7657284504afa876b8a0 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期一, 04 十一月 2024 18:47:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java                    |   43 ++++---
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TIntegralRule.java                                  |    3 
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingPileClient.java          |   10 -
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/FileController.java                             |    6 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java           |    8 -
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java                    |    1 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java                    |   28 ----
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java                       |    2 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java                         |    9 +
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java                       |   33 ++--
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java                          |   43 +++++++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java                         |   11 +
 ruoyi-service/ruoyi-chargingPile/src/main/resources/template/结算汇总.xlsx                                                 |    0 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java         |    6 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java       |   24 ++++
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java     |    3 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java                        |   31 +++++
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/UpdateChargingPileStatusVo.java           |   15 ++
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/model/BaseResponse.java                |   41 +++++-
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TSettlementConfirm.java                              |    7 +
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java                    |    6 +
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java          |    7 
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java     |    3 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/controller/ParkingOrderController.java |    1 
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ParkingLotClient.java            |    2 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/config/FileUploadConfig.java                               |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java        |    9 +
 27 files changed, 248 insertions(+), 106 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java
index b52e7e8..b4cd200 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java
@@ -94,9 +94,15 @@
             }
 
             @Override
+            public R<Boolean> sensitiveWordDetection(String content, String openid) {
+                return R.fail("敏感词校验失败:" + throwable.getMessage());
+            }
+
+            @Override
             public R<String> sendMessage(SendMessageDTO sendMessageDTO) {
                 return R.fail("短信发送失败:" + throwable.getMessage());
             }
+
         };
     }
 }
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
index 1c4316b..904e7aa 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
@@ -96,6 +96,15 @@
     R<String> getWXToken();
 
     /**
+     * 敏感词检测
+     * @param content
+     * @param openid
+     * @return
+     */
+    @PostMapping("/wxLogin/sensitiveWordDetection")
+    R<Boolean> sensitiveWordDetection (@RequestParam("content") String content, @RequestParam("openid") String openid);
+
+    /**
      * 短信发送
      * @return
      */
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java
index eb221dd..b5e2ebc 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java
@@ -3,6 +3,7 @@
 import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient;
 import com.ruoyi.chargingPile.api.model.TChargingPile;
 import com.ruoyi.chargingPile.api.vo.SiteInfoVO;
+import com.ruoyi.chargingPile.api.vo.UpdateChargingPileStatusVo;
 import com.ruoyi.common.core.domain.R;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -58,7 +59,7 @@
             }
     
             @Override
-            public void updateChargingPileStatus(String pile_code, String gun_code, Integer status) {
+            public void updateChargingPileStatus(UpdateChargingPileStatusVo vo) {
                 log.error("修改充电桩状态失败:" + throwable.getMessage());
             }
             
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingPileClient.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingPileClient.java
index 60448b2..d22aa62 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingPileClient.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingPileClient.java
@@ -3,14 +3,12 @@
 import com.ruoyi.chargingPile.api.factory.ChargingPileFallbackFactory;
 import com.ruoyi.chargingPile.api.model.TChargingPile;
 import com.ruoyi.chargingPile.api.vo.SiteInfoVO;
+import com.ruoyi.chargingPile.api.vo.UpdateChargingPileStatusVo;
 import com.ruoyi.common.core.constant.ServiceNameConstants;
 import com.ruoyi.common.core.domain.R;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -53,9 +51,7 @@
     
     /**
      * 修改充电桩状态
-     * @param code
-     * @param status
      */
     @PostMapping("/t-charging-pile/updateChargingPileStatus")
-    void updateChargingPileStatus(@RequestParam("pile_code") String pile_code, @RequestParam("gun_code") String gun_code, @RequestParam("status") Integer status);
+    void updateChargingPileStatus(@RequestBody UpdateChargingPileStatusVo vo);
 }
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ParkingLotClient.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ParkingLotClient.java
index fea8b39..2751195 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ParkingLotClient.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ParkingLotClient.java
@@ -29,7 +29,7 @@
     @PostMapping(value = "/t-parking-lot/getLotBySiteId")
     public R<TParkingLot> getLotBySiteId(@RequestParam("siteId") Integer siteId);
 
-    @PostMapping(value = "/t-parking-lot/getRecordById")
+    @GetMapping(value = "/t-parking-lot/getRecordById")
     public R<TParkingRecord> getRecordById(@RequestParam("id") Long siteId);
 
     @PostMapping(value = "/t-parking-lot/getRecordAmount")
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java
index ee04672..4e0d5ec 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java
@@ -22,7 +22,6 @@
  * @since 2024-08-08
  */
 @Data
-@EqualsAndHashCode(callSuper = false)
 @TableName("t_parking_record")
 @ApiModel(value="TParkingRecord对象", description="")
 public class TParkingRecord implements Serializable {
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/UpdateChargingPileStatusVo.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/UpdateChargingPileStatusVo.java
new file mode 100644
index 0000000..b354ffb
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/UpdateChargingPileStatusVo.java
@@ -0,0 +1,15 @@
+package com.ruoyi.chargingPile.api.vo;
+
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/11/4 11:37
+ */
+@Data
+public class UpdateChargingPileStatusVo {
+	private String pile_code;
+	private String gun_code;
+	private Integer status;
+}
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 33352e4..78ef068 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
@@ -31,7 +31,7 @@
     R<String> queryOrderByGunId(@PathVariable("id") String id);
     @PostMapping(value = "/t-charging-order/useOrderCount")
     R<Long> useOrderCount(@RequestParam("userId") Long userId);
-    @PostMapping(value = "/t-charging-order/chargingBillListR")
+    @PostMapping(value = "/chargingBill/chargingBillListR")
     R<ChargingBillVO> chargingBillListR(@RequestBody ChargingListQuery dto);
     @PostMapping(value = "/t-charging-order/detail")
     R<TChargingOrder> orderDetail(@RequestParam("orderId") Long orderId);
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
index 3154e54..5aefedb 100644
--- 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
@@ -34,7 +34,12 @@
     @ApiModelProperty(value = "主键")
     @TableId(value = "id")
     private Long id;
-
+    @ApiModelProperty(value = "序号")
+    @TableField(exist = false)
+    private Integer xuhao;
+    @ApiModelProperty(value = "月份")
+    @TableField(exist = false)
+    private Integer month;
     @ApiModelProperty(value = "站点id")
     @TableField("site_id")
     private Integer siteId;
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TIntegralRule.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TIntegralRule.java
index f6ad529..453926a 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TIntegralRule.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TIntegralRule.java
@@ -51,6 +51,9 @@
     @ApiModelProperty(value = "签到得积分{\"num1\":1,\"num2\":[\"1(多少天),2(多少分)\"]}")
     @TableField("sign_in_for_points")
     private String signInForPoints;
+    @ApiModelProperty(value = "是否双倍")
+    @TableField(exist = false)
+    private Integer isDouble;
 
 
 }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/config/FileUploadConfig.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/config/FileUploadConfig.java
similarity index 91%
rename from ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/config/FileUploadConfig.java
rename to ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/config/FileUploadConfig.java
index 5d9cd57..5975453 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/config/FileUploadConfig.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/config/FileUploadConfig.java
@@ -1,4 +1,4 @@
-package com.ruoyi.chargingPile.config;
+package com.ruoyi.account.config;
 
 import lombok.Data;
 import org.springframework.boot.context.properties.ConfigurationProperties;
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/FileController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/FileController.java
similarity index 96%
rename from ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/FileController.java
rename to ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/FileController.java
index 9baad05..9c04233 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/FileController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/FileController.java
@@ -1,6 +1,6 @@
-package com.ruoyi.chargingPile.controller;
+package com.ruoyi.account.controller;
 
-import com.ruoyi.chargingPile.config.FileUploadConfig;
+import com.ruoyi.account.config.FileUploadConfig;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -37,7 +37,6 @@
         }
         String TimeDir =new SimpleDateFormat("yyyy-MM-dd").format(new Date());
         String realPath = fileUploadConfig.getLocation() + TimeDir;
-//        String realPath = "D:\\file\\" + TimeDir;
         File file = new File(realPath);
         // 没有目录就创建
         if (!file.exists()) {
@@ -57,7 +56,6 @@
         mf.transferTo(targetFile);
         //拼接数据
         String imgstr = fileUploadConfig.getAccessPath() + TimeDir +"/"+ filename;
-//        String imgstr = TimeDir +"/"+ filename;
         return AjaxResult.success(imgstr);
     }
 
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java
index a3d64ac..6a25b2b 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java
@@ -1,6 +1,7 @@
 package com.ruoyi.account.controller;
 
-import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
 import com.alipay.api.internal.util.codec.Base64;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -18,6 +19,7 @@
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.FileUploadUtils;
+import com.ruoyi.common.core.utils.HttpUtils;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.redis.service.RedisService;
@@ -179,4 +181,43 @@
         String accessToken = appletTools.getAccessToken("");
         return R.ok(accessToken);
     }
+    
+    
+    /**
+     * 敏感词检测
+     * @param content
+     * @param openid
+     * @return
+     */
+    @PostMapping("/sensitiveWordDetection")
+    public R<Boolean> sensitiveWordDetection (@RequestParam("content") String content, @RequestParam("openid") String openid){
+        WxAppletTools appletTools = new WxAppletTools(wxRestTemplate, wxConfig, redisService);
+        String accessToken = appletTools.getAccessToken("");
+        com.alibaba.fastjson2.JSONObject jsonObject = new com.alibaba.fastjson2.JSONObject();
+        jsonObject.put("content", content);
+        jsonObject.put("version", 2);
+        jsonObject.put("scene", 2);
+        jsonObject.put("openid", openid);
+        String post = HttpUtils.post("https://api.weixin.qq.com/wxa/msg_sec_check?access_token=" + accessToken, jsonObject.toString());
+        com.alibaba.fastjson2.JSONObject object = com.alibaba.fastjson2.JSONObject.parseObject(post);
+        Integer errcode = object.getInteger("errcode");
+        if(0 != errcode){
+            throw new RuntimeException(object.getString("errmsg"));
+        }
+        JSONArray detail = object.getJSONArray("detail");
+        for (int i = 0; i < detail.size(); i++) {
+            JSONObject jsonObject1 = detail.getJSONObject(i);
+            Integer errcode1 = jsonObject1.getInteger("errcode");
+            if(0 == errcode1){
+                String suggest = jsonObject1.getString("suggest");
+                Integer label = jsonObject1.getInteger("label");
+                String keyword = jsonObject1.getString("keyword");
+                Integer prob = jsonObject1.getInteger("prob");
+                if(("risky".equals(suggest) || "review".equals(suggest)) && 100 != label && StringUtils.isNotEmpty(keyword) && 80 <= prob){
+                    return R.ok(true);
+                }
+            }
+        }
+        return R.ok(false);
+    }
 }
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 f4ab667..d715cb8 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
@@ -655,7 +655,8 @@
             response.setContentType("application/vnd.ms-excel");
             response.setHeader("Access-Control-Expose-Headers", "Content-disposition");
             response.setHeader("Content-Disposition", "attachment;filename=" +
-                    URLEncoder.encode("月账单-"+data.getCategory()+data.getBillWeek()+data.getSiteName(), CharEncoding.UTF_8) + ".xlsx");
+//                    URLEncoder.encode("月账单-"+data.getCategory()+data.getBillWeek()+data.getSiteName(), CharEncoding.UTF_8) + ".xlsx");
+                    URLEncoder.encode("月账单", CharEncoding.UTF_8) + ".xlsx");
         } catch (UnsupportedEncodingException e) {
             return R.fail("excel导出失败!");
         }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
index 1c1442d..a619468 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
@@ -1,8 +1,6 @@
 package com.ruoyi.chargingPile.controller;
 
 
-import cn.hutool.core.img.ImgUtil;
-import cn.hutool.core.io.FileUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.chargingPile.api.dto.GetSiteListDTO;
@@ -10,7 +8,6 @@
 import com.ruoyi.chargingPile.api.model.Site;
 import com.ruoyi.chargingPile.api.model.TChargingGun;
 import com.ruoyi.chargingPile.api.model.TChargingPile;
-import com.ruoyi.chargingPile.api.model.TFaultMessage;
 import com.ruoyi.chargingPile.api.query.TChargingGunQuery;
 import com.ruoyi.chargingPile.api.vo.GetChargingGunByCode;
 import com.ruoyi.chargingPile.api.vo.GunStatusStatisticsVO;
@@ -23,14 +20,11 @@
 import com.ruoyi.chargingPile.util.QRCodeUtils;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.domain.AjaxResult;
-import com.ruoyi.common.core.web.domain.BaseDelete;
 import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.log.annotation.Log;
 import com.ruoyi.common.log.enums.BusinessType;
 import com.ruoyi.common.log.enums.OperatorType;
 import com.ruoyi.common.security.utils.SecurityUtils;
-import com.ruoyi.integration.api.feignClient.IntegrationClient;
-import com.ruoyi.integration.api.model.EndCharge;
 import com.ruoyi.order.api.feignClient.ChargingOrderClient;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -40,13 +34,11 @@
 import javax.annotation.Resource;
 import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
-import java.awt.image.BufferedImage;
 import java.io.*;
 import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-import java.util.Map;
 
 /**
  * <p>
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 6326c71..644e120 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
@@ -8,6 +8,7 @@
 import com.ruoyi.chargingPile.api.model.TFaultMessage;
 import com.ruoyi.chargingPile.api.query.TChargingGunQuery;
 import com.ruoyi.chargingPile.api.vo.TChargingGunVO;
+import com.ruoyi.chargingPile.api.vo.UpdateChargingPileStatusVo;
 import com.ruoyi.chargingPile.dto.ChargeMonitoring;
 import com.ruoyi.chargingPile.dto.ChargingGunCountMonitoring;
 import com.ruoyi.chargingPile.dto.ChargingGunMonitoring;
@@ -219,11 +220,13 @@
 
 	/**
 	 * 更新充电桩状态
-	 * @param status
 	 */
 	@ResponseBody
 	@PostMapping("/updateChargingPileStatus")
-	public void updateChargingPileStatus(@RequestParam("pile_code") String pile_code, @RequestParam("gun_code") String gun_code, @RequestParam("status") Integer status){
+	public void updateChargingPileStatus(@RequestBody UpdateChargingPileStatusVo vo){
+		String pile_code = vo.getPile_code();
+		String gun_code = vo.getGun_code();
+		Integer status = vo.getStatus();
 		Map<String, Object> charging_pile_online = redisService.getCacheMap("charging_gun_online");
 		Long time = (Long) charging_pile_online.get(pile_code + gun_code);
 		//小于30秒才处理数据,防止频繁查询数据
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
index 18719cc..b071b25 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
@@ -37,6 +37,7 @@
 import java.math.BigDecimal;
 import java.net.URLEncoder;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -151,6 +152,7 @@
     public R out(Long id) {
         TParkingRecord byId = parkingRecordService.getById(id);
         byId.setStatus(2);
+        byId.setOutParkingTime(LocalDateTime.now());
         parkingRecordService.updateById(byId);
         return R.ok();
 
@@ -306,7 +308,7 @@
     @PostMapping(value = "/parking/work")
     @ApiOperation(value = "停车订单统计", tags = {"管理后台-工作台"})
     public R<TParkLotRecordCountVo> work(@RequestBody ParkingRecordQueryDto parkingRecordQueryDto){
-        List<TParkingRecord> list = parkingRecordService.lambdaQuery().eq(parkingRecordQueryDto.getParkingLotId() != null, TParkingRecord::getParkingLotId, parkingRecordQueryDto.getParkingLotId())
+        List<TParkingRecord> list = parkingRecordService.lambdaQuery().isNotNull(TParkingRecord::getOutParkingType).eq(parkingRecordQueryDto.getParkingLotId() != null, TParkingRecord::getParkingLotId, parkingRecordQueryDto.getParkingLotId())
                 .ge(parkingRecordQueryDto.getStartTime()!=null,TParkingRecord::getCreateTime, parkingRecordQueryDto.getStartTime())
                 .le(parkingRecordQueryDto.getEndTime()!=null,TParkingRecord::getCreateTime, parkingRecordQueryDto.getEndTime().plusDays(1)).list();
         int count1 = list.size();
@@ -335,7 +337,7 @@
     @PostMapping(value = "/parking/work1")
     @ApiOperation(value = "停车订单统计", tags = {"管理后台-工作台"})
     public R<TParkLotRecordCountVo> work1(@RequestBody ParkingRecordQueryDto parkingRecordQueryDto){
-        List<TParkingRecord> list = parkingRecordService.lambdaQuery().eq(parkingRecordQueryDto.getParkingLotId() != null, TParkingRecord::getParkingLotId, parkingRecordQueryDto.getParkingLotId()).list();
+        List<TParkingRecord> list = parkingRecordService.lambdaQuery().isNotNull(TParkingRecord::getOutParkingType).eq(parkingRecordQueryDto.getParkingLotId() != null, TParkingRecord::getParkingLotId, parkingRecordQueryDto.getParkingLotId()).list();
         int count1 = list.size();
         //统计出list中chargingOrderId为null的数据个数
         int count2 = list.stream().filter(item -> item.getChargingOrderId() != null).collect(Collectors.toList()).size();
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
index 447ff59..f52b0f1 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
@@ -28,7 +28,9 @@
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.integration.api.feignClient.IntegrationClient;
 import com.ruoyi.integration.api.feignClient.IotInterfaceClient;
+import com.ruoyi.integration.api.feignClient.SendMessageClient;
 import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
+import com.ruoyi.integration.api.model.QrCodeDelivery;
 import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
 import com.ruoyi.integration.api.vo.AddDevice;
 import com.ruoyi.integration.api.vo.AddDeviceResp;
@@ -112,6 +114,9 @@
 	
 	@Resource
 	private TAccountingStrategyDetailService accountingStrategyDetailService;
+	
+	@Resource
+	private SendMessageClient sendMessageClient;
 	
 	
 	
@@ -248,6 +253,25 @@
 			return AjaxResult.error("设备编号已存在");
 		}
 		this.updateById(chargingPile);
+		
+		List<TChargingGun> list = chargingGunService.list(new LambdaQueryWrapper<TChargingGun>().eq(TChargingGun::getChargingPileId, chargingPile.getId()).eq(TChargingGun::getDelFlag, 0));
+		for (TChargingGun chargingGun : list) {
+			TChargingGun chargingGun1 = new TChargingGun();
+			chargingGun1.setId(chargingGun.getId());
+			chargingGun1.setFullNumber(chargingPile.getCode() + chargingGun.getCode());
+			chargingGunService.updateById(chargingGun1);
+			
+			//下发硬件充电二维码
+			String code_prefix = "https://mxcd.zhinenganguan.com?No=";
+			QrCodeDelivery qrCodeDelivery = new QrCodeDelivery();
+			qrCodeDelivery.setCharging_pile_code(chargingPile.getCode());
+			qrCodeDelivery.setCharging_gun_code(chargingGun.getCode());
+			qrCodeDelivery.setCode_format(1);
+			qrCodeDelivery.setPrefix_length(code_prefix.length());
+			qrCodeDelivery.setCode_prefix(code_prefix);
+			qrCodeDelivery.setQr_code(code_prefix + chargingPile.getCode() + chargingGun.getCode());
+			sendMessageClient.qrCodeDelivery(qrCodeDelivery);
+		}
 		return AjaxResult.success();
 	}
 	
diff --git "a/ruoyi-service/ruoyi-chargingPile/src/main/resources/template/\347\273\223\347\256\227\346\261\207\346\200\273.xlsx" "b/ruoyi-service/ruoyi-chargingPile/src/main/resources/template/\347\273\223\347\256\227\346\261\207\346\200\273.xlsx"
index bba4e25..0623597 100644
--- "a/ruoyi-service/ruoyi-chargingPile/src/main/resources/template/\347\273\223\347\256\227\346\261\207\346\200\273.xlsx"
+++ "b/ruoyi-service/ruoyi-chargingPile/src/main/resources/template/\347\273\223\347\256\227\346\261\207\346\200\273.xlsx"
Binary files differ
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/controller/ParkingOrderController.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/controller/ParkingOrderController.java
index 1e90bd8..0979a75 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/controller/ParkingOrderController.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/controller/ParkingOrderController.java
@@ -60,7 +60,6 @@
 	}
 	
 	
-	
 	/**
 	 * 线下停车场入场
 	 * @param order
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/model/BaseResponse.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/model/BaseResponse.java
index 8f63c73..3506c76 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/model/BaseResponse.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/model/BaseResponse.java
@@ -1,12 +1,10 @@
 package com.ruoyi.integration.barrierGate.model;
 
-import lombok.Data;
 
 /**
  * @author zhibing.pu
  * @Date 2024/9/5 11:29
  */
-@Data
 public class BaseResponse<T> {
 	
 	private Integer code;
@@ -15,17 +13,46 @@
 	
 	private T data;
 	
+	public Integer getCode() {
+		return code;
+	}
+	
+	public void setCode(Integer code) {
+		this.code = code;
+	}
+	
+	public String getMsg() {
+		return msg;
+	}
+	
+	public void setMsg(String msg) {
+		this.msg = msg;
+	}
+	
+	public T getData() {
+		return data;
+	}
+	
+	public void setData(T data) {
+		this.data = data;
+	}
+	
+	public BaseResponse() {
+	}
+	
+	public BaseResponse(Integer code, String msg, T data) {
+		this.code = code;
+		this.msg = msg;
+		this.data = data;
+	}
 	
 	public static BaseResponse ok(){
-		return ok(new Object());
+		return ok(null);
 	}
 	
 	
 	public static <T> BaseResponse<T> ok(T data){
-		BaseResponse baseResponse = new BaseResponse();
-		baseResponse.setCode(0);
-		baseResponse.setData(data);
-		baseResponse.setMsg("成功");
+		BaseResponse baseResponse = new BaseResponse(0, "成功", data);
 		return baseResponse;
 	}
 }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java
index 4a4cb95..8861cff 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java
@@ -9,6 +9,7 @@
 import com.ruoyi.chargingPile.api.model.TChargingGun;
 import com.ruoyi.chargingPile.api.model.TFaultMessage;
 import com.ruoyi.chargingPile.api.vo.GetChargingGunByCode;
+import com.ruoyi.chargingPile.api.vo.UpdateChargingPileStatusVo;
 import com.ruoyi.integration.api.model.*;
 import com.ruoyi.integration.iotda.constant.SendTagConstant;
 import com.ruoyi.integration.iotda.enums.ServiceIdMenu;
@@ -148,8 +149,12 @@
                 Ping ping = new Ping();
                 BeanUtils.copyProperties(pingMessage,ping);
                 pingService.create(ping);
-    
-                chargingPileClient.updateChargingPileStatus(pingMessage.getCharging_pile_code(), pingMessage.getCharging_gun_code(), pingMessage.getCharging_gun_status());
+                
+                UpdateChargingPileStatusVo vo1 = new UpdateChargingPileStatusVo();
+                vo1.setGun_code(pingMessage.getCharging_gun_code());
+                vo1.setPile_code(pingMessage.getCharging_pile_code());
+                vo1.setStatus(pingMessage.getCharging_gun_status());
+                chargingPileClient.updateChargingPileStatus(vo1);
                 break;
             case SendTagConstant.END_CHARGE:
                 EndChargeMessage endChargeMessage = message.getEndChargeMessage();
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
index 255389b..7f68ade 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
@@ -286,15 +286,18 @@
         }
         BigDecimal paymentAmount = new BigDecimal("0");
         BigDecimal refundAmount = new BigDecimal("0");
+        BigDecimal commissionAmount = new BigDecimal("0");
 
         List<TChargingOrder> tChargingOrders = chargingOrderService.list(eq);
         // 累加支付金额
         BigDecimal bigDecimal = new BigDecimal("0");
+        BigDecimal bigDecimal1 = new BigDecimal("0.006");
+
         int i =1;
         for (TChargingOrder tChargingOrder : tChargingOrders) {
             // 账单信息
-            paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
-
+            paymentAmount = paymentAmount.add(tChargingOrder.getChargeAmount());
+            commissionAmount = commissionAmount.add(tChargingOrder.getPaymentAmount().multiply(bigDecimal1));
             // 退款信息
             ChargingBillRefundExport chargingBillRefundExport = new ChargingBillRefundExport();
             ChargingBillPayExport chargingBillPayExport = new ChargingBillPayExport();
@@ -342,7 +345,7 @@
             chargingBillPayExport.setTotal("");
             chargingBillPayExports.add(chargingBillPayExport);
             i++;
-            bigDecimal = bigDecimal.add(tChargingOrder.getOrderAmount());
+            bigDecimal = bigDecimal.add(tChargingOrder.getChargeAmount());
         }
         if (!chargingBillPayExports.isEmpty()){
             chargingBillPayExports.get(0).setTotal(bigDecimal+"");
@@ -358,7 +361,7 @@
         }
         chargingBillExport.setPaymentAmount(paymentAmount);
         chargingBillExport.setRefundAmount(refundAmount);
-        chargingBillExport.setIncome(paymentAmount.subtract(refundAmount));
+        chargingBillExport.setIncome(paymentAmount.subtract(refundAmount).subtract(commissionAmount).setScale(2, BigDecimal.ROUND_DOWN));
         chargingBillExports.add(chargingBillExport);
         // 导出
         List<Map<String, Object>> sheetsList = new ArrayList<>();
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
index c722bcb..05e93fc 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -19,6 +19,7 @@
 import com.ruoyi.chargingPile.api.model.Site;
 import com.ruoyi.chargingPile.api.model.TChargingGun;
 import com.ruoyi.chargingPile.api.model.TChargingPile;
+import com.ruoyi.chargingPile.api.model.TParkingRecord;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.dto.ChargingOrderGroup;
 import com.ruoyi.common.core.dto.ChargingPercentProvinceDto;
@@ -226,17 +227,15 @@
                 payOrderInfoDto2.setFinalAmount(byId2.getPaymentAmount().subtract(byId2.getRefundAmount()));
                 return R.ok(payOrderInfoDto2);
             //todo luo 停车场订单
-//                case 4:
-//                    TParkingRecord byId3 = parkingLotClient.getRecordById(orderId).getData();
-//                    PayOrderInfoDto payOrderInfoDto3 = new PayOrderInfoDto();
-//                    payOrderInfoDto3.setOrderId(byId3.getId().toString());
-//                    payOrderInfoDto3.setCode(byId3.getCode());
-//                    payOrderInfoDto3.setTradeNo(byId3);
-//                    payOrderInfoDto3.setPayType(0);
-//                    payOrderInfoDto3.setPayAmount(new BigDecimal("0"));
-//                    payOrderInfoDto3.setPayTime(LocalDateTime.now());
-//                    payOrderInfoDto3.setRefundAmount(new BigDecimal("0"));
-
+                case 4:
+                    R<TParkingRecord> recordById = parkingLotClient.getRecordById(orderId);
+                    TParkingRecord byId3 =recordById.getData();
+                    PayOrderInfoDto payOrderInfoDto3 = new PayOrderInfoDto();
+                    payOrderInfoDto3.setOrderId(byId3.getId().toString());
+                    payOrderInfoDto3.setCode(byId3.getCode());
+                    payOrderInfoDto3.setPayTime(byId3.getCreateTime());
+                    payOrderInfoDto3.setRechargeAmount(byId3.getPayment());
+                    return R.ok(payOrderInfoDto3);
 
 
 
@@ -527,7 +526,7 @@
     @ResponseBody
     @PostMapping(value = "/securityDetection")
     public void securityDetection(@RequestBody SecurityDetectionVO securityDetection){
-        log.error("-------------------安全检测数据-------------------:" + securityDetection);
+        log.info("-------------------安全检测数据-------------------:" + securityDetection);
         chargingOrderService.securityDetection(securityDetection);
     }
     
@@ -538,7 +537,7 @@
     @ResponseBody
     @PostMapping(value = "/startChargeSuccessfully")
     public void startChargeSuccessfully(@RequestBody PlatformStartChargingReplyMessageVO message){
-        log.error("-------------------远程启动充电请求应答-------------------:" + message);
+        log.info("-------------------远程启动充电请求应答-------------------:" + message);
         chargingOrderService.startChargeSuccessfully(message);
     }
     
@@ -626,7 +625,7 @@
      */
     @PostMapping("/terminateSuccessfulResponse")
     public void terminateSuccessfulResponse(@RequestBody PlatformStopChargingReplyVO platformStopChargingReply){
-        log.error("-------------------远程停止充电请求应答-------------------:" + platformStopChargingReply);
+        log.info("-------------------远程停止充电请求应答-------------------:" + platformStopChargingReply);
         chargingOrderService.terminateSuccessfulResponse(platformStopChargingReply);
     }
     
@@ -637,7 +636,7 @@
      */
     @PostMapping("/endChargeBillingCharge")
     public void endChargeBillingCharge(@RequestBody TransactionRecordMessageVO vo){
-        log.error("-------------------停止充电返回账单后计算费用及修改业务状态-------------------:" + vo);
+        log.info("-------------------停止充电返回账单后计算费用及修改业务状态-------------------:" + vo);
         chargingOrderService.endChargeBillingCharge(vo);
     }
     
@@ -1805,7 +1804,7 @@
      */
     @PostMapping("/endCharge")
     public void endCharge(@RequestParam("code") String code){
-        log.error(code + ":-------------------充电桩自动结束充电-------------------");
+        log.info(code + ":-------------------充电桩自动结束充电-------------------");
         chargingOrderService.endCharge(code, 2);
     }
 
@@ -1815,7 +1814,7 @@
      */
     @PostMapping("/excelEndCharge")
     public void excelEndCharge(@RequestParam("code") String code){
-        log.error(code + ":-------------------充电异常,停止充电-------------------");
+        log.info(code + ":-------------------充电异常,停止充电-------------------");
         chargingOrderService.excelEndCharge(code);
     }
 
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 97cbfec..be08b4b 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
@@ -671,7 +671,7 @@
 		platformStartCharging.setCard_number(chargingOrder.getId().toString());
 		platformStartCharging.setAccount_balance(account_balance);
 		
-		log.error(chargingOrder.getCode() + ":-------------------远程调起开始充电请求-------------------" + platformStartCharging.toString());
+		log.info(chargingOrder.getCode() + ":-------------------远程调起开始充电请求-------------------" + platformStartCharging.toString());
 		sendMessageClient.platformStartCharging(platformStartCharging);
 		//异步线程检测远程启动的应答结果。如果失败,则需要全额退款
 		Long id = chargingOrder.getId();
@@ -699,7 +699,7 @@
 		String code = chargingOrder.getCode();
 		String key = "AQJC_" + chargingOrder.getChargingGunId();
 		List<PlatformStartChargingReply> data = platformStartChargingReplyClient.getPlatformStartChargingReply(code).getData();
-		log.error(code + ":-------------------开始检查调起充电结果-------------------" + data.toString());
+		log.info(code + ":-------------------开始检查调起充电结果-------------------" + data.toString());
 		if(data.size() != 0){
 			PlatformStartChargingReply platformStartChargingReply = data.get(1);
 			Integer startup_result = platformStartChargingReply.getStartup_result();
@@ -741,7 +741,7 @@
 			return true;
 		}else{
 			Integer counter = boot_failed_map.get(code);
-			log.error(code + ":-------------------未上传开启充电结果-------------------" + counter);
+			log.info(code + ":-------------------未上传开启充电结果-------------------" + counter);
 			PreChargeCheck preChargeCheck1 = redisService.getCacheObject(key);
 			//5分钟内未启动成功,退回金额。
 			if(null == counter || counter < 300){
@@ -837,7 +837,7 @@
 	 * @param code
 	 */
 	public void refund(String code){
-		log.error(code + ":-------------------充电启动失败,执行退款-------------------");
+		log.info(code + ":-------------------充电启动失败,执行退款-------------------");
 		TChargingOrder chargingOrder = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, code));
 		if(chargingOrder.getStatus() == 2){
 			Integer rechargePaymentType = chargingOrder.getRechargePaymentType();
@@ -1007,8 +1007,8 @@
 			platformStopCharging.setCharging_pile_code(chargingPile.getCode());
 			platformStopCharging.setCharging_gun_code(chargingGun.getCode());
 			sendMessageClient.platformStopCharging(platformStopCharging);
-			log.error(code1 + ":-------------------远程停止充电请求-------------------");
-			log.error(platformStopCharging.toString());
+			log.info(code1 + ":-------------------远程停止充电请求-------------------");
+			log.info(platformStopCharging.toString());
 		});
 		return AjaxResult.success();
 	}
@@ -1163,7 +1163,7 @@
 					failure_cause = "其他";
 					break;
 			}
-			log.error(code1 + ":停机失败:订单号:{},失败原因:{}", order.getCode(), failure_cause);
+			log.info(code1 + ":停机失败:订单号:{},失败原因:{}", order.getCode(), failure_cause);
 		}else{
 			TChargingOrder chargingOrder = new TChargingOrder();
 			chargingOrder.setId(order.getId());
@@ -1274,7 +1274,7 @@
 			electronicMoney = electronicMoney.add(chargingOrderVO.getElectrovalence());
 			serviceMoney = serviceMoney.add(chargingOrderVO.getServiceCharge());
 
-			income = income.add(chargingOrderVO.getOrderAmount());
+			income = income.add(chargingOrderVO.getPaymentAmount());
 
 
 
@@ -1982,10 +1982,11 @@
 		TChargingOrder order = new TChargingOrder();
 		order.setId(chargingOrder.getId());
 		order.setAppUserId(chargingOrder.getAppUserId());
-		if(null != chargingOrder.getEndMode() && chargingOrder.getEndMode() == 2){
-			order.setEndMode(refundAmount.compareTo(BigDecimal.ZERO) > 0 ? 2 : 3);
-		}
-		if(null == chargingOrder.getEndMode()){
+		UploadRealTimeMonitoringData uploadRealTimeMonitoringData = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrder.getCode()).getData();
+		if(null != uploadRealTimeMonitoringData && null == chargingOrder.getEndMode()){
+			Integer soc = uploadRealTimeMonitoringData.getSoc();
+			order.setEndMode(soc > 98 ? 2 : 3);
+		}else{
 			order.setEndMode(1);
 		}
 		order.setResidualAmount(rechargeAmount.subtract(total).setScale(2, RoundingMode.DOWN));
@@ -2490,8 +2491,8 @@
 			return null;
 		}
 		TChargingOrder one = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getAppUserCarId, appUserCar.getId())
-				.eq(TChargingOrder::getDelFlag, 0).gt(TChargingOrder::getStartTime, query.getStartTime())
-				.eq(TChargingOrder::getRechargePaymentStatus, 2).ne(TChargingOrder::getStatus, 5));
+				.eq(TChargingOrder::getDelFlag, 0).between(TChargingOrder::getStartTime, query.getStartTime(), LocalDateTime.now())
+				.eq(TChargingOrder::getRechargePaymentStatus, 2).in(TChargingOrder::getStatus, Arrays.asList(4, 5)));
 		return one;
 	}
 
@@ -2582,7 +2583,7 @@
 				couponDiscount = couponDiscount.add(tChargingOrder.getCouponDiscountAmount());
 			}
 			if (tChargingOrder.getPaymentAmount()!=null){
-				paymentAmount = paymentAmount.add(tChargingOrder.getOrderAmount());
+				paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
 			}
 
 		}
@@ -2590,12 +2591,12 @@
 		// 三方交易手续费 三方收费*0.6%
 		commissionAmount = sharingAmount.multiply(new BigDecimal("0.006"));
 		// 订单手续费 订单支付金额 - 退款金额*0.6%
-		orderCommission = paymentAmount.multiply(new BigDecimal("0.006").setScale(2,RoundingMode.HALF_DOWN));
+		orderCommission = paymentAmount.multiply(new BigDecimal("0.006"));
 		tSettlementConfirm.setSharingAmount(sharingAmount.setScale(2, RoundingMode.HALF_DOWN));
 		tSettlementConfirm.setCommissionAmount(commissionAmount.setScale(2, RoundingMode.HALF_DOWN));
 		tSettlementConfirm.setElectrovalence(electrovalence.setScale(2, RoundingMode.HALF_DOWN));
 		tSettlementConfirm.setServiceCharge(serviceCharge.subtract(orderCommission).setScale(2, RoundingMode.HALF_DOWN));
-		tSettlementConfirm.setOrderCommission(orderCommission);
+		tSettlementConfirm.setOrderCommission(orderCommission.setScale(2,BigDecimal.ROUND_DOWN));
 		tSettlementConfirm.setVipDiscount(vipDiscount);
 		tSettlementConfirm.setCouponDiscount(couponDiscount);
 		tSettlementConfirm.setSiteId(dto.getSiteId());
@@ -2733,7 +2734,9 @@
 		BigDecimal beforeCost= new BigDecimal("0");
 		// 上月利润合计
 		BigDecimal beforeIncome= new BigDecimal("0");
+		int i = 1;
 		for (TSettlementConfirm tSettlementConfirm : list1) {
+			tSettlementConfirm.setXuhao(i);
 			tSettlementConfirm.setMetering(tSettlementConfirm.getSupplyElectronic());
 			List<Site> data1 = siteClient.getSiteByIds(Arrays.asList(tSettlementConfirm.getSiteId())).getData();
 			if (!data1.isEmpty()){
@@ -2836,6 +2839,8 @@
 
 
 			for (TSettlementConfirm settlementConfirm : list2) {
+				int value = parse.getMonth().getValue();
+				settlementConfirm.setMonth(value);
 				settlementConfirm.setIncome(settlementConfirm.getElectrovalence().add(settlementConfirm.getServiceCharge()));
 				tSettlementConfirm.setMetering(tSettlementConfirm.getSupplyElectronic());
 				if (tSettlementConfirm.getSiteId().equals(settlementConfirm.getSiteId())){
@@ -2858,11 +2863,11 @@
 					tSettlementConfirm.setTotalPercentage(bigDecimal1+"%");				}
 				beforeCost = beforeCost.add(settlementConfirm.getCost());
 				beforeIncome = beforeIncome.add(settlementConfirm.getIncome());
-
-
 			}
+			i++;
 		}
 		TSettlementConfirm tSettlementConfirm = new TSettlementConfirm();
+		tSettlementConfirm.setMonth(parse.getMonthValue());
 		tSettlementConfirm.setMeteringElectronic(meteringElectronic);
 		tSettlementConfirm.setChargingElectronic(chargingElectronic);
 		tSettlementConfirm.setLossElectronic(lossElectronic);
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
index dee224b..c726775 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
@@ -352,31 +352,9 @@
         //检测敏感词
         String content = orderEvaluate.getContent();
         if(StringUtils.isNotEmpty(content)){
-            String token = appUserClient.getWXToken().getData();
-            JSONObject jsonObject = new JSONObject();
-            jsonObject.put("content", content);
-            jsonObject.put("version", 2);
-            jsonObject.put("scene", 2);
-            jsonObject.put("openid", appUser.getWxOpenid());
-            String post = HttpUtils.post("https://api.weixin.qq.com/wxa/msg_sec_check?access_token=" + token, jsonObject.toString());
-            JSONObject object = JSONObject.parseObject(post);
-            Integer errcode = object.getInteger("errcode");
-            if(0 != errcode){
-                throw new RuntimeException(object.getString("errmsg"));
-            }
-            JSONArray detail = object.getJSONArray("detail");
-            for (int i = 0; i < detail.size(); i++) {
-                JSONObject jsonObject1 = detail.getJSONObject(i);
-                Integer errcode1 = jsonObject1.getInteger("errcode");
-                if(0 == errcode1){
-                    String suggest = jsonObject1.getString("suggest");
-                    Integer label = jsonObject1.getInteger("label");
-                    String keyword = jsonObject1.getString("keyword");
-                    Integer prob = jsonObject1.getInteger("prob");
-                    if(("risky".equals(suggest) || "review".equals(suggest)) && 100 != label && StringUtils.isNotEmpty(keyword) && 80 <= prob){
-                        return AjaxResult.error("评价包含违规内容,请重新评价!");
-                    }
-                }
+            Boolean data = appUserClient.sensitiveWordDetection(content, appUser.getWxOpenid()).getData();
+            if(data){
+                return AjaxResult.error("评价包含违规内容,请重新评价!");
             }
         }
         orderEvaluate.setContent(content);
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java
index 1813a92..39e822d 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java
@@ -5,15 +5,22 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.account.api.feignClient.AppUserCarClient;
+import com.ruoyi.account.api.feignClient.AppUserClient;
+import com.ruoyi.account.api.model.TAppUser;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.log.annotation.Log;
 import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.other.api.domain.THtml;
 import com.ruoyi.other.api.domain.TIntegralRule;
+import com.ruoyi.other.api.domain.TVip;
 import com.ruoyi.other.api.dto.SaveHtml;
 import com.ruoyi.other.service.THtmlService;
 import com.ruoyi.other.service.TIntegralRuleService;
+import com.ruoyi.other.service.TVipService;
+import com.ruoyi.system.api.model.LoginUserApplet;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
@@ -35,6 +42,8 @@
     private THtmlService htmlService;
     @Autowired
     private TIntegralRuleService integralRuleService;
+    @Autowired
+    private AppUserClient appUserClient;
 
 
     /**
@@ -54,12 +63,34 @@
         point += jsonObject.getInteger("num4");
         return R.ok(point);
     }
+    @Autowired
+    private TokenService tokenService;
+    @Autowired
+    private TVipService vipService;
     @GetMapping("/getSet")
     @ApiOperation(tags = {"管理后台-积分管理","小程序-个人中心-签到"},value = "获取积分设置")
     public R<TIntegralRule> getSet() {
         TIntegralRule res = integralRuleService.getOne(new QueryWrapper<>());
         return R.ok(res);
     }
+    @GetMapping("/getSet1")
+    @ApiOperation(tags = {"小程序-个人中心-签到"},value = "获取积分设置")
+    public R<TIntegralRule> getSet1() {
+        TIntegralRule res = integralRuleService.getOne(new QueryWrapper<>());
+        LoginUserApplet loginUserApplet = tokenService.getLoginUserApplet();
+        res.setIsDouble(0);
+        if (loginUserApplet!=null){
+            TAppUser data = appUserClient.getUserById(loginUserApplet.getUserId()).getData();
+            if (data.getVipEndTime()!=null && data.getVipEndTime().isAfter(LocalDateTime.now())){
+                TVip byId = vipService.getById(data.getVipId());
+                Integer doubleIntegration = byId.getDoubleIntegration();
+                if (doubleIntegration!=null&&doubleIntegration==1){
+                    res.setIsDouble(1);
+                }
+            }
+        }
+        return R.ok(res);
+    }
     
     @PostMapping("/saveSet")
     @ApiOperation(tags = {"管理后台-积分管理"},value = "保存积分设置")

--
Gitblit v1.7.1