1.合并develop_comac分支代码。
This commit is contained in:
commit
91e95ee10b
|
|
@ -0,0 +1,28 @@
|
|||
package com.electromagnetic.industry.software.data.manage.controller.category;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.facade.Category.CategoryFacade;
|
||||
import electromagnetic.data.framework.share.model.ElectromagneticResult;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@RequestMapping("/data/ed/category")
|
||||
@RestController
|
||||
public class CategoryController {
|
||||
|
||||
@Resource
|
||||
CategoryFacade categoryFacade;
|
||||
|
||||
/**
|
||||
* 目录树查询
|
||||
*/
|
||||
@ApiOperation(value = "目录树查询", notes = "")
|
||||
@RequestMapping(value = "/tree", method = RequestMethod.GET)
|
||||
public ElectromagneticResult<?> categoryTree() {
|
||||
return categoryFacade.categoryTree();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -3,11 +3,15 @@
|
|||
*/
|
||||
package com.electromagnetic.industry.software.data.manage.controller.config;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.interceptor.LoginInterceptor;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
||||
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||
import springfox.documentation.swagger2.annotations.EnableSwagger2;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @author
|
||||
* @version $Id: d.java, v 0.1 2021-01-05 19:33 Exp $$
|
||||
|
|
@ -15,6 +19,10 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
|
|||
@Configuration
|
||||
@EnableSwagger2
|
||||
public class WebMvcConfig implements WebMvcConfigurer {
|
||||
|
||||
@Resource
|
||||
LoginInterceptor loginInterceptor;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param registry registry
|
||||
|
|
@ -28,5 +36,11 @@ public class WebMvcConfig implements WebMvcConfigurer {
|
|||
.addResourceLocations("classpath:/META-INF/resources/webjars/");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInterceptors(InterceptorRegistry registry) {
|
||||
registry.addInterceptor(loginInterceptor)
|
||||
.addPathPatterns("/**")
|
||||
.excludePathPatterns("/data/ed/user/login");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,16 @@
|
|||
package com.electromagnetic.industry.software.data.manage.controller.user;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.facade.user.UserFacade;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.GetSingleUserRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserModiRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserPublishRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserLoginRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserRequest;
|
||||
import electromagnetic.data.framework.share.result.BaseResult;
|
||||
import electromagnetic.data.framework.share.result.LoginResult;
|
||||
import electromagnetic.data.framework.share.model.ElectromagneticResult;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.*;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import jdk.internal.org.objectweb.asm.tree.analysis.Value;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
|
|
@ -22,14 +23,47 @@ public class UserController {
|
|||
|
||||
@ApiOperation(value = "登录", notes = "")
|
||||
@PostMapping("/login")
|
||||
public LoginResult<?> login(@RequestBody UserLoginRequest loginRequest) {
|
||||
public ElectromagneticResult<?> login(@RequestBody UserLoginRequest loginRequest) {
|
||||
return userFacade.login(loginRequest);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "新增用户信息", notes = "")
|
||||
@PostMapping
|
||||
public BaseResult<?> createUser(@RequestBody UserRequest userRequest) {
|
||||
@PostMapping("/createUser")
|
||||
public ElectromagneticResult<?> createUser(@RequestBody UserRequest userRequest) {
|
||||
return userFacade.createUser(userRequest);
|
||||
}
|
||||
|
||||
@ApiOperation(value="编辑用户信息",notes = "")
|
||||
@PutMapping("/updateUser")
|
||||
public ElectromagneticResult<?> updateUser(@RequestBody UserModiRequest userModiRequest){ return userFacade.modifyUser(userModiRequest);}
|
||||
|
||||
@ApiOperation(value = "发布用户信息", notes = "")
|
||||
@RequestMapping(value = "/publish", method = RequestMethod.POST)
|
||||
public ElectromagneticResult<?> publishUser(@RequestBody UserPublishRequest userPublishRequest) {
|
||||
return userFacade.publishUser(userPublishRequest);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "获取单条用户信息", notes = "")
|
||||
@RequestMapping(value = "/getInfo", method = RequestMethod.GET)
|
||||
public ElectromagneticResult<?> getSingleUser(GetSingleUserRequest getSingleUserRequest) {
|
||||
return userFacade.getSingleUser(getSingleUserRequest);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询用户信息", notes = "")
|
||||
@RequestMapping(value = "/list", method = RequestMethod.POST)
|
||||
public ElectromagneticResult<?> searchUser(@RequestBody SearchUserRequest searchUserRequest) {
|
||||
return userFacade.searchUser(searchUserRequest);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "校验工号唯一性", notes = "")
|
||||
@RequestMapping(value = "/validate", method = RequestMethod.POST)
|
||||
public ElectromagneticResult<?> validateWorkNum(@RequestBody UserWorkNumRequest userWorkNumRequest) {
|
||||
return userFacade.validateWorkNum(userWorkNumRequest);
|
||||
}
|
||||
|
||||
@ApiOperation(value="删除用户信息",notes="")
|
||||
@GetMapping(value = "/deleteUser")
|
||||
public ElectromagneticResult<?> deleteUser(@RequestBody UserDeleteRequest userDeleteRequest) {
|
||||
return userFacade.deleteUser(userDeleteRequest);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#required
|
||||
#required
|
||||
spring.application.name=electromagnetic-data
|
||||
# security
|
||||
run.mode=NORMAL
|
||||
|
|
|
|||
|
|
@ -0,0 +1,82 @@
|
|||
package com.electromagnetic.industry.software.data.manage.domain.boardservice.category.model;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class Category implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 目录类型ID
|
||||
*/
|
||||
private String categoryTypeId;
|
||||
|
||||
/**
|
||||
* 上级编码,为空则为一级
|
||||
*/
|
||||
private String parentId;
|
||||
|
||||
/**
|
||||
* 目录编码
|
||||
*/
|
||||
private String categoryId;
|
||||
|
||||
/**
|
||||
* 目录名称
|
||||
*/
|
||||
private String categoryName;
|
||||
|
||||
/**
|
||||
* 目录状态
|
||||
*/
|
||||
private String categoryStatus;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String creator;
|
||||
|
||||
/**
|
||||
* 创建人姓名
|
||||
*/
|
||||
private String creatorName;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date gmtCreate;
|
||||
|
||||
/**
|
||||
* 编辑人
|
||||
*/
|
||||
private String modifier;
|
||||
|
||||
/**
|
||||
* 编辑人姓名
|
||||
*/
|
||||
private String modifierName;
|
||||
|
||||
/**
|
||||
* 编辑时间
|
||||
*/
|
||||
private Date gmtModified;
|
||||
|
||||
/**
|
||||
* 是否有效:0-无效 1-有效
|
||||
*/
|
||||
private int effectFlag;
|
||||
|
||||
/**
|
||||
* 子目录
|
||||
*/
|
||||
private List<Category> children = new ArrayList<>();
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.interceptor;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.TokenService;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.servlet.HandlerInterceptor;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
@Component
|
||||
public class LoginInterceptor implements HandlerInterceptor {
|
||||
|
||||
@Resource
|
||||
TokenService tokenService;
|
||||
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
||||
|
||||
String token = request.getHeader("Authorization");
|
||||
if (token==null || !token.startsWith("Bearer ")) {
|
||||
response.setStatus(401);
|
||||
return false;
|
||||
} else {
|
||||
//token = token.substring(7);
|
||||
}
|
||||
boolean result = tokenService.isTokenValid(token.substring(7));
|
||||
if (!result) {
|
||||
response.setStatus(401);
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class Token {
|
||||
|
||||
|
|
@ -29,10 +30,10 @@ public class Token {
|
|||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private DateTime createdAt;
|
||||
private Date createdAt;
|
||||
|
||||
/**
|
||||
* 过期时间
|
||||
*/
|
||||
private DateTime expireAt;
|
||||
private Date expireAt;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SearchKeyWords {
|
||||
/**
|
||||
* 搜索关键词
|
||||
*/
|
||||
private String keyWord;
|
||||
|
||||
/**
|
||||
* 用户状态
|
||||
*/
|
||||
private String userStatus;
|
||||
|
||||
/**
|
||||
* 用户发布状态
|
||||
*/
|
||||
private String isPublished;
|
||||
|
||||
/**
|
||||
* 排序方式: "asc" 或 "desc" 或 “”
|
||||
*/
|
||||
private String gmtCreate;
|
||||
|
||||
/**
|
||||
* 排序方式: "asc" 或 "desc" 或 “”
|
||||
*/
|
||||
private String joinTime;
|
||||
|
||||
/**
|
||||
* 排序方式: "asc" 或 "desc" 或 “”
|
||||
*/
|
||||
private String internEndDate;
|
||||
|
||||
/**
|
||||
* 页码
|
||||
*/
|
||||
private int pageIndex;
|
||||
|
||||
/**
|
||||
* 单页条目数量
|
||||
*/
|
||||
private int pageSize;
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.category.model.Category;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface CategoryRepository {
|
||||
|
||||
/**
|
||||
* 获取顶级节点
|
||||
*/
|
||||
List<Category> getTopCategories();
|
||||
|
||||
/**
|
||||
* 获取所有节点
|
||||
*/
|
||||
List<Category> getAllCategories();
|
||||
}
|
||||
|
|
@ -10,4 +10,11 @@ public interface TokenRepository {
|
|||
* @return
|
||||
*/
|
||||
int insert(Token token);
|
||||
|
||||
/**
|
||||
* 查询令牌
|
||||
* @param token
|
||||
* @return
|
||||
*/
|
||||
public Token selectToken(String token);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import java.util.List;
|
||||
|
||||
public interface UserRepository {
|
||||
|
||||
|
|
@ -11,10 +13,53 @@ public interface UserRepository {
|
|||
*/
|
||||
int insert(User user);
|
||||
|
||||
/**
|
||||
* 用户编辑
|
||||
* @param user
|
||||
* @return
|
||||
*/
|
||||
int modify(User user);
|
||||
|
||||
/**
|
||||
* 用户发布
|
||||
* @param userIds
|
||||
* @return
|
||||
*/
|
||||
int publish(List<String> userIds);
|
||||
|
||||
/**
|
||||
* 通过工号查询用户
|
||||
* @param workNumber
|
||||
* @return
|
||||
*/
|
||||
User selectUserByWorkNumber(String workNumber);
|
||||
|
||||
/**
|
||||
* 通过用户编码查询用户
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
User getSingleUser(String userId);
|
||||
|
||||
/**
|
||||
* 查询用户
|
||||
* @param searchKeyWords
|
||||
* @return
|
||||
*/
|
||||
List<User> search(SearchKeyWords searchKeyWords);
|
||||
|
||||
/**
|
||||
* 查询数据总条目数
|
||||
* @param searchKeywords
|
||||
* @return
|
||||
*/
|
||||
int getTotalCount (SearchKeyWords searchKeywords);
|
||||
|
||||
/**
|
||||
* 删除用户
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
int deleteUser(String userId);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.category.model.Category;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface CategoryService {
|
||||
|
||||
/**
|
||||
* 构建树结构
|
||||
*/
|
||||
public List<Category> buildCategoryTree();
|
||||
|
||||
}
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.Token;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo;
|
||||
|
||||
|
|
@ -20,4 +19,9 @@ public interface TokenService {
|
|||
* @return
|
||||
*/
|
||||
public Boolean createUserToken (User user, String tokenStr);
|
||||
|
||||
/**
|
||||
* 查看token是否有效
|
||||
*/
|
||||
public Boolean isTokenValid(String tokenStr);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface UserService {
|
||||
|
||||
|
|
@ -12,6 +14,20 @@ public interface UserService {
|
|||
*/
|
||||
Boolean createUser(User user);
|
||||
|
||||
/**
|
||||
* 编辑用户
|
||||
* @param user
|
||||
* @return
|
||||
*/
|
||||
Boolean modifyUser(User user);
|
||||
|
||||
/**
|
||||
* 用户发布
|
||||
* @param userIds
|
||||
* @return
|
||||
*/
|
||||
Boolean publishUser(List<String> userIds);
|
||||
|
||||
/**
|
||||
* 通过工号查询用户
|
||||
* @param workNumber
|
||||
|
|
@ -26,4 +42,33 @@ public interface UserService {
|
|||
* @return
|
||||
*/
|
||||
Boolean matchPassword(User user, String password);
|
||||
|
||||
|
||||
/**
|
||||
* 获取单条用户信息
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
User getSingleUser(String userId);
|
||||
|
||||
/**
|
||||
* 查询用户信息
|
||||
* @param searchKeyWords
|
||||
* @return
|
||||
*/
|
||||
List<User> searchUser(SearchKeyWords searchKeyWords);
|
||||
|
||||
/**
|
||||
* 查询数据总条目数
|
||||
* @param searchKeywords
|
||||
* @return
|
||||
*/
|
||||
int getTotalCount (SearchKeyWords searchKeywords);
|
||||
|
||||
/**
|
||||
* 根据userId逻辑删除用户
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
Boolean deleteUser(String userId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,83 @@
|
|||
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.impl;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.category.model.Category;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository.CategoryRepository;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.CategoryService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class CategoryServiceImpl implements CategoryService {
|
||||
|
||||
@Resource
|
||||
CategoryRepository categoryRepository;
|
||||
|
||||
/**
|
||||
* 构建树结构
|
||||
*/
|
||||
@Override
|
||||
public List<Category> buildCategoryTree(){
|
||||
List<Category> categories = categoryRepository.getAllCategories();
|
||||
List<Category> returnList = new ArrayList<>();
|
||||
List<String> tempList = categories.stream().map(Category::getCategoryId).collect(Collectors.toList());
|
||||
for (Category category : categories) {
|
||||
if (!tempList.contains(category.getParentId())) {
|
||||
recursionFn(categories, category);
|
||||
returnList.add(category);
|
||||
}
|
||||
}
|
||||
if (returnList.isEmpty()) {
|
||||
returnList = categories;
|
||||
}
|
||||
return returnList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 递归列表
|
||||
* @param list
|
||||
* @param category
|
||||
*/
|
||||
private void recursionFn (List<Category> list, Category category) {
|
||||
List<Category> childList = getChildList(list, category);
|
||||
category.setChildren(childList);
|
||||
for (Category child : childList) {
|
||||
if (hasChild(list, child)) {
|
||||
recursionFn(list, child);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 得到子节点列表
|
||||
* @param list
|
||||
* @param category
|
||||
* @return
|
||||
*/
|
||||
private List<Category> getChildList(List<Category> list, Category category) {
|
||||
List<Category> childList = new ArrayList<>();
|
||||
Iterator<Category> it = list.iterator();
|
||||
while (it.hasNext()) {
|
||||
Category child = it.next();
|
||||
if (!StringUtils.isEmpty(child.getParentId()) && child.getParentId().equals(category.getCategoryId())) {
|
||||
childList.add(child);
|
||||
}
|
||||
}
|
||||
return childList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否有子节点
|
||||
* @param list
|
||||
* @param category
|
||||
* @return
|
||||
*/
|
||||
private boolean hasChild(List<Category> list, Category category) {
|
||||
return !getChildList(list, category).isEmpty();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.SystemClock;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.Token;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo;
|
||||
|
|
@ -12,6 +13,7 @@ import io.jsonwebtoken.SignatureAlgorithm;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
|
@ -56,4 +58,17 @@ public class TokenServiceImpl implements TokenService {
|
|||
token.setExpireAt(new DateTime(now()+UserConstant.DEFAULT_EXPIRE_TIME));
|
||||
return tokenRepository.insert(token)>0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查看token是否有效
|
||||
*/
|
||||
@Override
|
||||
public Boolean isTokenValid(String tokenStr){
|
||||
Token token = tokenRepository.selectToken(tokenStr);
|
||||
Date now = new Date(SystemClock.now());
|
||||
if (token != null && now.before(token.getExpireAt())) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,16 @@
|
|||
package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.impl;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository.UserRepository;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.UserService;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.util.UserConstant;
|
||||
import electromagnetic.data.framework.share.exception.LoggerConstant;
|
||||
import electromagnetic.data.framework.share.util.SignUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.lang.String;
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Service
|
||||
|
|
@ -30,6 +31,17 @@ public class UserServiceImpl implements UserService {
|
|||
return userRepository.insert(user)>0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑用户
|
||||
*
|
||||
* @param user
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Boolean modifyUser(User user) {
|
||||
return userRepository.modify(user)>0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过工号查询用户
|
||||
* @param workNumber
|
||||
|
|
@ -48,7 +60,53 @@ public class UserServiceImpl implements UserService {
|
|||
@Override
|
||||
public Boolean matchPassword(User user, String password){
|
||||
String salt = user.getSalt();
|
||||
String encodePwd = SignUtils.MD5(UserConstant.DEFAULT_PASSWORD+salt);
|
||||
String encodePwd = SignUtils.MD5(password+salt);
|
||||
return user.getUserPwd().equals(encodePwd);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 用户发布
|
||||
* @param userIds
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Boolean publishUser(List<String> userIds) { return userRepository.publish(userIds)>0; }
|
||||
|
||||
/**
|
||||
* 获取单条用户信息
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public User getSingleUser(String userId) { return userRepository.getSingleUser(userId); }
|
||||
|
||||
/**
|
||||
* 查询用户信息
|
||||
* @param searchKeyWords
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<User> searchUser(SearchKeyWords searchKeyWords) { return userRepository.search(searchKeyWords); }
|
||||
|
||||
/**
|
||||
* 查询数据总条目数
|
||||
* @param searchKeywords
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public int getTotalCount (SearchKeyWords searchKeywords) {
|
||||
return userRepository.getTotalCount(searchKeywords);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据userId逻辑删除用户
|
||||
*
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteUser(String userId) {
|
||||
return userRepository.deleteUser(userId)>0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -71,6 +71,10 @@
|
|||
<groupId>org.apache.tomcat.embed</groupId>
|
||||
<artifactId>tomcat-embed-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-webmvc</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
|
|
@ -1,88 +0,0 @@
|
|||
package electromagnetic.data.framework.share.result;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class BaseResult<T> implements Serializable{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 请求成功还是失败
|
||||
*/
|
||||
private Boolean success;
|
||||
|
||||
/**
|
||||
* 错误码
|
||||
*/
|
||||
private String errorCode;
|
||||
|
||||
/**
|
||||
* 错误消息
|
||||
*/
|
||||
private String errorMessage;
|
||||
|
||||
|
||||
public BaseResult() {
|
||||
|
||||
}
|
||||
|
||||
public BaseResult(Boolean success, String errorCode, String errorMessage) {
|
||||
this.success = success;
|
||||
this.errorCode = errorCode;
|
||||
this.errorMessage = errorMessage;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter method for property <tt>success</tt>.
|
||||
*
|
||||
* @return property value of success
|
||||
*/
|
||||
public Boolean getSuccess() {
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter method for property <tt>success</tt>.
|
||||
*
|
||||
* @param success value to be assigned to property success
|
||||
*/
|
||||
public void setSuccess(Boolean success) {
|
||||
this.success = success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter method for property <tt>errorCode</tt>.
|
||||
*
|
||||
* @return property value of errorCode
|
||||
*/
|
||||
public String getErrorCode() {
|
||||
return errorCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter method for property <tt>errorCode</tt>.
|
||||
*
|
||||
* @param errorCode value to be assigned to property errorCode
|
||||
*/
|
||||
public void setErrorCode(String errorCode) {
|
||||
this.errorCode = errorCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter method for property <tt>errorMsg</tt>.
|
||||
*
|
||||
* @return property value of errorMsg
|
||||
*/
|
||||
public String getErrorMessage() {
|
||||
return errorMessage;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter method for property <tt>errorMsg</tt>.
|
||||
*
|
||||
* @param errorMessage value to be assigned to property errorMsg
|
||||
*/
|
||||
public void setErrorMessage(String errorMessage) {
|
||||
this.errorMessage = errorMessage;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,100 +0,0 @@
|
|||
package electromagnetic.data.framework.share.result;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class LoginResult<T> implements Serializable{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 请求成功还是失败
|
||||
*/
|
||||
private Boolean success;
|
||||
|
||||
/**
|
||||
* 错误码
|
||||
*/
|
||||
private String errorCode;
|
||||
|
||||
/**
|
||||
* 错误消息
|
||||
*/
|
||||
private String errorMessage;
|
||||
|
||||
/**
|
||||
* 令牌
|
||||
*/
|
||||
private String token;
|
||||
|
||||
public LoginResult() {
|
||||
|
||||
}
|
||||
|
||||
public LoginResult(Boolean success, String errorCode, String errorMessage, String token) {
|
||||
this.success = success;
|
||||
this.errorCode = errorCode;
|
||||
this.errorMessage = errorMessage;
|
||||
this.token = token;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter method for property <tt>success</tt>.
|
||||
*
|
||||
* @return property value of success
|
||||
*/
|
||||
public Boolean getSuccess() {
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter method for property <tt>success</tt>.
|
||||
*
|
||||
* @param success value to be assigned to property success
|
||||
*/
|
||||
public void setSuccess(Boolean success) {
|
||||
this.success = success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter method for property <tt>errorCode</tt>.
|
||||
*
|
||||
* @return property value of errorCode
|
||||
*/
|
||||
public String getErrorCode() {
|
||||
return errorCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter method for property <tt>errorCode</tt>.
|
||||
*
|
||||
* @param errorCode value to be assigned to property errorCode
|
||||
*/
|
||||
public void setErrorCode(String errorCode) {
|
||||
this.errorCode = errorCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter method for property <tt>errorMsg</tt>.
|
||||
*
|
||||
* @return property value of errorMsg
|
||||
*/
|
||||
public String getErrorMessage() {
|
||||
return errorMessage;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter method for property <tt>errorMsg</tt>.
|
||||
*
|
||||
* @param errorMessage value to be assigned to property errorMsg
|
||||
*/
|
||||
public void setErrorMessage(String errorMessage) {
|
||||
this.errorMessage = errorMessage;
|
||||
}
|
||||
|
||||
public String getToken() {
|
||||
return token;
|
||||
}
|
||||
public void setToken(String token) {
|
||||
this.token = token;
|
||||
}
|
||||
}
|
||||
|
|
@ -132,7 +132,7 @@ public class AESUtils {
|
|||
Security.addProvider(new BouncyCastleProvider());
|
||||
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding");
|
||||
cipher.init(Cipher.DECRYPT_MODE, secretKeySpec);
|
||||
return cipher.doFinal(Base64.decodeBase64(enc)).toString();
|
||||
return new String(cipher.doFinal(Base64.decodeBase64(enc)));
|
||||
} catch (NoSuchPaddingException e) {
|
||||
throw new RuntimeException(e);
|
||||
} catch (IllegalBlockSizeException e) {
|
||||
|
|
|
|||
|
|
@ -1,42 +0,0 @@
|
|||
package electromagnetic.data.framework.share.util;
|
||||
|
||||
import electromagnetic.data.framework.share.enums.ErrorEnum;
|
||||
import electromagnetic.data.framework.share.result.BaseResult;
|
||||
import electromagnetic.data.framework.share.result.CallbackResult;
|
||||
|
||||
/**
|
||||
* 返回结果转换工具类
|
||||
*
|
||||
*/
|
||||
public class BaseResultUtil {
|
||||
|
||||
public static <T> BaseResult<T> convertToResult(CallbackResult<T> callbackResult) {
|
||||
BaseResult<T> BaseResult = new BaseResult<>();
|
||||
BaseResult.setSuccess(callbackResult.isSuccess());
|
||||
BaseResult.setErrorCode(callbackResult.getResultCode());
|
||||
BaseResult.setErrorMessage(callbackResult.getResultMessage());
|
||||
return BaseResult;
|
||||
}
|
||||
|
||||
public static <T> BaseResult<T> success(T data){
|
||||
BaseResult<T> BaseResult = new BaseResult<>();
|
||||
BaseResult.setSuccess(true);
|
||||
return BaseResult;
|
||||
}
|
||||
|
||||
public static <T> BaseResult<T> fail(String code , String msg){
|
||||
BaseResult<T> BaseResult = new BaseResult<>();
|
||||
BaseResult.setSuccess(false);
|
||||
BaseResult.setErrorCode(code);
|
||||
BaseResult.setErrorMessage(msg);
|
||||
return BaseResult;
|
||||
}
|
||||
|
||||
public static <T> BaseResult fail(ErrorEnum errorEnum){
|
||||
BaseResult<T> BaseResult = new BaseResult<>();
|
||||
BaseResult.setSuccess(false);
|
||||
BaseResult.setErrorCode(errorEnum.getCode());
|
||||
BaseResult.setErrorMessage(errorEnum.getErrorMessage());
|
||||
return BaseResult;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
package electromagnetic.data.framework.share.util;
|
||||
|
||||
import electromagnetic.data.framework.share.enums.ErrorEnum;
|
||||
import electromagnetic.data.framework.share.result.CallbackResult;
|
||||
import electromagnetic.data.framework.share.result.LoginResult;
|
||||
|
||||
public class LoginResultUtil {
|
||||
|
||||
public static <T> LoginResult<T> convertToResult(CallbackResult<T> callbackResult) {
|
||||
LoginResult<T> LoginResult = new LoginResult<>();
|
||||
LoginResult.setSuccess(callbackResult.isSuccess());
|
||||
LoginResult.setErrorCode(callbackResult.getResultCode());
|
||||
LoginResult.setErrorMessage(callbackResult.getResultMessage());
|
||||
return LoginResult;
|
||||
}
|
||||
|
||||
public static <T> LoginResult<T> success(String token){
|
||||
LoginResult<T> LoginResult = new LoginResult<>();
|
||||
LoginResult.setSuccess(true);
|
||||
LoginResult.setToken(token);
|
||||
return LoginResult;
|
||||
}
|
||||
|
||||
public static <T> LoginResult<T> fail(String code , String msg){
|
||||
LoginResult<T> LoginResult = new LoginResult<>();
|
||||
LoginResult.setSuccess(false);
|
||||
LoginResult.setErrorCode(code);
|
||||
LoginResult.setErrorMessage(msg);
|
||||
return LoginResult;
|
||||
}
|
||||
|
||||
public static <T> LoginResult fail(ErrorEnum errorEnum){
|
||||
LoginResult<T> LoginResult = new LoginResult<>();
|
||||
LoginResult.setSuccess(false);
|
||||
LoginResult.setErrorCode(errorEnum.getCode());
|
||||
LoginResult.setErrorMessage(errorEnum.getErrorMessage());
|
||||
return LoginResult;
|
||||
}
|
||||
}
|
||||
|
|
@ -65,12 +65,12 @@ public enum ElectromagneticErrorEnum implements ErrorEnum {
|
|||
REPORT_OFF_DESC_NULL(ErrorLevels.ERROR, ErrorTypes.BIZ, "53034", "REPORT_URL_ERROR", "下架原因不能为空"),
|
||||
REPORT_CANCEL_OFF_DESC_NULL(ErrorLevels.ERROR, ErrorTypes.BIZ, "53035", "REPORT_URL_ERROR", "取消下架原因不能为空"),
|
||||
DEPT_EXIST_REPORT(ErrorLevels.ERROR, ErrorTypes.BIZ, "53036", "DEPT_EXIST_REPORT", "部门下已挂在数据"),
|
||||
FINE_CREATE_USER_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53037", "FINE_CREATE_USER_ERROR", "帆软创建用户失败"),
|
||||
FINE_CREATE_USER_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53037", "FINE_CREATE_USER_ERROR", "创建用户失败"),
|
||||
FINE_CONNECT_LIST_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53038", "FINE_CONNECT_LIST_ERROR", "获取finebi数据库连接列表错误"),
|
||||
FINE_CONNECT_TABLE_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53039", "FINE_CONNECT_TABLE_ERROR", "获取finebi数据库对应表列表错误"),
|
||||
FINE_ADD_GROUP_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53040", "FINE_ADD_GROUP_ERROR", "添加分组报错"),
|
||||
FINE_ADD_PACK_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53041", "FINE_ADD_PACK_ERROR", "添加业务包报错"),
|
||||
FINE_DELETE_USER_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53042", "FINE_DELETE_USER_ERROR", "帆软删除用户失败"),
|
||||
FINE_DELETE_USER_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53042", "FINE_DELETE_USER_ERROR", "删除用户失败"),
|
||||
FINE_ADD_DB_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53043", "FINE_ADD_DB_ERROR", "数据集已存在,请不要重复添加"),
|
||||
FINE_GET_TABLE_INFO_ERROR(ErrorLevels.ERROR, ErrorTypes.BIZ, "53044", "FINE_GET_TABLE_INFO_ERROR", "数据集表信息错误"),
|
||||
LABEL_OBJNAME_IS_CHINESE(ErrorLevels.ERROR, ErrorTypes.BIZ, "53045", "LABEL_OSS_ANALYSIS_FAIL", "名称不能包含特殊字符(下划线,横杠,加号 除外)"),
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
package com.electromagnetic.industry.software.data.manage.facade.Category;
|
||||
|
||||
import java.util.List;
|
||||
import electromagnetic.data.framework.share.model.ElectromagneticResult;
|
||||
|
||||
public interface CategoryFacade {
|
||||
|
||||
/**
|
||||
* 构建树结构
|
||||
*/
|
||||
ElectromagneticResult<?> categoryTree();
|
||||
}
|
||||
|
|
@ -1,9 +1,12 @@
|
|||
package com.electromagnetic.industry.software.data.manage.facade.user;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.GetSingleUserRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserModiRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserPublishRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserLoginRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserRequest;
|
||||
import electromagnetic.data.framework.share.result.BaseResult;
|
||||
import electromagnetic.data.framework.share.result.LoginResult;
|
||||
import electromagnetic.data.framework.share.model.ElectromagneticResult;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.*;
|
||||
|
||||
public interface UserFacade {
|
||||
|
||||
|
|
@ -12,13 +15,55 @@ public interface UserFacade {
|
|||
* @param loginRequest
|
||||
* @return
|
||||
*/
|
||||
LoginResult<?> login(UserLoginRequest loginRequest);
|
||||
ElectromagneticResult<?> login(UserLoginRequest loginRequest);
|
||||
|
||||
/**
|
||||
* 新增用户信息
|
||||
* @param userRequest
|
||||
* @return
|
||||
*/
|
||||
BaseResult<?> createUser(UserRequest userRequest);
|
||||
ElectromagneticResult<?> createUser(UserRequest userRequest);
|
||||
|
||||
/**
|
||||
* 编辑用户信息
|
||||
* @param userModiRequest
|
||||
* @return
|
||||
*/
|
||||
ElectromagneticResult<?> modifyUser(UserModiRequest userModiRequest);
|
||||
|
||||
|
||||
/**
|
||||
* 发布用户
|
||||
* @param userPublishRequest
|
||||
* @return
|
||||
*/
|
||||
ElectromagneticResult<?> publishUser(UserPublishRequest userPublishRequest);
|
||||
|
||||
/**
|
||||
* 校验工号唯一性
|
||||
* @param workNumberRequest
|
||||
* @return
|
||||
*/
|
||||
ElectromagneticResult<?> validateWorkNum(UserWorkNumRequest workNumberRequest);
|
||||
|
||||
/**
|
||||
* 通过用户编码获取单条用户信息
|
||||
* @param getSingleUserRequest
|
||||
* @return
|
||||
*/
|
||||
ElectromagneticResult<?> getSingleUser(GetSingleUserRequest getSingleUserRequest);
|
||||
|
||||
/**
|
||||
* 查询用户信息
|
||||
* @param searchUserRequest
|
||||
* @return
|
||||
*/
|
||||
ElectromagneticResult<?> searchUser(SearchUserRequest searchUserRequest);
|
||||
|
||||
/**
|
||||
* 刪除用戶(逻辑删除)
|
||||
* @param userDeleteRequest
|
||||
* @return
|
||||
*/
|
||||
ElectromagneticResult<?> deleteUser(UserDeleteRequest userDeleteRequest);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
package com.electromagnetic.industry.software.data.manage.request.user;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import electromagnetic.data.framework.share.model.BaseRequest;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class GetSingleUserRequest extends BaseRequest implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 用户编码
|
||||
*/
|
||||
private String userId;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
package com.electromagnetic.industry.software.data.manage.request.user;
|
||||
|
||||
import electromagnetic.data.framework.share.model.BaseRequest;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
@Data
|
||||
public class SearchUserRequest extends BaseRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 搜索关键词
|
||||
*/
|
||||
private String keyWord;
|
||||
|
||||
/**
|
||||
* 用户状态
|
||||
*/
|
||||
private String userStatus;
|
||||
|
||||
/**
|
||||
* 用户发布状态,1已发布,0未发布
|
||||
*/
|
||||
private String isPublished;
|
||||
|
||||
/**
|
||||
* 排序方式: "asc" 或 "desc" 或 “”
|
||||
*/
|
||||
private String gmtCreate;
|
||||
|
||||
/**
|
||||
* 排序方式: "asc" 或 "desc" 或 “”
|
||||
*/
|
||||
private String joinTime;
|
||||
|
||||
/**
|
||||
* 排序方式: "asc" 或 "desc" 或 “”
|
||||
*/
|
||||
private String internEndDate;
|
||||
|
||||
/**
|
||||
* 页码
|
||||
*/
|
||||
private int pageIndex;
|
||||
|
||||
/**
|
||||
* 单页条目数量
|
||||
*/
|
||||
private int pageSize;
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.electromagnetic.industry.software.data.manage.request.user;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import electromagnetic.data.framework.share.model.BaseRequest;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
@Data
|
||||
public class UserDeleteRequest extends BaseRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 用户编码
|
||||
*/
|
||||
private String userId;
|
||||
}
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
package com.electromagnetic.industry.software.data.manage.request.user;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import electromagnetic.data.framework.share.model.BaseRequest;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
@Data
|
||||
public class UserModiRequest extends BaseRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 用户Id
|
||||
*/
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 用户姓名
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 工号
|
||||
*/
|
||||
private String workNumber;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String mobile;
|
||||
|
||||
/**
|
||||
* 所属部门
|
||||
*/
|
||||
private String userDept;
|
||||
|
||||
/**
|
||||
* 职称
|
||||
*/
|
||||
private String userTitle;
|
||||
|
||||
/**
|
||||
* 入职日期
|
||||
*/
|
||||
private DateTime joinTime;
|
||||
|
||||
/**
|
||||
* 工作状态
|
||||
*/
|
||||
private String userStatus;
|
||||
|
||||
/**
|
||||
* 实习截止日期
|
||||
*/
|
||||
private Date internshipEndDate;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
private String modifier;
|
||||
|
||||
/**
|
||||
* 创建者姓名
|
||||
*/
|
||||
private String modifierName;
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
package com.electromagnetic.industry.software.data.manage.request.user;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import electromagnetic.data.framework.share.model.BaseRequest;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Data
|
||||
public class UserPublishRequest extends BaseRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 用户编码
|
||||
*/
|
||||
private List<String> userIds;
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package com.electromagnetic.industry.software.data.manage.request.user;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import electromagnetic.data.framework.share.model.BaseRequest;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
@Data
|
||||
public class UserWorkNumRequest extends BaseRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 工号
|
||||
*/
|
||||
private String workNumber;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,108 @@
|
|||
package com.electromagnetic.industry.software.data.manage.response.user;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class SingleUserResponse {
|
||||
|
||||
private static final long serialVersionUID = -7475233976453471059L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户编码
|
||||
*/
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 用户姓名
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 工号
|
||||
*/
|
||||
private String workNumber;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String mobile;
|
||||
|
||||
/**
|
||||
* 所属部门
|
||||
*/
|
||||
private String userDept;
|
||||
|
||||
/**
|
||||
* 职称
|
||||
*/
|
||||
private String userTitle;
|
||||
|
||||
/**
|
||||
* 登录密码
|
||||
*/
|
||||
private String userPwd;
|
||||
|
||||
/**
|
||||
* 入职日期
|
||||
*/
|
||||
private Date joinTime;
|
||||
|
||||
/**
|
||||
* 工作状态
|
||||
*/
|
||||
private String userStatus;
|
||||
|
||||
/**
|
||||
* 实习截止日期
|
||||
*/
|
||||
private Date internshipEndDate;
|
||||
|
||||
/**
|
||||
* 是否已发布
|
||||
*/
|
||||
private Integer isPublished;
|
||||
|
||||
/**
|
||||
* 盐
|
||||
*/
|
||||
private String salt;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String creator;
|
||||
|
||||
/**
|
||||
* 创建人姓名
|
||||
*/
|
||||
private String creatorName;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date gmtCreate;
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
private String modifier;
|
||||
/**
|
||||
* 更新人姓名
|
||||
*/
|
||||
private String modifierName;
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date gmtModified;
|
||||
|
||||
/**
|
||||
* 是否有效:0-无效 1-有效
|
||||
*/
|
||||
private Integer effectFlag;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package com.electromagnetic.industry.software.data.manage.response.user;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class UserLoginResponse implements Serializable {
|
||||
|
||||
private String token;
|
||||
|
||||
private String userId;
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
/**
|
||||
* Copyright (c) 2004-2024 All Rights Reserved.
|
||||
*/
|
||||
package com.electromagnetic.industry.software.data.manage.response.user;
|
||||
|
||||
import lombok.Data;
|
||||
import org.apache.catalina.User;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 指标卡详情Reponse
|
||||
* @author
|
||||
* @version $Id: IndicatorCardDetail.java, v 0.1 2024-08-14 10:37
|
||||
*/
|
||||
@Data
|
||||
public class UserSearchResponse implements Serializable {
|
||||
private static final long serialVersionUID = -7475233976453471059L;
|
||||
|
||||
/**
|
||||
* 用户列表
|
||||
*/
|
||||
private List<SingleUserResponse> userList;
|
||||
|
||||
|
||||
/**
|
||||
* 总数据数
|
||||
*/
|
||||
private long totalCount;
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package com.electromagnetic.industry.software.data.manage.repository.dao;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.category.model.Category;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface CategoryMapper {
|
||||
|
||||
/**
|
||||
* 获取顶级节点
|
||||
* @return
|
||||
*/
|
||||
List<Category> selectTopCategories();
|
||||
|
||||
/**
|
||||
* 获取所有节点
|
||||
* @return
|
||||
*/
|
||||
List<Category> selectAllCategories();
|
||||
}
|
||||
|
|
@ -12,4 +12,11 @@ public interface TokenMapper {
|
|||
* @return
|
||||
*/
|
||||
int insert(Token token);
|
||||
|
||||
/**
|
||||
* 查询
|
||||
* @param token
|
||||
* @return Token
|
||||
*/
|
||||
Token selectToken(String token);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
package com.electromagnetic.industry.software.data.manage.repository.dao;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface UserMapper {
|
||||
|
||||
/**
|
||||
* 插入
|
||||
* @param user
|
||||
|
|
@ -13,10 +15,52 @@ public interface UserMapper {
|
|||
*/
|
||||
int insert(User user);
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
* @param user
|
||||
* @return
|
||||
*/
|
||||
int modify(User user);
|
||||
|
||||
/**
|
||||
* 发布
|
||||
* @param userIds
|
||||
* @return
|
||||
*/
|
||||
int publish(List<String> userIds);
|
||||
|
||||
/**
|
||||
* 通过工号查询用户
|
||||
* @param workNumber
|
||||
* @return
|
||||
*/
|
||||
User selectUserByWorkNumber(String workNumber);
|
||||
|
||||
/**
|
||||
* 通过用户编码查询用户
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
User getSingleUser(String userId);
|
||||
|
||||
/**
|
||||
* 通过用户编码查询用户
|
||||
* @param searchKeywords
|
||||
* @return
|
||||
*/
|
||||
List<User> search(SearchKeyWords searchKeywords);
|
||||
|
||||
/**
|
||||
* 查询数据总条目数
|
||||
* @param searchKeywords
|
||||
* @return
|
||||
*/
|
||||
int getTotalCount (SearchKeyWords searchKeywords);
|
||||
|
||||
/**
|
||||
* 通过用户ID删除用户
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
int deleteUser(String userId);
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package com.electromagnetic.industry.software.data.manage.repository.impl;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.category.model.Category;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository.CategoryRepository;
|
||||
import com.electromagnetic.industry.software.data.manage.repository.dao.CategoryMapper;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@Repository
|
||||
public class CategoryRepositoryImpl implements CategoryRepository {
|
||||
|
||||
@Resource
|
||||
CategoryMapper categoryMapper;
|
||||
|
||||
/**
|
||||
* 获取顶级节点
|
||||
*/
|
||||
@Override
|
||||
public List<Category> getTopCategories(){
|
||||
return categoryMapper.selectTopCategories();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有节点
|
||||
*/
|
||||
@Override
|
||||
public List<Category> getAllCategories(){
|
||||
return categoryMapper.selectAllCategories();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -22,4 +22,12 @@ public class TokenRepositoryImpl implements TokenRepository {
|
|||
public int insert(Token token){
|
||||
return tokenMapper.insert(token);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询令牌
|
||||
* @param token
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Token selectToken(String token) {return tokenMapper.selectToken(token);}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,10 +4,12 @@
|
|||
package com.electromagnetic.industry.software.data.manage.repository.impl;
|
||||
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository.UserRepository;
|
||||
import com.electromagnetic.industry.software.data.manage.repository.dao.UserMapper;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
|
|
@ -27,6 +29,28 @@ public class UserRepositoryImpl implements UserRepository {
|
|||
return userMapper.insert(user);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户编辑
|
||||
*
|
||||
* @param user
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public int modify(User user) {
|
||||
return userMapper.modify(user);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户发布
|
||||
*
|
||||
* @param userIds
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public int publish(List<String> userIds) {
|
||||
return userMapper.publish(userIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过工号查询用户
|
||||
* @param workNumber
|
||||
|
|
@ -36,4 +60,44 @@ public class UserRepositoryImpl implements UserRepository {
|
|||
public User selectUserByWorkNumber(String workNumber) {
|
||||
return userMapper.selectUserByWorkNumber(workNumber);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过工号查询用户
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public User getSingleUser(String userId) {
|
||||
return userMapper.getSingleUser(userId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户
|
||||
* @param searchKeywords
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<User> search(SearchKeyWords searchKeywords) {
|
||||
return userMapper.search(searchKeywords);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询数据总条目数
|
||||
* @param searchKeywords
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public int getTotalCount (SearchKeyWords searchKeywords) {return userMapper.getTotalCount(searchKeywords);}
|
||||
|
||||
/**
|
||||
* 删除用户
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public int deleteUser(String userId) {
|
||||
return userMapper.deleteUser(userId);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.electromagnetic.industry.software.data.manage.repository.dao.CategoryMapper">
|
||||
<resultMap id="CategoryResultMap" type="com.electromagnetic.industry.software.data.manage.domain.boardservice.category.model.Category">
|
||||
<id column="id" jdbcType="BIGINT" property="id" />
|
||||
<result column="category_type_id" jdbcType="VARCHAR" property="categoryTypeId" />
|
||||
<result column="parent_id" jdbcType="VARCHAR" property="parentId" />
|
||||
<result column="category_id" jdbcType="VARCHAR" property="categoryId" />
|
||||
<result column="category_name" jdbcType="VARCHAR" property="categoryName" />
|
||||
<result column="category_status" jdbcType="VARCHAR" property="categoryStatus" />
|
||||
<result column="creator" jdbcType="VARCHAR" property="creator" />
|
||||
<result column="creator_name" jdbcType="VARCHAR" property="creatorName" />
|
||||
<result column="gmt_create" jdbcType="TIMESTAMP" property="gmtCreate" />
|
||||
<result column="modifier" jdbcType="VARCHAR" property="modifier" />
|
||||
<result column="modifier_name" jdbcType="VARCHAR" property="modifierName" />
|
||||
<result column="gmt_modified" jdbcType="TIMESTAMP" property="gmtModified" />
|
||||
<result column="effect_flag" jdbcType="TINYINT" property="effectFlag" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectUserVo">
|
||||
select category_type_id, parent_id, category_id, category_name, category_status,
|
||||
creator, creator_name, gmt_create, modifier, modifier_name, gmt_modified, effect_flag
|
||||
from ed_category
|
||||
</sql>
|
||||
|
||||
<select id="selectTopCategories" resultMap="CategoryResultMap">
|
||||
<include refid="selectUserVo" />
|
||||
where parent_id = 0 and category_status="available"
|
||||
</select>
|
||||
|
||||
<select id="selectAllCategories" resultMap="CategoryResultMap">
|
||||
<include refid="selectUserVo" />
|
||||
where category_status="available"
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -10,6 +10,10 @@
|
|||
<result column="expire_at" jdbcType="TIMESTAMP" property="expireAt" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectTokenVo">
|
||||
select id, user_id, token, is_long_term, created_at, expire_at from tokens
|
||||
</sql>
|
||||
|
||||
<insert id="insert" parameterType="com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.Token">
|
||||
insert into tokens(
|
||||
<if test="userId != null and userId !='' ">user_id,</if>
|
||||
|
|
@ -26,4 +30,10 @@
|
|||
<if test="expireAt !=null">#{expireAt}</if>
|
||||
)
|
||||
</insert>
|
||||
|
||||
<select id="selectToken" parameterType="String" resultMap="TokenResultMap">
|
||||
<include refid="selectTokenVo" />
|
||||
where token=#{token}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -68,9 +68,134 @@
|
|||
1
|
||||
)
|
||||
</insert>
|
||||
<update id="modify" parameterType="com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User">
|
||||
update ed_users
|
||||
<set>
|
||||
<if test="userId != null and userId != ''">user_id = #{userId},</if>
|
||||
<if test="userName != null and userName != ''">user_name = #{userName},</if>
|
||||
<if test="workNumber != null and workNumber != ''">work_number = #{workNumber},</if>
|
||||
<if test="mobile != null and mobile != ''">mobile = #{mobile},</if>
|
||||
<if test="userDept != null and userDept != ''">user_dept = #{userDept},</if>
|
||||
<if test="userTitle != null and userTitle != ''">user_title = #{userTitle},</if>
|
||||
<if test="joinTime != null">join_time = #{joinTime},</if>
|
||||
<if test="userStatus != null and userStatus != ''">user_status = #{userStatus},</if>
|
||||
<if test="internshipEndDate != null">internship_end_date = #{internshipEndDate},</if>
|
||||
<if test="modifier != null and modifier != ''">modifier = #{modifier},</if>
|
||||
<if test="modifierName != null and modifierName != ''">modifier_name = #{modifierName},</if>
|
||||
</set>
|
||||
where id= #{id}
|
||||
</update>
|
||||
|
||||
|
||||
<update id="publish" parameterType="com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User">
|
||||
update ed_users
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
is_published = 1
|
||||
</trim>
|
||||
where user_id IN
|
||||
<foreach collection="userIds" item="userId" open="(" separator="," close=")">
|
||||
#{userId}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<select id="search" parameterType="com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords" resultMap="UserResultMap">
|
||||
SELECT *
|
||||
FROM ed_users
|
||||
<where>
|
||||
<!-- 条件 1:按用户名或工号搜索 -->
|
||||
<if test="keyWord != null and keyWord != ''">
|
||||
(user_name LIKE CONCAT('%', #{keyWord}, '%') OR work_number LIKE CONCAT('%', #{keyWord}, '%'))
|
||||
</if>
|
||||
|
||||
<!-- 条件 2:按用户状态搜索 -->
|
||||
<if test="userStatus != null and userStatus != ''">
|
||||
<choose>
|
||||
<when test="userStatus != 'all'">
|
||||
AND user_status = #{userStatus}
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
|
||||
<!-- 条件 3:按发布状态搜索 -->
|
||||
<if test="isPublished != null and isPublished != ''">
|
||||
<choose>
|
||||
<when test="isPublished != 'all'">
|
||||
AND is_published = CAST(#{isPublished} AS INT)
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
</where>
|
||||
|
||||
<!-- 动态排序条件 -->
|
||||
<choose>
|
||||
<when test="gmtCreate == 'asc' or gmtCreate == 'desc'">
|
||||
ORDER BY gmt_create ${gmtCreate}
|
||||
</when>
|
||||
<when test="joinTime == 'asc' or joinTime == 'desc'">
|
||||
ORDER BY join_time ${joinTime}
|
||||
</when>
|
||||
<when test="internEndDate == 'asc' or internEndDate == 'desc'">
|
||||
ORDER BY internship_end_date ${internEndDate}
|
||||
</when>
|
||||
</choose>
|
||||
LIMIT #{pageSize} OFFSET #{pageIndex}
|
||||
</select>
|
||||
|
||||
<select id="getTotalCount" parameterType="com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords" resultType="Integer">
|
||||
SELECT COUNT(*)
|
||||
FROM ed_users
|
||||
<where>
|
||||
<!-- 条件 1:按用户名或工号搜索 -->
|
||||
<if test="keyWord != null and keyWord != ''">
|
||||
(user_name LIKE CONCAT('%', #{keyWord}, '%') OR work_number LIKE CONCAT('%', #{keyWord}, '%'))
|
||||
</if>
|
||||
|
||||
<!-- 条件 2:按用户状态搜索 -->
|
||||
<if test="userStatus != null and userStatus != ''">
|
||||
<choose>
|
||||
<when test="userStatus != 'all'">
|
||||
AND user_status = #{userStatus}
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
|
||||
<!-- 条件 3:按发布状态搜索 -->
|
||||
<if test="isPublished != null and isPublished != ''">
|
||||
<choose>
|
||||
<when test="isPublished != 'all'">
|
||||
AND is_published = #{isPublished}
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
</where>
|
||||
|
||||
<!-- 动态排序条件 -->
|
||||
<choose>
|
||||
<when test="gmtCreate == 'asc' or gmtCreate == 'desc'">
|
||||
ORDER BY gmt_create ${gmtCreate}
|
||||
</when>
|
||||
<when test="joinTime == 'asc' or joinTime == 'desc'">
|
||||
ORDER BY join_time ${joinTime}
|
||||
</when>
|
||||
<when test="internEndDate == 'asc' or internEndDate == 'desc'">
|
||||
ORDER BY internship_end_date ${internEndDate}
|
||||
</when>
|
||||
</choose>
|
||||
</select>
|
||||
|
||||
<select id="selectUserByWorkNumber" parameterType="String" resultMap="UserResultMap">
|
||||
<include refid="selectUserVo" />
|
||||
where work_number = #{workNumber}
|
||||
</select>
|
||||
|
||||
<select id="getSingleUser" parameterType="String" resultMap="UserResultMap">
|
||||
<include refid="selectUserVo" />
|
||||
where user_id = #{userId}
|
||||
</select>
|
||||
|
||||
<update id="deleteUser" parameterType="String">
|
||||
update ed_users
|
||||
set effect_flag=0
|
||||
where user_id = #{userId}
|
||||
</update>
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
package com.electromagnetic.industry.software.data.manage.service.facade.user;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.category.model.Category;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.CategoryService;
|
||||
import com.electromagnetic.industry.software.data.manage.facade.Category.CategoryFacade;
|
||||
import electromagnetic.data.framework.share.model.ElectromagneticResult;
|
||||
import electromagnetic.data.framework.share.model.ElectromagneticResultUtil;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class CategoryFacadeImpl implements CategoryFacade {
|
||||
|
||||
@Resource
|
||||
CategoryService categoryService;
|
||||
|
||||
/**
|
||||
* 构建树结构
|
||||
*/
|
||||
public ElectromagneticResult<?> categoryTree(){
|
||||
List<Category> list =categoryService.buildCategoryTree();
|
||||
return ElectromagneticResultUtil.success(list);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,25 +1,33 @@
|
|||
package com.electromagnetic.industry.software.data.manage.service.facade.user;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.common.ElectromagneticErrorEnum;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.TokenService;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.UserService;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.util.UserConstant;
|
||||
import com.electromagnetic.industry.software.data.manage.facade.user.UserFacade;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.*;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserModiRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserPublishRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserLoginRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.response.user.SingleUserResponse;
|
||||
import com.electromagnetic.industry.software.data.manage.response.user.UserLoginResponse;
|
||||
import com.electromagnetic.industry.software.data.manage.response.user.UserSearchResponse;
|
||||
import com.electromagnetic.industry.software.data.manage.service.mappers.UserMappers;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import electromagnetic.data.framework.share.id.IdWorker;
|
||||
import electromagnetic.data.framework.share.result.BaseResult;
|
||||
import electromagnetic.data.framework.share.result.LoginResult;
|
||||
import electromagnetic.data.framework.share.model.ElectromagneticResult;
|
||||
import electromagnetic.data.framework.share.model.ElectromagneticResultUtil;
|
||||
import electromagnetic.data.framework.share.sign.AESUtils;
|
||||
import electromagnetic.data.framework.share.util.BaseResultUtil;
|
||||
import electromagnetic.data.framework.share.util.LoginResultUtil;
|
||||
import electromagnetic.data.framework.share.util.SignUtils;
|
||||
import org.apache.commons.lang3.RandomStringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class UserFacadeImpl implements UserFacade {
|
||||
|
|
@ -35,16 +43,19 @@ public class UserFacadeImpl implements UserFacade {
|
|||
* @return
|
||||
*/
|
||||
@Override
|
||||
public LoginResult<Boolean> login(UserLoginRequest loginRequest) {
|
||||
public ElectromagneticResult<UserLoginResponse> login(UserLoginRequest loginRequest) {
|
||||
UserLoginInfo info = UserMappers.INSTANCE.getUserLoginRequestToModel(loginRequest);
|
||||
String decodePwd = AESUtils.decrypt(info.getUserPwd(), UserConstant.SECRET_KEY);
|
||||
User user = userService.getUserByWorkNumber(info.getWorkNumber());
|
||||
if (user==null || userService.matchPassword(user, decodePwd)) {
|
||||
if ( user!=null && userService.matchPassword(user, decodePwd)) {
|
||||
String tokenStr = tokenService.createToken(info);
|
||||
tokenService.createUserToken(user, tokenStr);
|
||||
return LoginResultUtil.success(tokenStr);
|
||||
UserLoginResponse userLoginResponse = new UserLoginResponse();
|
||||
userLoginResponse.setToken(tokenStr);
|
||||
userLoginResponse.setUserId(user.getUserId());
|
||||
return ElectromagneticResultUtil.success(userLoginResponse);
|
||||
}
|
||||
return LoginResultUtil.fail("500","用户不存在/密码错误");
|
||||
return ElectromagneticResultUtil.fail("500","用户不存在/密码错误");
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -53,12 +64,109 @@ public class UserFacadeImpl implements UserFacade {
|
|||
* @return
|
||||
*/
|
||||
@Override
|
||||
public BaseResult<Boolean> createUser(UserRequest userRequest){
|
||||
public ElectromagneticResult<Boolean> createUser(UserRequest userRequest){
|
||||
User user = UserMappers.INSTANCE.getUserRequestToModel(userRequest);
|
||||
user.setSalt(RandomStringUtils.randomAlphanumeric(16));
|
||||
user.setUserId(IdWorker.getSnowFlakeIdString());
|
||||
user.setUserPwd(SignUtils.MD5(UserConstant.DEFAULT_PASSWORD+user.getSalt()));
|
||||
user.setIsPublished(UserConstant.DEFAULT_PUBLISH_STATUS);
|
||||
return BaseResultUtil.success(userService.createUser(user));
|
||||
return ElectromagneticResultUtil.success(userService.createUser(user));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改用户信息
|
||||
* @param userModiRequest
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ElectromagneticResult<Boolean> modifyUser(UserModiRequest userModiRequest) {
|
||||
// 将请求对象转换为模型对象
|
||||
User user = UserMappers.INSTANCE.getUserModiRequestToModel(userModiRequest);
|
||||
//根据操作结果构建 BaseResult 对象并返回
|
||||
return ElectromagneticResultUtil.success(userService.modifyUser(user));
|
||||
}
|
||||
|
||||
/**
|
||||
* 发布用户信息
|
||||
* @param userPublishRequest
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ElectromagneticResult<Boolean> publishUser(UserPublishRequest userPublishRequest){
|
||||
return ElectromagneticResultUtil.success(userService.publishUser(userPublishRequest.getUserIds()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验工号唯一性
|
||||
*
|
||||
* @param userWorkNumRequest
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ElectromagneticResult<?> validateWorkNum(UserWorkNumRequest userWorkNumRequest) {
|
||||
// 将请求对象转换为模型对象
|
||||
User user = UserMappers.INSTANCE.getUserWorkNumRequestToModel(userWorkNumRequest);
|
||||
// 尝试根据工号获取用户
|
||||
User existingUser = userService.getUserByWorkNumber(user.getWorkNumber());
|
||||
// 根据是否存在具有相同工号的用户来确定工号的唯一性
|
||||
boolean isWorkNumberUnique = (existingUser == null);
|
||||
return ElectromagneticResultUtil.success(Boolean.valueOf(isWorkNumberUnique));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单条用户信息
|
||||
* @param getSingleUserRequest
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ElectromagneticResult<SingleUserResponse> getSingleUser(GetSingleUserRequest getSingleUserRequest){
|
||||
User user = userService.getSingleUser(getSingleUserRequest.getUserId());
|
||||
SingleUserResponse singleUserResponse = UserMappers.INSTANCE.getSingleUserToResponse(user);
|
||||
return ElectromagneticResultUtil.success(singleUserResponse);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户信息
|
||||
* @param searchUserRequest
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ElectromagneticResult<UserSearchResponse> searchUser(SearchUserRequest searchUserRequest){
|
||||
searchUserRequest.setPageIndex((searchUserRequest.getPageIndex()-1)*searchUserRequest.getPageSize());
|
||||
SearchKeyWords model = UserMappers.INSTANCE.getSearchKeywordsRequestToModel(searchUserRequest);
|
||||
List<User> userList = userService.searchUser(model);
|
||||
int totalCount = userService.getTotalCount(model);
|
||||
List<SingleUserResponse> singleUserResponseList = UserMappers.INSTANCE.userListToResponseList(userList);
|
||||
UserSearchResponse userSearchResponse = new UserSearchResponse();
|
||||
userSearchResponse.setUserList(singleUserResponseList);
|
||||
userSearchResponse.setTotalCount(totalCount);
|
||||
return ElectromagneticResultUtil.success(userSearchResponse);
|
||||
}
|
||||
|
||||
/**
|
||||
* 刪除用戶(逻辑删除)
|
||||
* @param userDeleteRequest
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ElectromagneticResult<?> deleteUser(UserDeleteRequest userDeleteRequest) {
|
||||
// 将请求对象转换为模型对象
|
||||
User user = UserMappers.INSTANCE.getUserDeleteRequestToModel(userDeleteRequest);
|
||||
// 检查用户是否已经被逻辑删除
|
||||
User existingUser = userService.getSingleUser(user.getUserId());
|
||||
if(existingUser != null && existingUser.getEffectFlag()==0){
|
||||
// 如果用户已经被逻辑删除(在这个假设中,0 表示已删除),则不进行任何操作或返回错误
|
||||
return ElectromagneticResultUtil.fail(ElectromagneticErrorEnum. FINE_DELETE_USER_ERROR);
|
||||
}
|
||||
if(existingUser!=null && existingUser.getEffectFlag()==1){// 在这个假设中,1 表示未删除
|
||||
return ElectromagneticResultUtil.success(userService.deleteUser(user.getUserId()));
|
||||
}else{
|
||||
// 如果用户不存在(理论上不应该发生,除非数据库状态不一致),则返回错误
|
||||
return ElectromagneticResultUtil.fail(ElectromagneticErrorEnum. FINE_DELETE_USER_ERROR);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,13 +3,19 @@
|
|||
*/
|
||||
package com.electromagnetic.industry.software.data.manage.service.mappers;
|
||||
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.params.SearchKeyWords;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserModiRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.*;
|
||||
import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserLoginRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.request.user.UserRequest;
|
||||
import com.electromagnetic.industry.software.data.manage.response.user.SingleUserResponse;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户模型转换
|
||||
* @author szt
|
||||
|
|
@ -31,4 +37,48 @@ public interface UserMappers {
|
|||
* @return
|
||||
*/
|
||||
UserLoginInfo getUserLoginRequestToModel(UserLoginRequest loginRequest);
|
||||
|
||||
/**
|
||||
* 获取单条用户信息Request转用户模型
|
||||
* @param user
|
||||
* @return
|
||||
*/
|
||||
SingleUserResponse getSingleUserToResponse(User user);
|
||||
|
||||
/**
|
||||
* 获取单条用户信息Request转用户模型
|
||||
* @param searchUserRequest
|
||||
* @return
|
||||
*/
|
||||
SearchKeyWords getSearchKeywordsRequestToModel(SearchUserRequest searchUserRequest);
|
||||
|
||||
/**
|
||||
* 获取用户列表转response列表
|
||||
* @param users
|
||||
* @return
|
||||
*/
|
||||
List<SingleUserResponse> userListToResponseList(List<User> users);
|
||||
|
||||
/**
|
||||
* 编辑用户Request转用户模型
|
||||
* @param userModiRequest
|
||||
* @return
|
||||
*/
|
||||
User getUserModiRequestToModel(UserModiRequest userModiRequest);
|
||||
|
||||
/**
|
||||
* 校验工号唯一性Request转用户模型
|
||||
* @param userWorkNumRequest
|
||||
* @return
|
||||
*/
|
||||
User getUserWorkNumRequestToModel(UserWorkNumRequest userWorkNumRequest);
|
||||
|
||||
/**
|
||||
* 删除单条用户信息Request转用户模型
|
||||
* @param userDeleteRequest
|
||||
* @return
|
||||
*/
|
||||
User getUserDeleteRequestToModel(UserDeleteRequest userDeleteRequest);
|
||||
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue