From 800a7e19d1c16aa20443ffdc6d68a9e0da0bbd68 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 18 四月 2025 17:40:25 +0800
Subject: [PATCH] 2.0迭代

---
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java         |    2 
 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/OrderController.java           |   25 ++++++++++--
 ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/feignClient/AdminClient.java        |    2 
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/PrizeController.java         |   19 ++++++++-
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java   |    5 ++
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/request/RecoveryServeRequest.java       |    2 +
 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java            |    4 +-
 ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/factory/AdminFallbackFactory.java   |    2 
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Prize.java                       |    4 ++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java         |   15 +++++++
 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/RecoveryServe.java                 |    4 +
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/AppFranchiseeController.java |   22 +++++++----
 ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/entity/Agreement.java               |    2 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java        |   10 +++++
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RecoveryServeController.java |    1 
 15 files changed, 96 insertions(+), 23 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/entity/Agreement.java b/ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/entity/Agreement.java
index d3e411f..525e8d0 100644
--- a/ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/entity/Agreement.java
+++ b/ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/entity/Agreement.java
@@ -30,7 +30,7 @@
     @TableField("content")
     private String content;
 
-    @ApiModelProperty("0注册协议;1:隐私政策;2:司机操作指导")
+    @ApiModelProperty("0注册协议;1:隐私政策;2:司机操作指导;3:服务规则管理")
     @TableField("content_type")
     private Integer contentType;
 
diff --git a/ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/factory/AdminFallbackFactory.java b/ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/factory/AdminFallbackFactory.java
index 05e216e..81afdc9 100644
--- a/ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/factory/AdminFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/factory/AdminFallbackFactory.java
@@ -63,7 +63,7 @@
             }
 
             @Override
-            public R<List<Prize>> prizeList() {
+            public R<List<Prize>> prizeList(Integer serveId) {
                 return R.fail("获取奖品列表失败" + cause.getMessage());
             }
 
diff --git a/ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/feignClient/AdminClient.java b/ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/feignClient/AdminClient.java
index 2b12980..2f018b3 100644
--- a/ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/feignClient/AdminClient.java
+++ b/ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/feignClient/AdminClient.java
@@ -103,7 +103,7 @@
      * @return 奖品列表
      */
     @GetMapping(value = "/prize/prizeList")
-    R<List<Prize>> prizeList();
+    R<List<Prize>> prizeList(@RequestParam("serveId") Integer serveId);
 
     /**
      * 奖品详情 -- 远程调用
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
index ad9706a..17286a3 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
@@ -263,6 +263,11 @@
             }
 
             @Override
+            public R<String> receiving(String orderId, BigDecimal recycleSubsidy) {
+                return R.fail(cause.getMessage());
+            }
+
+            @Override
             public R<Boolean> changeOrderState(String orderId, Integer state) {
                 return R.fail(cause.getMessage());
             }
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 fe65ad2..0941c3a 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
@@ -444,4 +444,14 @@
      */
     @GetMapping(value = "/order/call")
     R<String> call(@RequestParam("orderId")String orderId);
+
+    /**
+     * 领取补贴金
+     * @param orderId
+     * @param recycleSubsidy
+     * @return
+     */
+    @GetMapping(value = "/order/receiving")
+    R<String> receiving(@RequestParam("orderId")String orderId, @RequestParam("recycleSubsidy")BigDecimal recycleSubsidy);
+
 }
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/AppFranchiseeController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/AppFranchiseeController.java
index ccc2362..0ce240f 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/AppFranchiseeController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/AppFranchiseeController.java
@@ -4,13 +4,11 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.admin.entity.Franchisee;
-import com.ruoyi.admin.entity.FranchiseeWithdraw;
-import com.ruoyi.admin.entity.RecoveryServe;
-import com.ruoyi.admin.entity.TFranchiseeBalanceChange;
+import com.ruoyi.admin.entity.*;
 import com.ruoyi.admin.request.AuditFranchiseeWithdrawDTO;
 import com.ruoyi.admin.request.FranchiseeWithdrawDTO;
 import com.ruoyi.admin.service.FranchiseeService;
