feat: 添加项目负责人联系信息字段及自动填充功能

- 在 Report、ReportDTO、ReportVO、ReportUpdateDTO 实体类中新增 contactPerson 和 contactPhone 字段
- 在 UserInfoVO 中新增 dealerContactPerson 和 dealerContactPhone 字段以展示经销商联系人信息
- 修改 ReportServiceImpl,在创建报备时自动填充默认的项目负责人信息(取自经销商信息)
- 更新 MyBatis 映射文件,确保数据库字段的正确映射和持久化
- 在前端 Report.vue 中添加相应的表单字段和表格列,并在新增时自动填充默认值
- 调整对话框宽度以适配新增字段
This commit is contained in:
andy committed 2026-02-03 17:01:46 +08:00
1 parent 8d82781bb3
commit e39c6816fc
11 files changed
+165 -6

No files matched your search

@@ -3,8 +3,10 @@ package com.bycrm.service.impl;
import com.bycrm.common.Constants;
import com.bycrm.dto.ChangePasswordDTO;
import com.bycrm.dto.ResetPasswordDTO;
import com.bycrm.entity.Dealer;
import com.bycrm.entity.User;
import com.bycrm.exception.BusinessException;
import com.bycrm.mapper.DealerMapper;
import com.bycrm.mapper.UserMapper;
import com.bycrm.service.UserService;
import com.bycrm.util.JwtUtil;
@@ -20,11 +22,13 @@ public class UserServiceImpl implements UserService {
private final UserMapper userMapper;
private final JwtUtil jwtUtil;
private final DealerMapper dealerMapper;
private final BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
public UserServiceImpl(UserMapper userMapper, JwtUtil jwtUtil) {
public UserServiceImpl(UserMapper userMapper, JwtUtil jwtUtil, DealerMapper dealerMapper) {
this.userMapper = userMapper;
this.jwtUtil = jwtUtil;
this.dealerMapper = dealerMapper;
}
@Override
@@ -71,6 +75,16 @@ public class UserServiceImpl implements UserService {
vo.setDealerName(user.getDealerName());
vo.setRole(user.getRole());
vo.setRoleDesc(user.getRole() == Constants.USER_ROLE_ADMIN ? "管理员" : "经销商用户");
// 如果是经销商用户,查询经销商的联系人信息
if (user.getDealerId() != null) {
Dealer dealer = dealerMapper.selectById(user.getDealerId());
if (dealer != null) {
vo.setDealerContactPerson(dealer.getContactPerson());
vo.setDealerContactPhone(dealer.getContactPhone());
}
}
return vo;
}