xuhy
2025-12-26 8ed3d4aa2d4f93da55c040bbc81382038f7f0109
bug修改
9个文件已修改
91 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmSalespersonController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/SysOperLogQuery.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmClinicServiceImpl.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmSupplierServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmSalespersonController.java
@@ -106,6 +106,10 @@
            }
            if(crmBranch.getPersonType() == 3){
                branchIds.add(crmBranch.getId());
                query.setBranchIds(branchIds);
            }
            if(CollectionUtils.isEmpty(branchIds)){
                return R.ok(new PageInfo<>());
            }
        }
        return R.ok(crmSalespersonService.pageList(query));
ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java
@@ -1,13 +1,20 @@
package com.ruoyi.web.controller.monitor;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.model.TCrmClinic;
import com.ruoyi.system.model.TCrmSupplier;
import com.ruoyi.system.query.SysOperLogQuery;
import com.ruoyi.system.service.ISysOperLogService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.TCrmClinicService;
import com.ruoyi.system.service.TCrmSupplierService;
import com.ruoyi.system.vo.SysOperLogVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -17,6 +24,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
 * 操作日志记录
@@ -33,15 +41,45 @@
    private ISysOperLogService operLogService;
    @Autowired
    private TokenService tokenService;
    @Autowired
    private TCrmSupplierService crmSupplierService;
    @Autowired
    private TCrmClinicService crmClinicService;
    @Autowired
    private ISysUserService userService;
    @ApiOperation(value = "操作日志分页列表")
    @PostMapping("/list")
    public AjaxResult list(@RequestBody SysOperLogQuery query)
    {
        Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
        Long userId = tokenService.getLoginUser().getUserId();
        query.setRoleType(roleType);
        query.setUserId(userId);
        if(roleType == 4 || roleType == 5){
            query.setRoleType(roleType);
        }
        if(roleType == 4){
            // 查询供应商
            TCrmSupplier crmSupplier = crmSupplierService.getOne(Wrappers.lambdaQuery(TCrmSupplier.class)
                    .eq(TCrmSupplier::getUserId, userId)
                    .last("LIMIT 1"));
            // ***
            if(Objects.isNull(crmSupplier)){
                SysUser sysUser = userService.selectUserById(userId);
                crmSupplier = crmSupplierService.getById(sysUser.getObjectId());
            }
            query.setObjectId(crmSupplier.getId());
        }
        if(roleType == 5){
            // 查询诊所
            TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class)
                    .eq(TCrmClinic::getUserId, userId)
                    .last("LIMIT 1"));
            // ---
            if(Objects.isNull(crmClinic)){
                SysUser sysUser = userService.selectUserById(userId);
                crmClinic = crmClinicService.getById(sysUser.getObjectId());
            }
            query.setObjectId(crmClinic.getId());
        }
        PageInfo<SysOperLogVO> list = operLogService.selectOperLogPageList(query);
        return AjaxResult.success(list);
    }
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -56,12 +56,6 @@
    @Autowired
    private TCrmClinicService crmClinicService;
    private final ISysUserService sysUserService;
    public SysUserController(ISysUserService sysUserService) {
        this.sysUserService = sysUserService;
    }
    /**
     * 获取用户列表
     */
@@ -82,7 +76,7 @@
                    .last("LIMIT 1"));
            // ***
            if(Objects.isNull(crmSupplier)){
                SysUser sysUser = sysUserService.selectUserById(userId);
                SysUser sysUser = userService.selectUserById(userId);
                crmSupplier = crmSupplierService.getById(sysUser.getObjectId());
            }
            query.setObjectId(crmSupplier.getId());
@@ -94,7 +88,7 @@
                    .last("LIMIT 1"));
            // ---
            if(Objects.isNull(crmClinic)){
                SysUser sysUser = sysUserService.selectUserById(userId);
                SysUser sysUser = userService.selectUserById(userId);
                crmClinic = crmClinicService.getById(sysUser.getObjectId());
            }
            query.setObjectId(crmClinic.getId());
@@ -207,7 +201,7 @@
                    .last("LIMIT 1"));
            // ***
            if(Objects.isNull(crmSupplier)){
                SysUser sysUser = sysUserService.selectUserById(user.getUserId());
                SysUser sysUser = userService.selectUserById(user.getUserId());
                crmSupplier = crmSupplierService.getById(sysUser.getObjectId());
            }
            user.setObjectId(crmSupplier.getId());
