diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 8141e71..cbb5c62 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,12 +4,67 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -32,6 +87,12 @@
+
+
-
+
+
+
+
+
+
-
-
-
@@ -90,7 +155,7 @@
-
+
@@ -130,9 +195,9 @@
-
+
-
+
@@ -165,7 +230,7 @@
1764900432287
-
+
@@ -191,7 +256,15 @@
1764922474117
-
+
+
+ 1764922497215
+
+
+
+ 1764922497215
+
+
@@ -212,16 +285,12 @@
-
+
+
-
- file://$PROJECT_DIR$/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/controller/UserController.java
- 58
-
-
file://$PROJECT_DIR$/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/service/impl/UserServiceImpl.java
93
@@ -232,6 +301,15 @@
126
+
+ file://$PROJECT_DIR$/hn-ldlz/ldlz-system/src/main/java/com/bns/system/mapper/SysUserPostMapper.java
+ 42
+
+
+
+
+
+
diff --git a/HnRealNameBmw/pom.xml b/HnRealNameBmw/pom.xml
index f3a57c7..73e009b 100644
--- a/HnRealNameBmw/pom.xml
+++ b/HnRealNameBmw/pom.xml
@@ -135,6 +135,12 @@
poi-ooxml
${poi.version}
+
+
+ org.apache.poi
+ poi-ooxml-schemas
+ ${poi.version}
+
com.jcraft
jsch
@@ -177,12 +183,7 @@
1.6.2
compile
-
-
- org.apache.poi
- poi-ooxml
- 3.17
-
+
com.jcraft
@@ -362,12 +363,7 @@
xlsx-streamer
2.1.0
-
- cn.hutool
- hutool-all
- 5.8.27
- compile
-
+
io.jsonwebtoken
jjwt
diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/controller/AllUserController.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/controller/AllUserController.java
index baa3263..3e45858 100644
--- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/controller/AllUserController.java
+++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/controller/AllUserController.java
@@ -1,24 +1,19 @@
package com.bonus.hnrn.rnbmw.login.controller;
-import com.bonus.hnrn.rnbmw.login.service.AllUserService;
+
import io.swagger.annotations.Api;
-import org.springframework.beans.factory.annotation.Autowired;
+
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+
@Api(tags = "系统用户管理")
@RestController
+
@RequestMapping("allUser")
public class AllUserController {
- @Autowired
- private AllUserService allUserService;
-
-
-
-
-
}
diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/controller/LoginController.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/controller/LoginController.java
index 2446eaa..2f3ead5 100644
--- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/controller/LoginController.java
+++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/controller/LoginController.java
@@ -3,6 +3,7 @@ package com.bonus.hnrn.rnbmw.login.controller;
import com.bonus.hnrn.rnbmw.login.service.LoginService;
import com.bonus.hnrn.rnbmw.login.vo.AjaxResult;
import com.bonus.hnrn.rnbmw.login.vo.LoginFormVo;
+import com.bonus.hnrn.rnbmw.login.vo.PublicUserVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -30,4 +31,6 @@ public class LoginController {
+
+
}
diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/controller/PublicLoginController.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/controller/PublicLoginController.java
index f8bef2d..b1bc9e1 100644
--- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/controller/PublicLoginController.java
+++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/controller/PublicLoginController.java
@@ -1,26 +1,59 @@
package com.bonus.hnrn.rnbmw.login.controller;
+import com.bonus.hnrn.rnbmw.login.service.AllUserService;
import com.bonus.hnrn.rnbmw.login.service.PublicLoginService;
+import com.bonus.hnrn.rnbmw.login.vo.AjaxResult;
+import com.bonus.hnrn.rnbmw.login.vo.AllUserVo;
import com.bonus.hnrn.rnbmw.login.vo.LoginForm;
+import com.bonus.hnrn.rnbmw.manager.dao.UserDao;
+import com.bonus.hnrn.rnbmw.manager.entity.OrgBean;
+import com.bonus.hnrn.rnbmw.manager.entity.ZNode;
+import com.bonus.hnrn.rnbmw.manager.model.SysUser;
+import com.bonus.hnrn.rnbmw.manager.service.OrgService;
+import com.bonus.hnrn.rnbmw.manager.table.PageTableHandler;
+import com.bonus.hnrn.rnbmw.manager.table.PageTableRequest;
+import com.bonus.hnrn.rnbmw.manager.table.PageTableResponse;
+import com.bonus.hnrn.rnbmw.register.beans.RegisterBean;
+import com.bonus.hnrn.rnbmw.register.service.RegisterService;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
/**
* 默认公共登录方法
*/
@RestController
@RequestMapping(value = "/publicLogin")
+@Slf4j
public class PublicLoginController {
@Autowired
private PublicLoginService loginService;
+ @Autowired
+ private AllUserService allUserService;
+
+
+ @Autowired
+ private OrgService orgService;
+
+ @Resource
+ private UserDao userDao;
+
+ @Resource(name = "RegisterService")
+ private RegisterService registerService;
+
+
/**
* 系统登录
* @param token
@@ -32,6 +65,125 @@ public class PublicLoginController {
}
+ @PostMapping("getUserList")
+ @ApiOperation(value = "用户管理-列表查询")
+ public PageTableResponse getUserList(PageTableRequest request) {
+ return new PageTableHandler(new PageTableHandler.CountHandler() {
+ @Override
+ public int count(PageTableRequest request) {
+ return allUserService.getUserListCount(request.getParams());
+ }
+ }, new PageTableHandler.ListHandler() {
+ @Override
+ public List list(PageTableRequest request) {
+ return allUserService.allUserService(request.getParams(), request.getOffset(), request.getLimit());
+ }
+ }).handle(request);
+ }
+
+
+ @PostMapping("addUserData")
+ @ApiOperation(value = "用户管理-新增用户")
+ public AjaxResult addUserData(@RequestBody AllUserVo vo) {
+ return allUserService.addUserData(vo);
+ }
+
+ @PostMapping("updateUserData")
+ @ApiOperation(value = "用户管理-修改用户")
+ public AjaxResult updateUserData(@RequestBody AllUserVo vo) {
+ return allUserService.updateUserData(vo);
+ }
+
+
+ @PostMapping("updatePassword")
+ @ApiOperation(value = "用户管理-修改密码")
+ public AjaxResult updatePassword(@RequestBody AllUserVo vo) {
+ return allUserService.updatePassword(vo);
+ }
+
+ @PostMapping("resetPassword")
+ @ApiOperation(value = "用户管理-重置密码")
+ public AjaxResult resetPassword(@RequestBody AllUserVo vo) {
+ return allUserService.resetPassword(vo);
+ }
+
+ @PostMapping("delUserData")
+ @ApiOperation(value = "用户管理-删除用户")
+ public AjaxResult delUserData(@RequestBody AllUserVo vo) {
+ return allUserService.delUserData(vo);
+ }
+
+
+ @PostMapping("getDeptTree")
+ @ApiOperation(value = "获取部门树")
+ public AjaxResult getDeptTree() {
+ OrgBean bean=new OrgBean();
+ List list= orgService.getCompanyTree(bean);
+ return AjaxResult.success(list);
+ }
+
+ /**
+ * 角色下拉选
+ * @param
+ * @return
+ */
+ @PostMapping("getRoleList")
+ @ApiOperation(value = "获取角色下拉选")
+ public AjaxResult getRoleList(SysUser user) {
+ int lv=userDao.getOrgLv(user);
+ user.setRoleLevel(lv+"");
+ List roleInfo = userDao.getRoleInfo(user);
+ return AjaxResult.success(roleInfo);
+ }
+
+ /**
+ * 角色下拉选
+ * @param
+ * @return
+ */
+ @PostMapping("getProList")
+ @ApiOperation(value = "工程下拉选")
+ public AjaxResult getProList(SysUser user) {
+ int lv=userDao.getOrgLv(user);
+ user.setRoleLevel(lv+"");
+ List roleInfo = userDao.getRoleInfo(user);
+ return AjaxResult.success(roleInfo);
+ }
+
+ /**
+ * 角色下拉选
+ * @param
+ * @return
+ */
+ @PostMapping("getSubList")
+ @ApiOperation(value = "分包商下拉选")
+ public AjaxResult getSubList(RegisterBean vo) {
+ List sub = new ArrayList<>();
+ try {
+ sub = registerService.findSubList(vo);
+ } catch (Exception e) {
+ log.error(e.toString(),e);
+ }
+ return AjaxResult.success(sub);
+ }
+ /**
+ * 角色下拉选
+ * @param
+ * @return
+ */
+ @PostMapping("getTeamList")
+ @ApiOperation(value = "班组下拉选")
+ public AjaxResult getTeamList(RegisterBean vo) {
+ List team = new ArrayList<>();
+ try {
+ team = registerService.findTeamList(vo);
+ } catch (Exception e) {
+ log.error(e.toString(),e);
+ }
+ return AjaxResult.success(team);
+ }
+
+
diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/dao/AllUserDao.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/dao/AllUserDao.java
index 171b736..58cdf06 100644
--- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/dao/AllUserDao.java
+++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/dao/AllUserDao.java
@@ -1,7 +1,101 @@
package com.bonus.hnrn.rnbmw.login.dao;
+import com.bonus.hnrn.rnbmw.login.vo.AllUserVo;
+import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
+import java.util.List;
+import java.util.Map;
+
@Repository
public interface AllUserDao {
+ /**
+ * 查询用户数据数量
+ * @param params
+ * @return
+ */
+ int getUserListCount(@Param("params") Map params);
+
+ /**
+ * 查询用户数据信息
+ * @param params
+ * @param offset
+ * @param limit
+ * @return
+ */
+ List allUserService(@Param("params")Map params, @Param("offset")Integer offset, @Param("limit")Integer limit);
+
+ /**
+ * 查询数据是否存在
+ * @param data
+ * @return
+ */
+ int getUserCount(AllUserVo data);
+
+ /**
+ * 新增用户信息
+ * @param vo
+ * @return
+ */
+ int addUserData(AllUserVo vo);
+
+ /**
+ * 修改用户数据
+ * @param vo
+ * @return
+ */
+ int updateUserData(AllUserVo vo);
+
+ /**
+ * 删除用户数据
+ * @param vo
+ * @return
+ */
+ int delUserData(AllUserVo vo);
+
+ /**
+ * 查询用户数据
+ * @param vo
+ * @return
+ */
+ AllUserVo getUserData(AllUserVo vo);
+
+ /**
+ * 修改密码
+ * @param vo
+ * @return
+ */
+
+ int updatePassword(AllUserVo vo);
+
+ /**
+ * 查询实名制用户
+ * @param vo
+ * @return
+ */
+ String getSmzUserByName(AllUserVo vo);
+
+ /**
+ * 新增实名制用户
+ * @param vo
+ */
+ void addSmzUser(AllUserVo vo);
+
+ /**
+ * 添加用户权限
+ * @param vo
+ */
+ void addUserRole(AllUserVo vo);
+
+ /**
+ * 更新实名制用户
+ * @param vo
+ */
+ void updateSmzUser(AllUserVo vo);
+
+ /**
+ * 删除实名制用户角色权限
+ * @param vo
+ */
+ void delUserRole(AllUserVo vo);
}
diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/service/AllUserService.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/service/AllUserService.java
index 6d51009..6801c05 100644
--- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/service/AllUserService.java
+++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/service/AllUserService.java
@@ -1,7 +1,227 @@
package com.bonus.hnrn.rnbmw.login.service;
+import com.bonus.hnrn.rnbmw.login.dao.AllUserDao;
+import com.bonus.hnrn.rnbmw.login.vo.AjaxResult;
+import com.bonus.hnrn.rnbmw.login.vo.AllUserVo;
+import com.bonus.hnrn.rnbmw.manager.utils.StringHelper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
@Service
+@Slf4j
public class AllUserService {
+
+ @Autowired
+ private AllUserDao allUserDao;
+
+ @Autowired
+ private BCryptPasswordEncoder passwordEncoder;
+ /**
+ * 查询数据表格集合
+ * @param params
+ * @return
+ */
+ public int getUserListCount(Map params) {
+ try{
+ return allUserDao.getUserListCount(params);
+ }catch (Exception e){
+ log.error(e.toString(),e);
+ }
+ return 0;
+ }
+
+ /**
+ * 查询数据信息
+ * @param params
+ * @param offset
+ * @param limit
+ * @return
+ */
+ public List allUserService(Map params, Integer offset, Integer limit) {
+ try{
+ return allUserDao.allUserService(params,offset,limit);
+ }catch (Exception e){
+ log.error(e.toString(),e);
+ }
+ return new ArrayList();
+ }
+
+ /**
+ * 新增用户管理
+ * @param vo
+ * @return
+ */
+ public AjaxResult addUserData(AllUserVo vo) {
+ try{
+ AllUserVo data=new AllUserVo();
+ data.setLoginName(vo.getLoginName());
+ int isCz=allUserDao.getUserCount(data);
+ if(isCz>0){
+ return AjaxResult.error("登录昵称已存在");
+ }
+ data=new AllUserVo();
+ data.setUserPhone(vo.getUserPhone());
+ isCz=allUserDao.getUserCount(data);
+ if(isCz>0){
+ return AjaxResult.error("手机号已被注册");
+ }
+ data=new AllUserVo();
+ data.setIdCard(vo.getIdCard());
+ isCz=allUserDao.getUserCount(data);
+ if(isCz>0){
+ return AjaxResult.error("身份证号码已被注册");
+ }
+ if(StringHelper.isEmpty(vo.getPassword())){
+ vo.setPassword("Hnsbd@admin123");
+ }
+ String password= passwordEncoder.encode(vo.getPassword());
+ vo.setPassword(password);
+ int num=allUserDao.addUserData(vo);
+ if(num>0){
+ addSmzUser(vo);
+ return AjaxResult.success("添加成功");
+ }
+
+ }catch (Exception e){
+ log.error(e.toString(),e);
+ }
+ return AjaxResult.error("添加失败");
+ }
+
+ /**
+ * 添加实名制用户细腻系
+ * @param vo
+ */
+ private void addSmzUser(AllUserVo vo) {
+ try{
+ String id=allUserDao.getSmzUserByName(vo);
+ if(StringHelper.isEmpty(id)){
+ //新增用户信息
+ allUserDao.addSmzUser(vo);
+ allUserDao.addUserRole(vo);
+ }else{
+ vo.setId(id);
+ allUserDao.updateSmzUser(vo);
+ allUserDao.delUserRole(vo);
+ allUserDao.addUserRole(vo);
+ }
+
+
+ }catch (Exception e){
+ log.error(e.toString(),e);
+ }
+ }
+
+ /**
+ * 查询】】修改用户数据
+ * @param vo
+ * @return
+ */
+ public AjaxResult updateUserData(AllUserVo vo) {
+ try{
+ if(StringHelper.isNotEmpty(vo.getUserPhone())){
+ AllUserVo data=new AllUserVo();
+ data.setId(vo.getId());
+ data.setUserPhone(vo.getUserPhone());
+ int isCz=allUserDao.getUserCount(data);
+ if(isCz>0){
+ return AjaxResult.error("手机号已被注册");
+ }
+ }
+ if(StringHelper.isNotEmpty(vo.getIdCard())){
+ AllUserVo data=new AllUserVo();
+ data.setId(vo.getId());
+ data.setIdCard(vo.getIdCard());
+ int isCz=allUserDao.getUserCount(data);
+ if(isCz>0){
+ return AjaxResult.error("身份证号码已被注册");
+ }
+ int num=allUserDao.updateUserData(vo);
+ if(num>0){
+ addSmzUser(vo);
+ return AjaxResult.success("修改成功");
+ }
+ }
+
+ }catch (Exception e){
+ log.error(e.toString(),e);
+ }
+ return AjaxResult.error("修改失败");
+ }
+
+ /**
+ * 修改密码
+ * @param vo
+ * @return
+ */
+ public AjaxResult updatePassword(AllUserVo vo) {
+ try{
+ AllUserVo data=allUserDao.getUserData(vo);
+ if(data==null){
+ return AjaxResult.error("用户不存在");
+ }else{
+ String newPassword= passwordEncoder.encode(vo.getNewPassword());
+ if (!passwordEncoder.matches(vo.getPassword(), data.getPassword())) {
+ return AjaxResult.error("旧密码错误!");
+ }
+ vo.setNewPassword(newPassword);
+ int num=allUserDao.updatePassword(vo);
+ if(num>0){
+
+ return AjaxResult.success("修改成功");
+ }
+ }
+
+ }catch (Exception e){
+ log.error(e.toString(),e);
+ }
+ return AjaxResult.error("修改失败");
+ }
+
+ /**
+ * 删除用户
+ * @param vo
+ * @return
+ */
+ public AjaxResult delUserData(AllUserVo vo) {
+ try{
+ int num=allUserDao.delUserData(vo);
+ if(num>0){
+ return AjaxResult.success("删除成功");
+ }
+ }catch (Exception e){
+ log.error(e.toString(),e);
+ }
+ return AjaxResult.error("删除失败");
+ }
+
+ /**
+ * 重置密码
+ * @param vo
+ * @return
+ */
+ public AjaxResult resetPassword(AllUserVo vo) {
+ try{
+ AllUserVo data=allUserDao.getUserData(vo);
+ if(data==null){
+ return AjaxResult.error("用户不存在");
+ }else{
+ String newPassword= passwordEncoder.encode("Hnsbd@admin123");
+ vo.setNewPassword(newPassword);
+ int num=allUserDao.updatePassword(vo);
+ if(num>0){
+ return AjaxResult.success("修改成功");
+ }
+ }
+ }catch (Exception e){
+ log.error(e.toString(),e);
+ }
+ return AjaxResult.error("修改失败");
+ }
}
diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/service/LoginService.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/service/LoginService.java
index 073d2be..adedb69 100644
--- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/service/LoginService.java
+++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/service/LoginService.java
@@ -3,6 +3,7 @@ package com.bonus.hnrn.rnbmw.login.service;
import com.bonus.hnrn.rnbmw.login.dao.LoginDao;
import com.bonus.hnrn.rnbmw.login.vo.AjaxResult;
import com.bonus.hnrn.rnbmw.login.vo.LoginFormVo;
+import com.bonus.hnrn.rnbmw.login.vo.PublicUserVo;
import com.bonus.hnrn.rnbmw.manager.utils.AESCBCUtils;
import com.github.pagehelper.util.StringUtil;
import lombok.extern.slf4j.Slf4j;
@@ -59,8 +60,4 @@ public class LoginService {
}
-
-
-
-
}
diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/vo/AllUserVo.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/vo/AllUserVo.java
new file mode 100644
index 0000000..741c4ee
--- /dev/null
+++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/vo/AllUserVo.java
@@ -0,0 +1,98 @@
+package com.bonus.hnrn.rnbmw.login.vo;
+
+import lombok.Data;
+
+@Data
+public class AllUserVo {
+
+ private String id;
+ /**
+ * 用户名称
+ */
+ private String userName;
+ /**
+ * 用户名称
+ */
+ private String loginName;
+ /**
+ * 密码
+ */
+ private String password;
+ /**
+ * 手机号
+ */
+ private String userPhone;
+ /**
+ * 数据权限
+ */
+ private String dataType;
+ /**
+ * 身份证号码
+ */
+ private String idCard;
+ /**
+ * json数据
+ */
+ private String jsonData;
+ /**
+ * 创建时间
+ */
+ private String createTime;
+ /**
+ * 更新时间
+ */
+ private String updateTime;
+ /**
+ * 管理员权限
+ */
+ private String isAdmin;
+ /**
+ * 关键字
+ */
+ private String keyWord;
+ /**
+ * 新密码
+ */
+ private String newPassword;
+ /**
+ * 角色id
+ */
+ private String roleId;
+ /**
+ * 组织机构id
+ */
+ private String orgId;
+ /**
+ * 工程名称
+ */
+ private String proName;
+ /**
+ * 工程id
+ */
+ private String proId;
+ /**
+ * 分包商id
+ */
+ private String subId;
+ /**
+ * 分包商名称
+ */
+ private String subName;
+ /**
+ * 班组id
+ */
+ private String teamId;
+ /**
+ * 班组名称
+ */
+ private String teamName;
+ /**
+ * 权限类型
+ */
+ private String type;
+ /**
+ * 是否自有人员
+ */
+ private String isFree;
+
+}
diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/vo/PublicUserVo.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/vo/PublicUserVo.java
new file mode 100644
index 0000000..f112af4
--- /dev/null
+++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/vo/PublicUserVo.java
@@ -0,0 +1,47 @@
+package com.bonus.hnrn.rnbmw.login.vo;
+
+import lombok.Data;
+
+@Data
+public class PublicUserVo {
+
+ private String id;
+ /**
+ * 用户名称
+ */
+ private String userName;
+ /**
+ * 用户名称
+ */
+ private String loginName;
+ /**
+ * 密码
+ */
+ private String password;
+ /**
+ * 手机号
+ */
+ private String userPhone;
+
+ /**
+ * 身份证号码
+ */
+ private String idCard;
+ /**
+ * json数据
+ */
+ private String jsonData;
+ /**
+ * 角色id
+ */
+ private String roleId;
+ /**
+ * 组织机构id
+ */
+ private String orgId;
+
+ private String status;
+
+ private String isActive;
+
+}
diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/BnsSecurityConfig.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/BnsSecurityConfig.java
index aaefa78..2fe47d1 100644
--- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/BnsSecurityConfig.java
+++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/BnsSecurityConfig.java
@@ -1,6 +1,5 @@
package com.bonus.hnrn.rnbmw.manager.config;
-import com.bonus.hnrn.rnbmw.manager.filter.SecurityFilter;
import com.bonus.hnrn.rnbmw.manager.filter.TokenFilter;
import com.bonus.hnrn.rnbmw.manager.filter.VerifyFilter;
import org.springframework.beans.factory.annotation.Autowired;
@@ -19,7 +18,6 @@ import org.springframework.security.web.authentication.AuthenticationFailureHand
import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
import org.springframework.security.web.authentication.logout.LogoutSuccessHandler;
-import org.springframework.security.web.authentication.www.BasicAuthenticationFilter;
/**
* spring security配置
@@ -58,7 +56,7 @@ public class BnsSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
// 添加安全过滤器,在认证前执行 -- 防御 sql 注入攻击 和 xss 攻击
- http.addFilterBefore(new SecurityFilter(), BasicAuthenticationFilter.class);
+ // http.addFilterBefore(new SecurityFilter(), BasicAuthenticationFilter.class);
// 添加安全过滤器,在认证前执行 -- CSP
// http.addFilterBefore(new CspFilter(), BasicAuthenticationFilter.class);
http.csrf().disable();
@@ -69,7 +67,7 @@ public class BnsSecurityConfig extends WebSecurityConfigurerAdapter {
http.authorizeRequests()
.antMatchers("/", "/gzRealName/**","/attendance/**","/*.html", "/favicon.ico", "/css/**", "/js/**", "/fonts/**", "/layui/**", "/layui-v2.9.2/**","/layui2.3.6/**", "/layer-v3.1.0/**","/img/**",
"/v2/api-docs/**", "/swagger-resources/**", "/webjars/**", "/pages/**", "/druid/**","/interface/**","/publicLogin/**",
- "/statics/**","/download/**","/allSystem/login","/register/**","/companyManager/resetUserPwd","/getCode/**","/OwnContract/updateDownloadState")
+ "/statics/**","/download/**","/allSystem/login","/allUser/**","/register/**","/companyManager/resetUserPwd","/getCode/**","/OwnContract/updateDownloadState")
.permitAll().
anyRequest().authenticated();
http.formLogin().loginProcessingUrl("/login")
diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/SecurityHeadersFilter.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/SecurityHeadersFilter.java
index 03a370a..5f9bbc1 100644
--- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/SecurityHeadersFilter.java
+++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/SecurityHeadersFilter.java
@@ -12,8 +12,8 @@ import java.io.IOException;
* 额外的安全头过滤器
* 用于设置更多的安全相关头信息
*/
-@Component
-@Order(2)
+//@Component
+//@Order(2)
public class SecurityHeadersFilter implements Filter {
@Override
diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/controller/OrgController.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/controller/OrgController.java
index 7c25314..dee8383 100644
--- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/controller/OrgController.java
+++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/controller/OrgController.java
@@ -31,6 +31,8 @@ public class OrgController {
@Autowired
private OrgService service;
+
+
@Resource
private UserDao userDao;
diff --git a/HnRealNameBmw/src/main/resources/mappers/login/AllUserMapper.xml b/HnRealNameBmw/src/main/resources/mappers/login/AllUserMapper.xml
index 9b75f5c..b9aa791 100644
--- a/HnRealNameBmw/src/main/resources/mappers/login/AllUserMapper.xml
+++ b/HnRealNameBmw/src/main/resources/mappers/login/AllUserMapper.xml
@@ -3,7 +3,119 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+ insert into all_system_user(user_name , login_name ,
+ password , data_type , create_time ,
+ update_time , is_admin , id_card ,
+ json_data , user_phone
+ ) values (
+ #{userName},#{loginName},#{password},#{dataType},now(),now(),#{isAdmin},#{idCard},#{jsonData},#{userPhone}
+ )
+
+
+ insert into sys_user(
+ username,loginname,phone, id_number,
+ type, role_id, org_id, pro_id,
+ sub_id, team_id, post_id, password, sex,
+ status, create_type,
+ examine_status, createTime,
+ updateTime, is_free, is_active)
+ values (#{userName},#{loginName},#{loginName},#{idCard},#{type},#{roleId},#{orgId},#{proId},#{subId},#{teamId},#{orgId},#{password},
+ 1,1,2,1,now(),now(),#{isFree},1)
+
+
+ insert into sys_role_user(roleId, userId) values
+ (#{roleId}, #{id})
+
+
+ update all_system_user set user_name=#{userName},data_type=#{dataType},
+ update_time=now(),is_admin=#{isAdmin},id_card=#{idCard},json_data=#{jsonData}
+ user_phone=#{userPhone}
+
+
+ update all_system_user set password=#{newPassword}
+ where id=#{id}
+
+
+ update sys_user set username=#{userName},loginname=#{loginName},phone=#{loginName},id_number=#{idCard},type=#{type},
+ role_id=#{roleId}, org_id=#{orgId}, pro_id=#{proId},sub_id=#{subId},team_id=#{teamId},post_id=#{roleId},
+ updateTime=now(),is_free=#{isFree}
+ where id=#{id}
+
+
+ delete from all_system_user where id=#{id}
+
+
+ delete from sys_role_user where userId=#{id}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/controller/PublicLoginController.java b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/controller/PublicLoginController.java
index 4f0d191..9d948e0 100644
--- a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/controller/PublicLoginController.java
+++ b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/controller/PublicLoginController.java
@@ -2,6 +2,15 @@ package com.bonus.hn.bearing.capacity.backstage.login.controller;
import com.bonus.hn.bearing.capacity.backstage.login.service.PublicLoginService;
import com.bonus.hn.bearing.capacity.backstage.login.vo.LoginForm;
+import com.bonus.hn.bearing.capacity.backstage.login.vo.PublicUserVo;
+import com.bonus.hn.bearing.capacity.backstage.manager.annotation.LogAnnotation;
+import com.bonus.hn.bearing.capacity.backstage.manager.entity.MapBean;
+import com.bonus.hn.bearing.capacity.backstage.manager.entity.ZNode;
+import com.bonus.hn.bearing.capacity.backstage.manager.service.UserService;
+import com.bonus.hn.bearing.capacity.backstage.manager.utils.AjaxRes;
+import com.bonus.hn.bearing.capacity.backstage.manager.utils.GlobalConst;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -9,17 +18,23 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
/**
* 默认公共登录方法
*/
@RestController
+@Slf4j
@RequestMapping(value = "/publicLogin")
public class PublicLoginController {
@Autowired
private PublicLoginService loginService;
+ @Autowired
+ private UserService userService;
+
/**
* 系统登录
* @param token
@@ -31,6 +46,44 @@ public class PublicLoginController {
}
+ @LogAnnotation
+ @PostMapping("addUser")
+ @ApiOperation(value = "新增用户")
+ public AjaxRes addUser(@RequestBody PublicUserVo vo) {
+ return loginService.addUser(vo);
+ }
+
+
+
+ @PostMapping("getDeptTree")
+ @ApiOperation(value = "获取部门树")
+ public AjaxRes getDeptTree() {
+ try{
+ List result = userService.getRole();
+ return AjaxRes.success(result);
+ }catch (Exception e){
+ log.error(e.toString(),e);
+ }
+ return AjaxRes.success(new ArrayList());
+ }
+
+ /**
+ * 角色下拉选
+ * @param
+ * @return
+ */
+ @PostMapping("getRoleList")
+ @ApiOperation(value = "获取角色下拉选")
+ public AjaxRes getRoleList() {
+ AjaxRes ar = new AjaxRes();
+ try {
+ List list = userService.getDepartmentTree();
+ ar.setSucceed(list);
+ } catch (Exception e) {
+ ar.setFailMsg(GlobalConst.DATA_FAIL);
+ }
+ return ar;
+ }
diff --git a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/dao/PublicLoginDao.java b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/dao/PublicLoginDao.java
new file mode 100644
index 0000000..0ba0372
--- /dev/null
+++ b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/dao/PublicLoginDao.java
@@ -0,0 +1,38 @@
+package com.bonus.hn.bearing.capacity.backstage.login.dao;
+
+import com.bonus.hn.bearing.capacity.backstage.login.vo.PublicUserVo;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface PublicLoginDao {
+ /**
+ * 依据用户名查询
+ * @param vo
+ * @return
+ */
+ PublicUserVo getUserByName(PublicUserVo vo);
+
+ /**
+ * 新增用户
+ * @param vo
+ */
+ void addUser(PublicUserVo vo);
+
+ /**
+ * 新增用户角色
+ * @param vo
+ */
+ void addUserRole(PublicUserVo vo);
+
+ /**
+ * 更新用户信息
+ * @param data
+ */
+ void updateUser(PublicUserVo data);
+
+ /**
+ * 删除用户角色
+ * @param vo
+ */
+ void delUserRole(PublicUserVo vo);
+}
diff --git a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/service/PublicLoginService.java b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/service/PublicLoginService.java
index a705053..0bf6af0 100644
--- a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/service/PublicLoginService.java
+++ b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/service/PublicLoginService.java
@@ -1,7 +1,9 @@
package com.bonus.hn.bearing.capacity.backstage.login.service;
+import com.bonus.hn.bearing.capacity.backstage.login.dao.PublicLoginDao;
import com.bonus.hn.bearing.capacity.backstage.login.vo.LoginForm;
+import com.bonus.hn.bearing.capacity.backstage.login.vo.PublicUserVo;
import com.bonus.hn.bearing.capacity.backstage.manager.dao.PermissionDao;
import com.bonus.hn.bearing.capacity.backstage.manager.dao.UtilDao;
import com.bonus.hn.bearing.capacity.backstage.manager.entity.LoginUser;
@@ -10,6 +12,7 @@ import com.bonus.hn.bearing.capacity.backstage.manager.model.Permission;
import com.bonus.hn.bearing.capacity.backstage.manager.model.SysUser;
import com.bonus.hn.bearing.capacity.backstage.manager.service.TokenService;
import com.bonus.hn.bearing.capacity.backstage.manager.service.UserService;
+import com.bonus.hn.bearing.capacity.backstage.manager.utils.AjaxRes;
import com.bonus.hn.bearing.capacity.backstage.manager.utils.ResponseUtil;
import com.bonus.hn.bearing.capacity.backstage.utils.Aes;
import lombok.extern.slf4j.Slf4j;
@@ -21,6 +24,7 @@ import org.springframework.security.authentication.DisabledException;
import org.springframework.security.authentication.LockedException;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -49,6 +53,12 @@ public class PublicLoginService {
@Autowired
private TokenService tokenService;
+ @Autowired
+ private PublicLoginDao dao;
+
+ @Autowired
+ private BCryptPasswordEncoder passwordEncoder;
+
/**
* 系统登录
* @param us
@@ -90,7 +100,6 @@ public class PublicLoginService {
b.setMonth(formattedYearMonth);
b.setUserId(sysUser.getId().toString());
utilDao.insertLoginInfo(b);
-
//创建token
Token token = tokenService.saveToken(loginUser);
token.setCode("200");
@@ -100,4 +109,31 @@ public class PublicLoginService {
log.error(e.toString(),e);
}
}
+
+ /**
+ * 新增用户数据
+ * @param vo
+ * @return
+ */
+ public AjaxRes addUser(PublicUserVo vo) {
+ try{
+ vo.setPassword(passwordEncoder.encode("Hnsbd@admin123"));
+ PublicUserVo data=dao.getUserByName(vo);
+ if(data==null){
+ //新增用户及角色关联信息
+ dao.addUser(vo);
+ dao.addUserRole(vo);
+ }else{
+ vo.setId(data.getId());
+ //修改用户角色信息
+ dao.updateUser(vo);
+ dao.delUserRole(vo);
+ dao.addUserRole(vo);
+ }
+ return AjaxRes.success("添加成功");
+ }catch (Exception e){
+ log.error(e.toString(),e);
+ }
+ return AjaxRes.error("添加失败");
+ }
}
\ No newline at end of file
diff --git a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/vo/PublicUserVo.java b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/vo/PublicUserVo.java
new file mode 100644
index 0000000..e7c5d4e
--- /dev/null
+++ b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/vo/PublicUserVo.java
@@ -0,0 +1,47 @@
+package com.bonus.hn.bearing.capacity.backstage.login.vo;
+
+import lombok.Data;
+
+@Data
+public class PublicUserVo {
+
+ private String id;
+ /**
+ * 用户名称
+ */
+ private String userName;
+ /**
+ * 用户名称
+ */
+ private String loginName;
+ /**
+ * 密码
+ */
+ private String password;
+ /**
+ * 手机号
+ */
+ private String userPhone;
+
+ /**
+ * 身份证号码
+ */
+ private String idCard;
+ /**
+ * json数据
+ */
+ private String jsonData;
+ /**
+ * 角色id
+ */
+ private String roleId;
+ /**
+ * 组织机构id
+ */
+ private String orgId;
+
+ private String status;
+
+ private String isActive;
+
+}
diff --git a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/dao/UserDao.java b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/dao/UserDao.java
index 2f97ce7..5e891c9 100644
--- a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/dao/UserDao.java
+++ b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/dao/UserDao.java
@@ -27,8 +27,7 @@ public interface UserDao {
@Select("select t.ID,t.username,t.login_name as loginName,t.phone, t.nickname,t.type,t.role_id as roleId, t.org_id as orgId, t.password, t.status,t.createTime from sys_user t where t.id = #{id}")
SysUser getById(Long id);
- @Select("select t.* ,t.role_id as roleId,t.org_id as orgId,t.org_id as orgId,so.`level`,so.org_name as department,so.parent_id as pId FROM sys_user t LEFT JOIN sys_organization so on so.id = t.org_id where t.phone = #{username} and t.is_active = '1'")
- SysUser getUser(String username);
+ SysUser getUser(@Param("username") String username);
@Update("update sys_user t set t.password = #{password} where t.id = #{id}")
int changePassword(@Param("id") Long id, @Param("password") String password);
diff --git a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/utils/AjaxRes.java b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/utils/AjaxRes.java
index 5656a63..ccb72a3 100644
--- a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/utils/AjaxRes.java
+++ b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/utils/AjaxRes.java
@@ -20,7 +20,9 @@ public class AjaxRes implements Serializable {
* 返回对象
*/
private Object obj;
-
+
+
+
public int getRes() {
return res;
}
@@ -84,7 +86,35 @@ public class AjaxRes implements Serializable {
this.obj = obj;
this.setRes(GlobalConst.SUCCEED);
}
+ public static AjaxRes success(String resMsg) {
+ AjaxRes ajaxRes = new AjaxRes();
+ ajaxRes.setResMsg(resMsg);
+ ajaxRes.setRes(GlobalConst.SUCCEED);
+ return ajaxRes;
+ }
+ public static AjaxRes error(String resMsg) {
+ AjaxRes ajaxRes = new AjaxRes();
+ ajaxRes.setResMsg(resMsg);
+ ajaxRes.setRes(GlobalConst.FAIL);
+ return ajaxRes;
+ }
+
+
+
+ public static AjaxRes success(String resMsg,Object data) {
+ AjaxRes ajaxRes = success(resMsg);
+ ajaxRes.setObj(data);
+ return ajaxRes;
+ }
+
+ public static AjaxRes success(Object data) {
+ AjaxRes ajaxRes = new AjaxRes();
+ ajaxRes.setResMsg("success");
+ ajaxRes.setRes(GlobalConst.SUCCEED);
+ ajaxRes.setObj(data);
+ return ajaxRes;
+ }
/**
* 设置成功值
*
diff --git a/hn-czl-service/src/main/resources/mappers/login/PublicLoginMapper.xml b/hn-czl-service/src/main/resources/mappers/login/PublicLoginMapper.xml
new file mode 100644
index 0000000..e60d186
--- /dev/null
+++ b/hn-czl-service/src/main/resources/mappers/login/PublicLoginMapper.xml
@@ -0,0 +1,28 @@
+
+
+
+
+ insert into sys_user(
+ username,login_name, phone, nickname,role_id,org_id,
+ password, sex, status, createTime, updateTime,is_active
+ )values (#{userName},#{loginName},#{loginName},#{userPhone},#{roleId},#{orgId},#{password},1,1,now(),now(),1)
+
+
+ insert into sys_role_user(roleId, userId) values(#{roleId},#{id})
+
+
+ update sys_user set username=#{userName},login_name=#{loginName}, nickname=#{userPhone},
+ role_id=#{roleId},org_id=#{orgId},status=1,password=#{password}
+ where id=#{id}
+
+
+ delete from sys_role_user where userId=#{id}
+
+
+
\ No newline at end of file
diff --git a/hn-czl-service/src/main/resources/mappers/user/newUserMapper.xml b/hn-czl-service/src/main/resources/mappers/user/newUserMapper.xml
index 162b292..e1c109e 100644
--- a/hn-czl-service/src/main/resources/mappers/user/newUserMapper.xml
+++ b/hn-czl-service/src/main/resources/mappers/user/newUserMapper.xml
@@ -148,6 +148,12 @@
from bm_tower
where pro_id = #{proId} and lon = ''
+
insert into sys_role_user(roleId, userId) values
diff --git a/hn-gateway/bonus-gateway/src/main/java/com/bonus/gateway/filter/AuthFilter.java b/hn-gateway/bonus-gateway/src/main/java/com/bonus/gateway/filter/AuthFilter.java
index ed75abb..b843030 100644
--- a/hn-gateway/bonus-gateway/src/main/java/com/bonus/gateway/filter/AuthFilter.java
+++ b/hn-gateway/bonus-gateway/src/main/java/com/bonus/gateway/filter/AuthFilter.java
@@ -43,18 +43,22 @@ public class AuthFilter implements GlobalFilter, Ordered {
private RedisService redisService;
+
+
@Override
public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) {
ServerHttpRequest request = exchange.getRequest();
ServerHttpRequest.Builder mutate = request.mutate();
String url = request.getURI().getPath();
- if(!url.endsWith("/publicLogin/defaultLogin")){
+ //public 都是单独走的网关鉴权
+ if(!PathMatchUtil.isPublicLoginPath(url)){
// 跳过不需要验证的路径
if (StringUtils.matches(url, ignoreWhite.getWhites())) {
return chain.filter(exchange);
}
}
+
String token = getToken(request);
if (StringUtils.isEmpty(token) || "null".equals(token)) {
return unauthorizedResponse(exchange, "令牌不能为空");
diff --git a/hn-gateway/bonus-gateway/src/main/java/com/bonus/gateway/filter/PathMatchUtil.java b/hn-gateway/bonus-gateway/src/main/java/com/bonus/gateway/filter/PathMatchUtil.java
new file mode 100644
index 0000000..6289564
--- /dev/null
+++ b/hn-gateway/bonus-gateway/src/main/java/com/bonus/gateway/filter/PathMatchUtil.java
@@ -0,0 +1,22 @@
+package com.bonus.gateway.filter;
+
+import org.springframework.util.AntPathMatcher;
+
+/**
+ * 路径匹配工具类
+ */
+public class PathMatchUtil {
+ // 初始化 AntPathMatcher(单例,线程安全)
+ private static final AntPathMatcher PATH_MATCHER = new AntPathMatcher();
+
+ /**
+ * 判断请求路径是否匹配 /publicLogin/** 规则
+ * @param requestPath 请求路径(如 /publicLogin/login、/publicLogin/api/user)
+ * @return true=匹配,false=不匹配
+ */
+ public static boolean isPublicLoginPath(String requestPath) {
+ // 匹配规则:/publicLogin/**
+ String pattern = "/publicLogin/**";
+ return PATH_MATCHER.match(pattern, requestPath);
+ }
+}
\ No newline at end of file
diff --git a/hn-ldlz/ldlz-admin/pom.xml b/hn-ldlz/ldlz-admin/pom.xml
index 1e94386..f00363f 100644
--- a/hn-ldlz/ldlz-admin/pom.xml
+++ b/hn-ldlz/ldlz-admin/pom.xml
@@ -34,17 +34,31 @@
true
-
+
+
io.springfox
- springfox-boot-starter
+ springfox-swagger2
+ 2.8.0
+
+
+
+ org.springframework.plugin
+ spring-plugin-core
+
+
-
-
+
- io.swagger
- swagger-models
- 1.6.2
+ org.springframework.plugin
+ spring-plugin-core
+ 1.2.0.RELEASE
+
+
+
+ io.springfox
+ springfox-swagger-ui
+ 2.8.0
diff --git a/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/controller/PublicLoginController.java b/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/controller/PublicLoginController.java
new file mode 100644
index 0000000..b95d42f
--- /dev/null
+++ b/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/controller/PublicLoginController.java
@@ -0,0 +1,80 @@
+package com.bns.ldlz.controller;
+
+
+import com.bns.common.constant.Constants;
+import com.bns.common.core.controller.BaseController;
+import com.bns.common.core.domain.AjaxResult;
+import com.bns.common.core.domain.entity.SysDept;
+import com.bns.common.core.domain.entity.SysRole;
+import com.bns.ldlz.domain.LoginForm;
+import com.bns.ldlz.domain.PublicUserVo;
+import com.bns.ldlz.service.impl.PublicLoginService;
+import com.bns.system.service.ISysDeptService;
+import com.bns.system.service.ISysRoleService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 默认公共登录方法
+ */
+@RestController
+@RequestMapping(value = "/publicLogin")
+public class PublicLoginController extends BaseController {
+
+ @Autowired
+ private PublicLoginService loginService;
+
+ @Autowired
+ private ISysDeptService deptService;
+
+ @Autowired
+ private ISysRoleService roleService;
+ /**
+ * loginForm
+ * @param
+ * @param response
+ */
+ @PostMapping("defaultLogin")
+ public AjaxResult login(@RequestBody LoginForm loginForm, HttpServletResponse response) {
+ AjaxResult ajax = AjaxResult.success();
+ // 生成令牌
+ String token = loginService.login(loginForm,response);
+ ajax.put(Constants.TOKEN, token);
+ return ajax;
+ }
+
+
+ @PostMapping("addUser")
+ @ApiOperation(value = "新增用户")
+ public AjaxResult addUser(@RequestBody PublicUserVo vo) {
+ return loginService.addUser(vo);
+ }
+
+
+ @PostMapping("getDeptTree")
+ @ApiOperation(value = "获取部门树")
+ public AjaxResult getDeptTree(@RequestBody SysDept dept) {
+ return success(deptService.selectPublicDeptTreeList(dept));
+ }
+
+ /**
+ * 角色下拉选
+ * @param vo
+ * @return
+ */
+ @PostMapping("getRoleList")
+ @ApiOperation(value = "获取角色下拉选")
+ public AjaxResult getRoleList(@RequestBody PublicUserVo vo) {
+ List roles = roleService.selectPublicRoleAll();
+ return success(roles);
+ }
+
+
+}
diff --git a/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/domain/LoginForm.java b/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/domain/LoginForm.java
new file mode 100644
index 0000000..75c1925
--- /dev/null
+++ b/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/domain/LoginForm.java
@@ -0,0 +1,11 @@
+package com.bns.ldlz.domain;
+
+import lombok.Data;
+
+@Data
+public class LoginForm {
+
+ private String username;
+
+ private String type;
+}
diff --git a/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/domain/PublicUserVo.java b/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/domain/PublicUserVo.java
new file mode 100644
index 0000000..0172a38
--- /dev/null
+++ b/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/domain/PublicUserVo.java
@@ -0,0 +1,51 @@
+package com.bns.ldlz.domain;
+
+import lombok.Data;
+
+@Data
+public class PublicUserVo {
+
+ private String id;
+ /**
+ * 用户名称
+ */
+ private String userName;
+ /**
+ * 用户名称
+ */
+ private String loginName;
+ /**
+ * 密码
+ */
+ private String password;
+ /**
+ * 手机号
+ */
+ private String userPhone;
+
+ /**
+ * 身份证号码
+ */
+ private String idCard;
+ /**
+ * json数据
+ */
+ private String jsonData;
+ /**
+ * 角色id
+ */
+ private String roleId;
+ /**
+ * 组织机构id
+ */
+ private String orgId;
+
+ private String status;
+
+ private String isActive;
+ /**
+ * 是否是管理员
+ */
+ private String isLeader;
+
+}
diff --git a/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/domain/bo/PerformLogBo.java b/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/domain/bo/PerformLogBo.java
index 76240ed..8f90621 100644
--- a/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/domain/bo/PerformLogBo.java
+++ b/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/domain/bo/PerformLogBo.java
@@ -2,7 +2,6 @@ package com.bns.ldlz.domain.bo;
import com.bns.common.annotation.Excel;
import com.bns.common.core.domain.BaseEntity;
-import io.swagger.models.auth.In;
import lombok.Data;
import java.math.BigDecimal;
diff --git a/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/mapper/PublicLoginMapper.java b/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/mapper/PublicLoginMapper.java
new file mode 100644
index 0000000..a8cb847
--- /dev/null
+++ b/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/mapper/PublicLoginMapper.java
@@ -0,0 +1,44 @@
+package com.bns.ldlz.mapper;
+
+import com.bns.ldlz.domain.PublicUserVo;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface PublicLoginMapper {
+ /**
+ * 依据登录信息查询用户
+ * @param vo
+ * @return
+ */
+ public String getUserIdByLoginName(PublicUserVo vo) ;
+
+ /**
+ * 新增用户信息
+ * @param vo
+ */
+ void addUserData(PublicUserVo vo);
+
+ /**
+ * 新增用户岗位信息
+ * @param vo
+ */
+ void inserUserPost(PublicUserVo vo);
+
+ /**
+ * 新增用户角色信息
+ * @param vo
+ */
+ void insertUserRole(PublicUserVo vo);
+
+ /**
+ * 更新用户数据
+ * @param vo
+ */
+ void updateUserData(PublicUserVo vo);
+
+ /**
+ * 删除用户决赛
+ * @param vo
+ */
+ void delUserRole(PublicUserVo vo);
+}
diff --git a/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/service/impl/PublicLoginService.java b/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/service/impl/PublicLoginService.java
new file mode 100644
index 0000000..a389399
--- /dev/null
+++ b/hn-ldlz/ldlz-admin/src/main/java/com/bns/ldlz/service/impl/PublicLoginService.java
@@ -0,0 +1,127 @@
+package com.bns.ldlz.service.impl;
+
+
+
+import com.bns.common.core.domain.AjaxResult;
+import com.bns.common.core.domain.entity.SysUser;
+import com.bns.common.core.domain.model.LoginUser;
+import com.bns.common.enums.UserStatus;
+import com.bns.common.exception.ServiceException;
+import com.bns.common.utils.DateUtils;
+import com.bns.common.utils.MessageUtils;
+import com.bns.common.utils.SecurityUtils;
+import com.bns.common.utils.StringUtils;
+import com.bns.common.utils.ip.IpUtils;
+import com.bns.framework.web.service.SysPermissionService;
+import com.bns.framework.web.service.TokenService;
+import com.bns.ldlz.domain.LoginForm;
+import com.bns.ldlz.domain.PublicUserVo;
+import com.bns.ldlz.mapper.PublicLoginMapper;
+import com.bns.system.service.ISysUserService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.security.authentication.AuthenticationCredentialsNotFoundException;
+import org.springframework.security.authentication.DisabledException;
+import org.springframework.security.authentication.LockedException;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletResponse;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+
+/**
+ * 系统登录
+ */
+@Service
+@Slf4j
+public class PublicLoginService {
+
+ @Autowired
+ private PublicLoginMapper mapper;
+
+
+ @Autowired
+ private ISysUserService userService;
+
+ @Autowired
+ private SysPermissionService permissionService;
+
+ @Autowired
+ private TokenService tokenService;
+
+ /**
+ * 系统登录
+ * @param us
+ * @param response
+ */
+ public String login(LoginForm us, HttpServletResponse response) {
+ String username = us.getUsername();
+ SysUser user = userService.selectUserByUserName(us.getUsername());
+ if (StringUtils.isNull(user))
+ {
+ log.info("登录用户:{} 不存在.", username);
+ throw new ServiceException(MessageUtils.message("user.not.exists"));
+ }
+ else if (UserStatus.DELETED.getCode().equals(user.getDelFlag()))
+ {
+ log.info("登录用户:{} 已被删除.", username);
+ throw new ServiceException(MessageUtils.message("user.password.delete"));
+ }
+ else if (UserStatus.DISABLE.getCode().equals(user.getStatus()))
+ {
+ log.info("登录用户:{} 已被停用.", username);
+ throw new ServiceException(MessageUtils.message("user.blocked"));
+ }
+ LoginUser userDetails=new LoginUser(user.getUserId(), user.getDeptId(), user, permissionService.getMenuPermission(user));
+ recordLoginInfo(userDetails.getUserId());
+ // 生成token
+ return tokenService.createToken(userDetails);
+
+ }
+ /**
+ * 记录登录信息
+ *
+ * @param userId 用户ID
+ */
+ public void recordLoginInfo(Long userId) {
+ SysUser sysUser = new SysUser();
+ sysUser.setUserId(userId);
+ sysUser.setLoginIp(IpUtils.getIpAddr());
+ sysUser.setLoginDate(DateUtils.getNowDate());
+ userService.updateUserProfile(sysUser);
+ }
+
+ /**
+ * 新增用户信息
+ * @param vo
+ * @return
+ */
+ public AjaxResult addUser(PublicUserVo vo) {
+ try{
+ //默认密码
+ vo.setPassword(SecurityUtils.encryptPassword("Hnsbd@admin123"));
+ String id=mapper.getUserIdByLoginName(vo);
+ if(StringUtils.isNull(id)){
+ mapper.addUserData(vo);
+ // mapper.inserUserPost(vo);
+ mapper.insertUserRole(vo);
+ }else {
+ vo.setId(id);
+ mapper.updateUserData(vo);
+ mapper.delUserRole(vo);
+ // mapper.inserUserPost(vo);
+ mapper.insertUserRole(vo);
+
+ }
+ }catch (Exception e){
+ log.error(e.toString(),e);
+ }
+ return AjaxResult.error("添加失败");
+ }
+}
\ No newline at end of file
diff --git a/hn-ldlz/ldlz-admin/src/main/java/com/bns/web/core/config/SwaggerConfig.java b/hn-ldlz/ldlz-admin/src/main/java/com/bns/web/core/config/SwaggerConfig.java
index 2ebc21d..4db6973 100644
--- a/hn-ldlz/ldlz-admin/src/main/java/com/bns/web/core/config/SwaggerConfig.java
+++ b/hn-ldlz/ldlz-admin/src/main/java/com/bns/web/core/config/SwaggerConfig.java
@@ -8,7 +8,6 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.bns.common.config.LdlzConfig;
import io.swagger.annotations.ApiOperation;
-import io.swagger.models.auth.In;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
@@ -21,15 +20,16 @@ import springfox.documentation.service.SecurityScheme;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2; // 2.8.0 必须加这个注解
/**
- * Swagger2的接口配置
- *
+ * Swagger2的接口配置(适配 Springfox 2.8.0 + Spring Boot 2.1.1.RELEASE)
+ *
* @author ldlv
*/
@Configuration
-public class SwaggerConfig
-{
+@EnableSwagger2 // 关键:Springfox 2.x 必须启用这个注解,否则 Swagger 不生效
+public class SwaggerConfig {
/** 系统基础配置 */
@Autowired
private LdlzConfig ldlzConfig;
@@ -43,60 +43,50 @@ public class SwaggerConfig
private String pathMapping;
/**
- * 创建API
+ * 创建API(核心修改:替换为 Swagger 2.0 的 DocumentationType)
*/
@Bean
- public Docket createRestApi()
- {
- return new Docket(DocumentationType.OAS_30)
- // 是否启用Swagger
+ public Docket createRestApi() {
+ return new Docket(DocumentationType.SWAGGER_2) // 关键:2.8.0 不支持 OAS_30,改为 SWAGGER_2
.enable(enabled)
- // 用来创建该API的基本信息,展示在文档的页面中(自定义展示的信息)
.apiInfo(apiInfo())
- // 设置哪些接口暴露给Swagger展示
.select()
- // 扫描所有有注解的api,用这种方式更灵活
- .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
- // 扫描指定包中的swagger注解
- // .apis(RequestHandlerSelectors.basePackage("com.bns.project.tool.swagger"))
- // 扫描所有 .apis(RequestHandlerSelectors.any())
+ .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) // 保留你的扫描逻辑
.paths(PathSelectors.any())
.build()
- /* 设置安全模式,swagger可以设置访问token */
- .securitySchemes(securitySchemes())
+ .securitySchemes(securitySchemes()) // 保留token配置
.securityContexts(securityContexts())
.pathMapping(pathMapping);
}
/**
- * 安全模式,这里指定token通过Authorization头请求头传递
+ * 安全模式(修改:移除 3.x 的 In.HEADER,直接用字符串 "header")
*/
- private List securitySchemes()
- {
- List apiKeyList = new ArrayList();
- apiKeyList.add(new ApiKey("Authorization", "Authorization", In.HEADER.toValue()));
+ private List securitySchemes() {
+ List apiKeyList = new ArrayList<>();
+ // 关键:Springfox 2.x 的 ApiKey 第三个参数直接传 "header"(不是 In.HEADER.toValue())
+ apiKeyList.add(new ApiKey("Authorization", "Authorization", "header"));
return apiKeyList;
}
/**
- * 安全上下文
+ * 安全上下文(无修改,2.8.0 兼容)
*/
- private List securityContexts()
- {
+ private List securityContexts() {
List securityContexts = new ArrayList<>();
securityContexts.add(
SecurityContext.builder()
.securityReferences(defaultAuth())
- .operationSelector(o -> o.requestMappingPattern().matches("/.*"))
+ // 替代 operationSelector:匹配所有路径的接口(效果与原逻辑一致)
+ .forPaths(PathSelectors.any())
.build());
return securityContexts;
}
/**
- * 默认的安全上引用
+ * 默认的安全引用(无修改,2.8.0 兼容)
*/
- private List defaultAuth()
- {
+ private List defaultAuth() {
AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
authorizationScopes[0] = authorizationScope;
@@ -106,20 +96,14 @@ public class SwaggerConfig
}
/**
- * 添加摘要信息
+ * 摘要信息(无修改,2.8.0 兼容)
*/
- private ApiInfo apiInfo()
- {
- // 用ApiInfoBuilder进行定制
+ private ApiInfo apiInfo() {
return new ApiInfoBuilder()
- // 设置标题
.title("标题:领导履职管理系统_接口文档")
- // 描述
.description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...")
- // 作者信息
.contact(new Contact(ldlzConfig.getName(), null, null))
- // 版本
.version("版本号:" + ldlzConfig.getVersion())
.build();
}
-}
+}
\ No newline at end of file
diff --git a/hn-ldlz/ldlz-admin/src/main/resources/bootstrap.yml b/hn-ldlz/ldlz-admin/src/main/resources/bootstrap.yml
index 3450f54..6cf2415 100644
--- a/hn-ldlz/ldlz-admin/src/main/resources/bootstrap.yml
+++ b/hn-ldlz/ldlz-admin/src/main/resources/bootstrap.yml
@@ -95,7 +95,7 @@ pagehelper:
# Swagger配置
swagger:
# 是否开启swagger
- enabled: true
+ enabled: false
# 请求前缀
pathMapping: /dev-api
diff --git a/hn-ldlz/ldlz-admin/src/main/resources/mapper/ldlz/PublicLoginMapper.xml b/hn-ldlz/ldlz-admin/src/main/resources/mapper/ldlz/PublicLoginMapper.xml
new file mode 100644
index 0000000..d4905d4
--- /dev/null
+++ b/hn-ldlz/ldlz-admin/src/main/resources/mapper/ldlz/PublicLoginMapper.xml
@@ -0,0 +1,36 @@
+
+
+
+
+ insert into sys_user(
+ dept_id, user_name, nick_name, user_type,
+ phonenumber, sex, password, status,
+ del_flag, create_time, update_time, is_leader, leader_order_num
+ )values (#{orgId},#{loginName},#{userName},'00',#{userPhone},1,#{password},0,0,now(),now(),#{isLeader},1)
+
+
+ insert into sys_user_post(user_id, post_id
+ )values (#{id},#{orgId})
+
+
+ insert into sys_user_role(user_id, role_id,create_time
+ )values (#{id},#{roleId},now())
+
+
+ update sys_user set dept_id=#{orgId},user_name=#{loginName},nick_name=#{userName},
+ phonenumber=#{userPhone},is_leader=#{isLeader},update_time=now()
+ where id=#{id}
+
+
+ delete from sys_user_role where user_id=#{id}
+
+
+
+
+
\ No newline at end of file
diff --git a/hn-ldlz/ldlz-framework/src/main/java/com/bns/framework/config/SecurityConfig.java b/hn-ldlz/ldlz-framework/src/main/java/com/bns/framework/config/SecurityConfig.java
index 2e1c83f..dd3d328 100644
--- a/hn-ldlz/ldlz-framework/src/main/java/com/bns/framework/config/SecurityConfig.java
+++ b/hn-ldlz/ldlz-framework/src/main/java/com/bns/framework/config/SecurityConfig.java
@@ -111,7 +111,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
// 过滤请求
.authorizeRequests()
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
- .antMatchers("/token","/login", "/register", "/captchaImage").permitAll()
+ .antMatchers("/token","/login","/publicLogin/**", "/register", "/captchaImage").permitAll()
// 静态资源,可匿名访问
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
.antMatchers( "/webjars/**", "/druid/**").permitAll()
diff --git a/hn-ldlz/ldlz-system/src/main/java/com/bns/system/mapper/SysDeptMapper.java b/hn-ldlz/ldlz-system/src/main/java/com/bns/system/mapper/SysDeptMapper.java
index aeb05f5..c36f65d 100644
--- a/hn-ldlz/ldlz-system/src/main/java/com/bns/system/mapper/SysDeptMapper.java
+++ b/hn-ldlz/ldlz-system/src/main/java/com/bns/system/mapper/SysDeptMapper.java
@@ -20,6 +20,9 @@ public interface SysDeptMapper
* @return 部门信息集合
*/
public List selectDeptList(SysDept dept);
+
+ public List selectPublicDeptList(SysDept dept);
+
public List selectDeptUserList(SysDept dept);
public List selectDeptOkUserList(String userIds);
@@ -119,4 +122,5 @@ public interface SysDeptMapper
* @return 结果
*/
public int deleteDeptById(Long deptId);
+
}
diff --git a/hn-ldlz/ldlz-system/src/main/java/com/bns/system/mapper/SysRoleMapper.java b/hn-ldlz/ldlz-system/src/main/java/com/bns/system/mapper/SysRoleMapper.java
index d6b5383..c0976dc 100644
--- a/hn-ldlz/ldlz-system/src/main/java/com/bns/system/mapper/SysRoleMapper.java
+++ b/hn-ldlz/ldlz-system/src/main/java/com/bns/system/mapper/SysRoleMapper.java
@@ -18,6 +18,10 @@ public interface SysRoleMapper
*/
public List selectRoleList(SysRole role);
+ public List selectPublicRoleList(SysRole role);
+
+
+
/**
* 根据用户ID查询角色
*
diff --git a/hn-ldlz/ldlz-system/src/main/java/com/bns/system/service/ISysDeptService.java b/hn-ldlz/ldlz-system/src/main/java/com/bns/system/service/ISysDeptService.java
index 23d5fa6..8a633ec 100644
--- a/hn-ldlz/ldlz-system/src/main/java/com/bns/system/service/ISysDeptService.java
+++ b/hn-ldlz/ldlz-system/src/main/java/com/bns/system/service/ISysDeptService.java
@@ -21,6 +21,10 @@ public interface ISysDeptService
* @return 部门信息集合
*/
public List selectDeptList(SysDept dept);
+
+ List selectPublicDeptList(SysDept dept);
+
+
public List selectAllDeptList(SysDept dept);
public List selectDeptUserList(SysDept dept);
@@ -31,6 +35,8 @@ public interface ISysDeptService
* @return 部门树信息集合
*/
public List selectDeptTreeList(SysDept dept);
+
+ public List selectPublicDeptTreeList(SysDept dept);
public List selectDeptUserTreeList(SysUser user);
public List selectDeptOkUserTreeList(String userIds);
diff --git a/hn-ldlz/ldlz-system/src/main/java/com/bns/system/service/ISysRoleService.java b/hn-ldlz/ldlz-system/src/main/java/com/bns/system/service/ISysRoleService.java
index c76e78f..51e6279 100644
--- a/hn-ldlz/ldlz-system/src/main/java/com/bns/system/service/ISysRoleService.java
+++ b/hn-ldlz/ldlz-system/src/main/java/com/bns/system/service/ISysRoleService.java
@@ -20,6 +20,8 @@ public interface ISysRoleService
*/
public List selectRoleList(SysRole role);
+ public List selectPublicRoleList(SysRole role);
+
/**
* 根据用户ID查询角色列表
*
@@ -43,6 +45,9 @@ public interface ISysRoleService
*/
public List selectRoleAll();
+
+
+ public List selectPublicRoleAll();
/**
* 根据用户ID获取角色选择框列表
*
diff --git a/hn-ldlz/ldlz-system/src/main/java/com/bns/system/service/impl/SysDeptServiceImpl.java b/hn-ldlz/ldlz-system/src/main/java/com/bns/system/service/impl/SysDeptServiceImpl.java
index 41e0e6a..7d9e5d0 100644
--- a/hn-ldlz/ldlz-system/src/main/java/com/bns/system/service/impl/SysDeptServiceImpl.java
+++ b/hn-ldlz/ldlz-system/src/main/java/com/bns/system/service/impl/SysDeptServiceImpl.java
@@ -51,6 +51,12 @@ public class SysDeptServiceImpl implements ISysDeptService
return deptMapper.selectDeptList(dept);
}
+ @Override
+ public List selectPublicDeptList(SysDept dept)
+ {
+ return deptMapper.selectPublicDeptList(dept);
+ }
+
@Override
public List selectAllDeptList(SysDept dept){
return deptMapper.selectDeptList(dept);
@@ -69,6 +75,20 @@ public class SysDeptServiceImpl implements ISysDeptService
return buildDeptTreeSelect(depts);
}
+ /**
+ * 查询部门树结构信息
+ *
+ * @param dept 部门信息
+ * @return 部门树信息集合
+ */
+ @Override
+ public List selectPublicDeptTreeList(SysDept dept)
+ {
+ List depts = SpringUtils.getAopProxy(this).selectPublicDeptList(dept);
+ return buildDeptTreeSelect(depts);
+ }
+
+
/**
* 构建前端所需要树结构
*
diff --git a/hn-ldlz/ldlz-system/src/main/java/com/bns/system/service/impl/SysRoleServiceImpl.java b/hn-ldlz/ldlz-system/src/main/java/com/bns/system/service/impl/SysRoleServiceImpl.java
index 8581da3..b12e395 100644
--- a/hn-ldlz/ldlz-system/src/main/java/com/bns/system/service/impl/SysRoleServiceImpl.java
+++ b/hn-ldlz/ldlz-system/src/main/java/com/bns/system/service/impl/SysRoleServiceImpl.java
@@ -58,6 +58,13 @@ public class SysRoleServiceImpl implements ISysRoleService
return roleMapper.selectRoleList(role);
}
+ @Override
+ public List selectPublicRoleList(SysRole role)
+ {
+ return roleMapper.selectPublicRoleList(role);
+ }
+
+
/**
* 根据用户ID查询角色
*
@@ -115,6 +122,12 @@ public class SysRoleServiceImpl implements ISysRoleService
return SpringUtils.getAopProxy(this).selectRoleList(new SysRole());
}
+ @Override
+ public List selectPublicRoleAll()
+ {
+ return SpringUtils.getAopProxy(this).selectPublicRoleList(new SysRole());
+ }
+
/**
* 根据用户ID获取角色选择框列表
*
diff --git a/hn-ldlz/ldlz-system/src/main/resources/mapper/system/SysDeptMapper.xml b/hn-ldlz/ldlz-system/src/main/resources/mapper/system/SysDeptMapper.xml
index 4532036..cdd16ea 100644
--- a/hn-ldlz/ldlz-system/src/main/resources/mapper/system/SysDeptMapper.xml
+++ b/hn-ldlz/ldlz-system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -62,6 +62,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
order by d.parent_id, d.order_num
+
+
+
-
-
+
+
insert into sys_dept(
dept_id,
parent_id,
diff --git a/hn-ldlz/ldlz-system/src/main/resources/mapper/system/SysRoleMapper.xml b/hn-ldlz/ldlz-system/src/main/resources/mapper/system/SysRoleMapper.xml
index daa13ec..d8ed436 100644
--- a/hn-ldlz/ldlz-system/src/main/resources/mapper/system/SysRoleMapper.xml
+++ b/hn-ldlz/ldlz-system/src/main/resources/mapper/system/SysRoleMapper.xml
@@ -56,6 +56,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
${params.dataScope}
order by r.role_sort
+
+