From 92ad6c4e1242a21e6d8340a8e29ac71c11a487e7 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 17 一月 2025 18:33:01 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java              |   11 -
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TVipServiceImpl.java                        |   14 +-
 ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/ali/v2/AppletPayUtil.java                            |    5 
 ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/model/RefundResp.java                            |   17 ++
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml                               |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java   |   20 +--
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java |   73 ++++++++----
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java    |   37 +++++-
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java                           |   16 +-
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java                  |   21 +++
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TGrantVip.java                                 |    2 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TransactionRecordMessage.java   |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java              |   19 ---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java                   |   75 +++++------
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TVipOrderController.java                      |   22 ++-
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java |    4 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java                         |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java                 |    9 
 19 files changed, 210 insertions(+), 143 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
index 02994b0..50ce67e 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
@@ -44,7 +44,7 @@
 
     @PostMapping("/t-exchange-order/create")
     public R<ExchangeBackDto> exchangeCreate(@RequestBody ExchangeDto exchangeDto);
-    @PostMapping("/t-vip-order//addVipOrder")
+    @PostMapping("/t-vip-order/addVipOrder1")
     public R<Long> addVipOrder(@RequestBody TVipOrder vipOrder);
     @PostMapping("/t-shopping-order/create")
     public R<TShoppingOrder> shopCreate(@RequestBody ExchangeDto exchangeDto);
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TGrantVip.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TGrantVip.java
index 0c997ed..091121d 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TGrantVip.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TGrantVip.java
@@ -29,7 +29,7 @@
     private static final long serialVersionUID = 1L;
 
     @ApiModelProperty(value = "主键")
-    @TableId(value = "id", type = IdType.AUTO)
+    @TableId(value = "id", type = IdType.NONE)
     private Long id;
 
     @ApiModelProperty(value = "订单编号")
