diff --git a/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/EDDataController.java b/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/EDDataController.java index 5acfe2b..a094597 100644 --- a/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/EDDataController.java +++ b/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/EDDataController.java @@ -22,7 +22,6 @@ public class EDDataController { @ApiOperation(value = "新建文件夹",notes = "") @RequestMapping(value = "/createFolder",method = RequestMethod.POST) public ElectromagneticResult createFolder(@RequestBody EDDataRequest request){ - //return ElectromagneticResultUtil.success("新建文件夹接口"); return edDataFacade.createFolder(request); } @@ -30,15 +29,20 @@ public class EDDataController { @ApiOperation(value = "获取文件信息列表",notes = "") @RequestMapping(value = "/getFileInfoList",method = RequestMethod.POST) public ElectromagneticResult getFileInfoList(@RequestBody EDDataRequest request){ - //return ElectromagneticResultUtil.success("获取文件信息列表"); return edDataFacade.getDataInfoList(request); } + @ApiOperation(value = "更新文件占用状态",notes = "") + @RequestMapping(value = "/updateFileStatus",method = RequestMethod.POST) + public ElectromagneticResult updateFileStatus(@RequestBody EDDataRequest request){ + return edDataFacade.updateFileStatus(request); + } + + @ApiOperation(value = "上传",notes = "") @RequestMapping(value = "/upload",method = RequestMethod.POST) public ElectromagneticResult upload(@RequestBody EDDataRequest request){ - //return ElectromagneticResultUtil.success("上传"); return edDataFacade.upload(request); } @@ -46,7 +50,6 @@ public class EDDataController { @ApiOperation(value = "下载",notes = "") @RequestMapping(value = "/download",method = RequestMethod.POST) public ElectromagneticResult download(@RequestBody EDDataRequest request){ - //return ElectromagneticResultUtil.success("下载"); return edDataFacade.download(request); } diff --git a/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/user/UserController.java b/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/user/UserController.java index 13a44bc..8de55ea 100644 --- a/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/user/UserController.java +++ b/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/user/UserController.java @@ -2,9 +2,10 @@ 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.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.model.BaseResult; -import electromagnetic.data.framework.share.model.ElectromagneticResult; +import electromagnetic.data.framework.share.result.BaseResult; +import electromagnetic.data.framework.share.result.LoginResult; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; @@ -17,6 +18,12 @@ public class UserController { @Resource private UserFacade userFacade; + @ApiOperation(value = "登录", notes = "") + @PostMapping("/login") + public LoginResult login(@RequestBody UserLoginRequest loginRequest) { + return userFacade.login(loginRequest); + } + @ApiOperation(value = "新增用户信息", notes = "") @PostMapping public BaseResult createUser(@RequestBody UserRequest userRequest) { diff --git a/domain/pom.xml b/domain/pom.xml index 77aa05a..c134907 100644 --- a/domain/pom.xml +++ b/domain/pom.xml @@ -47,6 +47,11 @@ slf4j-api + + + io.jsonwebtoken + jjwt + \ No newline at end of file diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/model/EDDataPage.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/model/EDDataPage.java index df58d98..bd1546d 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/model/EDDataPage.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/model/EDDataPage.java @@ -7,7 +7,6 @@ import com.github.pagehelper.PageInfo; import lombok.Data; import java.io.Serializable; -import java.util.List; /** * 分页综合返回 diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/parames/EDDataParams.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/parames/EDDataParams.java index 712a127..beddb88 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/parames/EDDataParams.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/parames/EDDataParams.java @@ -3,7 +3,6 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.in import lombok.Data; import java.io.Serializable; -import java.util.Date; @Data public class EDDataParams implements Serializable { @@ -32,4 +31,8 @@ public class EDDataParams implements Serializable { * 文件数据编码 */ private String dataId; + /** + * 文件数据状态 + */ + private String dataStatus; } diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/repository/EDDataRepository.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/repository/EDDataRepository.java index d11a563..804a225 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/repository/EDDataRepository.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/repository/EDDataRepository.java @@ -4,14 +4,9 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.repository; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.EDDataInfo; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCard; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCardExtend; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.parames.EDDataParams; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.parames.IndicatorCardParams; import com.github.pagehelper.PageInfo; -import java.util.List; - /** * @author * @version $Id: EDDataRepos.java, v 0.1 2024-07-29 19:02 @@ -20,7 +15,7 @@ public interface EDDataRepository { /** * 创建文件夹 - * @param parames + * @param edDataInfo * @return */ Boolean createFolder(EDDataInfo edDataInfo); @@ -32,6 +27,13 @@ public interface EDDataRepository { */ PageInfo getDataInfoList(EDDataParams parames); + /** + * 更新文件占用状态 + * @param parames + * @return + */ + Boolean updateFileStatus(EDDataParams parames); + /** * 上传 * @param parames diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/service/EDDataService.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/service/EDDataService.java index 952ae78..e6971d7 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/service/EDDataService.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/service/EDDataService.java @@ -1,15 +1,8 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.service; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.EDDataInfo; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCard; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.EDDataPage; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.parames.EDDataParams; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.parames.IndicatorCardParams; -import com.electromagnetic.industry.software.data.manage.request.indicator.EDDataRequest; -import electromagnetic.data.framework.share.model.ElectromagneticResult; -import electromagnetic.data.framework.share.model.ElectromagneticResultUtil; - -import java.util.List; public interface EDDataService { @@ -27,6 +20,13 @@ public interface EDDataService { */ EDDataPage getDataInfoList(EDDataParams parames); + /** + * 更新文件占用状态 + * @param parames + * @return + */ + Boolean updateFileStatus(EDDataParams parames); + /** * 上传 * @param parames diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/service/impl/EDDataServiceImpl.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/service/impl/EDDataServiceImpl.java index dc9dd16..f35cceb 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/service/impl/EDDataServiceImpl.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/service/impl/EDDataServiceImpl.java @@ -3,28 +3,18 @@ */ package com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.service.impl; -import com.electromagnetic.industry.software.data.manage.common.ElectromagneticErrorEnum; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.enums.EffectFlagEnum; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.enums.IndicatorCardHomeDisplayEnum; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.enums.IndicatorCardStatusEnum; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.EDDataInfo; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCard; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.EDDataPage; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.parames.EDDataParams; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.repository.EDDataRepository; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.service.EDDataService; import com.github.pagehelper.PageInfo; -import electromagnetic.data.framework.share.enums.ElectromagneticSceneIncidentEnum; -import electromagnetic.data.framework.share.exception.ElectromagneticBizRuntimeException; import electromagnetic.data.framework.share.exception.LoggerConstant; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; -import org.springframework.util.StringUtils; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; /** * @author @@ -41,7 +31,7 @@ public class EDDataServiceImpl implements EDDataService { /** * 创建文件夹 - * @param parames + * @param edDataInfo * @return */ public Boolean createFolder(EDDataInfo edDataInfo) @@ -64,6 +54,17 @@ public class EDDataServiceImpl implements EDDataService { return edDataPage; } + /** + * 更新文件占用状态 + * @param parames + * @return + */ + public Boolean updateFileStatus(EDDataParams parames) + { + edDataRepository.updateFileStatus(parames); + return Boolean.TRUE; + } + /** * 上传 * @param parames diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/model/Token.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/model/Token.java new file mode 100644 index 0000000..37e302f --- /dev/null +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/model/Token.java @@ -0,0 +1,38 @@ +package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model; + +import cn.hutool.core.date.DateTime; +import lombok.Data; + +@Data +public class Token { + + /** + * 主键ID + */ + private Long id; + + /** + * 用户编码 + */ + private String userId; + + /** + * 令牌 + */ + private String token; + + /** + * 是否是长期令牌 + */ + private int isLongTerm; + + /** + * 创建时间 + */ + private DateTime createdAt; + + /** + * 过期时间 + */ + private DateTime expireAt; +} diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/model/User.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/model/User.java index 522b707..f6d8a77 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/model/User.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/model/User.java @@ -1,6 +1,5 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model; -import cn.hutool.core.date.DateTime; import lombok.Data; import java.util.Date; @@ -51,7 +50,7 @@ public class User { /** * 入职日期 */ - private DateTime joinTime; + private Date joinTime; /** * 工作状态 diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/model/UserLoginInfo.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/model/UserLoginInfo.java new file mode 100644 index 0000000..bb6fcd3 --- /dev/null +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/model/UserLoginInfo.java @@ -0,0 +1,22 @@ +package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model; + +import lombok.Data; + +@Data +public class UserLoginInfo { + + /** + * 工号 + */ + private String workNumber; + + /** + * 用户密码 + */ + private String userPwd; + + /** + * 令牌 + */ + private String token; +} diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/TokenRepository.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/TokenRepository.java new file mode 100644 index 0000000..01b6928 --- /dev/null +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/TokenRepository.java @@ -0,0 +1,13 @@ +package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository; + +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.Token; + +public interface TokenRepository { + + /** + * 令牌插入 + * @param token + * @return + */ + int insert(Token token); +} diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/UserRepository.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/UserRepository.java index e724dda..38e1848 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/UserRepository.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/repository/UserRepository.java @@ -17,4 +17,11 @@ public interface UserRepository { * @return */ int publish(User user); + + /** + * 通过工号查询用户 + * @param workNumber + * @return + */ + User selectUserByWorkNumber(String workNumber); } diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/TokenService.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/TokenService.java new file mode 100644 index 0000000..6446c4c --- /dev/null +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/TokenService.java @@ -0,0 +1,23 @@ +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; + +public interface TokenService { + + /** + * 创建令牌 + * @param loginInfo + * @return 令牌 + */ + public String createToken(UserLoginInfo loginInfo); + + /** + * 创建用户令牌 + * @param user + * @param tokenStr + * @return + */ + public Boolean createUserToken (User user, String tokenStr); +} diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/UserService.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/UserService.java index c114b00..9ca7a75 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/UserService.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/UserService.java @@ -1,6 +1,7 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.UserLoginInfo; public interface UserService { @@ -17,4 +18,19 @@ public interface UserService { * @return */ Boolean publishUser(User user); + + /** + * 通过工号查询用户 + * @param workNumber + * @return + */ + User getUserByWorkNumber(String workNumber); + + /** + * 比较密码是否相同 + * @param user + * @param password + * @return + */ + Boolean matchPassword(User user, String password); } diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/TokenServiceImpl.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/TokenServiceImpl.java new file mode 100644 index 0000000..9bfbc3a --- /dev/null +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/TokenServiceImpl.java @@ -0,0 +1,59 @@ +package com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.impl; + +import cn.hutool.core.date.DateTime; +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; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository.TokenRepository; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.service.TokenService; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.util.UserConstant; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.SignatureAlgorithm; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import static cn.hutool.core.date.SystemClock.now; + +@Service +public class TokenServiceImpl implements TokenService { + + @Resource + TokenRepository tokenRepository; + + /** + * 创建令牌 + * @param loginInfo + * @return 令牌 + */ + @Override + public String createToken(UserLoginInfo loginInfo){ + String token = UUID.randomUUID().toString(); + loginInfo.setToken(token); + Map claims = new HashMap<>(); + claims.put(UserConstant.LOGIN_USER_KEY, loginInfo); + Jwts.builder() + .addClaims(claims) + .signWith(SignatureAlgorithm.HS512, UserConstant.SECRET_KEY) + .compact(); + return token; + } + + /** + * 创建用户令牌 + * @param user + * @param tokenStr + * @return + */ + @Override + public Boolean createUserToken (User user, String tokenStr){ + Token token = new Token(); + token.setUserId(user.getUserId()); + token.setToken(tokenStr); + token.setExpireAt(new DateTime(now()+UserConstant.DEFAULT_EXPIRE_TIME)); + return tokenRepository.insert(token)>0; + } +} diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/UserServiceImpl.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/UserServiceImpl.java index cba5f7f..71e0652 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/UserServiceImpl.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/service/impl/UserServiceImpl.java @@ -3,7 +3,9 @@ package com.electromagnetic.industry.software.data.manage.domain.boardservice.us 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; @@ -28,6 +30,28 @@ public class UserServiceImpl implements UserService { return userRepository.insert(user)>0; } + /** + * 通过工号查询用户 + * @param workNumber + * @return + */ + @Override + public User getUserByWorkNumber(String workNumber){ + return userRepository.selectUserByWorkNumber(workNumber); + } + + /** + * 比较密码是否相同 + * @param user + * @param password + */ + @Override + public Boolean matchPassword(User user, String password){ + String salt = user.getSalt(); + String encodePwd = SignUtils.MD5(UserConstant.DEFAULT_PASSWORD+salt); + return user.getUserPwd().equals(encodePwd); + } + /** * 用户发布 * @param user diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/util/UserConstant.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/util/UserConstant.java index bb15bf4..d0edb39 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/util/UserConstant.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/user/util/UserConstant.java @@ -11,4 +11,19 @@ public class UserConstant { * 默认发布状态(未发布) */ public static final int DEFAULT_PUBLISH_STATUS = 0; + + /** + * 默认令牌过期时间(7天) + */ + public static final long DEFAULT_EXPIRE_TIME = 7*24*60*60*1000; + + /** + * 令牌密钥 + */ + public static final String SECRET_KEY = "5JKRGV0QO4WK1WCWVK55YEU0A1NPOXOP"; + + /** + * 令牌前缀 + */ + public static final String LOGIN_USER_KEY = "login_user_key"; } diff --git a/electromagnetic-framework/pom.xml b/electromagnetic-framework/pom.xml index 7a1b726..899213d 100644 --- a/electromagnetic-framework/pom.xml +++ b/electromagnetic-framework/pom.xml @@ -63,6 +63,14 @@ junit test + + org.bouncycastle + bcprov-jdk16 + + + org.apache.tomcat.embed + tomcat-embed-core + \ No newline at end of file diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/config/DefaultValidationTool.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/config/DefaultValidationTool.java index 531b457..b196ac5 100644 --- a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/config/DefaultValidationTool.java +++ b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/config/DefaultValidationTool.java @@ -10,18 +10,17 @@ import electromagnetic.data.framework.share.util.Functions; import electromagnetic.data.framework.share.util.Results; import electromagnetic.data.framework.share.validation.ValidationResult; import electromagnetic.data.framework.share.validation.ValidationTool; -import electromagnetic.data.framework.share.util.*; import org.hibernate.validator.HibernateValidator; import org.hibernate.validator.HibernateValidatorConfiguration; import org.springframework.beans.factory.InitializingBean; import javax.validation.ConstraintViolation; import javax.validation.Validation; +import javax.validation.Validator; import javax.validation.ValidatorFactory; import java.util.Set; import java.util.function.BiFunction; import java.util.function.Consumer; -import javax.validation.Validator; /** * 默认的验证工具实现,支持函数化的编程方式 diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/config/ValidationToolAutoConfiguration.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/config/ValidationToolAutoConfiguration.java index eacf013..3d04db4 100644 --- a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/config/ValidationToolAutoConfiguration.java +++ b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/config/ValidationToolAutoConfiguration.java @@ -3,9 +3,9 @@ */ package electromagnetic.data.framework.share.config; +import electromagnetic.data.framework.share.util.DefaultSimpleValidationTool; import electromagnetic.data.framework.share.validation.SimpleValidationTool; import electromagnetic.data.framework.share.validation.ValidationTool; -import electromagnetic.data.framework.share.util.DefaultSimpleValidationTool; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/log/ServiceResultHandleUtil.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/log/ServiceResultHandleUtil.java index 3b00e67..912edb0 100644 --- a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/log/ServiceResultHandleUtil.java +++ b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/log/ServiceResultHandleUtil.java @@ -8,11 +8,11 @@ import electromagnetic.data.framework.share.enums.ElectromagneticCommonErrorEnum import electromagnetic.data.framework.share.enums.ElectromagneticSceneIncidentEnum; import electromagnetic.data.framework.share.exception.BizRuntimeException; import electromagnetic.data.framework.share.exception.ElectromagneticBizRuntimeException; +import electromagnetic.data.framework.share.exception.IllegalParameterException; import electromagnetic.data.framework.share.model.ElectromagneticPaginationResult; import electromagnetic.data.framework.share.model.ElectromagneticResult; import electromagnetic.data.framework.share.model.PageModel; import electromagnetic.data.framework.share.result.CallbackResult; -import electromagnetic.data.framework.share.exception.IllegalParameterException; import javax.xml.bind.ValidationException; import java.util.Optional; diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/model/BaseResult.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/result/BaseResult.java similarity index 91% rename from electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/model/BaseResult.java rename to electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/result/BaseResult.java index 07852fc..769682b 100644 --- a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/model/BaseResult.java +++ b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/result/BaseResult.java @@ -1,7 +1,4 @@ -package electromagnetic.data.framework.share.model; - -import electromagnetic.data.framework.share.result.Message; -import electromagnetic.data.framework.share.result.Result; +package electromagnetic.data.framework.share.result; import java.io.Serializable; diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/result/LoginResult.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/result/LoginResult.java new file mode 100644 index 0000000..6ea7fa9 --- /dev/null +++ b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/result/LoginResult.java @@ -0,0 +1,100 @@ +package electromagnetic.data.framework.share.result; + +import java.io.Serializable; + +public class LoginResult 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 success. + * + * @return property value of success + */ + public Boolean getSuccess() { + return success; + } + + /** + * Setter method for property success. + * + * @param success value to be assigned to property success + */ + public void setSuccess(Boolean success) { + this.success = success; + } + + /** + * Getter method for property errorCode. + * + * @return property value of errorCode + */ + public String getErrorCode() { + return errorCode; + } + + /** + * Setter method for property errorCode. + * + * @param errorCode value to be assigned to property errorCode + */ + public void setErrorCode(String errorCode) { + this.errorCode = errorCode; + } + + /** + * Getter method for property errorMsg. + * + * @return property value of errorMsg + */ + public String getErrorMessage() { + return errorMessage; + } + + /** + * Setter method for property errorMsg. + * + * @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; + } +} diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/sign/AESUtils.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/sign/AESUtils.java index fcedd02..c8bcbf8 100644 --- a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/sign/AESUtils.java +++ b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/sign/AESUtils.java @@ -14,6 +14,9 @@ import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; +import org.bouncycastle.jce.provider.BouncyCastleProvider; +import org.apache.tomcat.util.codec.binary.Base64; +import java.security.Security; /** *

Description: [AES对称加密和解密]

@@ -117,6 +120,32 @@ public class AESUtils { return null; } + /** + * 前端使用ECB,后端解密方法 + * @param enc + * @param key + * @return + */ + public static String decrypt(String enc, String key) { + try{ + SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(), "AES"); + Security.addProvider(new BouncyCastleProvider()); + Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding"); + cipher.init(Cipher.DECRYPT_MODE, secretKeySpec); + return cipher.doFinal(Base64.decodeBase64(enc)).toString(); + } catch (NoSuchPaddingException e) { + throw new RuntimeException(e); + } catch (IllegalBlockSizeException e) { + throw new RuntimeException(e); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException(e); + } catch (BadPaddingException e) { + throw new RuntimeException(e); + } catch (InvalidKeyException e) { + throw new RuntimeException(e); + } + } + // public static void main(String[] args) { // try { // diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/model/BaseResultUtil.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/BaseResultUtil.java similarity index 91% rename from electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/model/BaseResultUtil.java rename to electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/BaseResultUtil.java index 76d2471..92cb311 100644 --- a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/model/BaseResultUtil.java +++ b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/BaseResultUtil.java @@ -1,12 +1,12 @@ -package electromagnetic.data.framework.share.model; +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; /** * 返回结果转换工具类 * - * @version $Id: DataCenterResultUtil.java, v 0.1 2021-01-11 16:57 Exp $$ */ public class BaseResultUtil { diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/DefaultSimpleValidationTool.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/DefaultSimpleValidationTool.java index 96ea2bb..ee52040 100644 --- a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/DefaultSimpleValidationTool.java +++ b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/DefaultSimpleValidationTool.java @@ -3,9 +3,9 @@ */ package electromagnetic.data.framework.share.util; +import electromagnetic.data.framework.share.exception.IllegalParameterException; import electromagnetic.data.framework.share.validation.SimpleValidationTool; import electromagnetic.data.framework.share.validation.ValidationTool; -import electromagnetic.data.framework.share.exception.IllegalParameterException; /** * @author wsk diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/LoginResultUtil.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/LoginResultUtil.java new file mode 100644 index 0000000..5458bc6 --- /dev/null +++ b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/util/LoginResultUtil.java @@ -0,0 +1,39 @@ +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 LoginResult convertToResult(CallbackResult callbackResult) { + LoginResult LoginResult = new LoginResult<>(); + LoginResult.setSuccess(callbackResult.isSuccess()); + LoginResult.setErrorCode(callbackResult.getResultCode()); + LoginResult.setErrorMessage(callbackResult.getResultMessage()); + return LoginResult; + } + + public static LoginResult success(String token){ + LoginResult LoginResult = new LoginResult<>(); + LoginResult.setSuccess(true); + LoginResult.setToken(token); + return LoginResult; + } + + public static LoginResult fail(String code , String msg){ + LoginResult LoginResult = new LoginResult<>(); + LoginResult.setSuccess(false); + LoginResult.setErrorCode(code); + LoginResult.setErrorMessage(msg); + return LoginResult; + } + + public static LoginResult fail(ErrorEnum errorEnum){ + LoginResult LoginResult = new LoginResult<>(); + LoginResult.setSuccess(false); + LoginResult.setErrorCode(errorEnum.getCode()); + LoginResult.setErrorMessage(errorEnum.getErrorMessage()); + return LoginResult; + } +} diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/validation/config/ElectromagneticValidationToolAutoConfiguration.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/validation/config/ElectromagneticValidationToolAutoConfiguration.java index 1520074..2072797 100644 --- a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/validation/config/ElectromagneticValidationToolAutoConfiguration.java +++ b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/validation/config/ElectromagneticValidationToolAutoConfiguration.java @@ -4,10 +4,10 @@ package electromagnetic.data.framework.share.validation.config; -import electromagnetic.data.framework.share.validation.ValidationTool; import electromagnetic.data.framework.share.config.DefaultValidationTool; import electromagnetic.data.framework.share.config.ValidationToolAutoConfiguration; import electromagnetic.data.framework.share.validation.ElectromagneticSimpleValidationTool; +import electromagnetic.data.framework.share.validation.ValidationTool; import electromagnetic.data.framework.share.validation.impl.ElectromagneticSimpleValidationToolImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; diff --git a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/validation/impl/ElectromagneticSimpleValidationToolImpl.java b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/validation/impl/ElectromagneticSimpleValidationToolImpl.java index 3ec8c75..126f316 100644 --- a/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/validation/impl/ElectromagneticSimpleValidationToolImpl.java +++ b/electromagnetic-framework/src/main/java/electromagnetic/data/framework/share/validation/impl/ElectromagneticSimpleValidationToolImpl.java @@ -4,9 +4,9 @@ package electromagnetic.data.framework.share.validation.impl; -import electromagnetic.data.framework.share.validation.ValidationTool; import electromagnetic.data.framework.share.exception.IllegalParameterException; import electromagnetic.data.framework.share.validation.ElectromagneticSimpleValidationTool; +import electromagnetic.data.framework.share.validation.ValidationTool; /** */ diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/EDDataFacade.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/EDDataFacade.java index c1e1586..67480c6 100644 --- a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/EDDataFacade.java +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/EDDataFacade.java @@ -4,9 +4,6 @@ import com.electromagnetic.industry.software.data.manage.request.indicator.EDDat import com.electromagnetic.industry.software.data.manage.response.indicator.EDDataPageResponse; import electromagnetic.data.framework.share.model.ElectromagneticResult; -import java.util.List; -import java.util.Map; - public interface EDDataFacade { /** @@ -24,6 +21,13 @@ public interface EDDataFacade { */ ElectromagneticResult getDataInfoList(EDDataRequest request); + /** + * 更新文件占用状态 + * @param request + * @return + */ + ElectromagneticResult updateFileStatus(EDDataRequest request); + /** * 上传 * @param request diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/IndicatorCardFacade.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/IndicatorCardFacade.java index 41b5348..fba7c86 100644 --- a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/IndicatorCardFacade.java +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/IndicatorCardFacade.java @@ -4,12 +4,11 @@ package com.electromagnetic.industry.software.data.manage.facade; - -import electromagnetic.data.framework.share.model.ElectromagneticResult; import com.electromagnetic.industry.software.data.manage.request.indicator.IndicatorCardRequest; import com.electromagnetic.industry.software.data.manage.request.indicator.IndicatorDataRequest; import com.electromagnetic.industry.software.data.manage.response.indicator.IndicatorCardDetailReponse; import com.electromagnetic.industry.software.data.manage.response.indicator.IndicatorCardPageResponse; +import electromagnetic.data.framework.share.model.ElectromagneticResult; import java.util.List; import java.util.Map; diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/user/UserFacade.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/user/UserFacade.java index 92cca96..723f37f 100644 --- a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/user/UserFacade.java +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/user/UserFacade.java @@ -1,11 +1,20 @@ package com.electromagnetic.industry.software.data.manage.facade.user; 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.model.BaseResult; +import electromagnetic.data.framework.share.result.BaseResult; +import electromagnetic.data.framework.share.result.LoginResult; public interface UserFacade { + /** + * 用户登录 + * @param loginRequest + * @return + */ + LoginResult login(UserLoginRequest loginRequest); + /** * 新增用户信息 * @param userRequest diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/indicator/EDDataRequest.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/indicator/EDDataRequest.java index c275313..bdfac2d 100644 --- a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/indicator/EDDataRequest.java +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/indicator/EDDataRequest.java @@ -3,8 +3,6 @@ package com.electromagnetic.industry.software.data.manage.request.indicator; import electromagnetic.data.framework.share.model.BaseRequest; import lombok.Data; -import java.util.Date; - @Data public class EDDataRequest extends BaseRequest { @@ -24,10 +22,6 @@ public class EDDataRequest extends BaseRequest { * 文件夹名称 */ private String name; - /** - * 文件夹名称 - */ - private String fileName; /** * 关键词 */ @@ -36,4 +30,8 @@ public class EDDataRequest extends BaseRequest { * 文件数据编码 */ private String dataId; + /** + * 文件数据状态 + */ + private String dataStatus; } diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserLoginRequest.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserLoginRequest.java new file mode 100644 index 0000000..654c7fb --- /dev/null +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/user/UserLoginRequest.java @@ -0,0 +1,20 @@ +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 UserLoginRequest extends BaseRequest implements Serializable { + + /** + * 工号 + */ + private String workNumber; + + /** + * 用户密码 + */ + private String userPwd; +} diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/response/indicator/EDDataPageResponse.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/response/indicator/EDDataPageResponse.java index 44332cf..9f5e6d9 100644 --- a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/response/indicator/EDDataPageResponse.java +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/response/indicator/EDDataPageResponse.java @@ -8,7 +8,6 @@ import com.github.pagehelper.PageInfo; import lombok.Data; import java.io.Serializable; -import java.util.List; /** * @author @@ -20,5 +19,5 @@ public class EDDataPageResponse implements Serializable { /** * 指电磁数据-文件信息数据 */ - private PageInfo edDataPage; + private PageInfo edDataInfo; } \ No newline at end of file diff --git a/infrastructure/common/src/main/java/com/electromagnetic/industry/software/data/manage/repository/ObMybatisConfig.java b/infrastructure/common/src/main/java/com/electromagnetic/industry/software/data/manage/repository/ObMybatisConfig.java index 688131a..eaad16f 100644 --- a/infrastructure/common/src/main/java/com/electromagnetic/industry/software/data/manage/repository/ObMybatisConfig.java +++ b/infrastructure/common/src/main/java/com/electromagnetic/industry/software/data/manage/repository/ObMybatisConfig.java @@ -11,7 +11,6 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.jdbc.DataSourceBuilder; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.io.Resource; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.jdbc.core.JdbcTemplate; diff --git a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/EDDataMapper.java b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/EDDataMapper.java index f810ed4..575e341 100644 --- a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/EDDataMapper.java +++ b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/EDDataMapper.java @@ -1,11 +1,7 @@ package com.electromagnetic.industry.software.data.manage.repository.dao; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.EDDataInfo; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCard; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCardExtend; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.parames.EDDataParams; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.parames.IndicatorCardParams; -import com.github.pagehelper.PageInfo; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -14,11 +10,11 @@ import java.util.List; public interface EDDataMapper { /** - * 创建文件夹 + * 创建文件/文件夹数据信息 * @param edDataInfo * @return */ - Boolean createFolder(EDDataInfo edDataInfo); + Boolean createDataInfo(EDDataInfo edDataInfo); /** * 获取文件信息列表 @@ -28,17 +24,11 @@ public interface EDDataMapper { List getDataInfoList(EDDataParams parames); /** - * 上传 + * 更新文件占用状态 * @param parames * @return */ - Boolean upload(EDDataParams parames); + Boolean updateFileStatus(EDDataParams parames); - /** - * 下载 - * @param parames - * @return - */ - Boolean download(EDDataParams parames); } \ No newline at end of file diff --git a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/TokenMapper.java b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/TokenMapper.java new file mode 100644 index 0000000..fb67a60 --- /dev/null +++ b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/TokenMapper.java @@ -0,0 +1,15 @@ +package com.electromagnetic.industry.software.data.manage.repository.dao; + +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.Token; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface TokenMapper { + + /** + * 插入 + * @param token + * @return + */ + int insert(Token token); +} diff --git a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/UserMapper.java b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/UserMapper.java index 8f7be47..72ea9e8 100644 --- a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/UserMapper.java +++ b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/dao/UserMapper.java @@ -18,4 +18,11 @@ public interface UserMapper { * @return */ int publish(User user); + + /** + * 通过工号查询用户 + * @param workNumber + * @return + */ + User selectUserByWorkNumber(String workNumber); } \ No newline at end of file diff --git a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/EDDataRepositoryImpl.java b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/EDDataRepositoryImpl.java index 20e9407..c2c1118 100644 --- a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/EDDataRepositoryImpl.java +++ b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/EDDataRepositoryImpl.java @@ -4,10 +4,7 @@ package com.electromagnetic.industry.software.data.manage.repository.impl; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.EDDataInfo; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCard; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCardExtend; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.parames.EDDataParams; -import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.parames.IndicatorCardParams; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.repository.EDDataRepository; import com.electromagnetic.industry.software.data.manage.repository.dao.EDDataMapper; import com.github.pagehelper.PageHelper; @@ -30,13 +27,13 @@ public class EDDataRepositoryImpl implements EDDataRepository { /** * 创建文件夹 * - * @param parames + * @param edDataInfo * @return */ @Override public Boolean createFolder(EDDataInfo edDataInfo) { - return edDataMapper.createFolder(edDataInfo); + return edDataMapper.createDataInfo(edDataInfo); } /** @@ -52,6 +49,17 @@ public class EDDataRepositoryImpl implements EDDataRepository { return new PageInfo<>(edDataInfoList); } + /** + * 更新文件占用状态 + * @param parames + * @return + */ + @Override + public Boolean updateFileStatus(EDDataParams parames) + { + return edDataMapper.updateFileStatus(parames); + } + /** * 上传 * @param parames @@ -60,7 +68,9 @@ public class EDDataRepositoryImpl implements EDDataRepository { @Override public Boolean upload(EDDataParams parames) { - return edDataMapper.upload(parames); + //return edDataMapper.upload(parames); + //edDataMapper.createDataInfo(edDataInfo); + return Boolean.TRUE; } /** @@ -71,7 +81,8 @@ public class EDDataRepositoryImpl implements EDDataRepository { @Override public Boolean download(EDDataParams parames) { - return edDataMapper.download(parames); + //return edDataMapper.download(parames); + return Boolean.TRUE; } diff --git a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/TokenRepositoryImpl.java b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/TokenRepositoryImpl.java new file mode 100644 index 0000000..af4e7b7 --- /dev/null +++ b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/TokenRepositoryImpl.java @@ -0,0 +1,25 @@ +package com.electromagnetic.industry.software.data.manage.repository.impl; + +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.Token; +import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.repository.TokenRepository; +import com.electromagnetic.industry.software.data.manage.repository.dao.TokenMapper; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; + +@Repository +public class TokenRepositoryImpl implements TokenRepository { + + @Resource + TokenMapper tokenMapper; + + /** + * 令牌插入 + * @param token + * @return + */ + @Override + public int insert(Token token){ + return tokenMapper.insert(token); + } +} diff --git a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/UserRepositoryImpl.java b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/UserRepositoryImpl.java index ae0be75..ce43d69 100644 --- a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/UserRepositoryImpl.java +++ b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/UserRepositoryImpl.java @@ -37,4 +37,14 @@ public class UserRepositoryImpl implements UserRepository { public int publish(User user) { return userMapper.publish(user); } + + /** + * 通过工号查询用户 + * @param workNumber + * @return + */ + @Override + public User selectUserByWorkNumber(String workNumber) { + return userMapper.selectUserByWorkNumber(workNumber); + } } \ No newline at end of file diff --git a/infrastructure/repository/src/main/resources/sqlmapper/EdDataInfoMapper.xml b/infrastructure/repository/src/main/resources/sqlmapper/EdDataInfoMapper.xml new file mode 100644 index 0000000..740b2a9 --- /dev/null +++ b/infrastructure/repository/src/main/resources/sqlmapper/EdDataInfoMapper.xml @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id,category_id,data_id,data_no,data_name,data_type,file_type,version,content, + implant_json,data_status,creator,creator_name,gmt_create,modifier,modifier_name, + gmt_modified,effect_flag + + + + + + SELECT LAST_INSERT_ID() + + insert into ed_data_info (id, category_id, + data_id, data_no, data_name, + data_type, file_type, + version,content, implant_json, data_status, + creator, creator_name, gmt_create, + modifier, modifier_name, gmt_modified, + effect_flag + ) + values (#{id,jdbcType=VARCHAR}, #{categoryId,jdbcType=VARCHAR}, + #{dataId,jdbcType=VARCHAR}, #{dataNo,jdbcType=VARCHAR}, #{dataName,jdbcType=VARCHAR}, + #{dataType,jdbcType=VARCHAR}, #{fileType,jdbcType=VARCHAR}, + #{version,jdbcType=VARCHAR},#{content,jdbcType=VARCHAR}, #{implantJson,jdbcType=VARCHAR}, #{dataStatus,jdbcType=VARCHAR}, + #{creator,jdbcType=VARCHAR}, #{creatorName,jdbcType=VARCHAR}, now(), #{modifier,jdbcType=VARCHAR}, + #{modifierName,jdbcType=VARCHAR},now(),1 + ) + + + + + + update ed_data_info + + + data_status = #{dataStatus,jdbcType=VARCHAR}, + + gmt_modified = now() + + where data_id = #{dataId,jdbcType=VARCHAR} and effect_flag = 1 + + + + diff --git a/infrastructure/repository/src/main/resources/sqlmapper/IndicatorCardMapper.xml b/infrastructure/repository/src/main/resources/sqlmapper/IndicatorCardMapper.xml index 9b05b25..ba4caa8 100644 --- a/infrastructure/repository/src/main/resources/sqlmapper/IndicatorCardMapper.xml +++ b/infrastructure/repository/src/main/resources/sqlmapper/IndicatorCardMapper.xml @@ -1,61 +1,6 @@ - - - - SELECT LAST_INSERT_ID() - - insert into ed_data_info (id, category_id, - data_id, data_no, data_name, - data_type, file_type, - version,content, implant_json, data_status, - creator, creator_name, gmt_create, - modifier, modifier_name, gmt_modified, - effect_flag - ) - values (#{id,jdbcType=VARCHAR}, #{categoryId,jdbcType=VARCHAR}, - #{dataId,jdbcType=VARCHAR}, #{dataNo,jdbcType=VARCHAR}, #{dataName,jdbcType=VARCHAR}, - #{dataType,jdbcType=VARCHAR}, #{fileType,jdbcType=VARCHAR}, - #{version,jdbcType=VARCHAR},#{content,jdbcType=VARCHAR}, #{implantJson,jdbcType=VARCHAR}, #{dataStatus,jdbcType=VARCHAR}, - #{creator,jdbcType=VARCHAR}, #{creatorName,jdbcType=VARCHAR}, now(), #{modifier,jdbcType=VARCHAR}, - #{modifierName,jdbcType=VARCHAR},now(),1 - ) - - - - - - - \ No newline at end of file diff --git a/infrastructure/repository/src/main/resources/sqlmapper/TokenMapper.xml b/infrastructure/repository/src/main/resources/sqlmapper/TokenMapper.xml new file mode 100644 index 0000000..0ab10d0 --- /dev/null +++ b/infrastructure/repository/src/main/resources/sqlmapper/TokenMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + insert into tokens( + user_id, + token, + is_long_term, + created_at, + expire_at + ) + values ( + #{userId}, + #{token}, + 0, + now(), + #{expireAt} + ) + + \ No newline at end of file diff --git a/infrastructure/repository/src/main/resources/sqlmapper/UserMapper.xml b/infrastructure/repository/src/main/resources/sqlmapper/UserMapper.xml index 92a33d3..340afa0 100644 --- a/infrastructure/repository/src/main/resources/sqlmapper/UserMapper.xml +++ b/infrastructure/repository/src/main/resources/sqlmapper/UserMapper.xml @@ -24,6 +24,13 @@ + + select user_id, user_name, work_number, mobile, user_dept, user_title, user_pwd, + join_time, is_published, salt, user_status, internship_end_date, + creator, creator_name, gmt_create, modifier, modifier_name, gmt_modified, effect_flag + from ed_users + + insert into ed_users( user_id, @@ -69,4 +76,9 @@ where user_id = #{userId} + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index c914ac9..a309f07 100644 --- a/pom.xml +++ b/pom.xml @@ -40,6 +40,7 @@ 2.0.1.Final 6.0.18.Final 1.0.2.1-SNAPSHOT + 0.9.0 @@ -239,6 +240,17 @@ hibernate-validator ${hibernate.validator.version} + + + io.jsonwebtoken + jjwt + ${jwt.version} + + + org.bouncycastle + bcprov-jdk16 + 1.46 + diff --git a/service/pom.xml b/service/pom.xml index 413ddd2..595bedf 100644 --- a/service/pom.xml +++ b/service/pom.xml @@ -41,6 +41,10 @@ org.apache.commons commons-lang3 - + + org.bouncycastle + bcprov-jdk16 + 1.46 + diff --git a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/EDDataFacadeImpl.java b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/EDDataFacadeImpl.java index 02cefab..abb0fe7 100644 --- a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/EDDataFacadeImpl.java +++ b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/EDDataFacadeImpl.java @@ -8,10 +8,9 @@ import com.electromagnetic.industry.software.data.manage.facade.EDDataFacade; import com.electromagnetic.industry.software.data.manage.request.indicator.EDDataRequest; import com.electromagnetic.industry.software.data.manage.response.indicator.EDDataPageResponse; import com.electromagnetic.industry.software.data.manage.service.mappers.EDDataMappers; -import com.electromagnetic.industry.software.data.manage.service.mappers.IndicatorCardMappers; +import electromagnetic.data.framework.share.id.IdWorker; import electromagnetic.data.framework.share.model.ElectromagneticResult; import electromagnetic.data.framework.share.model.ElectromagneticResultUtil; -import electromagnetic.data.framework.share.id.IdWorker; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -22,24 +21,6 @@ public class EDDataFacadeImpl implements EDDataFacade { @Resource private EDDataService edDataService; - - ///** - // * 获取用户列表 - // * WISDOM_INDICATORCARDLISTCONFIG - // * /platform/api/dataplatform/wisdomdecision/indicator/card/getIndicatorCardListConfig - // * @param request - // * @return - // */ - //@Override - //public ElectromagneticResult getUserList(UserRequest request) { - // UserParams parames= UserMappers.INSTANCE.getUserParames(request); - // //获取中支指标配置列表 - // UserPage userExtends = userService.getUserList(parames); - // //模型转换 - // UserPageResponse userPageResponse = UserMappers.INSTANCE.getUserToModel(userExtends); - // return ElectromagneticResultUtil.success(userPageResponse); - //} - /** * 创建文件夹 * WISDOM_CREATE_FOLDER @@ -88,6 +69,20 @@ public class EDDataFacadeImpl implements EDDataFacade { return ElectromagneticResultUtil.success(edDataPageResponse); } + /** + * 更新文件占用状态 + * WISDOM_UPDATE_FILESTATUS + * /data/ed/file/updateFileStatus + * @param request + * @return + */ + public ElectromagneticResult updateFileStatus(EDDataRequest request) + { + EDDataParams parames= EDDataMappers.INSTANCE.getEDDataParames(request); + edDataService.updateFileStatus(parames); + return ElectromagneticResultUtil.success(Boolean.TRUE); + } + /** * 上传 * WISDOM_UPLOAD diff --git a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/IndicatorCardFacadeImpl.java b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/IndicatorCardFacadeImpl.java index 098e5b8..8e8bb92 100644 --- a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/IndicatorCardFacadeImpl.java +++ b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/IndicatorCardFacadeImpl.java @@ -3,13 +3,13 @@ */ package com.electromagnetic.industry.software.data.manage.service.facade; -import com.electromagnetic.industry.software.data.manage.facade.IndicatorCardFacade; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.Indicator; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCard; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCardDetial; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.IndicatorCardPage; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.parames.IndicatorCardParams; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.service.IndicatorCardService; +import com.electromagnetic.industry.software.data.manage.facade.IndicatorCardFacade; import com.electromagnetic.industry.software.data.manage.request.indicator.IndicatorCardRequest; import com.electromagnetic.industry.software.data.manage.request.indicator.IndicatorDataRequest; import com.electromagnetic.industry.software.data.manage.response.indicator.IndicatorCardDetailReponse; diff --git a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/user/UserFacadeImpl.java b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/user/UserFacadeImpl.java index 66c7b28..c024e86 100644 --- a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/user/UserFacadeImpl.java +++ b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/user/UserFacadeImpl.java @@ -1,15 +1,23 @@ package com.electromagnetic.industry.software.data.manage.service.facade.user; 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.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.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.service.mappers.UserMappers; import electromagnetic.data.framework.share.id.IdWorker; -import electromagnetic.data.framework.share.model.BaseResult; -import electromagnetic.data.framework.share.model.BaseResultUtil; +import electromagnetic.data.framework.share.result.BaseResult; +import electromagnetic.data.framework.share.result.LoginResult; +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; @@ -19,6 +27,26 @@ public class UserFacadeImpl implements UserFacade { @Resource private UserService userService; + @Resource + private TokenService tokenService; + + /** + * 用户登录 + * @param loginRequest + * @return + */ + @Override + public LoginResult 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)) { + String tokenStr = tokenService.createToken(info); + tokenService.createUserToken(user, tokenStr); + return LoginResultUtil.success(tokenStr); + } + return LoginResultUtil.fail("500","用户不存在/密码错误"); + } /** * 新增用户信息 @@ -28,8 +56,9 @@ public class UserFacadeImpl implements UserFacade { @Override public BaseResult createUser(UserRequest userRequest){ User user = UserMappers.INSTANCE.getUserRequestToModel(userRequest); + user.setSalt(RandomStringUtils.randomAlphanumeric(16)); user.setUserId(IdWorker.getSnowFlakeIdString()); - user.setUserPwd(UserConstant.DEFAULT_PASSWORD); + user.setUserPwd(SignUtils.MD5(UserConstant.DEFAULT_PASSWORD+user.getSalt())); user.setIsPublished(UserConstant.DEFAULT_PUBLISH_STATUS); return BaseResultUtil.success(userService.createUser(user)); } diff --git a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/mappers/UserMappers.java b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/mappers/UserMappers.java index 4a05563..088726a 100644 --- a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/mappers/UserMappers.java +++ b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/mappers/UserMappers.java @@ -5,6 +5,8 @@ package com.electromagnetic.industry.software.data.manage.service.mappers; import com.electromagnetic.industry.software.data.manage.domain.boardservice.user.model.User; import com.electromagnetic.industry.software.data.manage.request.user.UserPublishRequest; +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 org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; @@ -33,4 +35,10 @@ public interface UserMappers { * @return */ User getUserPublishRequestToModel(UserPublishRequest userPublishRequest); + /** + * 用户登录Request转用户登录模型 + * @param loginRequest + * @return + */ + UserLoginInfo getUserLoginRequestToModel(UserLoginRequest loginRequest); } \ No newline at end of file