From 2735305ac174dbc25ef2d8cd77e1c5fd8f86eb3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=AF=E8=88=AA?= Date: Mon, 11 Mar 2024 13:32:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Eoms-api=E5=92=8Cdou-api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dou-api/.gitignore | 38 +++ dou-api/pom.xml | 29 ++ .../src/main/java/com/qihang/dou/DouApp.java | 18 ++ .../qihang/dou/controller/HomeController.java | 14 + .../com/qihang/dou/mapper/SysUserMapper.java | 130 ++++++++ .../dou/service/impl/SysUserServiceImpl.java | 293 ++++++++++++++++++ dou-api/src/main/resources/application.yml | 21 ++ .../main/resources/mapper/SysUserMapper.xml | 195 ++++++++++++ .../src/test/java/com/qihang/jd/AppTest.java | 38 +++ oms-api/.gitignore | 38 +++ oms-api/pom.xml | 29 ++ .../src/main/java/com/qihang/oms/OmsApp.java | 2 + .../qihang/oms/controller/HomeController.java | 2 + .../com/qihang/oms/mapper/SysUserMapper.java | 130 ++++++++ .../oms/service/impl/SysUserServiceImpl.java | 293 ++++++++++++++++++ oms-api/src/main/resources/application.yml | 0 .../main/resources/mapper/SysUserMapper.xml | 195 ++++++++++++ pdd-api/.gitignore | 38 +++ pdd-api/pom.xml | 29 ++ pdd-api/src/main/java/com/qihang/jd/App.java | 13 + .../src/test/java/com/qihang/jd/AppTest.java | 38 +++ 21 files changed, 1583 insertions(+) create mode 100644 dou-api/.gitignore create mode 100644 dou-api/pom.xml create mode 100644 dou-api/src/main/java/com/qihang/dou/DouApp.java create mode 100644 dou-api/src/main/java/com/qihang/dou/controller/HomeController.java create mode 100644 dou-api/src/main/java/com/qihang/dou/mapper/SysUserMapper.java create mode 100644 dou-api/src/main/java/com/qihang/dou/service/impl/SysUserServiceImpl.java create mode 100644 dou-api/src/main/resources/application.yml create mode 100644 dou-api/src/main/resources/mapper/SysUserMapper.xml create mode 100644 dou-api/src/test/java/com/qihang/jd/AppTest.java create mode 100644 oms-api/.gitignore create mode 100644 oms-api/pom.xml create mode 100644 oms-api/src/main/java/com/qihang/oms/OmsApp.java create mode 100644 oms-api/src/main/java/com/qihang/oms/controller/HomeController.java create mode 100644 oms-api/src/main/java/com/qihang/oms/mapper/SysUserMapper.java create mode 100644 oms-api/src/main/java/com/qihang/oms/service/impl/SysUserServiceImpl.java create mode 100644 oms-api/src/main/resources/application.yml create mode 100644 oms-api/src/main/resources/mapper/SysUserMapper.xml create mode 100644 pdd-api/.gitignore create mode 100644 pdd-api/pom.xml create mode 100644 pdd-api/src/main/java/com/qihang/jd/App.java create mode 100644 pdd-api/src/test/java/com/qihang/jd/AppTest.java diff --git a/dou-api/.gitignore b/dou-api/.gitignore new file mode 100644 index 00000000..5ff6309b --- /dev/null +++ b/dou-api/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/dou-api/pom.xml b/dou-api/pom.xml new file mode 100644 index 00000000..4f75f7e7 --- /dev/null +++ b/dou-api/pom.xml @@ -0,0 +1,29 @@ + + 4.0.0 + + com.qihang + qihang-oms + 1.0-SNAPSHOT + + + com.qihang.jd + dou-api + jar + + dou-api + http://maven.apache.org + + + UTF-8 + + + + + junit + junit + 3.8.1 + test + + + diff --git a/dou-api/src/main/java/com/qihang/dou/DouApp.java b/dou-api/src/main/java/com/qihang/dou/DouApp.java new file mode 100644 index 00000000..76009412 --- /dev/null +++ b/dou-api/src/main/java/com/qihang/dou/DouApp.java @@ -0,0 +1,18 @@ +package com.qihang.oms; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +//import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.context.annotation.ComponentScan; + +//@EnableDiscoveryClient +@ComponentScan(basePackages={"com.qihang"}) +@SpringBootApplication +public class OmsApp { + public static void main( String[] args ) + { + System.out.println( "Hello oms-api!" ); + SpringApplication.run(OmsApp.class, args); + } + +} diff --git a/dou-api/src/main/java/com/qihang/dou/controller/HomeController.java b/dou-api/src/main/java/com/qihang/dou/controller/HomeController.java new file mode 100644 index 00000000..84b574e5 --- /dev/null +++ b/dou-api/src/main/java/com/qihang/dou/controller/HomeController.java @@ -0,0 +1,14 @@ +package com.qihang.oms.controller; + +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +@AllArgsConstructor +@RestController +public class HomeController { + @GetMapping("/") + public String home(){ + return "{'code':0,'msg':'oms-api请通过api访问'}"; + } +} diff --git a/dou-api/src/main/java/com/qihang/dou/mapper/SysUserMapper.java b/dou-api/src/main/java/com/qihang/dou/mapper/SysUserMapper.java new file mode 100644 index 00000000..b2f217df --- /dev/null +++ b/dou-api/src/main/java/com/qihang/dou/mapper/SysUserMapper.java @@ -0,0 +1,130 @@ +package com.qihang.oms.mapper; + +import com.qihang.security.entity.SysUser; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 用户表 数据层 + * + * @author qihang + */ +@Mapper +public interface SysUserMapper +{ + /** + * 根据条件分页查询用户列表 + * + * @param sysUser 用户信息 + * @return 用户信息集合信息 + */ + public List selectUserList(SysUser sysUser); + + /** + * 根据条件分页查询已配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + public List selectAllocatedList(SysUser user); + + /** + * 根据条件分页查询未分配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + public List selectUnallocatedList(SysUser user); + + /** + * 通过用户名查询用户 + * + * @param userName 用户名 + * @return 用户对象信息 + */ + public SysUser selectUserByUserName(String userName); + + /** + * 通过用户ID查询用户 + * + * @param userId 用户ID + * @return 用户对象信息 + */ + public SysUser selectUserById(Long userId); + + /** + * 新增用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + public int insertUser(SysUser user); + + /** + * 修改用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + public int updateUser(SysUser user); + + /** + * 修改用户头像 + * + * @param userName 用户名 + * @param avatar 头像地址 + * @return 结果 + */ + public int updateUserAvatar(@Param("userName") String userName, @Param("avatar") String avatar); + + /** + * 重置用户密码 + * + * @param userName 用户名 + * @param password 密码 + * @return 结果 + */ + public int resetUserPwd(@Param("userName") String userName, @Param("password") String password); + + /** + * 通过用户ID删除用户 + * + * @param userId 用户ID + * @return 结果 + */ + public int deleteUserById(Long userId); + + /** + * 批量删除用户信息 + * + * @param userIds 需要删除的用户ID + * @return 结果 + */ + public int deleteUserByIds(Long[] userIds); + + /** + * 校验用户名称是否唯一 + * + * @param userName 用户名称 + * @return 结果 + */ + public SysUser checkUserNameUnique(String userName); + + /** + * 校验手机号码是否唯一 + * + * @param phonenumber 手机号码 + * @return 结果 + */ + public SysUser checkPhoneUnique(String phonenumber); + + /** + * 校验email是否唯一 + * + * @param email 用户邮箱 + * @return 结果 + */ + public SysUser checkEmailUnique(String email); +} diff --git a/dou-api/src/main/java/com/qihang/dou/service/impl/SysUserServiceImpl.java b/dou-api/src/main/java/com/qihang/dou/service/impl/SysUserServiceImpl.java new file mode 100644 index 00000000..cd4f787e --- /dev/null +++ b/dou-api/src/main/java/com/qihang/dou/service/impl/SysUserServiceImpl.java @@ -0,0 +1,293 @@ +package com.qihang.oms.service.impl; + +import com.qihang.common.common.ServiceException; +import com.qihang.common.constant.UserConstants; +import com.qihang.common.utils.StringUtils; +import com.qihang.oms.mapper.SysUserMapper; +import com.qihang.security.entity.SysUser; +import com.qihang.security.service.ISysUserService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 用户 业务层处理 + * + * @author qihang + */ +@Service +public class SysUserServiceImpl implements ISysUserService +{ + private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); + + @Autowired + private SysUserMapper userMapper; + + /** + * 根据条件分页查询用户列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + @Override + public List selectUserList(SysUser user) + { + return userMapper.selectUserList(user); + } + + /** + * 根据条件分页查询已分配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + @Override + public List selectAllocatedList(SysUser user) + { + return userMapper.selectAllocatedList(user); + } + + /** + * 根据条件分页查询未分配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + @Override + public List selectUnallocatedList(SysUser user) + { + return userMapper.selectUnallocatedList(user); + } + + /** + * 通过用户名查询用户 + * + * @param userName 用户名 + * @return 用户对象信息 + */ + @Override + public SysUser selectUserByUserName(String userName) + { + return userMapper.selectUserByUserName(userName); + } + + /** + * 通过用户ID查询用户 + * + * @param userId 用户ID + * @return 用户对象信息 + */ + @Override + public SysUser selectUserById(Long userId) + { + return userMapper.selectUserById(userId); + } + + /** + * 校验用户名称是否唯一 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public boolean checkUserNameUnique(SysUser user) + { + Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); + SysUser info = userMapper.checkUserNameUnique(user.getUserName()); + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 校验手机号码是否唯一 + * + * @param user 用户信息 + * @return + */ + @Override + public boolean checkPhoneUnique(SysUser user) + { + Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); + SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber()); + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 校验email是否唯一 + * + * @param user 用户信息 + * @return + */ + @Override + public boolean checkEmailUnique(SysUser user) + { + Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); + SysUser info = userMapper.checkEmailUnique(user.getEmail()); + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 校验用户是否允许操作 + * + * @param user 用户信息 + */ + @Override + public void checkUserAllowed(SysUser user) + { + if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) + { + throw new ServiceException("不允许操作超级管理员用户"); + } + } + + /** + * 新增保存用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + @Transactional + public int insertUser(SysUser user) + { + // 新增用户信息 + int rows = userMapper.insertUser(user); +// // 新增用户岗位关联 +// insertUserPost(user); +// // 新增用户与角色管理 +// insertUserRole(user); + return rows; + } + + /** + * 注册用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public boolean registerUser(SysUser user) + { + return userMapper.insertUser(user) > 0; + } + + /** + * 修改保存用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + @Transactional + public int updateUser(SysUser user) + { + Long userId = user.getUserId(); +// // 删除用户与角色关联 +// userRoleMapper.deleteUserRoleByUserId(userId); +// // 新增用户与角色管理 +// insertUserRole(user); +// // 删除用户与岗位关联 +// userPostMapper.deleteUserPostByUserId(userId); + // 新增用户与岗位管理 +// insertUserPost(user); + return userMapper.updateUser(user); + } + + + /** + * 修改用户状态 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public int updateUserStatus(SysUser user) + { + return userMapper.updateUser(user); + } + + /** + * 修改用户基本信息 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public int updateUserProfile(SysUser user) + { + return userMapper.updateUser(user); + } + + /** + * 修改用户头像 + * + * @param userName 用户名 + * @param avatar 头像地址 + * @return 结果 + */ + @Override + public boolean updateUserAvatar(String userName, String avatar) + { + return userMapper.updateUserAvatar(userName, avatar) > 0; + } + + /** + * 重置用户密码 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public int resetPwd(SysUser user) + { + return userMapper.updateUser(user); + } + + /** + * 重置用户密码 + * + * @param userName 用户名 + * @param password 密码 + * @return 结果 + */ + @Override + public int resetUserPwd(String userName, String password) + { + return userMapper.resetUserPwd(userName, password); + } + + + + /** + * 通过用户ID删除用户 + * + * @param userId 用户ID + * @return 结果 + */ + @Override + @Transactional + public int deleteUserById(Long userId) + { +// // 删除用户与角色关联 +// userRoleMapper.deleteUserRoleByUserId(userId); +// // 删除用户与岗位表 +// userPostMapper.deleteUserPostByUserId(userId); + return userMapper.deleteUserById(userId); + } + +} diff --git a/dou-api/src/main/resources/application.yml b/dou-api/src/main/resources/application.yml new file mode 100644 index 00000000..93bbea98 --- /dev/null +++ b/dou-api/src/main/resources/application.yml @@ -0,0 +1,21 @@ +spring: + cloud: + nacos: + serverAddr: 127.0.0.1:8848 + discovery: + server-addr: 127.0.0.1:8848 + config: + import: + - nacos:qihang-oms.yaml?refresh=true + application: + name: oms-api + +server: + port: 8081 + + +mybatis-plus: + mapper-locations: classpath*:mapper/**/*Mapper.xml + type-aliases-package: com.qihang.oms.domain;com.qihang.security.entity; + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 开启sql日志 \ No newline at end of file diff --git a/dou-api/src/main/resources/mapper/SysUserMapper.xml b/dou-api/src/main/resources/mapper/SysUserMapper.xml new file mode 100644 index 00000000..2b6c181f --- /dev/null +++ b/dou-api/src/main/resources/mapper/SysUserMapper.xml @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark + + from sys_user u + + + + + + + + + + + + + + + + + + + + insert into sys_user( + user_id, + dept_id, + user_name, + nick_name, + email, + avatar, + phonenumber, + sex, + password, + status, + create_by, + remark, + create_time + )values( + #{userId}, + #{deptId}, + #{userName}, + #{nickName}, + #{email}, + #{avatar}, + #{phonenumber}, + #{sex}, + #{password}, + #{status}, + #{createBy}, + #{remark}, + current_timestamp() + ) + + + + update sys_user + + dept_id = #{deptId}, + user_name = #{userName}, + nick_name = #{nickName}, + email = #{email}, + phonenumber = #{phonenumber}, + sex = #{sex}, + avatar = #{avatar}, + password = #{password}, + status = #{status}, + login_ip = #{loginIp}, + login_date = #{loginDate}, + update_by = #{updateBy}, + remark = #{remark}, + update_time = current_timestamp() + + where user_id = #{userId} + + + + update sys_user set status = #{status} where user_id = #{userId} + + + + update sys_user set avatar = #{avatar} where user_name = #{userName} + + + + update sys_user set password = #{password} where user_name = #{userName} + + + + update sys_user set del_flag = '2' where user_id = #{userId} + + + + update sys_user set del_flag = '2' where user_id in + + #{userId} + + + + \ No newline at end of file diff --git a/dou-api/src/test/java/com/qihang/jd/AppTest.java b/dou-api/src/test/java/com/qihang/jd/AppTest.java new file mode 100644 index 00000000..c74a8214 --- /dev/null +++ b/dou-api/src/test/java/com/qihang/jd/AppTest.java @@ -0,0 +1,38 @@ +package com.qihang.jd; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +/** + * Unit test for simple App. + */ +public class AppTest + extends TestCase +{ + /** + * Create the test case + * + * @param testName name of the test case + */ + public AppTest( String testName ) + { + super( testName ); + } + + /** + * @return the suite of tests being tested + */ + public static Test suite() + { + return new TestSuite( AppTest.class ); + } + + /** + * Rigourous Test :-) + */ + public void testApp() + { + assertTrue( true ); + } +} diff --git a/oms-api/.gitignore b/oms-api/.gitignore new file mode 100644 index 00000000..5ff6309b --- /dev/null +++ b/oms-api/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/oms-api/pom.xml b/oms-api/pom.xml new file mode 100644 index 00000000..e5f9319d --- /dev/null +++ b/oms-api/pom.xml @@ -0,0 +1,29 @@ + + 4.0.0 + + com.qihang + qihang-oms + 1.0-SNAPSHOT + + + com.qihang.jd + oms-api + jar + + oms-api + http://maven.apache.org + + + UTF-8 + + + + + junit + junit + 3.8.1 + test + + + diff --git a/oms-api/src/main/java/com/qihang/oms/OmsApp.java b/oms-api/src/main/java/com/qihang/oms/OmsApp.java new file mode 100644 index 00000000..891377a4 --- /dev/null +++ b/oms-api/src/main/java/com/qihang/oms/OmsApp.java @@ -0,0 +1,2 @@ +package com.qihang.oms;public class OmsApp { +} diff --git a/oms-api/src/main/java/com/qihang/oms/controller/HomeController.java b/oms-api/src/main/java/com/qihang/oms/controller/HomeController.java new file mode 100644 index 00000000..05dfa966 --- /dev/null +++ b/oms-api/src/main/java/com/qihang/oms/controller/HomeController.java @@ -0,0 +1,2 @@ +package com.qihang.oms.controller;public class HomeController { +} diff --git a/oms-api/src/main/java/com/qihang/oms/mapper/SysUserMapper.java b/oms-api/src/main/java/com/qihang/oms/mapper/SysUserMapper.java new file mode 100644 index 00000000..cd43d889 --- /dev/null +++ b/oms-api/src/main/java/com/qihang/oms/mapper/SysUserMapper.java @@ -0,0 +1,130 @@ +package com.qihang.jd.mapper; + +import com.qihang.security.entity.SysUser; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 用户表 数据层 + * + * @author qihang + */ +@Mapper +public interface SysUserMapper +{ + /** + * 根据条件分页查询用户列表 + * + * @param sysUser 用户信息 + * @return 用户信息集合信息 + */ + public List selectUserList(SysUser sysUser); + + /** + * 根据条件分页查询已配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + public List selectAllocatedList(SysUser user); + + /** + * 根据条件分页查询未分配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + public List selectUnallocatedList(SysUser user); + + /** + * 通过用户名查询用户 + * + * @param userName 用户名 + * @return 用户对象信息 + */ + public SysUser selectUserByUserName(String userName); + + /** + * 通过用户ID查询用户 + * + * @param userId 用户ID + * @return 用户对象信息 + */ + public SysUser selectUserById(Long userId); + + /** + * 新增用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + public int insertUser(SysUser user); + + /** + * 修改用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + public int updateUser(SysUser user); + + /** + * 修改用户头像 + * + * @param userName 用户名 + * @param avatar 头像地址 + * @return 结果 + */ + public int updateUserAvatar(@Param("userName") String userName, @Param("avatar") String avatar); + + /** + * 重置用户密码 + * + * @param userName 用户名 + * @param password 密码 + * @return 结果 + */ + public int resetUserPwd(@Param("userName") String userName, @Param("password") String password); + + /** + * 通过用户ID删除用户 + * + * @param userId 用户ID + * @return 结果 + */ + public int deleteUserById(Long userId); + + /** + * 批量删除用户信息 + * + * @param userIds 需要删除的用户ID + * @return 结果 + */ + public int deleteUserByIds(Long[] userIds); + + /** + * 校验用户名称是否唯一 + * + * @param userName 用户名称 + * @return 结果 + */ + public SysUser checkUserNameUnique(String userName); + + /** + * 校验手机号码是否唯一 + * + * @param phonenumber 手机号码 + * @return 结果 + */ + public SysUser checkPhoneUnique(String phonenumber); + + /** + * 校验email是否唯一 + * + * @param email 用户邮箱 + * @return 结果 + */ + public SysUser checkEmailUnique(String email); +} diff --git a/oms-api/src/main/java/com/qihang/oms/service/impl/SysUserServiceImpl.java b/oms-api/src/main/java/com/qihang/oms/service/impl/SysUserServiceImpl.java new file mode 100644 index 00000000..aa2b8a5b --- /dev/null +++ b/oms-api/src/main/java/com/qihang/oms/service/impl/SysUserServiceImpl.java @@ -0,0 +1,293 @@ +package com.qihang.jd.service.impl; + +import com.qihang.common.common.ServiceException; +import com.qihang.common.constant.UserConstants; +import com.qihang.common.utils.StringUtils; +import com.qihang.security.entity.SysUser; +import com.qihang.security.service.ISysUserService; +import com.qihang.jd.mapper.SysUserMapper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 用户 业务层处理 + * + * @author qihang + */ +@Service +public class SysUserServiceImpl implements ISysUserService +{ + private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); + + @Autowired + private SysUserMapper userMapper; + + /** + * 根据条件分页查询用户列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + @Override + public List selectUserList(SysUser user) + { + return userMapper.selectUserList(user); + } + + /** + * 根据条件分页查询已分配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + @Override + public List selectAllocatedList(SysUser user) + { + return userMapper.selectAllocatedList(user); + } + + /** + * 根据条件分页查询未分配用户角色列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + @Override + public List selectUnallocatedList(SysUser user) + { + return userMapper.selectUnallocatedList(user); + } + + /** + * 通过用户名查询用户 + * + * @param userName 用户名 + * @return 用户对象信息 + */ + @Override + public SysUser selectUserByUserName(String userName) + { + return userMapper.selectUserByUserName(userName); + } + + /** + * 通过用户ID查询用户 + * + * @param userId 用户ID + * @return 用户对象信息 + */ + @Override + public SysUser selectUserById(Long userId) + { + return userMapper.selectUserById(userId); + } + + /** + * 校验用户名称是否唯一 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public boolean checkUserNameUnique(SysUser user) + { + Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); + SysUser info = userMapper.checkUserNameUnique(user.getUserName()); + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 校验手机号码是否唯一 + * + * @param user 用户信息 + * @return + */ + @Override + public boolean checkPhoneUnique(SysUser user) + { + Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); + SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber()); + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 校验email是否唯一 + * + * @param user 用户信息 + * @return + */ + @Override + public boolean checkEmailUnique(SysUser user) + { + Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); + SysUser info = userMapper.checkEmailUnique(user.getEmail()); + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) + { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 校验用户是否允许操作 + * + * @param user 用户信息 + */ + @Override + public void checkUserAllowed(SysUser user) + { + if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) + { + throw new ServiceException("不允许操作超级管理员用户"); + } + } + + /** + * 新增保存用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + @Transactional + public int insertUser(SysUser user) + { + // 新增用户信息 + int rows = userMapper.insertUser(user); +// // 新增用户岗位关联 +// insertUserPost(user); +// // 新增用户与角色管理 +// insertUserRole(user); + return rows; + } + + /** + * 注册用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public boolean registerUser(SysUser user) + { + return userMapper.insertUser(user) > 0; + } + + /** + * 修改保存用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + @Transactional + public int updateUser(SysUser user) + { + Long userId = user.getUserId(); +// // 删除用户与角色关联 +// userRoleMapper.deleteUserRoleByUserId(userId); +// // 新增用户与角色管理 +// insertUserRole(user); +// // 删除用户与岗位关联 +// userPostMapper.deleteUserPostByUserId(userId); + // 新增用户与岗位管理 +// insertUserPost(user); + return userMapper.updateUser(user); + } + + + /** + * 修改用户状态 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public int updateUserStatus(SysUser user) + { + return userMapper.updateUser(user); + } + + /** + * 修改用户基本信息 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public int updateUserProfile(SysUser user) + { + return userMapper.updateUser(user); + } + + /** + * 修改用户头像 + * + * @param userName 用户名 + * @param avatar 头像地址 + * @return 结果 + */ + @Override + public boolean updateUserAvatar(String userName, String avatar) + { + return userMapper.updateUserAvatar(userName, avatar) > 0; + } + + /** + * 重置用户密码 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public int resetPwd(SysUser user) + { + return userMapper.updateUser(user); + } + + /** + * 重置用户密码 + * + * @param userName 用户名 + * @param password 密码 + * @return 结果 + */ + @Override + public int resetUserPwd(String userName, String password) + { + return userMapper.resetUserPwd(userName, password); + } + + + + /** + * 通过用户ID删除用户 + * + * @param userId 用户ID + * @return 结果 + */ + @Override + @Transactional + public int deleteUserById(Long userId) + { +// // 删除用户与角色关联 +// userRoleMapper.deleteUserRoleByUserId(userId); +// // 删除用户与岗位表 +// userPostMapper.deleteUserPostByUserId(userId); + return userMapper.deleteUserById(userId); + } + +} diff --git a/oms-api/src/main/resources/application.yml b/oms-api/src/main/resources/application.yml new file mode 100644 index 00000000..e69de29b diff --git a/oms-api/src/main/resources/mapper/SysUserMapper.xml b/oms-api/src/main/resources/mapper/SysUserMapper.xml new file mode 100644 index 00000000..2b6c181f --- /dev/null +++ b/oms-api/src/main/resources/mapper/SysUserMapper.xml @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark + + from sys_user u + + + + + + + + + + + + + + + + + + + + insert into sys_user( + user_id, + dept_id, + user_name, + nick_name, + email, + avatar, + phonenumber, + sex, + password, + status, + create_by, + remark, + create_time + )values( + #{userId}, + #{deptId}, + #{userName}, + #{nickName}, + #{email}, + #{avatar}, + #{phonenumber}, + #{sex}, + #{password}, + #{status}, + #{createBy}, + #{remark}, + current_timestamp() + ) + + + + update sys_user + + dept_id = #{deptId}, + user_name = #{userName}, + nick_name = #{nickName}, + email = #{email}, + phonenumber = #{phonenumber}, + sex = #{sex}, + avatar = #{avatar}, + password = #{password}, + status = #{status}, + login_ip = #{loginIp}, + login_date = #{loginDate}, + update_by = #{updateBy}, + remark = #{remark}, + update_time = current_timestamp() + + where user_id = #{userId} + + + + update sys_user set status = #{status} where user_id = #{userId} + + + + update sys_user set avatar = #{avatar} where user_name = #{userName} + + + + update sys_user set password = #{password} where user_name = #{userName} + + + + update sys_user set del_flag = '2' where user_id = #{userId} + + + + update sys_user set del_flag = '2' where user_id in + + #{userId} + + + + \ No newline at end of file diff --git a/pdd-api/.gitignore b/pdd-api/.gitignore new file mode 100644 index 00000000..5ff6309b --- /dev/null +++ b/pdd-api/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/pdd-api/pom.xml b/pdd-api/pom.xml new file mode 100644 index 00000000..ec5e93b7 --- /dev/null +++ b/pdd-api/pom.xml @@ -0,0 +1,29 @@ + + 4.0.0 + + com.qihang + qihang-oms + 1.0-SNAPSHOT + + + com.qihang.jd + pdd-api + jar + + pdd-api + http://maven.apache.org + + + UTF-8 + + + + + junit + junit + 3.8.1 + test + + + diff --git a/pdd-api/src/main/java/com/qihang/jd/App.java b/pdd-api/src/main/java/com/qihang/jd/App.java new file mode 100644 index 00000000..a9db2bb9 --- /dev/null +++ b/pdd-api/src/main/java/com/qihang/jd/App.java @@ -0,0 +1,13 @@ +package com.qihang.jd; + +/** + * Hello world! + * + */ +public class App +{ + public static void main( String[] args ) + { + System.out.println( "Hello World!" ); + } +} diff --git a/pdd-api/src/test/java/com/qihang/jd/AppTest.java b/pdd-api/src/test/java/com/qihang/jd/AppTest.java new file mode 100644 index 00000000..c74a8214 --- /dev/null +++ b/pdd-api/src/test/java/com/qihang/jd/AppTest.java @@ -0,0 +1,38 @@ +package com.qihang.jd; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +/** + * Unit test for simple App. + */ +public class AppTest + extends TestCase +{ + /** + * Create the test case + * + * @param testName name of the test case + */ + public AppTest( String testName ) + { + super( testName ); + } + + /** + * @return the suite of tests being tested + */ + public static Test suite() + { + return new TestSuite( AppTest.class ); + } + + /** + * Rigourous Test :-) + */ + public void testApp() + { + assertTrue( true ); + } +}