Merge branch 'template' into develop

This commit is contained in:
曹鹏飞 2025-07-01 17:53:22 +08:00
commit 4d4c5bf554
10 changed files with 112 additions and 1 deletions

View File

@ -1,5 +1,6 @@
package com.nflg.wms.admin.controller;
import com.nflg.wms.admin.pojo.dto.LdapDepartmentDTO;
import com.nflg.wms.admin.service.LDAPControllerService;
import com.nflg.wms.common.pojo.ApiResult;
import com.nflg.wms.common.pojo.PageData;
@ -90,7 +91,7 @@ public class LDAPController extends BaseController {
}
/**
* 同步ad域用户
* 同步ad域部门和用户
* @param id ad域id
*/
@GetMapping("sync")
@ -107,4 +108,13 @@ public class LDAPController extends BaseController {
public ApiResult<PageData<Ad>> search(@Valid @RequestBody PageQO request){
return ApiResult.success(ldapControllerService.search(request));
}
/**
* 搜索ad域中的部门并返回基本信息
* @param id ad域id
*/
@GetMapping("searchAdSimple")
public ApiResult<LdapDepartmentDTO> searchAdSimple(@Valid @RequestParam @NotNull Long id) {
return ApiResult.success(ldapControllerService.searchAdSimple(id));
}
}

View File

@ -111,6 +111,15 @@ public class SupplierController extends BaseController {
return ApiResult.success();
}
/**
* 批量开通账号
*/
@PostMapping("enableLoginBatch")
public ApiResult<Void> enableLoginBatch(@Valid @RequestBody SupplierLoginBatchQO request) {
userControllerService.enableSupplierLoginBatch(request);
return ApiResult.success();
}
/**
* 搜索供应商
* @param request 请求参数

View File

@ -2,6 +2,7 @@ package com.nflg.wms.admin.service;
import cn.hutool.core.convert.Convert;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nflg.wms.admin.pojo.dto.LdapDepartmentDTO;
import com.nflg.wms.common.pojo.dto.AdDTO;
import com.nflg.wms.common.pojo.qo.EnableQO;
import com.nflg.wms.common.pojo.qo.LDAPAddQO;
@ -17,6 +18,7 @@ import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.Objects;
@ -33,6 +35,9 @@ public class LDAPControllerService {
@Resource
private DepartmentControllerService departmentControllerService;
@Resource
private UserControllerService userControllerService;
public void add(@Valid LDAPAddQO request) {
Ad ad = Convert.convert(Ad.class, request);
ad.setCreateBy(UserUtil.getUserName());
@ -63,10 +68,12 @@ public class LDAPControllerService {
adSyncService.save(request);
}
@Transactional
public void sync(@Valid @NotNull Long id) {
AdDTO ad = adService.getInfo(id);
VUtil.trueThrowBusinessError(Objects.isNull(ad)).throwMessage("数据不存在");
departmentControllerService.syncFromLdap(ad);
userControllerService.syncFromLdap(ad);
}
public IPage<Ad> search(@Valid PageQO request) {
@ -78,4 +85,12 @@ public class LDAPControllerService {
ldapService.init(request.getServer(), request.getPort(), request.getUserName(), request.getUserPwd(), request.getOu(), request.getTimeout());
return ldapService.check();
}
public LdapDepartmentDTO searchAdSimple(@Valid @NotNull Long id) {
AdDTO ad = adService.getInfo(id);
VUtil.trueThrowBusinessError(Objects.isNull(ad)).throwMessage("数据不存在");
LdapService ldapService = new LdapService();
ldapService.init(ad.getServer(), ad.getPort(), ad.getUserName(), ad.getUserPwd(), ad.getOu(), ad.getTimeout());
return ldapService.getDepartmentTree("",true);
}
}

View File

@ -395,9 +395,16 @@ public class UserControllerService {
@Transactional
public void enableSupplierLogin(@Valid SupplierLoginQO request) {
if (StrUtil.isBlank(request.getPassword())) {
request.setPassword(RandomUtil.randomString(6));
}
request.setPassword(PASSWORDENCODER.encode(request.getPassword()));
User user = uService.getById(request.getId());
uService.update(new User()
.setId(request.getId())
.setUserCode(request.getLoginName())
.setPassword(request.getPassword())
.setMustResetPwd(user.getEnableMustResetPwd())
.setUpdateBy(UserUtil.getUserName())
.setUpdateTime(LocalDateTime.now()));
userRoleMapService.authorize(request.getId(), request.getRoleIds());
@ -536,4 +543,25 @@ public class UserControllerService {
VUser vUser=vUserService.getById(UserUtil.getUserId());
return Convert.convert(UserDTO.class,vUser);
}
@Transactional
public void enableSupplierLoginBatch(@Valid SupplierLoginBatchQO request) {
if (StrUtil.isBlank(request.getPassword())) {
request.setPassword(RandomUtil.randomString(6));
}
request.setPassword(PASSWORDENCODER.encode(request.getPassword()));
for (Long id : request.getIds()) {
UserSupplier userSupplier = userSupplierService.getByUserId(id);
User user = uService.getById(id);
if (Objects.nonNull(userSupplier) && Objects.nonNull(user)) {
user.setUserCode(userSupplier.getSupplierCode());
user.setPassword(request.getPassword());
user.setMustResetPwd(user.getEnableMustResetPwd());
user.setUpdateBy(UserUtil.getUserName());
user.setUpdateTime(LocalDateTime.now());
uService.updateById(user);
userRoleMapService.authorize(id, request.getRoleIds());
}
}
}
}

View File

@ -53,4 +53,9 @@ public class LDAPAddQO {
*/
@NotBlank
private String ou;
/**
* 备注
*/
private String remark;
}

View File

@ -0,0 +1,27 @@
package com.nflg.wms.common.pojo.qo;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import java.util.List;
@Data
public class SupplierLoginBatchQO {
/**
* 用户id列表
*/
@NotEmpty
private List<Long> ids;
/**
* 角色ID列表
*/
@NotEmpty
private List<Long> roleIds;
/**
* 密码
*/
private String password;
}

View File

@ -22,4 +22,9 @@ public class SupplierLoginQO {
*/
@NotEmpty
private List<Long> roleIds;
/**
* 密码
*/
private String password;
}

View File

@ -88,4 +88,9 @@ public class Ad implements Serializable {
* 根节点
*/
private String ou;
/**
* 备注
*/
private String remark;
}

View File

@ -22,4 +22,6 @@ public interface IUserSupplierService extends IService<UserSupplier> {
void update(UserSupplier userSupplier);
IPage<UserSupplierVO> search(@Valid UserSupplierSearchQO request);
UserSupplier getByUserId(Long id);
}

View File

@ -55,4 +55,9 @@ public class UserSupplierServiceImpl extends ServiceImpl<UserSupplierMapper, Use
public IPage<UserSupplierVO> search(UserSupplierSearchQO request) {
return baseMapper.search(request, new Page<>(request.getPage(), request.getPageSize()));
}
@Override
public UserSupplier getByUserId(Long id) {
return lambdaQuery().eq(UserSupplier::getUserId, id).one();
}
}