diff --git a/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/model/RefundResp.java b/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/model/RefundResp.java
index e6e4670..d86f5a1 100644
--- a/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/model/RefundResp.java
+++ b/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/model/RefundResp.java
@@ -10,7 +10,22 @@
 @Data
 public class RefundResp {
 	/**
-	 * 支付宝交易号
+	 * 状态
+	 */
+	@JsonSetter("code")
+	private String code;
+	/**
+	 * 描述
+	 */
+	@JsonSetter("msg")
+	private String msg;
+	/**
+	 * 退款时间
+	 */
+	@JsonSetter("gmt_refund_pay")
+	private String gmtRefundPay;
+	/**
+	 * 支付宝退款交易号
 	 */
 	@JsonSetter("trade_no")
 	private String tradeNo;
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
index 1d17e96..2ea18aa 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
@@ -798,35 +798,32 @@
     public R giveVip(@RequestBody GiveVipDto  giveVipDto) {
         String[] split = giveVipDto.getUserIds().split(",");
         for (String s : split) {
-
-
-        TAppUser nowUser = appUserService.getById(s);
-
-        int plusDay = 0;
-        if (giveVipDto.getType() == 1) {
-            plusDay = 1;
-        } else if (giveVipDto.getType() == 2) {
-            plusDay = 3;
-        } else if (giveVipDto.getType() == 3) {
-            plusDay = 12;
-        }
+            TAppUser nowUser = appUserService.getById(s);
+            int plusDay = 0;
+            if (giveVipDto.getType() == 1) {
+                plusDay = 1;
+            } else if (giveVipDto.getType() == 2) {
+                plusDay = 3;
+            } else if (giveVipDto.getType() == 3) {
+                plusDay = 12;
+            }
             BigDecimal bigDecimal = new BigDecimal("0");
             TVip info = vipClient.getInfo1(giveVipDto.getVipId()).getData();
-        switch (giveVipDto.getType()){
-            case 1:
-                bigDecimal = bigDecimal.add(info.getMonthlyCard()==null?new BigDecimal(0):info.getMonthlyCard());
-                break;
-            case 2:
-                bigDecimal = bigDecimal.add(info.getSeasonCard()==null?new BigDecimal(0):info.getSeasonCard());
-                break;
-            case 3:
-                bigDecimal = bigDecimal.add(info.getAnnualCard()==null?new BigDecimal(0):info.getAnnualCard());
-                break;
-        }
+            switch (giveVipDto.getType()){
+                case 1:
+                    bigDecimal = bigDecimal.add(info.getMonthlyCard()==null?new BigDecimal(0):info.getMonthlyCard());
+                    break;
+                case 2:
+                    bigDecimal = bigDecimal.add(info.getSeasonCard()==null?new BigDecimal(0):info.getSeasonCard());
+                    break;
+                case 3:
+                    bigDecimal = bigDecimal.add(info.getAnnualCard()==null?new BigDecimal(0):info.getAnnualCard());
+                    break;
+            }
             //增加vipDetail
-        giveVipUtil.sendVip(nowUser, giveVipDto.getVipId(),plusDay,giveVipDto.getType());
-        appUserService.updateById(nowUser);
-        // 新增后台赠送记录
+            giveVipUtil.sendVip(nowUser, giveVipDto.getVipId(),plusDay,giveVipDto.getType());
+            appUserService.updateById(nowUser);
+            // 新增后台赠送记录
             TGrantVip tGrantVip = new TGrantVip();
             tGrantVip.setCode(OrderCodeUtil.getOrderCode("ZS"));
             tGrantVip.setAppUserId(nowUser.getId());
@@ -1120,43 +1117,41 @@
         if (count==0){
             R<TIntegralRule> set = integralRuleClient.getSet();
             TIntegralRule data = set.getData();
-            JSONObject jsonObject = JSON.parseObject(data.getAddVehiclesEarnsPoints());
-
-
-            Integer point = 0;
-            //增加车牌50分,必填
+            if(null != data){
+                JSONObject jsonObject = JSON.parseObject(data.getAddVehiclesEarnsPoints());
+                Integer point = 0;
+                //增加车牌50分,必填
                 point = point+jsonObject.getInteger("num1");
                 if (doubleVip){
                     point = point+jsonObject.getInteger("num1");
                 }
-            //增加车型分
+                //增加车型分
                 if (StringUtils.isNotEmpty(appUserCar.getVehicleModel())){
                     point = point+jsonObject.getInteger("num2");
                     if (doubleVip){
                         point = point+jsonObject.getInteger("num2");
                     }
                 }
-            //增加车辆用途分
+                //增加车辆用途分
                 if (StringUtils.isNotEmpty(appUserCar.getVehicleUse())){
                     point = point+jsonObject.getInteger("num3");
                     if (doubleVip){
                         point = point+jsonObject.getInteger("num3");
                     }
                 }
-            //增加续航分
+                //增加续航分
                 if (StringUtils.isNotEmpty(appUserCar.getEndurance())){
                     point = point+jsonObject.getInteger("num4");
                     if (doubleVip){
                         point = point+jsonObject.getInteger("num4");
                     }
                 }
-
-            //增加积分记录
-            pointDetailUtil.addDetail(byId.getPoints(),byId.getPoints()+point,5,userId,appUserCar.getLicensePlate(),"","");
-            byId.setPoints(byId.getPoints()+point);
+    
+                //增加积分记录
+                pointDetailUtil.addDetail(byId.getPoints(),byId.getPoints()+point,5,userId,appUserCar.getLicensePlate(),"","");
+                byId.setPoints(byId.getPoints()+point);
+            }
             byId.setFirstAdd(1);
-
-
         }
         CarNumDto carNumDto = CarUtil.carNum(appUserCar.getLicensePlate());
         if (carNumDto==null){
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 4d98961..b47e05b 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
@@ -2,9 +2,13 @@
 
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.ruoyi.chargingPile.api.dto.TChargingGunDTO;
-import com.ruoyi.chargingPile.api.model.TChargingGun;
+import com.ruoyi.account.api.dto.SendMessageDTO;
+import com.ruoyi.account.api.feignClient.AppUserClient;
+import com.ruoyi.chargingPile.api.model.Site;
+import com.ruoyi.chargingPile.api.model.TChargingPile;
 import com.ruoyi.chargingPile.api.model.TFaultMessage;
+import com.ruoyi.chargingPile.service.ISiteService;
+import com.ruoyi.chargingPile.service.TChargingPileNotificationService;
 import com.ruoyi.chargingPile.service.TChargingPileService;
 import com.ruoyi.chargingPile.service.TFaultMessageService;
 import com.ruoyi.common.core.domain.R;
@@ -21,6 +25,7 @@
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 /**
@@ -36,10 +41,17 @@
 public class TFaultMessageController {
 
     private final TFaultMessageService faultMessageService;
-
+    private final ISiteService siteService;
+    private final TChargingPileService chargingPileService;
+    private final TChargingPileNotificationService chargingPileNotificationService;
+    @Resource
+    private AppUserClient appUserClient;
     @Autowired
-    public TFaultMessageController(TFaultMessageService faultMessageService) {
+    public TFaultMessageController(TFaultMessageService faultMessageService, ISiteService siteService, TChargingPileService chargingPileService, TChargingPileNotificationService chargingPileNotificationService) {
         this.faultMessageService = faultMessageService;
+        this.siteService = siteService;
+        this.chargingPileService = chargingPileService;
+        this.chargingPileNotificationService = chargingPileNotificationService;
     }
 
     /**
@@ -52,8 +64,7 @@
         faultMessageService.add(dto);
         return AjaxResult.success();
     }
-    
-    
+
     /**
      * 获取故障信息列表
      * @param siteId
@@ -101,6 +112,20 @@
     @PostMapping("/createFaultMessage")
     public R<String> createFaultMessage(@RequestBody TFaultMessage faultMessage){
         faultMessageService.save(faultMessage);
+
+        Site site = siteService.getById(faultMessage.getSiteId());
+        TChargingPile chargingPile = chargingPileService.getById(faultMessage.getChargingPileId());
+        String siteName = site.getName();
+        SendMessageDTO sendMessageDTO = new SendMessageDTO();
+        sendMessageDTO.setPhone(site.getPhone());
+        sendMessageDTO.setSite(site.getName());
+        sendMessageDTO.setChargeGun(chargingPile.getNumber() + "");
+        sendMessageDTO.setType(3);
+        String result = appUserClient.sendMessage(sendMessageDTO).getData();
+        if(siteName.length()>10){
+            siteName = siteName.substring(0,10);
+        }
+        chargingPileNotificationService.saveData(4,faultMessage.getSiteId(),faultMessage.getChargingPileId(),site.getPhone(),"检测到"+siteName+"..."+chargingPile.getNumber()+"号桩设备离线,请及时查看处理!");
         return R.ok();
     }
     /**
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 5c6bf3b..3e1df54 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
@@ -3,7 +3,9 @@
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.account.api.dto.SendMessageDTO;
 import com.ruoyi.account.api.feignClient.AppUserCarClient;
+import com.ruoyi.account.api.feignClient.AppUserClient;
 import com.ruoyi.account.api.model.TAppUserCar;
 import com.ruoyi.chargingPile.api.dto.PageChargingPileListDTO;
 import com.ruoyi.chargingPile.api.model.*;
@@ -117,11 +119,14 @@
 	private SendMessageClient sendMessageClient;
 	@Resource
 	private TokenService tokenService;
+	@Resource
+	private TChargingPileNotificationService chargingPileNotificationService;
+
+	@Resource
+	private AppUserClient appUserClient;
 	
 	
-	
-	
-	
+
 	/**
 	 * 获取充电桩列表数据
 	 * @param page
@@ -258,32 +263,37 @@
 			return AjaxResult.error("设备编号已存在");
 		}
 		TChargingPile tChargingPile = this.getById(chargingPile.getId());
-		ShowDeviceResp showDeviceResp = iotInterfaceClient.showDeviceRequest(tChargingPile.getCode()).getData();
-		if(null != showDeviceResp){
-			DeleteDeviceResp deleteDeviceResp = iotInterfaceClient.deleteDevice(tChargingPile.getCode()).getData();
-			if(null == deleteDeviceResp || (deleteDeviceResp.getHttpStatusCode() != 200 && deleteDeviceResp.getHttpStatusCode() != 201 && deleteDeviceResp.getHttpStatusCode() != 204)){
-				return AjaxResult.error("删除设备异常,请查看华为设备管理");
+		//桩号不相同,需要重新绑定设备
+		if(!tChargingPile.getCode().equals(chargingPile.getCode())){
+			ShowDeviceResp showDeviceResp = iotInterfaceClient.showDeviceRequest(tChargingPile.getCode()).getData();
+			if(null != showDeviceResp){
+				DeleteDeviceResp deleteDeviceResp = iotInterfaceClient.deleteDevice(tChargingPile.getCode()).getData();
+				if(null == deleteDeviceResp){
+					return AjaxResult.error("删除设备异常,请查看华为设备管理");
+				}
 			}
 		}
 		
-		
-		//调用华为Iot创建设备
-		AddDevice addDevice = new AddDevice();
-		addDevice.setProductId("66da68d21837002b28b34ec0");
-		addDevice.setNodeId(chargingPile.getCode());
-		addDevice.setDeviceName(chargingPile.getName());
-		addDevice.setDescription(chargingPile.getNumber().toString());
-		AddDeviceResp deviceResp = iotInterfaceClient.addDevice(addDevice).getData();
-		if(null != deviceResp){
-			int httpStatusCode = deviceResp.getHttpStatusCode();
-			if(httpStatusCode == 201){
-				chargingPile.setIotdDeviceId(deviceResp.getDeviceId());
+		ShowDeviceResp showDeviceResp = iotInterfaceClient.showDeviceRequest(tChargingPile.getCode()).getData();
+		if(null == showDeviceResp){
+			//调用华为Iot创建设备
+			AddDevice addDevice = new AddDevice();
+			addDevice.setProductId("66da68d21837002b28b34ec0");
+			addDevice.setNodeId(chargingPile.getCode());
+			addDevice.setDeviceName(chargingPile.getName());
+			addDevice.setDescription(chargingPile.getNumber().toString());
+			AddDeviceResp deviceResp = iotInterfaceClient.addDevice(addDevice).getData();
+			if(null != deviceResp){
+				int httpStatusCode = deviceResp.getHttpStatusCode();
+				if(httpStatusCode == 201){
+					chargingPile.setIotdDeviceId(deviceResp.getDeviceId());
+				}else{
+					log.error("华为创建设备失败" + JSON.toJSONString(deviceResp));
+					return AjaxResult.error("华为创建设备失败");
+				}
 			}else{
-				log.error("华为创建设备失败" + JSON.toJSONString(deviceResp));
 				return AjaxResult.error("华为创建设备失败");
 			}
-		}else{
-			return AjaxResult.error("华为创建设备失败");
 		}
 		this.updateById(chargingPile);
 		
@@ -334,7 +344,7 @@
 					}
 					chargingPile.setIotdDeviceId("");
 				}
-				
+
 			}
 			this.removeById(chargingPile);
 		}
@@ -703,6 +713,21 @@
 					faultMessage.setDelFlag(false);
 					faultMessage.setContent("设备离线");
 					faultMessageService.save(faultMessage);
+
+					// 发送故障短信
+					Site site = siteService.getById(faultMessage.getSiteId());
+					String siteName = site.getName();
+					SendMessageDTO sendMessageDTO = new SendMessageDTO();
+					sendMessageDTO.setPhone(site.getPhone());
+					sendMessageDTO.setSite(site.getName());
+					sendMessageDTO.setChargeGun(chargingPile.getNumber() + "");
+					sendMessageDTO.setType(3);
+					String result = appUserClient.sendMessage(sendMessageDTO).getData();
+					if(siteName.length()>10){
+						siteName = siteName.substring(0,10);
+					}
+					chargingPileNotificationService.saveData(4,faultMessage.getSiteId(),faultMessage.getChargingPileId(),site.getPhone(),"检测到"+siteName+"..."+chargingPile.getNumber()+"号桩设备离线,请及时查看处理!");
+
 				}
 			}
 		}
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java
index cf8eeb4..485546a 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java
@@ -75,7 +75,7 @@
 //        String result = HttpUtils.post(MsgConstants.SEND_URL, reqStr);
         SendMessageDTO sendMessageDTO = new SendMessageDTO();
         sendMessageDTO.setPhone(site.getPhone());
-        sendMessageDTO.setCode(site.getName());
+        sendMessageDTO.setSite(site.getName());
         sendMessageDTO.setChargeGun(chargingPile.getNumber() + "");
         sendMessageDTO.setType(3);
         String result = appUserClient.sendMessage(sendMessageDTO).getData();
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
index 37d2b4b..595b2b0 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
@@ -99,8 +99,7 @@
                 pong.setCharging_pile_code(pingMessage.getCharging_pile_code());
                 pong.setCharging_gun_code(pingMessage.getCharging_gun_code());
                 pong.setCharging_gun_status(0);
-                result = iotMessageProduce.sendMessage(pong.getCharging_pile_code(), ServiceIdMenu.PONG.getKey(), messageUtil.pong(pong));
-                log.info("充电桩心跳包-返回结果:{}",result);
+                iotMessageProduce.sendMessage(pong.getCharging_pile_code(), ServiceIdMenu.PONG.getKey(), messageUtil.pong(pong));
                 sendResult = enhanceProduce.chargingMessage(chargingMessage);
                 break;
             case SendTagConstant.END_CHARGE:
@@ -230,6 +229,7 @@
                 break;
             case SendTagConstant.TRANSACTION_RECORD:
                 TransactionRecordMessage transactionRecordMessage = JSON.parseObject(content.toJSONString(),TransactionRecordMessage.class);
+                transactionRecordMessage.setResult(content.toJSONString());
                 chargingMessage.setTransactionRecordMessage(transactionRecordMessage);
                 // 响应硬件
                 ConfirmTransactionRecord confirmTransactionRecord = new ConfirmTransactionRecord();
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java
index 6e7aa8d..3659dbc 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/produce/IotMessageProduce.java
@@ -1,5 +1,6 @@
 package com.ruoyi.integration.iotda.utils.produce;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.huaweicloud.sdk.core.exception.ConnectionException;
 import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
@@ -41,8 +42,6 @@
     public String sendMessage(String code, String name, JSONObject message){
         log.info("消息下发至设备:code={},name={},message={}", code, name, message);
         CreateMessageRequest request = new CreateMessageRequest();
-        System.err.println(code);
-        System.err.println(JSONObject.toJSONString(config));
         request.withDeviceId(code);
         DeviceMessageRequest body = new DeviceMessageRequest();
         body.withMessageId(UUID.randomUUID().toString());
@@ -51,19 +50,14 @@
         request.withBody(body);
         try {
             CreateMessageResponse response = iotBuilder.buildIot().createMessage(request);
-            System.out.println(response.toString());
-        } catch (ConnectionException e) {
+            log.info("消息下发至设备结果:{}", JSON.toJSONString(response));
+            return JSON.toJSONString(response);
+        } catch (Exception e) {
             e.printStackTrace();
-        } catch (RequestTimeoutException e) {
-            e.printStackTrace();
-        } catch (ServiceResponseException e) {
-            e.printStackTrace();
-            System.out.println(e.getHttpStatusCode());
-            System.out.println(e.getRequestId());
-            System.out.println(e.getErrorCode());
-            System.out.println(e.getErrorMsg());
+            log.info("消息下发至设备异常:code---{},msg---{}", code, e.getMessage());
+            log.error("消息下发至设备异常:code---{},msg---{}", code, e.getMessage());
+            return e.getMessage();
         }
-        return null;
     }
 
 }
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TransactionRecordMessage.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TransactionRecordMessage.java
index 8c46e37..3220212 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TransactionRecordMessage.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TransactionRecordMessage.java
@@ -182,7 +182,7 @@
     private BigDecimal valley_charge12;// 谷电量
     private BigDecimal loss_valley_charge12;// 计损谷电量
     private BigDecimal valley_amount12;// 谷金额
-
+    private String result;//原始字符串
 
 }
 
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 e450b99..2675d0a 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
@@ -140,6 +140,10 @@
     private TOrderInvoiceService invoiceService;
     @Resource
     private UploadRealTimeMonitoringDataClient uploadRealTimeMonitoringDataClient;
+    @Resource
+    private PartnerClient partnerClient;
+    @Resource
+    private SysUserClient sysUserClient;
     
     
     
@@ -964,10 +968,7 @@
         return R.ok(map);
     }
 
-    @Resource
-    private PartnerClient partnerClient;
-    @Resource
-    private SysUserClient sysUserClient;
+    
     @RequiresPermissions(value = {"/chargeOrderMonitoring"}, logical = Logical.OR)
     @ResponseBody
     @PostMapping(value = "/watch/chargingOrder")
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TVipOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TVipOrderController.java
index abe14db..b58cdde 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TVipOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TVipOrderController.java
@@ -94,6 +94,22 @@
     }
     
     
+    @PostMapping("/addVipOrder1")
+    public R<Long> addVipOrder1(@RequestBody TVipOrder dto) {
+        if (dto.getId()!=null){
+            List<TVipOrder> list = vipOrderService.lambdaQuery().eq(TVipOrder::getCode, dto.getCode())
+                    .ne(TVipOrder::getId, dto.getId()).list();
+            if (!list.isEmpty())return R.fail("订单编号已存在");
+        }else{
+            List<TVipOrder> list = vipOrderService.lambdaQuery().eq(TVipOrder::getCode, dto.getCode()).list();
+            if (!list.isEmpty())return R.fail("订单编号已存在");
+        }
+        vipOrderService.saveOrUpdate(dto);
+        return R.ok(dto.getId());
+    }
+    
+    
+    
     @RequiresPermissions(value = {"/vipOrder/del"}, logical = Logical.OR)
     @GetMapping("/deleteVipOrder")
     @ApiOperation(value = "批量删除会员订单", tags = {"管理后台-会员订单"})
@@ -106,7 +122,6 @@
 
     @PostMapping("/callBack")
     public R callBack(@RequestParam("code")String code,@RequestParam("outTradeNo")String outTradeNo){
-
         TVipOrder one = vipOrderService.lambdaQuery().eq(TVipOrder::getCode, code).one();
         one.setSerialNumber(outTradeNo);
         one.setPaymentStatus(2);
@@ -115,13 +130,8 @@
         giveVipDto.setVipId(one.getVipId());
         giveVipDto.setType(one.getVipType());
         giveVipDto.setUserIds(one.getAppUserId().toString());
-
-
-
         appUserClient.giveVip(giveVipDto);
-
         return R.ok();
-
     }
 
 
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 30f0176..e5b683f 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
@@ -1147,7 +1147,7 @@
 		TChargingGun chargingGun = chargingGunClient.getChargingGunByCode(code).getData();
 		TChargingOrder order = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getChargingGunId, chargingGun.getId())
 				.orderByDesc(TChargingOrder::getEndTime).eq(TChargingOrder::getRechargePaymentStatus, 2).last(" limit 0, 1"));
-		if(null != order && order.getStatus() != 3){
+		if(null != order && order.getStatus() != 4){
 			return;
 		}
 		
@@ -2309,6 +2309,7 @@
 		referralReward(chargingOrder);
 		
 		//开始构建退款费用
+		refundAmount = refundAmount.setScale(2, RoundingMode.HALF_EVEN);
 		if(refundAmount.compareTo(BigDecimal.ZERO) > 0){
 			Integer rechargePaymentType = chargingOrder.getRechargePaymentType();
 			//构建退款明细
@@ -2346,15 +2347,13 @@
 			if(2 == rechargePaymentType){
 				RefundReq dto = new RefundReq();
 				dto.setOutTradeNo(chargingOrder.getCode());
-				dto.setOutRequestNo(chargingOrderRefund.getCode());
+				dto.setOutRequestNo(chargingOrderRefund.getRefundCode());
 				dto.setRefundAmount(refundAmount.toString());
 				dto.setRefundReason("充电完成退款");
 				RefundResp resp = aliPaymentClient.refund(dto).getData();
 				if(null != resp){
-					AjaxResult success = chargingOrderStartupFailureWxRefund(resp.getOutTradeNo(), resp.getTradeNo(), "SUCCESS", null);
-					if(success.isSuccess()){
-						chargingOrderRefundService.save(chargingOrderRefund);
-					}
+					chargingOrderRefundService.save(chargingOrderRefund);
+					this.chargingOrderStartupFailureWxRefund(chargingOrderRefund.getRefundCode(), resp.getTradeNo(), "SUCCESS", null);
 				}
 			}
 			
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 c79a059..84b6550 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
@@ -291,25 +291,6 @@
                     siteIds = data;
                 }
             }
-        }else{
-            siteIds.add(pageList.getSiteId());
-        }
-        if (siteIds.isEmpty()){
-            siteIds.add(-1);
-        }else{
-            List<Integer> integers = new ArrayList<>();
-            for (Integer siteId : siteIds) {
-                // 校验有没有这个站点的权限
-                List<Boolean> t1= partnerClient.chargeEvaluation(sysUser.getObjectId(),siteId).getData();
-                Boolean b = t1.get(0);
-                if (b){
-                    integers.add(siteId);
-                }
-            }
-            siteIds = integers;
-        }
-        if (siteIds.isEmpty()){
-            siteIds.add(-1);
         }
         List<GetOrderEvaluatePageListDTO> list = this.baseMapper.getPageList(pageList, evaluationTagIds, siteIds, pageInfo);
         for (GetOrderEvaluatePageListDTO dto : list) {
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml
index 8bdfc50..8107295 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TOrderEvaluateMapper.xml
@@ -114,7 +114,7 @@
         <if test="null != query.content and '' != query.content">
             and a.content like CONCAT('%', #{query.content}, '%')
         </if>
-        <if test="null != query.evaluateType">
+        <if test="null != evaluationTagIds and evaluationTagIds.size() > 0">
             and a.id in (select order_evaluate_id from t_order_evaluate_tag where evaluation_tag_id in
             <foreach collection="evaluationTagIds" item="item" index="index" open="(" separator="," close=")">
                 #{item}
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 16bdb03..cbb81d3 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
@@ -140,6 +140,27 @@
     }
     
     
+    @GetMapping("/getInfo1")
+    @ApiOperation(tags = {"小程序-积分管理"},value = "type 1=积分规则说明," +
+            "2=会员折扣说明," +
+            "3=优惠券说明," +
+            "4=双倍积分说明," +
+            "5=商城专享价说明," +
+            "6=会员协议," +
+            "7=用户协议," +
+            "8=隐私协议," +
+            "9=邀请好友说明," +
+            "10=资质证明," +
+            "11=开票说明")
+    public R<String> getInfo1(Integer type) {
+        THtml g = htmlService.getOne(new QueryWrapper<THtml>().eq("type",type));
+        if (g == null){
+            return R.ok("");
+        }
+        return R.ok(g.getContent());
+    }
+    
+    
     
     @RequiresPermissions(value = {"/vipSetting/html"}, logical = Logical.OR)
     @PostMapping("/saveInfo")
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java
index 02c2d68..700ba9e 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java
@@ -361,14 +361,14 @@
                     payMoney = byId.getMonthlyCard();
                 }
                 break;
-                case 2:
-                    if (byId.getSeasonCardDiscountStart()!=null&&(now.isAfter(byId.getSeasonCardDiscountStart())&&now.isBefore(byId.getSeasonCardDiscountEnd()))){
-                        payMoney = byId.getSeasonCard().multiply(byId.getSeasonCardDiscount().divide(new BigDecimal(10)));
-                        discountMoney = byId.getSeasonCard().subtract(payMoney);
-                        discount = byId.getSeasonCardDiscount();
-                    }else {
-                        payMoney = byId.getSeasonCard();
-                    }
+            case 2:
+                if (byId.getSeasonCardDiscountStart()!=null&&(now.isAfter(byId.getSeasonCardDiscountStart())&&now.isBefore(byId.getSeasonCardDiscountEnd()))){
+                    payMoney = byId.getSeasonCard().multiply(byId.getSeasonCardDiscount().divide(new BigDecimal(10)));
+                    discountMoney = byId.getSeasonCard().subtract(payMoney);
+                    discount = byId.getSeasonCardDiscount();
+                }else {
+                    payMoney = byId.getSeasonCard();
+                }
                 break;
             case 3:
                 if (byId.getAnnualCardDiscountStart()!=null&&(now.isAfter(byId.getAnnualCardDiscountStart())&&now.isBefore(byId.getAnnualCardDiscountEnd()))){
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TVipServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TVipServiceImpl.java
index 6df0a5e..38db787 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TVipServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TVipServiceImpl.java
@@ -5,6 +5,7 @@
 import com.alibaba.fastjson.JSONObject;
 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.utils.OrderCodeUtil;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.PageInfo;
@@ -87,14 +88,10 @@
     @Override
     public Object vipInfoPay(TVip byId, BigDecimal payMoney, Integer payType,BigDecimal discountMoney,BigDecimal discount,Integer buyType, Long userId) {
         TAppUser user = appUserClient.getUserById(userId).getData();
-
-
         //生成会员购买订单
-
         TVipOrder shopOrder = new TVipOrder();
         shopOrder.setCode(OrderCodeUtil.getOrderCode("HY"));
         shopOrder.setType(1);
-
         shopOrder.setAppUserId(userId);
         shopOrder.setType(1);
         shopOrder.setVipId(byId.getId());
@@ -114,9 +111,11 @@
         shopOrder.setPaymentStatus(1);
         shopOrder.setPaymentType(payType);
         shopOrder.setPayTime(LocalDateTime.now());
-        orderClient.addVipOrder(shopOrder).getData();
-
-
+        R<Long> longR = orderClient.addVipOrder(shopOrder);
+        if(200 != longR.getCode()){
+            return AjaxResult.error(longR.getMsg());
+        }
+    
         if (payType==1){
             //调起支付
             PaymentOrder paymentOrder = new PaymentOrder();
@@ -138,7 +137,6 @@
                 return AjaxResult.success(data);
             }
         }
-
         return null;
     }
 }
diff --git a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/ali/v2/AppletPayUtil.java b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/ali/v2/AppletPayUtil.java
index e4dc7b4..bb0156c 100644
--- a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/ali/v2/AppletPayUtil.java
+++ b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/ali/v2/AppletPayUtil.java
@@ -1,6 +1,7 @@
 package com.ruoyi.payment.ali.v2;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.alipay.api.AlipayClient;
 import com.alipay.api.AlipayConfig;
 import com.alipay.api.DefaultAlipayClient;
@@ -131,7 +132,9 @@
 			log.info("请求参数:{}", req);
 			log.info("返回结果:{}", response.getBody());
 			if (response.isSuccess()) {
-				return JSON.parseObject(response.getBody(), RefundResp.class);
+				JSONObject jsonObject = JSON.parseObject(response.getBody());
+				RefundResp alipay_trade_refund_response = jsonObject.getObject("alipay_trade_refund_response", RefundResp.class);
+				return alipay_trade_refund_response;
 			}
 		}catch (Exception e){
 			e.printStackTrace();

--
Gitblit v1.7.1