package cn.cslg.pas.service; import cn.cslg.pas.common.model.vo.UserVO; import cn.cslg.pas.common.utils.CacheUtils; import cn.cslg.pas.common.utils.DateUtils; import cn.cslg.pas.common.utils.Response; import cn.cslg.pas.domain.User; import cn.cslg.pas.mapper.UserMapper; import cn.hutool.crypto.SecureUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import java.io.IOException; import java.util.ArrayList; import java.util.List; /** *

* 用户表 服务实现类 *

* * @author 王岩 * @since 2021-12-17 */ @Service @RequiredArgsConstructor(onConstructor_ = {@Lazy}) public class UserService extends ServiceImpl { private final CacheUtils cacheUtils; private final RequestService requestService; public User getByUsername(String username) { return this.getOne(Wrappers.lambdaQuery().eq(User::getUsername, username)); } public List getUserByIds(List ids) { if (ids == null || ids.size() == 0) { return new ArrayList<>(); } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(User::getId, ids); return this.list(queryWrapper); } public List getUserByNames(List names) { if (names == null || names.size() == 0) { return new ArrayList<>(); } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(User::getName, names); return this.list(queryWrapper); } public String getPageList(UserVO params) throws IOException { return requestService.getTenantMessageFromPCS(params); } public String getPersonnelList(UserVO params) throws IOException { return requestService.getPersonnelMessageFromPCS(params); } public String add(User user) { User temp = this.getByUsername(user.getUsername()); if (temp != null) { return Response.error("用户名重复"); } user.setPassword(SecureUtil.md5("123456")); user.setCreateTime(DateUtils.getDateTime()); user.insert(); return Response.success(user.getId()); } public String edit(User user) { User temp = this.getByUsername(user.getUsername()); if (temp != null && !temp.getId().equals(user.getId())) { return Response.error("用户名重复"); } user.updateById(); cacheUtils.setLoginUser(user); return Response.success(); } public String delete(Integer id) { this.removeById(id); return Response.success(); } public void resetPassword(Integer id) { User user = this.getById(id); user.setPassword(SecureUtil.md5("123456")); user.updateById(); } }