luodangjia
2024-07-29 dc9239d73b15b9a51c46a9e8d25c0d4400e613ce
7.29
34个文件已修改
2个文件已添加
284 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/factory/AdminFallbackFactory.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/feignClient/AdminClient.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/EvaluateOrderInfoVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Order.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/UserWithdrawRecordVO.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/WithdrawFallbackFactory.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/WithdrawClient.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-user/src/main/java/com/ruoyi/user/api/factory/UserFallbackFactory.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-user/src/main/java/com/ruoyi/user/api/feignClient/UserClient.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/vo/AddressDto.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/vo/UserDto.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/PrizeController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RegionController.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/UserManageController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/WithdrawController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/RegionServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/UserServiceImpl.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/EvaluateController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/WithdrawController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/WithdrawServiceImpl.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/EvaluateOrderInfoVO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/EvaluatePageVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderEvaluateVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/UserWithdrawRecordVO.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/EvaluateMapper.xml 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/EvaluateController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/OrderController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/vo/OrderDetailVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/factory/AdminFallbackFactory.java
@@ -82,6 +82,11 @@
                return R.fail(cause.getMessage());
            }
            @Override
            public R<String> getWorkPic(Integer id) {
                return R.fail(cause.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/feignClient/AdminClient.java
@@ -131,4 +131,7 @@
    @GetMapping(value = "/franchisee/cityDetail")
    R<List<String>> cityDetail(@RequestParam("id") Integer id);
    @GetMapping(value = "/franchisee/getWorkPic")
    R<String> getWorkPic(@RequestParam("id") Integer id);
}
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/EvaluateOrderInfoVO.java
@@ -41,5 +41,9 @@
    @ApiModelProperty("回收服务id")
    private Integer serveId;
    @ApiModelProperty("预约地址")
    private String reservationAddress;
    @ApiModelProperty("详细地址")
    private String address;
}
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Order.java
@@ -161,6 +161,9 @@
    @ApiModelProperty("回收服务封面图")
    @TableField(exist = false)
    private String cover;
    @ApiModelProperty("师傅头像")
    @TableField(exist = false)
    private String WorkPic;
    @ApiModelProperty("再投原因")
    @TableField(exist = false)
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/UserWithdrawRecordVO.java
@@ -1,6 +1,7 @@
package com.ruoyi.order.api.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.constant.Constants;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -19,7 +20,7 @@
public class UserWithdrawRecordVO {
    @TableId("id")
    private Integer id;
    private String id;
    @ApiModelProperty("用户id")
    private Integer userId;
@@ -28,6 +29,7 @@
    private String userPhone;
    @ApiModelProperty("申请时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date applyForTime;
    @ApiModelProperty("申请金额")
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
@@ -93,7 +93,7 @@
            }
            @Override
            public R<IPage<Order>> orderList(Integer userId, Integer pageNum, Integer pageSize) {
            public R<Page<Order>> orderList(Integer userId, Integer pageNum, Integer pageSize) {
                return R.fail(cause.getMessage());
            }
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/WithdrawFallbackFactory.java
@@ -25,7 +25,7 @@
            }
            @Override
            public R<Withdraw> withdrawRecordDetail(Integer id) {
            public R<Withdraw> withdrawRecordDetail(Long id) {
                return R.fail(cause.getMessage());
            }
@@ -40,7 +40,7 @@
            }
            @Override
            public R<Boolean> withdrawExamine(Integer id, Integer state, String opinion, String openId, Integer userId) {
            public R<Boolean> withdrawExamine(Long id, Integer state, String opinion, String openId, Integer userId) {
                return R.fail(cause.getMessage());
            }
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
@@ -172,7 +172,7 @@
     * @return 分页列表
     */
    @GetMapping(value = "/order/orderList")
    R<IPage<Order>> orderList(@RequestParam("userId") Integer userId,
    R<Page<Order>> orderList(@RequestParam("userId") Integer userId,
                              @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                              @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize);
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/WithdrawClient.java
@@ -48,7 +48,7 @@
     * @return 提现详情
     */
    @GetMapping(value = "/withdraw/withdrawRecordDetail")
    R<Withdraw> withdrawRecordDetail(@RequestParam("id") Integer id);
    R<Withdraw> withdrawRecordDetail(@RequestParam("id") Long id);
    /**
     * 用户提现记录导出
@@ -80,7 +80,7 @@
     * @return 提现结果
     */
    @GetMapping(value = "/withdraw/withdrawExamine")
    R<Boolean> withdrawExamine(@RequestParam("id") Integer id, @RequestParam("state") Integer state,
    R<Boolean> withdrawExamine(@RequestParam("id") Long id, @RequestParam("state") Integer state,
                               @RequestParam(value = "opinion", required = false) String opinion,
                               @RequestParam(value = "openId") String openId,
                               @RequestParam(value = "userId") Integer userId);
ruoyi-api/ruoyi-api-user/src/main/java/com/ruoyi/user/api/factory/UserFallbackFactory.java
@@ -1,5 +1,8 @@
package com.ruoyi.user.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.vo.AddressDto;
import com.ruoyi.common.core.vo.UserDto;
import com.ruoyi.user.api.feignClient.UserClient;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
@@ -12,6 +15,20 @@
    @Override
    public UserClient create(Throwable cause) {
        return null;
        return new UserClient() {
            @Override
            public R<UserDto> getUser(Integer userId) {
                return R.fail(cause.getMessage());
            }
            @Override
            public R<AddressDto> getCityCode(Integer addressId) {
                return R.fail(cause.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-user/src/main/java/com/ruoyi/user/api/feignClient/UserClient.java
@@ -1,8 +1,14 @@
package com.ruoyi.user.api.feignClient;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.vo.AddressDto;
import com.ruoyi.common.core.vo.UserDto;
import com.ruoyi.user.api.factory.UserFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
 * @author HJL
@@ -10,5 +16,10 @@
 */
@FeignClient(contextId = "UserClient", value = ServiceNameConstants.USER_SERVICE, fallbackFactory = UserFallbackFactory.class)
public interface UserClient {
    @PostMapping(value = "/user/getUser")
    R<UserDto> getUser(@RequestParam("userId") Integer userId);
    @PostMapping(value = "/user/getCityCode")
    R<AddressDto> getCityCode(@RequestParam("addressId") Integer addressId);
}
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java
@@ -10,7 +10,7 @@
    /**
     * 缓存有效期,默认720(分钟)
     */
    public final static long EXPIRATION = 720;
    public final static long EXPIRATION = 43200;
    /**
     * 师傅端登录缓存 一个月
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/vo/AddressDto.java
New file
@@ -0,0 +1,10 @@
package com.ruoyi.common.core.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AddressDto {
    private String city;
    private String cityCode;
}
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/vo/UserDto.java
New file
@@ -0,0 +1,14 @@
package com.ruoyi.common.core.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class UserDto {
    @ApiModelProperty("用户昵称")
    private String nickname;
    @ApiModelProperty("头像")
    private String profilePicture;
    private String phone;
}
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java
@@ -4,14 +4,8 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.admin.entity.Franchisee;
import com.ruoyi.admin.entity.Region;
import com.ruoyi.admin.entity.SysUser;
import com.ruoyi.admin.entity.UserRole;
import com.ruoyi.admin.service.FranchiseeService;
import com.ruoyi.admin.service.RegionService;
import com.ruoyi.admin.service.SysUserService;
import com.ruoyi.admin.service.UserRoleService;
import com.ruoyi.admin.entity.*;
import com.ruoyi.admin.service.*;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.GlobalException;
@@ -51,6 +45,8 @@
    private UserRoleService userRoleService;
    @Resource
    private RegionService regionService;
    @Resource
    private MasterWorkerService masterWorkerService;
    /**
     * 加盟商信息分页列表
@@ -111,6 +107,12 @@
        return R.ok(Arrays.stream(franchisee.getCityCode().split(",")).collect(Collectors.toList()));
    }
    @GetMapping(value = "/getWorkPic")
    public R<String> getWorkPic(@RequestParam("id") Integer id) {
        MasterWorker byId = masterWorkerService.getById(id);
        return R.ok(byId.getProfilePicture());
    }
    /**
     * 新增加盟商信息
     *
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/PrizeController.java
@@ -3,7 +3,9 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.admin.entity.MasterWorker;
import com.ruoyi.admin.entity.Prize;
import com.ruoyi.admin.service.MasterWorkerService;
import com.ruoyi.admin.service.PrizeService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.annotation.RequiresPermissions;
@@ -33,6 +35,8 @@
    @Resource
    private PrizeService prizeService;
    @Resource
    private MasterWorkerService masterWorkerService;
    /**
     * 奖品分页列表
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RegionController.java
@@ -40,17 +40,17 @@
    @GetMapping("/addressTree")
    @ApiOperation(value = "选择城市:省市二级联动", tags = {"后台-首页"})
    public R<List<Region>> addressTree() {
        LoginUser loginUser = tokenService.getLoginUser();
        if (null == loginUser) {
            return R.loginExpire("登录失效!");
        }
        List<String> cityCodeList;
        if (loginUser.getIsFranchisee()) {
            cityCodeList = loginUser.getCityList();
        } else {
            cityCodeList = new ArrayList<>();
        }
        return R.ok(regionService.addressTree(cityCodeList));
//        LoginUser loginUser = tokenService.getLoginUser();
//        if (null == loginUser) {
//            return R.loginExpire("登录失效!");
//        }
//        List<String> cityCodeList;
//        if (loginUser.getIsFranchisee()) {
//            cityCodeList = loginUser.getCityList();
//        } else {
//            cityCodeList = new ArrayList<>();
//        }
        return R.ok(regionService.addressTree(null));
    }
}
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/UserManageController.java
@@ -139,7 +139,8 @@
        if (null == loginUser) {
            return R.loginExpire("登录失效!");
        }
        return R.ok(orderClient.orderList(userId, pageNum, pageSize).getData());
        R<Page<Order>> iPageR = orderClient.orderList(userId, pageNum, pageSize);
        return R.ok(iPageR.getData());
    }
    /**
@@ -266,7 +267,7 @@
            @ApiImplicitParam(value = "审批意见", name = "opinion", dataType = "String"),
            @ApiImplicitParam(value = "审批同意/不同意(1同意;2驳回)", name = "state", dataType = "Integer", required = true)
    })
    public R<String> withdrawExamine(@RequestParam Integer id, @RequestParam Integer state, String opinion) {
    public R<String> withdrawExamine(@RequestParam Long id, @RequestParam Integer state, String opinion) {
        com.ruoyi.order.api.entity.Withdraw withdraw = withdrawClient.withdrawRecordDetail(id).getData();
        if (null == withdraw) {
            throw new GlobalException("提现记录不存在或已删除!");
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/WithdrawController.java
@@ -90,7 +90,7 @@
    @ApiImplicitParams({
            @ApiImplicitParam(value = "提现记录id", name = "id", dataType = "Integer", required = true)
    })
    public R<Withdraw> withdrawRecordDetail(@RequestParam Integer id) {
    public R<Withdraw> withdrawRecordDetail(@RequestParam Long id) {
        return withdrawClient.withdrawRecordDetail(id);
    }
@@ -108,7 +108,7 @@
            @ApiImplicitParam(value = "审批意见", name = "opinion", dataType = "String"),
            @ApiImplicitParam(value = "审批同意/不同意(1同意;2驳回)", name = "state", dataType = "Integer", required = true)
    })
    public R<String> withdrawExamine(@RequestParam Integer id, @RequestParam Integer state, String opinion) {
    public R<String> withdrawExamine(@RequestParam Long id, @RequestParam Integer state, String opinion) {
        Withdraw withdraw = withdrawClient.withdrawRecordDetail(id).getData();
        if (null == withdraw) {
            throw new GlobalException("提现记录不存在或已删除!");
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/RegionServiceImpl.java
@@ -66,7 +66,7 @@
     */
    private List<Region> getReginList(List<String> cityCodeList) {
        List<Region> regions;
        if (cityCodeList.isEmpty()) {
        if (cityCodeList==null) {
            regions = this.list();
        } else {
            regions = this.lambdaQuery()
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/UserServiceImpl.java
@@ -22,6 +22,7 @@
import java.time.Year;
import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
@@ -55,14 +56,18 @@
            userWrapper.in(User::getCityCode, cityList);
        }
        List<User> userList = userWrapper.list();
        // 判断用户是否在管辖城市内下过订单
        for (User user : userList) {
        Iterator<User> iterator = userList.iterator();
        while (iterator.hasNext()) {
            User user = iterator.next();
            Integer userId = user.getId();
            R<Boolean> r = orderClient.orderByUserId(userId);
            if (!r.getData()) {
                userList.remove(user);
                iterator.remove(); // 安全地移除元素
            }
        }
        Integer userNumber = userList.size();
        // 用户总量
        // 计算当前季度时间所包含时间
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/EvaluateController.java
@@ -109,7 +109,8 @@
    public R<Page<EvaluatePageVO>> evaluateList(@RequestParam(value = "userId", required = false) Integer userId,
                                                @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                                                @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
        return R.ok(evaluateService.evaluateList(userId, Page.of(pageNum, pageSize)));
        Page<EvaluatePageVO> evaluatePageVOPage = evaluateService.evaluateList(userId, Page.of(pageNum, pageSize));
        return R.ok(evaluatePageVOPage);
    }
    /**
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
@@ -370,11 +370,12 @@
            @ApiImplicitParam(value = "页码", name = "pageNum", dataType = "Integer", required = true),
            @ApiImplicitParam(value = "每页条数", name = "pageSize", dataType = "Integer", required = true)
    })
    public R<IPage<Order>> orderList(@RequestParam("userId") Integer userId,
    public R<Page<Order>> orderList(@RequestParam("userId") Integer userId,
                                     @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                                     @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
        return R.ok(orderService.lambdaQuery().eq(Order::getUserId, userId)
                .eq(Order::getIsDelete, 0).page(Page.of(pageNum, pageSize)));
        Page<Order> page = orderService.lambdaQuery().eq(Order::getUserId, userId)
                .eq(Order::getIsDelete, 0).page(Page.of(pageNum, pageSize));
        return R.ok(page);
    }
    /**
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/WithdrawController.java
@@ -82,7 +82,7 @@
    @ApiImplicitParams({
            @ApiImplicitParam(value = "提现记录id", name = "id", dataType = "Integer", required = true)
    })
    public R<Withdraw> withdrawRecordDetail(@RequestParam("id") Integer id) {
    public R<Withdraw> withdrawRecordDetail(@RequestParam("id") Long id) {
        Withdraw withdraw = withdrawService.lambdaQuery().eq(Withdraw::getId, id)
                .eq(Withdraw::getIsDelete, 0).one();
        return R.ok(withdraw);
@@ -102,7 +102,7 @@
            @ApiImplicitParam(value = "审批意见", name = "opinion", dataType = "String"),
            @ApiImplicitParam(value = "审批同意/不同意(1同意;2驳回)", name = "state", dataType = "Integer", required = true)
    })
    public R<Boolean> withdrawExamine(@RequestParam("id") Integer id, @RequestParam("state") Integer state,
    public R<Boolean> withdrawExamine(@RequestParam("id") Long id, @RequestParam("state") Integer state,
                                      @RequestParam(value = "opinion", required = false) String opinion,
                                      @RequestParam(value = "openId") String openId,
                                      @RequestParam(value = "userId") Integer userId) {
@@ -259,7 +259,7 @@
                                             @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                                             @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
        return R.ok(orderService.lambdaQuery().eq(Order::getUserId, userId)
                .eq(Order::getState, 3).eq(Order::getIsDelete, 0).page(Page.of(pageNum, pageSize)));
                .eq(Order::getState, 3).page(Page.of(pageNum, pageSize)));
    }
    @GetMapping("/withdrawRecordList")
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -4,7 +4,9 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.constant.OrderConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.GaoDeMapUtil;
import com.ruoyi.common.core.vo.AddressDto;
import com.ruoyi.common.core.vo.Path;
import com.ruoyi.order.entity.ChangeDispatch;
import com.ruoyi.order.entity.Order;
@@ -13,6 +15,7 @@
import com.ruoyi.order.service.ChangeDispatchService;
import com.ruoyi.order.service.OrderService;
import com.ruoyi.order.vo.*;
import com.ruoyi.user.api.feignClient.UserClient;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -43,6 +46,8 @@
    @Resource
    private ChangeDispatchService changeDispatchService;
    @Resource
    private UserClient userClient;
    @Override
    public OrderResultVO orderCountHome(OrderCountRequest orderCount) {
@@ -245,6 +250,9 @@
    @Override
    public Boolean placeOrder(UserOrderRequest userOrderRequest) {
        R<AddressDto> cityCode = userClient.getCityCode(userOrderRequest.getAddressId());
        // 下单参数
        String orderNumber = userOrderRequest.getOrderNumber();
        Integer serveId = userOrderRequest.getServeId();
@@ -280,11 +288,17 @@
        order.setIsWithdrawal(Constants.ZERO);
        order.setSubsidy(subsidy);
        order.setAddress(addressDetail);
        order.setIsEvaluate(Constants.ZERO);
        order.setCity(cityCode.getData().getCity());
        order.setCityCode(cityCode.getData().getCityCode());
        return this.save(order);
    }
    @Override
    public String orderEstimate(UserOrderRequest userOrderRequest) {
        R<AddressDto> cityCode = userClient.getCityCode(userOrderRequest.getAddressId());
        // 下单参数
        String orderNumber = userOrderRequest.getOrderNumber();
        Integer serveId = userOrderRequest.getServeId();
@@ -329,6 +343,8 @@
        order.setIsWithdrawal(Constants.ZERO);
        order.setSubsidy(subsidy);
        order.setAddress(addressDetail);
        order.setCity(cityCode.getData().getCity());
        order.setCityCode(cityCode.getData().getCityCode());
        this.save(order);
        return String.valueOf(order.getId());
    }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/WithdrawServiceImpl.java
@@ -6,9 +6,11 @@
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.constant.OrderConstants;
import com.ruoyi.common.core.constant.WechatConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.GlobalException;
import com.ruoyi.common.core.utils.SnowflakeIdWorker;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.vo.UserDto;
import com.ruoyi.order.entity.Order;
import com.ruoyi.order.entity.Withdraw;
import com.ruoyi.order.entity.WithdrawalSetting;
@@ -20,6 +22,7 @@
import com.ruoyi.order.vo.MoneyQueryRequest;
import com.ruoyi.order.vo.UserWithdrawRecordVO;
import com.ruoyi.order.vx.HttpUtil;
import com.ruoyi.user.api.feignClient.UserClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Service;
@@ -79,10 +82,14 @@
     */
    @Value("wx.transferRemark")
    private String transferRemark;
    @Resource
    private UserClient userClient;
    @Override
    public Page<UserWithdrawRecordVO> withdrawPage(String nickname, String userPhone, String applyForTime, Integer state, Page<UserWithdrawRecordVO> page) {
        return baseMapper.withdrawPage(nickname, userPhone, applyForTime, state, page);
        Page<UserWithdrawRecordVO> userWithdrawRecordVOPage = baseMapper.withdrawPage(nickname, userPhone, applyForTime, state, page);
        return userWithdrawRecordVOPage;
    }
    @Override
@@ -162,7 +169,15 @@
    @Override
    public Page<UserWithdrawRecordVO> withdrawList(Integer userId, Page<UserWithdrawRecordVO> page) {
        return baseMapper.withdrawList(userId, page);
        Page<UserWithdrawRecordVO> userWithdrawRecordVOPage = baseMapper.withdrawList(userId, page);
        for (UserWithdrawRecordVO record : userWithdrawRecordVOPage.getRecords()) {
            R<UserDto> user = userClient.getUser(record.getUserId());
            System.err.println("==="+user.getData());
            record.setNickname(user.getData().getNickname());
            record.setProfilePicture(user.getData().getProfilePicture());
            record.setUserPhone(user.getData().getPhone());
        }
        return userWithdrawRecordVOPage;
    }
    @Override
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/EvaluateOrderInfoVO.java
@@ -44,5 +44,10 @@
    @ApiModelProperty("是否评价(0:未评价;1:已评价)")
    private Integer isEvaluate;
    @ApiModelProperty("预约地址")
    private String reservationAddress;
    @ApiModelProperty("详细地址")
    private String address;
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/EvaluatePageVO.java
@@ -59,6 +59,10 @@
    @ApiModelProperty("服务单号")
    @TableField("serve_no")
    private String serveNo;
//    @TableField("createBy")
//    private String createBy;
//    @TableField("updateBy")
//    private String updateBy;
    @TableField("createTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderEvaluateVO.java
@@ -19,6 +19,8 @@
    @ApiModelProperty("是否还未评价")
    private Boolean evaluate;
    @ApiModelProperty("回收服务id")
    private Integer serveId;
    public Boolean getEvaluate() {
        return null != evaluateInfo;
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/UserWithdrawRecordVO.java
@@ -1,6 +1,7 @@
package com.ruoyi.order.vo;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.constant.Constants;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -19,7 +20,7 @@
public class UserWithdrawRecordVO {
    @TableId("id")
    private Integer id;
    private String id;
    @ApiModelProperty("用户id")
    private Integer userId;
@@ -28,6 +29,7 @@
    private String userPhone;
    @ApiModelProperty("申请时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date applyForTime;
    @ApiModelProperty("申请金额")
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/EvaluateMapper.xml
@@ -70,6 +70,12 @@
                    #{city}
                </foreach>
            </if>
            <if test="data.userIdList != null and data.userIdList.size() != 0">
                and e.user_id in
                <foreach collection="data.userIdList" item="userId" open="(" separator="," close=")">
                    #{userId}
                </foreach>
            </if>
        </where>
        order by e.createTime desc
    </select>
@@ -82,10 +88,10 @@
        <result column="content" property="content"/>
        <result column="worker_id" property="workerId"/>
        <result column="star_rating" property="starRating"/>
        <result column="createBy" property="createBy"/>
        <result column="updateBy" property="updateBy"/>
<!--        <result column="createBy" property="createBy"/>-->
<!--        <result column="updateBy" property="updateBy"/>-->
        <result column="createTime" property="createTime"/>
        <result column="updateTime" property="updateTime"/>
<!--        <result column="updateTime" property="updateTime"/>-->
        <result column="is_delete" property="isDelete"/>
        <result column="reservation_name" property="userNo"/>
        <result column="order_number" property="orderNumber"/>
@@ -105,7 +111,7 @@
        <association property="orderInfo" javaType="com.ruoyi.order.vo.EvaluateOrderInfoVO">
            <result column="id" property="orderId"/>
            <result column="order_number" property="orderNumber"/>
            <result column="complete_time" property="completeTime"/>
            <result column="createTime" property="completeTime"/>
            <result column="serve_name" property="serveName"/>
            <result column="serve_describe" property="serveDescribe"/>
            <result column="cover" property="cover"/>
@@ -113,6 +119,8 @@
            <result column="server_phone" property="serverPhone"/>
            <result column="serve_id" property="serveId"/>
            <result column="is_evaluate" property="isEvaluate"/>
            <result column="reservation_address" property="reservationAddress"/>
            <result column="address" property="address"/>
        </association>
        <association property="evaluateInfo" javaType="com.ruoyi.order.vo.EvaluateInfoVO">
            <result column="content" property="content"/>
@@ -130,8 +138,10 @@
               o.is_evaluate,
               e.content,
               e.star_rating,
               e.createTime,
               o.serve_id
               e.createTime as createTime,
               o.serve_id,
               o.reservation_address,
               o.address
        FROM t_order o
                 LEFT JOIN t_evaluate e on o.id = e.order_id
        <where>
ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/EvaluateController.java
@@ -62,7 +62,7 @@
                Map<Integer, RecoveryServe> map = serveList.stream().collect(Collectors.
                        toMap(RecoveryServe::getId, data -> data));
                for (OrderEvaluateVO data : list.getRecords()) {
                    Integer serveId = data.getServeId();
                    Integer serveId = data.getOrderInfo().getServeId();
                    RecoveryServe recoveryServe = map.get(serveId);
                    if (null != recoveryServe) {
                        EvaluateOrderInfoVO orderInfo = data.getOrderInfo();
ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/OrderController.java
@@ -22,11 +22,13 @@
import com.ruoyi.user.service.OrderService;
import com.ruoyi.user.service.RecoveryServePriceService;
import com.ruoyi.user.service.RecoveryServeService;
import com.ruoyi.user.service.UserService;
import com.ruoyi.user.vo.OrderDetailVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.boot.autoconfigure.kafka.KafkaProperties;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -86,6 +88,7 @@
            Map<Integer, String> map = serveList.stream().collect(Collectors.toMap(RecoveryServe::getId,
                    mw -> Optional.ofNullable(mw.getCover()).orElse("")));
            for (Order order : data.getRecords()) {
                Integer serveId = order.getServeId();
                order.setCover(map.get(serveId));
            }
@@ -135,6 +138,8 @@
                orderDetail.setPhoto(serveRecord.getPhoto());
            }
        }
        R<String> workPic = adminClient.getWorkPic(order.getServerId());
        orderDetail.setWorkPic(workPic.getMsg());
        return R.ok(orderDetail);
    }
ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java
@@ -10,20 +10,25 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.GlobalException;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.vo.AddressDto;
import com.ruoyi.common.core.vo.UserDto;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.system.api.model.LoginUserInfo;
import com.ruoyi.user.entity.RecoveryClassify;
import com.ruoyi.user.entity.RecoveryServe;
import com.ruoyi.user.entity.User;
import com.ruoyi.user.entity.UserRecipient;
import com.ruoyi.user.request.LoginPhoneRequest;
import com.ruoyi.user.service.RecoveryClassifyService;
import com.ruoyi.user.service.RecoveryServeService;
import com.ruoyi.user.service.UserRecipientService;
import com.ruoyi.user.service.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -59,6 +64,8 @@
    private RecoveryClassifyService recoveryClassifyService;
    @Resource
    private RecoveryServeService recoveryServeService;
    @Resource
    private     UserRecipientService userRecipientService;
    /**
     * 用户端默认头像
@@ -128,7 +135,7 @@
                .eq(User::getIsDelete, 0).one();
        if (null != user) {
            if (!Constants.ONE.equals(user.getState())) {
                return R.notEnabled("登录失败,当前账号未启用!");
                return R.notEnabled("账号已被禁用,请联系平台管理员。");
            }
        } else {
            user = new User();
@@ -280,6 +287,30 @@
        return R.ok(serveList);
    }
    @ApiOperation(value = "订单列表-更改订单提现状态", tags = {"后台-订单管理"})
    @PostMapping(value = "/getUser")
    public R<UserDto> updateWithdrawalState(@RequestParam("userId") Integer userId) {
        User byId = userService.getById(userId);
        UserDto userDto = new UserDto();
        BeanUtils.copyProperties(byId,userDto);
        return R.ok(userDto);
    }
//    @ApiOperation(value = "订单列表-更改订单提现状态", tags = {"后台-订单管理"})
    @PostMapping(value = "/getCityCode")
    public R<AddressDto> getCityCode(@RequestParam("addressId") Integer addressId) {
        UserRecipient byId = userRecipientService.getById(addressId);
        AddressDto userDto = new AddressDto();
        userDto.setCityCode(byId.getCityCode());
        userDto.setCity(byId.getCity());
        return R.ok(userDto);
    }
    /**
     * 用户端-个人中心用户信息
     */
ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserServiceImpl.java
@@ -107,6 +107,7 @@
                    user = new User();
                    user.setUserNo(String.format(Constants.USER_NO_PRE, RandomUtil.randomNumbers(Constants.EIGHT)));
                    user.setState(Constants.ONE);
                    user.setPhone(phoneNumber);
                    user.setProfilePicture(profilePicture);
                    user.setNickname(String.format(Constants.USER_NO_PRE, StringUtils.getCharAndNum(Constants.SIX)));
                    user.setState(Constants.ONE);
@@ -116,7 +117,7 @@
                } else {
                    Integer state = user.getState();
                    if (state == 0) {
                        throw new GlobalException("该账号未开启,无法进行登录!");
                        throw new GlobalException("账号已被禁用,请联系平台管理员。");
                    }
                }
                // 校验通过,生成token及过期时间
ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/vo/OrderDetailVO.java
@@ -72,6 +72,8 @@
    @ApiModelProperty("家电照片")
    private String photo;
    @ApiModelProperty("师傅照片")
    private String workPic;
    @ApiModelProperty("是否评价(0:未评价,1:已评价)")
    private Integer isEvaluate;