+import com.ruoyi.admin.service.SysUserService;
 import com.ruoyi.admin.service.TFranchiseeBalanceChangeService;
 import com.ruoyi.admin.service.TFranchiseeWithdrawService;
 import com.ruoyi.common.core.domain.R;
@@ -58,7 +56,8 @@
     @Resource
     private TFranchiseeWithdrawService franchiseeWithdrawService;
 
-
+    @Resource
+    private SysUserService sysUserService;
 
     @PostMapping("/applyWithdraw")
     @ApiOperation(value = "APP-加盟商申请提现", tags = {"提现"})
@@ -67,7 +66,9 @@
         if (loginUser==null){
             return R.fail("登录失效");
         }
-        Franchisee franchisee = franchiseeService.getById(loginUser.getUserid());
+        SysUser user = sysUserService.getById(loginUser.getUserid());
+
+        Franchisee franchisee = franchiseeService.getById(user.getFranchiseeId());
         if (franchisee.getBalance().subtract(dto.getMoney()).compareTo(BigDecimal.ZERO)>=0){
             BigDecimal subtract = franchisee.getBalance().subtract(dto.getMoney());
             franchisee.setBalance(subtract);
@@ -108,8 +109,9 @@
         if (null == loginWorker) {
             return R.loginExpire("登录失效!");
         }
+        SysUser user = sysUserService.getById(loginWorker.getUserid());
         IPage<FranchiseeWithdraw> franchiseeWithdrawList = franchiseeWithdrawService
-                .lambdaQuery().eq(FranchiseeWithdraw::getFranchiseeId, loginWorker.getUserid())
+                .lambdaQuery().eq(FranchiseeWithdraw::getFranchiseeId, user.getFranchiseeId())
                 .orderByDesc(FranchiseeWithdraw::getCreateTime)
                 .page(Page.of(pageNum, pageSize));
         return R.ok(franchiseeWithdrawList);
@@ -121,8 +123,10 @@
         if (null == loginWorker) {
             return R.loginExpire("登录失效!");
         }
+        SysUser byId = sysUserService.getById(loginWorker.getUserid());
+
         LambdaQueryWrapper<FranchiseeWithdraw> franchiseeWithdrawLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        franchiseeWithdrawLambdaQueryWrapper.eq(FranchiseeWithdraw::getFranchiseeId, loginWorker.getUserid())
+        franchiseeWithdrawLambdaQueryWrapper
                 .orderByDesc(FranchiseeWithdraw::getCreateTime);
         if (StringUtils.hasLength(franchiseeWithdrawDTO.getFranchiseeName())){
             List<Integer> ids = franchiseeService.lambdaQuery().like(Franchisee::getName, franchiseeWithdrawDTO.getFranchiseeName()).list()
@@ -173,10 +177,12 @@
         if (null == loginWorker) {
             return R.loginExpire("登录失效!");
         }
+        SysUser byId = sysUserService.getById(loginWorker.getUserid());
         FranchiseeWithdraw franchiseeWithdraw = franchiseeWithdrawService.getById(auditFranchiseeWithdrawDTO.getId());
         franchiseeWithdraw.setStatus(auditFranchiseeWithdrawDTO.getStatus());
         franchiseeWithdraw.setResult(auditFranchiseeWithdrawDTO.getResult());
         franchiseeWithdraw.setImg(auditFranchiseeWithdrawDTO.getImg());
+        franchiseeWithdraw.setUpdateBy(byId.getNickName());
         franchiseeWithdrawService.updateById(franchiseeWithdraw);
         return R.ok();
     }
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java
index 9334b7a..747f7ab 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java
@@ -447,7 +447,7 @@
             orderClient.updateArrivalTime(order.getId(),orderReasinDto.getArriveTime());
 
             if (order.getState().equals(Constants.SIX) || order.getState().equals(Constants.THREE)) {
-                orderClient.updateState(order.getId(), Constants.ONE);
+                orderClient.updateState(order.getId(), 7);
 
                 //如果是待改派,将上门时间设置为最新的,并且更新再投原因
                 if (order.getState().equals(Constants.SIX)){
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/PrizeController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/PrizeController.java
index 561225a..eb960ca 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/PrizeController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/PrizeController.java
@@ -5,8 +5,10 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.admin.entity.MasterWorker;
 import com.ruoyi.admin.entity.Prize;
+import com.ruoyi.admin.entity.RecoveryServe;
 import com.ruoyi.admin.service.MasterWorkerService;
 import com.ruoyi.admin.service.PrizeService;
+import com.ruoyi.admin.service.RecoveryServeService;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.security.annotation.RequiresPermissions;
 import io.swagger.annotations.Api;
@@ -18,6 +20,7 @@
 import javax.annotation.Resource;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -35,6 +38,8 @@
 
     @Resource
     private PrizeService prizeService;
+    @Resource
+    private RecoveryServeService recoveryServeService;
     @Resource
     private MasterWorkerService masterWorkerService;
 
@@ -118,9 +123,17 @@
      * 奖品列表 -- 远程调用
      */
     @GetMapping(value = "/prizeList")
-    public R<List<Prize>> prizeList() {
-        return R.ok(prizeService.lambdaQuery().eq(Prize::getIsDelete, 0)
-                .orderByDesc(Prize::getCreateTime).list());
+    public R<List<Prize>> prizeList(@RequestParam("serveId") Integer serveId) {
+        List<Prize> list = prizeService.lambdaQuery().eq(Prize::getIsDelete, 0)
+                .orderByDesc(Prize::getCreateTime).list();
+        // 查询服务
+        RecoveryServe recoveryServe = recoveryServeService.getById(serveId);
+        list.forEach(data -> {
+            if(Objects.nonNull(data.getPrizeType()) && data.getPrizeType() == 1){
+                data.setPrizeName("补贴金¥" + recoveryServe.getRecycleSubsidy());
+            }
+        });
+        return R.ok(list);
     }
 
     /**
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RecoveryServeController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RecoveryServeController.java
index 68a3a4a..63b88e7 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RecoveryServeController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RecoveryServeController.java
@@ -181,6 +181,7 @@
     public R<String> update(@RequestBody RecoveryServeRequest recoveryServeRequest) {
         RecoveryServe serve = recoveryServeRequest.getServe();
         serve.setId(recoveryServeRequest.getId());
+        serve.setRecycleSubsidy(recoveryServeRequest.getRecycleSubsidy());
         boolean update = recoveryServeService.updateById(serve);
         // 城市及对应回收价
         List<RecoveryServePrice> priceList = recoveryServePriceService.lambdaQuery()
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Prize.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Prize.java
index 01b1c37..bcfd7db 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Prize.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Prize.java
@@ -39,4 +39,8 @@
     @TableField("probability")
     private String probability;
 
+    @ApiModelProperty("类型 1=补贴金 2=奖品")
+    @TableField("prize_type")
+    private Integer prizeType;
+
 }
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/request/RecoveryServeRequest.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/request/RecoveryServeRequest.java
index 76f33c2..4c25a9e 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/request/RecoveryServeRequest.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/request/RecoveryServeRequest.java
@@ -40,6 +40,8 @@
     @ApiModelProperty("默认回收价")
     private BigDecimal defaultPrice;
 
+    @ApiModelProperty("回收补贴金")
+    private BigDecimal recycleSubsidy;
     @ApiModelProperty("排序权重")
     private Integer sort;
 
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
index d504f4f..c7214b5 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
@@ -892,10 +892,23 @@
             return R.fail("订单不存在");
         }
         if(order.getState() == 7){
-            order.setState(2);
+            order.setState(1);
             orderService.updateById(order);
         }
         return R.ok();
     }
+    /**
+     * 领取补贴金
+     */
+    @GetMapping(value = "/receiving")
+    public R<String> receiving(@RequestParam("orderId")String orderId, @RequestParam("recycleSubsidy")BigDecimal recycleSubsidy) {
+        Order order = orderService.getById(orderId);
+        if(Objects.isNull(order)){
+            return R.fail("订单不存在");
+        }
+        order.setSubsidy(recycleSubsidy);
+        orderService.updateById(order);
+        return R.ok();
+    }
 
 }
diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/OrderController.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/OrderController.java
index 4fc037f..99ecf32 100644
--- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/OrderController.java
+++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/OrderController.java
@@ -35,6 +35,7 @@
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Optional;
 import java.util.stream.Collectors;
 
@@ -150,8 +151,8 @@
      */
     @GetMapping("/prizeList")
     @ApiOperation(value = "获取奖品列表", tags = {"用户端-订单"})
-    public R<List<Prize>> prizeList() {
-        return R.ok(adminClient.prizeList().getData());
+    public R<List<Prize>> prizeList(@RequestParam("serveId") String serveId) {
+        return R.ok(adminClient.prizeList(Integer.valueOf(serveId)).getData());
     }
 
     /**
@@ -161,8 +162,8 @@
      */
     @GetMapping("/allowance")
     @ApiOperation(value = "抽奖获取津贴", tags = {"用户端-订单"})
-    public R<Object> obtainAllowance() {
-        return R.ok(orderService.obtainAllowance(adminClient.prizeList().getData()));
+    public R<Object> obtainAllowance(@RequestParam("serveId") String serveId) {
+        return R.ok(orderService.obtainAllowance(adminClient.prizeList(Integer.valueOf(serveId)).getData()));
     }
 
     /**
@@ -208,4 +209,20 @@
         return result ? R.ok() : R.fail();
     }
 
+    /**
+     * 领取补贴金
+     *
+     */
+    @GetMapping("/receivingSubsidies")
+    @ApiOperation(value = "领取补贴金", tags = {"用户端-订单-领取补贴金[2.0]"})
+    public R<Object> receivingSubsidies(@RequestParam("serveId") String serveId,@RequestParam("orderId") String orderId) {
+        // 查询补贴金
+        RecoveryServe recoveryServe = recoveryServeService.getById(serveId);
+        if (Objects.isNull(recoveryServe)) {
+            return R.fail("该服务不存在!");
+        }
+        orderClient.receiving(orderId,recoveryServe.getRecycleSubsidy());
+        return R.ok();
+    }
+
 }
diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java
index 1494421..5373775 100644
--- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java
+++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java
@@ -163,10 +163,10 @@
     @ApiOperation(value = "用户注册协议/用户隐私协议", tags = {"用户端-登录"})
     @GetMapping(value = "/registerOrAgreement")
     @ApiImplicitParams({
-            @ApiImplicitParam(value = "0:用户注册协议、1:用户隐私协议", name = "type", dataType = "Integer", required = true)
+            @ApiImplicitParam(value = "0:用户注册协议、1:用户隐私协议;3:服务规则管理", name = "type", dataType = "Integer", required = true)
     })
     public R<Agreement> registerOrAgreement(@RequestParam Integer type) {
-        if (!Constants.ZERO.equals(type) && !Constants.ONE.equals(type)) {
+        if (!Constants.ZERO.equals(type) && !Constants.ONE.equals(type) && !Constants.THREE.equals(type)) {
             throw new GlobalException("获取类型异常!");
         }
         R<Agreement> r = adminClient.agreementPolicy(type);
diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/RecoveryServe.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/RecoveryServe.java
index 7a1e230..8443d84 100644
--- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/RecoveryServe.java
+++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/RecoveryServe.java
@@ -60,7 +60,9 @@
     @ApiModelProperty("轮播图片")
     @TableField("rotate")
     private String rotate;
-
+    @ApiModelProperty("回收补贴金")
+    @TableField("recycle_subsidy")
+    private BigDecimal recycleSubsidy;
     @ApiModelProperty("是否收藏")
     @TableField(exist = false)
     private Boolean isCollect;

--
Gitblit v1.7.1