@@ -219,7 +213,7 @@
                    .last("LIMIT 1"));
            // ---
            if(Objects.isNull(crmClinic)){
                SysUser sysUser = sysUserService.selectUserById(user.getUserId());
                SysUser sysUser = userService.selectUserById(user.getUserId());
                crmClinic = crmClinicService.getById(sysUser.getObjectId());
            }
            user.setObjectId(crmClinic.getId());
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
@@ -8,6 +8,7 @@
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService;
import org.apache.commons.lang3.ArrayUtils;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
@@ -46,6 +47,8 @@
{
    @Autowired
    private ISysRoleService roleService;
    @Autowired
    private ISysUserService sysUserService;
    private static final Logger log = LoggerFactory.getLogger(LogAspect.class);
@@ -112,6 +115,7 @@
                    SysRole sysRole = roleService.selectRoleByUserId(loginUser.getUserId());
                    if(Objects.nonNull(sysRole)){
                        operLog.setRoleName(sysRole.getRoleName());
                        operLog.setRoleType(sysRole.getRoleType());
                    }
                }
            }
ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java
@@ -110,6 +110,16 @@
    @ApiModelProperty(value = "操作人员名称")
    @Excel(name = "操作人员名称")
    private String nickName;
    @ApiModelProperty(value = "角色类型 1=平台 2=分公司 3=业务员 4=供应商 5=诊所端 6=仓库员")
    private Integer roleType;
    public Integer getRoleType() {
        return roleType;
    }
    public void setRoleType(Integer roleType) {
        this.roleType = roleType;
    }
    public String getNickName() {
        return nickName;
ruoyi-system/src/main/java/com/ruoyi/system/query/SysOperLogQuery.java
@@ -22,4 +22,7 @@
    @ApiModelProperty(value = "人员类型 前端忽略")
    private Integer roleType;
    @ApiModelProperty(value = "前端忽略")
    private String objectId;
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmClinicServiceImpl.java
@@ -117,6 +117,7 @@
        user.setDelFlag("2");
        user.setRoleType(5);
        user.setRoleId(5L);
        user.setObjectId(dto.getId());
        sysUserService.insertUser(user);
        dto.setUserId(user.getUserId());
        this.updateById(dto);
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmSupplierServiceImpl.java
@@ -11,6 +11,7 @@
import com.ruoyi.system.dto.TCrmSupplierDTO;
import com.ruoyi.system.export.TCrmSupplierExport;
import com.ruoyi.system.mapper.TCrmSupplierMapper;
import com.ruoyi.system.model.TCrmClinic;
import com.ruoyi.system.model.TCrmSupplier;
import com.ruoyi.system.model.TCrmSupplierToWarehouse;
import com.ruoyi.system.query.TCrmBranchQuery;
@@ -95,6 +96,7 @@
        user.setDelFlag("0");
        user.setRoleType(4);
        user.setRoleId(4L);
        user.setObjectId(dto.getId());
        sysUserService.insertUser(user);
        dto.setUserId(user.getUserId());
        this.updateById(dto);
ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml
@@ -90,8 +90,9 @@
               sol.operator_type AS operatorType,sol.oper_name AS operName,sol.dept_name AS deptName, sol.oper_url AS operUrl, sol.oper_ip AS operIp,
               sol.oper_location AS operLocation, sol.oper_param AS operLocation,sol.json_result AS jsonResult, sol.status AS status,sol.error_msg AS errorMsg,
               sol.oper_time AS operTime, sol.cost_time AS costTime,sol.companyName AS companyName,sol.roleName AS roleName,sol.phonenumber AS phonenumber,
               sol.userId AS userId,sol.nickName AS nickName
               sol.userId AS userId,sol.nickName AS nickName,sol.role_type AS roleType
        from sys_oper_log sol
        left join sys_user u on sol.userId = u.user_id
        <where>
            <if test="query.nickName != null and query.nickName != ''">
                AND sol.nickName like concat('%', #{query.nickName}, '%')
@@ -103,6 +104,12 @@
                AND sol.oper_time &gt;= #{query.startTime}
                AND sol.oper_time &lt;= #{query.endTime}
            </if>
            <if test="query.roleType != null">
                AND sol.role_type = #{query.roleType}
            </if>
            <if test="query.objectId != null and query.objectId != ''">
                AND u.object_id = #{query.objectId}
            </if>
        </where>
        ORDER BY sol.oper_time DESC
    </select>