xuhy
2024-09-04 4997135aafd4a4cb3ad7492e6091fa47444f995e
Merge remote-tracking branch 'origin/master'
5个文件已修改
3个文件已添加
155 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserRoleFallbackFactory.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserRoleClient.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/SysUserRoleVo.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserRoleController.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserRoleFallbackFactory.java
New file
@@ -0,0 +1,26 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.SysRole;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
import com.ruoyi.system.api.feignClient.SysUserRoleClient;
import com.ruoyi.system.api.model.*;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
public class SysUserRoleFallbackFactory implements org.springframework.cloud.openfeign.FallbackFactory<SysUserRoleClient> {
    @Override
    public SysUserRoleClient create(Throwable cause) {
        return new SysUserRoleClient(){
            @Override
            public R<List<SysUserRoleVo>> getRoleByUserId(Long userId) {
                return R.fail("根据用户id获取角色失败:" + cause.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserRoleClient.java
New file
@@ -0,0 +1,28 @@
package com.ruoyi.system.api.feignClient;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.factory.SysUserRoleFallbackFactory;
import com.ruoyi.system.api.model.SysUserRoleVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
 * @author zhibing.pu
 * @date 2024/9/4 9:49
 */
@FeignClient(contextId = "SysUserRoleClient", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = SysUserRoleFallbackFactory.class)
public interface SysUserRoleClient {
    /**
     * 根据用户id获取角色
     * @param userId
     * @return
     */
    @PostMapping("/userRole/getRoleByUserId")
    R<List<SysUserRoleVo>> getRoleByUserId(@RequestParam("userId") Long userId);
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/SysUserRoleVo.java
New file
@@ -0,0 +1,49 @@
package com.ruoyi.system.api.model;
import com.baomidou.mybatisplus.annotation.TableField;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
 * 用户和角色关联 sys_user_role
 *
 * @author ruoyi
 */
public class SysUserRoleVo
{
    /** 用户ID */
    @TableField("user_id")
    private Long userId;
    /** 角色ID */
    @TableField("role_id")
    private Long roleId;
    public Long getUserId()
    {
        return userId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }
    public Long getRoleId()
    {
        return roleId;
    }
    public void setRoleId(Long roleId)
    {
        this.roleId = roleId;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("userId", getUserId())
            .append("roleId", getRoleId())
            .toString();
    }
}
ruoyi-api/ruoyi-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -4,3 +4,4 @@
com.ruoyi.system.api.factory.SysUserFallbackFactory
com.ruoyi.system.api.factory.SysRoleFallbackFactory
com.ruoyi.system.api.factory.SysLoginLogFallbackFactory
com.ruoyi.system.api.factory.SysUserRoleFallbackFactory
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserRoleController.java
@@ -1,20 +1,19 @@
package com.ruoyi.system.controller;
import java.util.ArrayList;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.model.SysUserRoleVo;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.service.ISysUserRoleService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.security.annotation.RequiresPermissions;
@@ -96,4 +95,22 @@
    public AjaxResult remove(@PathVariable Long[] userIds) {
        return toAjax(sysUserRoleService.deleteSysUserRoleByUserIds(userIds));
    }
    /**
     * 根据用户id获取角色
     * @param userId
     * @return
     */
    @PostMapping("/getRoleByUserId")
    public R<List<SysUserRoleVo>> getRoleByUserId(@RequestParam("userId") Long userId){
        List<SysUserRole> list = sysUserRoleService.list(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, userId));
        List<SysUserRoleVo> data = new ArrayList<>();
        for (SysUserRole sysUserRole : list) {
            SysUserRoleVo vo = new SysUserRoleVo();
            BeanUtils.copyProperties(sysUserRole, vo);
            data.add(vo);
        }
        return R.ok(data);
    }
}
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
@@ -31,6 +31,8 @@
import com.ruoyi.other.api.feignClient.VipClient;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
import com.ruoyi.system.api.feignClient.SysUserRoleClient;
import com.ruoyi.system.api.model.SysUserRoleVo;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@@ -68,6 +70,8 @@
    private AppUserClient appUserClient;
    @Resource
    private VipClient vipClient;
    @Resource
    private SysUserRoleClient sysUserRoleClient;
    
    
@@ -90,8 +94,11 @@
            //非管理员需要根据角色和用户配置查询允许的站点数据
            if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
                List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData();
                List<Integer> data1 = roleSiteClient.getSiteIds(sysUser.getRoleId()).getData();
                data.addAll(data1);
                List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData();
                if(data2.size() > 0){
                    List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData();
                    data.addAll(data1);
                }
                ids = new HashSet<>(data);
            }
        }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1069,7 +1069,6 @@
        return null;
    }
    @Override
    public ChargingOrderListInfoVO chargingInfo(String uid) {
        TChargingOrder chargingOrder= this.getById(uid);
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java
@@ -191,7 +191,11 @@
            total = total.add(vip.getMaximumDeduction().multiply(BigDecimal.valueOf(vip.getDiscountTimes())));
            for (VipCouponDto vipCouponDto : vipCouponDtos) {
                TCoupon tCoupon = vipCouponDto.getTCoupon();
                total.add(tCoupon.getMaximumDiscountAmount());
                if (tCoupon.getPreferentialMode()==2) {
                    total.add(tCoupon.getMaximumDiscountAmount());
                }else {
                    total.add(tCoupon.getDiscountAmount());
                }
            }
            vipInfoDto.setTotalDiscount(total);
            vipInfoDto.setTimeAmount(vip.getMaximumDeduction().multiply(BigDecimal.valueOf(vip.getDiscountTimes())));