添加销售人员时默认添加一个登录用户

This commit is contained in:
spllzh
2025-10-27 10:31:01 +08:00
parent c14476dc92
commit 7af226b8a4
22 changed files with 114 additions and 8 deletions

View File

@@ -195,5 +195,6 @@ public class PasswordUtil {

View File

@@ -179,5 +179,6 @@ public class ServiceManager {

View File

@@ -6,9 +6,12 @@ import com.rj.common.DataEnrichmentUtil;
import com.rj.entity.Dealership;
import com.rj.entity.ProjectManagement;
import com.rj.entity.SalesManagement;
import com.rj.entity.sys.User;
import com.rj.service.IDealershipService;
import com.rj.service.IProjectManagementService;
import com.rj.service.ISalesManagementService;
import com.rj.service.sys.IUserService;
import com.rj.controller.sys.UserController;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -17,7 +20,9 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -40,6 +45,12 @@ public class SalesManagementController {
@Autowired
private ISalesManagementService salesManagementService;
@Autowired
private IUserService userService;
@Autowired
private UserController userController;
/**
* 新增销售
*/
@@ -54,6 +65,14 @@ public class SalesManagementController {
salesManagement.setUpdateTime(LocalDateTime.now());
boolean success = salesManagementService.save(salesManagement);
if (success) {
// 原有逻辑处理完成后,创建用户管理模块的用户
try {
createUserForSales(salesManagement);
} catch (Exception userException) {
// 用户创建失败不影响销售人员创建成功,只记录日志
System.err.println("创建用户失败:" + userException.getMessage());
}
result.put("success", true);
result.put("message", "销售添加成功");
result.put("data", salesManagement);
@@ -70,6 +89,61 @@ public class SalesManagementController {
}
}
/**
* 为销售人员创建用户管理模块的用户
*/
private void createUserForSales(SalesManagement salesManagement) {
// 检查销售人员是否有联系方式(登录账号)
if (salesManagement.getLoginAccount() == null || salesManagement.getLoginAccount().trim().isEmpty()) {
throw new RuntimeException("销售人员联系方式不能为空");
}
String phone = salesManagement.getLoginAccount();
// 生成密码:当前日期 + 联系方式后4位
String password = generatePasswordForSales(phone);
// 创建用户对象
User user = new User();
user.setUserId(salesManagement.getId().hashCode());
user.setUserName(phone); // 用户名 = 销售人员电话
user.setPhone(phone); // 电话号码 = 销售人员电话
user.setPassword(password); // 设置密码UserController会自动加密
user.setEmail(phone+"@YiDuoWang.com");
// 调用UserController的addUser方法保存用户
ResponseEntity<Map<String, Object>> response = userController.addUser(user);
// 检查响应结果
if (response.getBody() != null) {
Map<String, Object> result = response.getBody();
Boolean success = (Boolean) result.get("success");
if (success == null || !success) {
String message = (String) result.get("message");
throw new RuntimeException("用户创建失败:" + (message != null ? message : "未知错误"));
}
} else {
throw new RuntimeException("用户创建失败:响应为空");
}
}
/**
* 生成销售人员密码:当前日期 + 联系方式后4位
*/
private String generatePasswordForSales(String phone) {
// 获取当前日期格式yyyyMMdd
String currentDate = LocalDate.now().format(DateTimeFormatter.ofPattern("MMdd"));
// 获取联系方式后4位
String lastFourDigits = "";
if (phone != null && phone.length() >= 4) {
lastFourDigits = phone.substring(phone.length() - 4);
} else {
lastFourDigits = phone; // 如果长度不足4位使用全部
}
return currentDate + lastFourDigits;
}
/**
* 根据ID查询销售
*/

View File

@@ -417,5 +417,6 @@ public class MenuController {

View File

@@ -387,5 +387,6 @@ public class RoleController {

View File

@@ -393,5 +393,6 @@ public class UserRoleController {

View File

@@ -159,5 +159,6 @@ public class DifyWorkflowResponseDto {

View File

@@ -102,5 +102,6 @@ public interface CustomerProfileAnalysisMapper extends BaseMapper<CustomerProfil

View File

@@ -123,5 +123,6 @@ public interface ICustomerProfileAnalysisService extends IService<CustomerProfil

View File

@@ -158,5 +158,6 @@ public class CustomerProfileAnalysisServiceImpl extends ServiceImpl<CustomerProf

View File

@@ -130,5 +130,6 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements IM

View File

@@ -130,5 +130,6 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IR

View File

@@ -130,5 +130,6 @@ public class UserRoleServiceImpl extends ServiceImpl<UserRoleMapper, UserRole> i

View File

@@ -139,5 +139,6 @@ spring:

View File

@@ -57,9 +57,11 @@ spring:
database: 0
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://124.221.59.58:3309/ai_smart_badge?useUnicode=true&characterEncoding=utf8
# url: jdbc:mysql://124.221.59.58:3309/ai_smart_badge?useUnicode=true&characterEncoding=utf8
url: jdbc:mysql://101.35.52.237:13307/ai_smart_badge?useUnicode=true&characterEncoding=utf8
username: root
password: ChangAndb.123!
password: cstcom.123!
# password: ChangAndb.123!
hikari:
maximumPoolSize: 10
minimumIdle: 5

View File

@@ -315,5 +315,6 @@

View File

@@ -37,18 +37,27 @@ filename D:\bCard\code\Langchain4j-rj\src\main\sql\适配准真实.sql
--
ID sales_Name sales_Phone
1972975619388026881 1899263500
1972975623548776449 1894165677
1972975624127590401 1887059943
1972975624584769537 1883632473
1972975625037754369 1502041762
1972975625520099329 1506166863
1972975619388026881 18992635001
1972975623548776449 18941656771
1972975624127590401 18870599431
1972975624584769537 18836324731
1972975625037754369 15020417621
1972975625520099329 15061668631
--
JSON ---
{'1957424710587330562', '广州奔驰4S店'},{'1957424711560409089', '北京奥迪4S店'},{'1957424714953601026', '上海宝马4S店'},{'1957424739267981313', '深圳雷克萨斯4S店'},{'1957424740000000001', '成都保时捷4S店'},{'1957424740000000017', '昆明威兹曼4S店'},{}
JSON --
--
id customer_name phone dealershop_id shop_name sales_id sales_name
1957425000000000001 13800138001 1957424710587330562 广4S店 1972975623548776449
1957425000000000002 13800138002 1957424711560409089 4S店 1972975619388026881
1957425000000000003 13800138003 1957424714953601026 4S店 1972975624127590401
1957425000000000004 13800138004 1957424739267981313 4S店 1972975624584769537
1957425000000000005 13800138005 1957424740000000001 4S店 1972975625037754369
1957425000000000006 13800138006 1957424740000000017 4S店 1972975625520099329
--
JSON--
@@ -69,6 +78,8 @@ filename D:\bCard\code\Langchain4j-rj\src\main\sql\适配准真实.sql
JSON--
--- 开始
030AudioMockInsertDataScheduler.java
150 100 6

View File

@@ -253,5 +253,6 @@ public class FaceDetectImageCountTest {

View File

@@ -194,5 +194,6 @@ public class TtsRequestLogShortUrlTest {

View File

@@ -172,5 +172,6 @@ public class VideoSynthesisTempUrlTest {

View File

@@ -147,5 +147,6 @@ public class VideoSynthesisVideoNameTest {