Browse Source

新增经销商用户

liyuan 1 week ago
parent
commit
33a9a86f43

+ 10 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java

@@ -217,6 +217,16 @@ public class UserController {
 	}
 
 	/**
+	 * 新增或修改
+	 */
+	@PostMapping("/submitDealer")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增或修改", notes = "传入User")
+	public R submitDealer(@Valid @RequestBody User user) {
+		return R.status(userService.submitDealer(user));
+	}
+
+	/**
 	 * 修改
 	 */
 	@PostMapping("/update")

+ 9 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/service/IUserService.java

@@ -14,6 +14,7 @@ import org.springblade.system.user.enums.UserEnum;
 import org.springblade.system.user.excel.UserExcel;
 import org.springblade.system.user.vo.UserVO;
 
+import javax.validation.Valid;
 import java.util.List;
 import java.util.Map;
 
@@ -269,4 +270,12 @@ public interface IUserService extends BaseService<User> {
 	 * @return 结果
 	 */
 	List<UserVO> deptUserList(Long deptId);
+
+	/**
+	 * 添加经销商
+	 *
+	 * @param user 用户
+	 * @return 结果
+	 */
+	boolean submitDealer(User user);
 }

+ 26 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

@@ -9,10 +9,12 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
 import org.springblade.common.constant.TenantConstant;
+import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tenant.BladeTenantProperties;
 import org.springblade.core.tool.api.R;
@@ -45,6 +47,7 @@ import java.util.*;
 import java.util.stream.Collectors;
 
 import static org.springblade.common.constant.CommonConstant.DEFAULT_PARAM_PASSWORD;
+import static org.springblade.core.cache.constant.CacheConstant.USER_CACHE;
 
 /**
  * 服务实现类
@@ -145,6 +148,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
 		return updateById(user);
 	}
 
+	@Override
 	public boolean submitUserDept(User user) {
 		List<Long> deptIdList = Func.toLongList(user.getDeptId());
 		List<UserDept> userDeptList = new ArrayList<>();
@@ -622,6 +626,28 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
 		return BeanUtil.copyProperties(userList, UserVO.class);
 	}
 
+	@Override
+	public boolean submitDealer(User user) {
+		BladeUser nowUser = AuthUtil.getUser();
+		String deptPid = String.valueOf(nowUser.getDetail().get("deptPid"));
+		CacheUtil.clear(USER_CACHE);
+		user.setUserTypeRole(2);
+		user.setUserType(1);
+		user.setTenantId(BladeConstant.ADMIN_TENANT_ID);
+		user.setDeptPid(deptPid);
+		user.setDeptId(nowUser.getDeptId());
+		user.setRoleId(nowUser.getRoleId());
+		if (Func.isNotEmpty(user.getPassword())) {
+			user.setPassword(DigestUtil.encrypt(user.getPassword()));
+		}
+		Integer userCount = baseMapper.selectCount(Wrappers.<User>query().lambda().eq(User::getTenantId, user.getTenantId())
+			.eq(User::getAccount, user.getAccount()).eq(User::getDeptId, user.getDeptId()));
+		if (userCount > 0 && Func.isEmpty(user.getId())) {
+			throw new RuntimeException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount()));
+		}
+		return save(user) && submitUserDept(user);
+	}
+
 	/**
 	 * 查询顶级部门ID
 	 */