From a5436ce6f0c69e4f588911d238c42e36fa840a32 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期一, 09 六月 2025 11:02:35 +0800
Subject: [PATCH] 川易充

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java   |   17 +++++
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/PhoneLoginController.java |   89 +++++++++++++++++++++++++++++
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/PhoneLoginDTO.java           |   19 ++++++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java |   16 +++++
 4 files changed, 141 insertions(+), 0 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/PhoneLoginDTO.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/PhoneLoginDTO.java
new file mode 100644
index 0000000..dbe36ae
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/PhoneLoginDTO.java
@@ -0,0 +1,19 @@
+package com.ruoyi.account.api.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@ApiModel(value = "H5手机号登录DTO")
+public class PhoneLoginDTO implements Serializable {
+
+    @ApiModelProperty(value = "手机号")
+    private String phoneNumber;
+
+    @ApiModelProperty(value = "枪号")
+    private String chargePileCode;
+
+}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/PhoneLoginController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/PhoneLoginController.java
new file mode 100644
index 0000000..3264a24
--- /dev/null
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/PhoneLoginController.java
@@ -0,0 +1,89 @@
+package com.ruoyi.account.controller;
+
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
+import com.alipay.api.internal.util.codec.Base64;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.account.api.dto.PhoneLoginDTO;
+import com.ruoyi.account.api.model.TAppUser;
+import com.ruoyi.account.service.TAppUserService;
+import com.ruoyi.account.util.RptUtils;
+import com.ruoyi.account.wx.body.resp.Code2SessionRespBody;
+import com.ruoyi.account.wx.body.resq.Code2SessionResqBody;
+import com.ruoyi.account.wx.model.WeixinProperties;
+import com.ruoyi.account.wx.pojo.AppletUserDecodeData;
+import com.ruoyi.account.wx.pojo.AppletUserEncrypteData;
+import com.ruoyi.account.wx.tools.WxAppletTools;
+import com.ruoyi.account.wx.tools.WxUtils;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.exception.ServiceException;
+import com.ruoyi.common.core.utils.HttpUtils;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.redis.service.RedisService;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.client.RestTemplate;
+
+import javax.annotation.Resource;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.security.SecureRandom;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * <p>
+ *  H5手机号登录 前端控制器
+ * </p>
+ *
+ * @author xiaochen
+ * @since 2024-08-06
+ */
+@Slf4j
+@RestController
+@RequestMapping("/phone")
+public class PhoneLoginController {
+    @Autowired
+    private TAppUserService appUserService;
+
+    @ApiOperation(value = "H5通过手机号登录",tags = {"H5通过手机号登录"})
+    @PostMapping("/phoneLogin")
+    public AjaxResult<Map<String, Object>> phoneLogin(@RequestBody PhoneLoginDTO dto) {
+        // 查询手机号是否存在与系统
+        TAppUser appUser = appUserService.getOne(Wrappers.lambdaQuery(TAppUser.class)
+                .eq(TAppUser::getPhone, dto.getPhoneNumber())
+                .eq(TAppUser::getStatus,1)
+                .last("LIMIT 1"));
+        if(Objects.isNull(appUser)){
+            appUser = new TAppUser();
+            appUser.setPhone(dto.getPhoneNumber());
+        }
+        if(Objects.nonNull(appUser.getStatus())){
+            switch (appUser.getStatus()){
+                case 1:
+                    break;
+                case 2:
+                    throw new ServiceException("账号被冻结,请联系管理员");
+                case 3:
+                    appUser = new TAppUser();
+                    appUser.setPhone(dto.getPhoneNumber());
+                    break;
+            }
+        }
+        appUser.setAvatar(org.springframework.util.StringUtils.hasLength(appUser.getAvatar())?appUser.getAvatar():"http://221.182.45.100:8090/2024-10-26/logo.png");
+        appUser.setName(StringUtils.hasLength(appUser.getName())?appUser.getName(): RptUtils.around(dto.getPhoneNumber(),3,4));
+        appUserService.saveOrUpdate(appUser);
+        return AjaxResult.success(appUserService.getUserInfo(appUser));
+    }
+}
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 90f2041..ce56a11 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
@@ -2381,4 +2381,20 @@
         return R.ok(chargingOrderService.getSumDegreeBySiteIds(SiteIds));
     }
 
+
+    @GetMapping(value = "/getOrderIdByUserId")
+    @ApiOperation(value = "H5查询当前用户正在充电中的订单id集合", tags = {"H5-首页-用户充电订单信息"})
+    public R<String> getOrderIdByUserId() {
+        Long userId = tokenService.getLoginUserApplet().getUserId();
+        TChargingOrder chargingOrder = chargingOrderService.getOne(Wrappers.lambdaQuery(TChargingOrder.class)
+                .eq(TChargingOrder::getAppUserId, userId)
+                .in(TChargingOrder::getStatus, Arrays.asList(1,2,3,4))
+                .orderByDesc(TChargingOrder::getCreateTime)
+                .last("LIMIT 1"));
+        if(Objects.isNull(chargingOrder)){
+            return R.ok();
+        }
+        return R.ok(String.valueOf(chargingOrder.getId()));
+    }
+
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java
index 9c30d6d..e74b2db 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java
@@ -1,6 +1,7 @@
 package com.ruoyi.order.controller;
 
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.account.api.feignClient.AppUserClient;
@@ -263,5 +264,21 @@
         orderAppealService.save(orderAppeal);
         return AjaxResult.success();
     }
+
+    /**
+     * 查询订单申诉详情
+     */
+    @GetMapping(value = "/getDetailByOrderId")
+    @ApiOperation(tags = {"H5-通过订单id查询订单申诉"},value = "通过订单id查询订单申诉")
+    public R<TOrderAppealVO> getDetailByOrderId(String orderId) {
+        TOrderAppeal orderAppeal = orderAppealService.getOne(Wrappers.lambdaQuery(TOrderAppeal.class)
+                .eq(TOrderAppeal::getOrderId,orderId)
+                .orderByDesc(TOrderAppeal::getCreateTime)
+                .last("LIMIT 1"));
+        if(Objects.isNull(orderAppeal)){
+            return R.ok();
+        }
+        return R.ok(orderAppealService.getDetailById(String.valueOf(orderAppeal.getId())));
+    }
 }
 

--
Gitblit v1.7.1