Shanks 6 năm trước cách đây
mục cha
commit
a7c7333d83
42 tập tin đã thay đổi với 1234 bổ sung47 xóa
  1. 11 6
      pom.xml
  2. 5 1
      src/main/java/com/ygj/yuemum/component/MyWebAppConfigurer.java
  3. 5 0
      src/main/java/com/ygj/yuemum/controller/admin/BranchesController.java
  4. 21 0
      src/main/java/com/ygj/yuemum/controller/admin/JlAdminPermissionController.java
  5. 23 0
      src/main/java/com/ygj/yuemum/controller/admin/JlAdminRoleController.java
  6. 58 6
      src/main/java/com/ygj/yuemum/controller/admin/JlAdminUserController.java
  7. 23 0
      src/main/java/com/ygj/yuemum/controller/login/ExceptionController.java
  8. 71 0
      src/main/java/com/ygj/yuemum/controller/login/LoginController.java
  9. 1 0
      src/main/java/com/ygj/yuemum/dao/admin/BranchesDao.java
  10. 14 0
      src/main/java/com/ygj/yuemum/dao/admin/JlAdminPermissionDao.java
  11. 12 0
      src/main/java/com/ygj/yuemum/dao/admin/JlAdminRoleDao.java
  12. 12 0
      src/main/java/com/ygj/yuemum/dao/admin/JlAdminRolePermissionDao.java
  13. 5 0
      src/main/java/com/ygj/yuemum/dao/admin/JlAdminUserDao.java
  14. 60 0
      src/main/java/com/ygj/yuemum/domain/admin/AsyncRouterMap.java
  15. 112 0
      src/main/java/com/ygj/yuemum/domain/admin/JlAdminPermission.java
  16. 22 0
      src/main/java/com/ygj/yuemum/domain/admin/JlAdminRole.java
  17. 31 0
      src/main/java/com/ygj/yuemum/domain/admin/JlAdminRolePermission.java
  18. 48 3
      src/main/java/com/ygj/yuemum/domain/admin/JlAdminUser.java
  19. 49 0
      src/main/java/com/ygj/yuemum/domain/admin/RoleChildren.java
  20. 13 0
      src/main/java/com/ygj/yuemum/domain/admin/RoleComponent.java
  21. 22 0
      src/main/java/com/ygj/yuemum/domain/admin/RoleMeta.java
  22. 13 0
      src/main/java/com/ygj/yuemum/domain/admin/RoleRedirect.java
  23. 18 17
      src/main/java/com/ygj/yuemum/domain/equipment/EquipmentReturn.java
  24. 10 0
      src/main/java/com/ygj/yuemum/domain/maternitymatron/QueryServiceUserStock.java
  25. 3 0
      src/main/java/com/ygj/yuemum/service/admin/BranchesService.java
  26. 65 0
      src/main/java/com/ygj/yuemum/service/admin/JlAdminPermissionService.java
  27. 21 0
      src/main/java/com/ygj/yuemum/service/admin/JlAdminRolePermissionService.java
  28. 21 0
      src/main/java/com/ygj/yuemum/service/admin/JlAdminRoleService.java
  29. 43 2
      src/main/java/com/ygj/yuemum/service/admin/JlAdminUserService.java
  30. 0 2
      src/main/java/com/ygj/yuemum/service/global/WeChatInfoService.java
  31. 64 0
      src/main/java/com/ygj/yuemum/shiro/CustomRealm.java
  32. 108 0
      src/main/java/com/ygj/yuemum/shiro/ShiroConfig.java
  33. 52 0
      src/main/java/com/ygj/yuemum/shiro/ShiroLoginFilter.java
  34. 42 0
      src/main/java/com/ygj/yuemum/shiro/ShiroSessionManager.java
  35. 0 1
      src/main/java/com/ygj/yuemum/utils/IDcard.java
  36. 7 0
      src/main/resources/mybatis/mapper/admin/BranchesMapper.xml
  37. 43 0
      src/main/resources/mybatis/mapper/admin/JlAdminPermissionMapper.xml
  38. 18 0
      src/main/resources/mybatis/mapper/admin/JlAdminRoleMapper.xml
  39. 13 0
      src/main/resources/mybatis/mapper/admin/JlAdminRolePermissionMapper.xml
  40. 72 7
      src/main/resources/mybatis/mapper/admin/JlAdminUserMapper.xml
  41. 2 2
      src/main/resources/mybatis/mapper/equipment/EquipmentReturnMapper.xml
  42. 1 0
      src/main/resources/mybatis/mapper/maternitymatron/JlServiceUserMapper.xml

+ 11 - 6
pom.xml

@@ -115,6 +115,11 @@
 			<artifactId>commons-io</artifactId>
 			<version>2.5</version>
 		</dependency>
+		<dependency>
+			<groupId>commons-lang</groupId>
+			<artifactId>commons-lang</artifactId>
+			<version>2.6</version>
+		</dependency>
 		<!-- Spring 文件上传的依赖包  -->
 		<dependency>
 			<groupId>org.apache.commons</groupId>
@@ -131,17 +136,17 @@
 			<artifactId>bcprov-jdk15on</artifactId>
 			<version>1.54</version>
 		</dependency>
-		<!--全局配置>
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-configuration-processor</artifactId>
-			<optional>true</optional>
-		</dependency-->
 		<!--Spring Security-->
 		<!--dependency>
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-security</artifactId>
 		</dependency-->
+		<!--Shiro-->
+		<dependency>
+			<groupId>org.apache.shiro</groupId>
+			<artifactId>shiro-spring</artifactId>
+			<version>1.3.2</version>
+		</dependency>
 	</dependencies>
 
 	<build>

+ 5 - 1
src/main/java/com/ygj/yuemum/component/MyWebAppConfigurer.java

@@ -8,7 +8,11 @@ public class MyWebAppConfigurer extends WebMvcConfigurerAdapter {
 
     @Override
     public void addCorsMappings(CorsRegistry registry) {
-        registry.addMapping("/**");
+        registry.addMapping("/**")
+                .allowedOrigins("*")
+                .allowCredentials(true).allowedHeaders("Origin, X-Requested-With, Content-Type, Accept")
+                .allowedMethods("GET", "POST", "DELETE", "PUT", "OPTIONS")
+                .maxAge(86400);
     }
 }
 

+ 5 - 0
src/main/java/com/ygj/yuemum/controller/admin/BranchesController.java

@@ -19,5 +19,10 @@ public class BranchesController {
         List<Branches> branches = branchesService.getBranches();
         return branches;
     }
+    @GetMapping("/getMktBranches")
+    public List<Branches> getMktBranches() {
+        List<Branches> branches = branchesService.getMktBranches();
+        return branches;
+    }
 
 }

+ 21 - 0
src/main/java/com/ygj/yuemum/controller/admin/JlAdminPermissionController.java

@@ -0,0 +1,21 @@
+package com.ygj.yuemum.controller.admin;
+
+
+import com.ygj.yuemum.service.admin.JlAdminPermissionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class JlAdminPermissionController {
+
+    @Autowired
+    private JlAdminPermissionService jlAdminPermissionService;
+    @GetMapping("/getAdminPermission")
+    public String getAdminPermission(@RequestParam("rolename") Integer rolename) {
+        String jso = jlAdminPermissionService.getAdminPermission(rolename);
+        return jso;
+    }
+
+}

+ 23 - 0
src/main/java/com/ygj/yuemum/controller/admin/JlAdminRoleController.java

@@ -0,0 +1,23 @@
+package com.ygj.yuemum.controller.admin;
+
+
+import com.ygj.yuemum.domain.admin.JlAdminRole;
+import com.ygj.yuemum.service.admin.JlAdminRoleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+public class JlAdminRoleController {
+
+    @Autowired
+    private JlAdminRoleService jlAdminRoleService;
+    @GetMapping("/getAdminRoles")
+    public List<JlAdminRole> getAdminRoles() {
+        List<JlAdminRole> jlAdminRoles = jlAdminRoleService.getAdminRoles();
+        return jlAdminRoles;
+    }
+
+}

+ 58 - 6
src/main/java/com/ygj/yuemum/controller/admin/JlAdminUserController.java

@@ -1,11 +1,14 @@
 package com.ygj.yuemum.controller.admin;
 
+import com.alibaba.fastjson.JSONObject;
 import com.ygj.yuemum.domain.admin.JlAdminUser;
 import com.ygj.yuemum.service.admin.JlAdminUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @RestController
 public class JlAdminUserController {
@@ -13,6 +16,13 @@ public class JlAdminUserController {
     @Autowired
     private JlAdminUserService jladminuserService;
 
+    @PostMapping("/queryAdminUsers")
+    public String queryAdminUsers(@ModelAttribute JlAdminUser jlAdminUser) {
+        Map<String, Object> queryAdminUsers = jladminuserService.queryAdminUsers(jlAdminUser);
+        String jso = JSONObject.toJSONString(queryAdminUsers);
+        return jso;
+    }
+
     @GetMapping("/getJlAdminUsers")
     public List<JlAdminUser> getJlAdminUsers() {
         return jladminuserService.getUsers();
@@ -20,30 +30,72 @@ public class JlAdminUserController {
 
     @PostMapping("/logIN")
     public int logIN(@ModelAttribute JlAdminUser jladminuser) {
-        if(jladminuser.getUsername() == null || jladminuser.getPassword() ==null){
+        if (jladminuser.getUsername() == null || jladminuser.getPassword() == null) {
             return 0;
         } else {
-        return jladminuserService.logIN(jladminuser);
+            return jladminuserService.logIN(jladminuser);
         }
     }
 
+    @GetMapping("/getRole")
+    public String getRole(String username) {
+        return jladminuserService.getRole(username);
+    }
+
+    @GetMapping("/getUserMkt")
+    public JlAdminUser getUserMkt(String username) {
+        return jladminuserService.getUserMkt(username);
+    }
+
     @PostMapping("/JlAdminadd")
     public int add(@ModelAttribute JlAdminUser jladminuser) {
         return jladminuserService.addUser(jladminuser);
     }
+    @PostMapping("/updateAdminUser")
+    public int updateAdminUser(@ModelAttribute JlAdminUser jladminuser) {
+        return jladminuserService.updateAdminUser(jladminuser);
+    }
 
-    @GetMapping("/JlAdmindelete/{id}")
-    public int delete(@PathVariable("id") Integer id) {
+    @GetMapping("/JlAdmindelete")
+    public int delete(@RequestParam("id") Integer id ) {
         return jladminuserService.deleteUser(id);
     }
 
+    @GetMapping("/checkUsername")
+    public int checkUsername(@RequestParam("username") String username ) {
+        return jladminuserService.checkUsername(username);
+    }
+
     @PostMapping("/JlAdminupdate")
     public int update(@ModelAttribute JlAdminUser jladminuser) {
         return jladminuserService.updateUser(jladminuser);
     }
 
-    @GetMapping("/JlAdminget/{id}")
-    public JlAdminUser getOne(@PathVariable("id") Integer id) {
+    @GetMapping("/JlAdminGetOne")
+    public JlAdminUser JlAdminGetOne(@RequestParam("id") Integer id) {
         return jladminuserService.getUser(id);
     }
+
+    @RequestMapping(value = "/unauth")
+    @ResponseBody
+    public Object unauth() {
+        Map<String, Object> map = new HashMap<String, Object>();
+        map.put("code", "1000000");
+        map.put("msg", "未登录");
+        return map;
+    }
+
+    @RequestMapping(value = "/webLogin")
+    @ResponseBody
+    public Object webLogin() {
+        Map<String, Object> map = new HashMap<String, Object>();
+        map.put("code", "1000000");
+        map.put("msg", "请登录");
+        return map;
+    }
+    @PostMapping("/disableAdminUser")
+    public int disableAdminUser(@ModelAttribute JlAdminUser jladminuser) {
+        return jladminuserService.disableAdminUser(jladminuser);
+    }
+
 }

+ 23 - 0
src/main/java/com/ygj/yuemum/controller/login/ExceptionController.java

@@ -0,0 +1,23 @@
+package com.ygj.yuemum.controller.login;
+
+import com.ygj.yuemum.service.admin.JlAdminUserService;
+import org.apache.shiro.authc.AccountException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+
+@RestControllerAdvice
+public class ExceptionController {
+    private final JlAdminUserService jlAdminUserService;
+
+    @Autowired
+    public ExceptionController(JlAdminUserService jlAdminUserService) {
+        this.jlAdminUserService = jlAdminUserService;
+    }
+
+    // 捕捉 CustomRealm 抛出的异常
+    @ExceptionHandler(AccountException.class)
+    public String handleShiroException(Exception ex) {
+        return (ex.getMessage());
+    }
+}

+ 71 - 0
src/main/java/com/ygj/yuemum/controller/login/LoginController.java

@@ -0,0 +1,71 @@
+package com.ygj.yuemum.controller.login;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ygj.yuemum.service.admin.JlAdminUserService;
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.authc.UsernamePasswordToken;
+import org.apache.shiro.subject.Subject;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class LoginController {
+    @Autowired
+    private JlAdminUserService jlAdminUserService;
+    JSONObject jsonObject = new JSONObject();
+
+    @RequestMapping(value = "/notLogin", method = RequestMethod.GET)
+    public String notLogin() {
+        return "您尚未登陆!";
+    }
+
+    @RequestMapping(value = "/notRole", method = RequestMethod.GET)
+    public String notRole() {
+        return "您没有权限!";
+    }
+
+    @RequestMapping(value = "/logout", method = RequestMethod.GET)
+    public String logout() {
+        Subject subject = SecurityUtils.getSubject();
+        //注销
+        subject.logout();
+        return "成功注销!";
+    }
+
+    /**
+     * 登陆
+     *
+     * @param username 用户名
+     * @param password 密码
+     */
+    @RequestMapping(value = "/login", method = RequestMethod.POST)
+    public String login(String username, String password) {
+        // 从SecurityUtils里边创建一个 subject
+        Subject subject = SecurityUtils.getSubject();
+        // 在认证提交前准备 token(令牌)
+
+        UsernamePasswordToken token = new UsernamePasswordToken(username, password);
+        // 执行认证登陆
+        subject.login(token);
+        //根据权限,指定返回数据;;;;l
+
+        String role = jlAdminUserService.getRole(username);
+        if("".equals(role) || role == null) {
+            jsonObject.put("staus","0");
+            jsonObject.put("msg","权限错误!");
+            String jso = JSONObject.toJSONString(jsonObject);
+            return jso;
+        } else {
+            subject.getSession().setTimeout(-1000l); //设置永不超时!
+            jsonObject.put("staus","1");
+            jsonObject.put("role",role);
+            jsonObject.put("msg","欢迎来到管理员页面");
+            jsonObject.put("token", subject.getSession().getId());
+            String jso = JSONObject.toJSONString(jsonObject);
+            return jso;
+        }
+
+    }
+}

+ 1 - 0
src/main/java/com/ygj/yuemum/dao/admin/BranchesDao.java

@@ -9,4 +9,5 @@ import java.util.List;
 public interface BranchesDao {
 
     List<Branches> getBranches();
+    List<Branches> getMktBranches();
 }

+ 14 - 0
src/main/java/com/ygj/yuemum/dao/admin/JlAdminPermissionDao.java

@@ -0,0 +1,14 @@
+package com.ygj.yuemum.dao.admin;
+
+import com.ygj.yuemum.domain.admin.JlAdminPermission;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface JlAdminPermissionDao {
+
+    List<JlAdminPermission> getPermissionChildrens(String pid,String ids);
+    List<JlAdminPermission> getPermissionParents(String ids);
+    String getPermissionLists(Integer rolename);
+}

+ 12 - 0
src/main/java/com/ygj/yuemum/dao/admin/JlAdminRoleDao.java

@@ -0,0 +1,12 @@
+package com.ygj.yuemum.dao.admin;
+
+import com.ygj.yuemum.domain.admin.JlAdminRole;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface JlAdminRoleDao {
+
+    List<JlAdminRole> getAdminRoles();
+}

+ 12 - 0
src/main/java/com/ygj/yuemum/dao/admin/JlAdminRolePermissionDao.java

@@ -0,0 +1,12 @@
+package com.ygj.yuemum.dao.admin;
+
+import com.ygj.yuemum.domain.admin.JlAdminRolePermission;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface JlAdminRolePermissionDao {
+
+    List<JlAdminRolePermission> getRolePermissions(Integer roleId);
+}

+ 5 - 0
src/main/java/com/ygj/yuemum/dao/admin/JlAdminUserDao.java

@@ -14,6 +14,7 @@ public interface JlAdminUserDao {
      * @return List<User>
      */
     List<JlAdminUser> getAll();
+    List<JlAdminUser>queryAdminUsers(JlAdminUser jlAdminUser);
     int logIN(JlAdminUser jlAdminUser);
 
     /**
@@ -22,6 +23,7 @@ public interface JlAdminUserDao {
      * @return
      */
     int deleteByPrimaryKey(Integer id);
+    int checkUsername(String username);
 
     /**
      * 插入一条用户信息
@@ -36,6 +38,9 @@ public interface JlAdminUserDao {
      * @return User
      */
     JlAdminUser selectByPrimaryKey(Integer id);
+    JlAdminUser getUserMkt(String username);
+    String getPassword(String username);
+    String getRole(String username);
 
     /**
      * 根据id更新一条用户信息

+ 60 - 0
src/main/java/com/ygj/yuemum/domain/admin/AsyncRouterMap.java

@@ -0,0 +1,60 @@
+package com.ygj.yuemum.domain.admin;
+
+import java.util.List;
+
+public class AsyncRouterMap {
+    private Boolean alwaysShow;
+    private List<RoleChildren> children;
+    private RoleComponent component;
+    private RoleMeta meta;
+    private String path;
+    private RoleRedirect redirect;
+
+    public Boolean getAlwaysShow() {
+        return alwaysShow;
+    }
+
+    public void setAlwaysShow(Boolean alwaysShow) {
+        this.alwaysShow = alwaysShow;
+    }
+
+    public List<RoleChildren> getChildren() {
+        return children;
+    }
+
+    public void setChildren(List<RoleChildren> children) {
+        this.children = children;
+    }
+
+    public RoleComponent getComponent() {
+        return component;
+    }
+
+    public void setComponent(RoleComponent component) {
+        this.component = component;
+    }
+
+    public RoleMeta getMeta() {
+        return meta;
+    }
+
+    public void setMeta(RoleMeta meta) {
+        this.meta = meta;
+    }
+
+    public String getPath() {
+        return path;
+    }
+
+    public void setPath(String path) {
+        this.path = path;
+    }
+
+    public RoleRedirect getRedirect() {
+        return redirect;
+    }
+
+    public void setRedirect(RoleRedirect redirect) {
+        this.redirect = redirect;
+    }
+}

+ 112 - 0
src/main/java/com/ygj/yuemum/domain/admin/JlAdminPermission.java

@@ -0,0 +1,112 @@
+package com.ygj.yuemum.domain.admin;
+
+public class JlAdminPermission {
+    private String id;
+    private String jp_path;
+    private String jp_component;
+    private String jp_redirect;
+    private boolean jp_hidden;
+    private boolean jp_alwaysShow;
+    private String jp_meta_title;
+    private String jp_meta_icon;
+    private String jp_relation;
+    private String jp_name;
+    private Integer jp_parentid;
+    private Integer jp_seq;
+
+    public Integer getJp_seq() {
+        return jp_seq;
+    }
+
+    public void setJp_seq(Integer jp_seq) {
+        this.jp_seq = jp_seq;
+    }
+
+    public Integer getJp_parentid() {
+        return jp_parentid;
+    }
+
+    public void setJp_parentid(Integer jp_parentid) {
+        this.jp_parentid = jp_parentid;
+    }
+
+    public String getJp_name() {
+        return jp_name;
+    }
+
+    public void setJp_name(String jp_name) {
+        this.jp_name = jp_name;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getJp_path() {
+        return jp_path;
+    }
+
+    public void setJp_path(String jp_path) {
+        this.jp_path = jp_path;
+    }
+
+    public String getJp_component() {
+        return jp_component;
+    }
+
+    public void setJp_component(String jp_component) {
+        this.jp_component = jp_component;
+    }
+
+    public String getJp_redirect() {
+        return jp_redirect;
+    }
+
+    public void setJp_redirect(String jp_redirect) {
+        this.jp_redirect = jp_redirect;
+    }
+
+    public boolean isJp_hidden() {
+        return jp_hidden;
+    }
+
+    public void setJp_hidden(boolean jp_hidden) {
+        this.jp_hidden = jp_hidden;
+    }
+
+    public boolean isJp_alwaysShow() {
+        return jp_alwaysShow;
+    }
+
+    public void setJp_alwaysShow(boolean jp_alwaysShow) {
+        this.jp_alwaysShow = jp_alwaysShow;
+    }
+
+    public String getJp_meta_title() {
+        return jp_meta_title;
+    }
+
+    public void setJp_meta_title(String jp_meta_title) {
+        this.jp_meta_title = jp_meta_title;
+    }
+
+    public String getJp_meta_icon() {
+        return jp_meta_icon;
+    }
+
+    public void setJp_meta_icon(String jp_meta_icon) {
+        this.jp_meta_icon = jp_meta_icon;
+    }
+
+    public String getJp_relation() {
+        return jp_relation;
+    }
+
+    public void setJp_relation(String jp_relation) {
+        this.jp_relation = jp_relation;
+    }
+}

+ 22 - 0
src/main/java/com/ygj/yuemum/domain/admin/JlAdminRole.java

@@ -0,0 +1,22 @@
+package com.ygj.yuemum.domain.admin;
+
+public class JlAdminRole {
+    private String id;
+    private String jr_rolename;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getJr_rolename() {
+        return jr_rolename;
+    }
+
+    public void setJr_rolename(String jr_rolename) {
+        this.jr_rolename = jr_rolename;
+    }
+}

+ 31 - 0
src/main/java/com/ygj/yuemum/domain/admin/JlAdminRolePermission.java

@@ -0,0 +1,31 @@
+package com.ygj.yuemum.domain.admin;
+
+public class JlAdminRolePermission {
+    private String id;
+    private Integer jrp_roleid;
+    private Integer jrp_perid;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public Integer getJrp_roleid() {
+        return jrp_roleid;
+    }
+
+    public void setJrp_roleid(Integer jrp_roleid) {
+        this.jrp_roleid = jrp_roleid;
+    }
+
+    public Integer getJrp_perid() {
+        return jrp_perid;
+    }
+
+    public void setJrp_perid(Integer jrp_perid) {
+        this.jrp_perid = jrp_perid;
+    }
+}

+ 48 - 3
src/main/java/com/ygj/yuemum/domain/admin/JlAdminUser.java

@@ -4,10 +4,11 @@ import java.util.Date;
 
 public class JlAdminUser {
     private Integer id;
+    private String name;
     private String username;
     private String email;
     private String password;
-    private Date create_time;
+    private String create_time;
     private Date last_login_time;
     private String last_login_ip;
     private Integer role;
@@ -23,6 +24,50 @@ public class JlAdminUser {
     private Date update_time;
     private String npwd;
     private String npwd2;
+    private String rolename;
+    private Integer page;
+    private Integer limit;
+    private String cityname;
+
+    public String getCityname() {
+        return cityname;
+    }
+
+    public void setCityname(String cityname) {
+        this.cityname = cityname;
+    }
+
+    public Integer getPage() {
+        return page;
+    }
+
+    public void setPage(Integer page) {
+        this.page = page;
+    }
+
+    public Integer getLimit() {
+        return limit;
+    }
+
+    public void setLimit(Integer limit) {
+        this.limit = limit;
+    }
+
+    public String getRolename() {
+        return rolename;
+    }
+
+    public void setRolename(String rolename) {
+        this.rolename = rolename;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
 
     public String getNpwd() {
         return npwd;
@@ -76,11 +121,11 @@ public class JlAdminUser {
         this.password = password;
     }
 
-    public Date getCreate_time() {
+    public String getCreate_time() {
         return create_time;
     }
 
-    public void setCreate_time(Date create_time) {
+    public void setCreate_time(String create_time) {
         this.create_time = create_time;
     }
 

+ 49 - 0
src/main/java/com/ygj/yuemum/domain/admin/RoleChildren.java

@@ -0,0 +1,49 @@
+package com.ygj.yuemum.domain.admin;
+
+public class RoleChildren {
+    private String component;
+    private RoleMeta meta;
+    private String name;
+    private String path;
+    private Boolean hidden;
+
+    public Boolean getHidden() {
+        return hidden;
+    }
+
+    public void setHidden(Boolean hidden) {
+        this.hidden = hidden;
+    }
+
+    public String getComponent() {
+        return component;
+    }
+
+    public void setComponent(String component) {
+        this.component = component;
+    }
+
+    public RoleMeta getMeta() {
+        return meta;
+    }
+
+    public void setMeta(RoleMeta meta) {
+        this.meta = meta;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getPath() {
+        return path;
+    }
+
+    public void setPath(String path) {
+        this.path = path;
+    }
+}

+ 13 - 0
src/main/java/com/ygj/yuemum/domain/admin/RoleComponent.java

@@ -0,0 +1,13 @@
+package com.ygj.yuemum.domain.admin;
+
+public class RoleComponent {
+    private String name;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}

+ 22 - 0
src/main/java/com/ygj/yuemum/domain/admin/RoleMeta.java

@@ -0,0 +1,22 @@
+package com.ygj.yuemum.domain.admin;
+
+public class RoleMeta {
+    private String icon;
+    private String title;
+
+    public String getIcon() {
+        return icon;
+    }
+
+    public void setIcon(String icon) {
+        this.icon = icon;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+}

+ 13 - 0
src/main/java/com/ygj/yuemum/domain/admin/RoleRedirect.java

@@ -0,0 +1,13 @@
+package com.ygj.yuemum.domain.admin;
+
+public class RoleRedirect {
+    private String name;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}

+ 18 - 17
src/main/java/com/ygj/yuemum/domain/equipment/EquipmentReturn.java

@@ -3,20 +3,13 @@ package com.ygj.yuemum.domain.equipment;
 public class EquipmentReturn {
 
     private Integer id;
-    private Integer er_return_rental;
-    private Integer er_return_mortagage;
+    private Double er_return_rental;
+    private Double er_return_mortagage;
     private String er_return_remarks;
     private String eh_code;
     private String er_usercode;
     private String er_date;
 
-    public Integer getEr_return_mortagage() {
-        return er_return_mortagage;
-    }
-
-    public void setEr_return_mortagage(Integer er_return_mortagage) {
-        this.er_return_mortagage = er_return_mortagage;
-    }
 
     public Integer getId() {
         return id;
@@ -26,14 +19,6 @@ public class EquipmentReturn {
         this.id = id;
     }
 
-    public Integer getEr_return_rental() {
-        return er_return_rental;
-    }
-
-    public void setEr_return_rental(Integer er_return_rental) {
-        this.er_return_rental = er_return_rental;
-    }
-
     public String getEr_return_remarks() {
         return er_return_remarks;
     }
@@ -65,4 +50,20 @@ public class EquipmentReturn {
     public void setEr_date(String er_date) {
         this.er_date = er_date;
     }
+
+    public Double getEr_return_rental() {
+        return er_return_rental;
+    }
+
+    public void setEr_return_rental(Double er_return_rental) {
+        this.er_return_rental = er_return_rental;
+    }
+
+    public Double getEr_return_mortagage() {
+        return er_return_mortagage;
+    }
+
+    public void setEr_return_mortagage(Double er_return_mortagage) {
+        this.er_return_mortagage = er_return_mortagage;
+    }
 }

+ 10 - 0
src/main/java/com/ygj/yuemum/domain/maternitymatron/QueryServiceUserStock.java

@@ -29,9 +29,19 @@ public class QueryServiceUserStock {
     private String ageend;
     private String salt;
     private Integer days;
+    private String mobile_phone;
     int page;
     int limit;
 
+
+    public String getMobile_phone() {
+        return mobile_phone;
+    }
+
+    public void setMobile_phone(String mobile_phone) {
+        this.mobile_phone = mobile_phone;
+    }
+
     public Integer getDays() {
         return days;
     }

+ 3 - 0
src/main/java/com/ygj/yuemum/service/admin/BranchesService.java

@@ -17,5 +17,8 @@ public class BranchesService {
     public List<Branches> getBranches() {
         return branchesDao.getBranches();
     }
+    public List<Branches> getMktBranches() {
+        return branchesDao.getMktBranches();
+    }
 
 }

+ 65 - 0
src/main/java/com/ygj/yuemum/service/admin/JlAdminPermissionService.java

@@ -0,0 +1,65 @@
+package com.ygj.yuemum.service.admin;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ygj.yuemum.dao.admin.JlAdminPermissionDao;
+import com.ygj.yuemum.domain.admin.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class JlAdminPermissionService {
+
+    @Autowired
+
+    private JlAdminPermissionDao jlAdminPermissionDao;
+
+    public String getAdminPermission(Integer rolename){
+        //获取角色关联id
+        String roleList = jlAdminPermissionDao.getPermissionLists(rolename);
+        List<JlAdminPermission> ParentPermission = jlAdminPermissionDao.getPermissionParents(roleList);
+        Map<String,Object> param = new LinkedHashMap<>();
+        List <Object> paramArray = new ArrayList<>();
+        for (JlAdminPermission pp : ParentPermission){
+            AsyncRouterMap asyncRouterMap = new AsyncRouterMap();
+            RoleRedirect roleRedirect = new RoleRedirect();
+            RoleMeta roleMeta = new RoleMeta();
+            RoleComponent roleComponent = new RoleComponent();
+
+            asyncRouterMap.setAlwaysShow(pp.isJp_alwaysShow());
+            asyncRouterMap.setPath(pp.getJp_path());
+            roleComponent.setName(pp.getJp_component());
+            asyncRouterMap.setComponent(roleComponent);
+            roleMeta.setIcon(pp.getJp_meta_icon());
+            roleMeta.setTitle(pp.getJp_meta_title());
+            asyncRouterMap.setMeta(roleMeta);
+            roleRedirect.setName(pp.getJp_redirect());
+            asyncRouterMap.setRedirect(roleRedirect);
+            List<JlAdminPermission> ChildrenPermission = jlAdminPermissionDao.getPermissionChildrens(pp.getId(),roleList);
+            List <RoleChildren> roleChildrenList = new ArrayList<>();
+            for(JlAdminPermission cp : ChildrenPermission){
+                RoleChildren roleChildren = new RoleChildren();
+                RoleMeta roleMetac = new RoleMeta();
+                roleChildren.setPath(cp.getJp_path());
+                roleChildren.setComponent(cp.getJp_component());
+                roleChildren.setName(cp.getJp_name());
+                roleMetac.setTitle(cp.getJp_meta_title());
+                if(cp.isJp_hidden()){
+                    roleChildren.setHidden(cp.isJp_hidden());
+                }
+                roleChildren.setMeta(roleMetac);
+                roleChildrenList.add(roleChildren);
+            }
+            asyncRouterMap.setChildren(roleChildrenList);
+            param.put("asyncRouterMap",asyncRouterMap);
+            paramArray.add(asyncRouterMap);
+        }
+
+        String jso = JSONObject.toJSONString(paramArray);
+        return jso;
+    }
+}

+ 21 - 0
src/main/java/com/ygj/yuemum/service/admin/JlAdminRolePermissionService.java

@@ -0,0 +1,21 @@
+package com.ygj.yuemum.service.admin;
+
+import com.ygj.yuemum.dao.admin.JlAdminRolePermissionDao;
+import com.ygj.yuemum.domain.admin.JlAdminRolePermission;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class JlAdminRolePermissionService {
+
+    @Autowired
+
+    private JlAdminRolePermissionDao jlAdminRolePermissionDao;
+
+    public List<JlAdminRolePermission> getRolePermissions(Integer roleId) {
+        return jlAdminRolePermissionDao.getRolePermissions(roleId);
+    }
+
+}

+ 21 - 0
src/main/java/com/ygj/yuemum/service/admin/JlAdminRoleService.java

@@ -0,0 +1,21 @@
+package com.ygj.yuemum.service.admin;
+
+import com.ygj.yuemum.dao.admin.JlAdminRoleDao;
+import com.ygj.yuemum.domain.admin.JlAdminRole;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class JlAdminRoleService {
+
+    @Autowired
+
+    private JlAdminRoleDao jlAdminRoleDao;
+
+    public List<JlAdminRole> getAdminRoles() {
+        return jlAdminRoleDao.getAdminRoles();
+    }
+
+}

+ 43 - 2
src/main/java/com/ygj/yuemum/service/admin/JlAdminUserService.java

@@ -1,11 +1,17 @@
 package com.ygj.yuemum.service.admin;
 
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.ygj.yuemum.dao.admin.JlAdminUserDao;
 import com.ygj.yuemum.domain.admin.JlAdminUser;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 
 @Service
@@ -19,10 +25,33 @@ public class JlAdminUserService {
         return jladminusers;
     }
 
+    public Map<String, Object> queryAdminUsers(JlAdminUser jlAdminUser) {
+        PageHelper.startPage(jlAdminUser.getPage(), jlAdminUser.getLimit());
+        List<JlAdminUser> jladminusers = jladminuserdao.queryAdminUsers(jlAdminUser);
+        PageInfo<JlAdminUser> pageInfo = new PageInfo<JlAdminUser>(jladminusers);
+        long count = pageInfo.getTotal(); //获取总记录数
+        Map<String, Object> tableData = new HashMap<>();
+        tableData.put("items", jladminusers);
+        tableData.put("total", count);
+        return tableData;
+    }
+
+
     public int addUser(JlAdminUser jladminusers) {
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        jladminusers.setCreate_time(dateFormat.format(new Date()));
+        jladminusers.setStatus(1);
         return jladminuserdao.insertSelective(jladminusers);
     }
 
+    public String getPassword(String username) {
+        return jladminuserdao.getPassword(username);
+    }
+
+    public String getRole(String username) {
+        return jladminuserdao.getRole(username);
+    }
+
     public int deleteUser(Integer id) {
         return jladminuserdao.deleteByPrimaryKey(id);
     }
@@ -31,7 +60,7 @@ public class JlAdminUserService {
         return jladminuserdao.logIN(jladminuser);
     }
 
-        public int updateUser(JlAdminUser jladminusers) {
+    public int updateUser(JlAdminUser jladminusers) {
         try{
             JlAdminUser jlAdminUser = new JlAdminUser();
             jlAdminUser.setPassword(jladminusers.getPassword());
@@ -49,8 +78,20 @@ public class JlAdminUserService {
         }
         return 1;
     }
-
+    public int disableAdminUser(JlAdminUser jlAdminUser){
+        return jladminuserdao.updateByPrimaryKeySelective(jlAdminUser);
+    }
+    public int updateAdminUser(JlAdminUser jlAdminUser){
+        return jladminuserdao.updateByPrimaryKeySelective(jlAdminUser);
+    }
+    public int checkUsername(String username) {
+        return jladminuserdao.checkUsername(username);
+    }
     public JlAdminUser getUser(Integer id) {
         return jladminuserdao.selectByPrimaryKey(id);
     }
+
+    public JlAdminUser getUserMkt(String username) {
+        return jladminuserdao.getUserMkt(username);
+    }
 }

+ 0 - 2
src/main/java/com/ygj/yuemum/service/global/WeChatInfoService.java

@@ -174,7 +174,6 @@ public class WeChatInfoService {
 
         wechatTemplate.setData(mapdata);
         String toString = mapper.writeValueAsString(wechatTemplate);
-        System.out.println(toString);
 
         String result = "";
         CloseableHttpClient httpClient = HttpClients.createDefault();
@@ -189,7 +188,6 @@ public class WeChatInfoService {
         } else {
             return 0;
         }
-        System.out.println(result);
         return 1;
     }
 

+ 64 - 0
src/main/java/com/ygj/yuemum/shiro/CustomRealm.java

@@ -0,0 +1,64 @@
+package com.ygj.yuemum.shiro;
+
+import com.ygj.yuemum.service.admin.JlAdminUserService;
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.authc.*;
+import org.apache.shiro.authz.AuthorizationInfo;
+import org.apache.shiro.authz.SimpleAuthorizationInfo;
+import org.apache.shiro.realm.AuthorizingRealm;
+import org.apache.shiro.subject.PrincipalCollection;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.HashSet;
+import java.util.Set;
+
+public class CustomRealm extends AuthorizingRealm {
+    private JlAdminUserService jlAdminUserService;
+
+    @Autowired
+    private void setUserMapper(JlAdminUserService jlAdminUserService) {
+        this.jlAdminUserService = jlAdminUserService;
+    }
+
+    /**
+     * 获取身份验证信息
+     * Shiro中,最终是通过 Realm 来获取应用程序中的用户、角色及权限信息的。
+     *
+     * @param authenticationToken 用户身份信息 token
+     * @return 返回封装了用户信息的 AuthenticationInfo 实例
+     */
+    @Override
+    protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
+        UsernamePasswordToken token = (UsernamePasswordToken) authenticationToken;
+        // 根据用户名获取密码
+        String password = jlAdminUserService.getPassword(token.getUsername());
+
+        //密码比对
+        if (null == password) {
+            throw new AccountException("用户名不正确111");
+        } else if (!password.equals(new String((char[]) token.getCredentials()))) {
+            throw new AccountException("密码不正确");
+        }
+        return new SimpleAuthenticationInfo(token.getPrincipal(), password, getName());
+    }
+
+    /**
+     * 获取授权信息
+     *
+     * @param principalCollection
+     * @return
+     */
+    @Override
+    protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
+        String username = (String) SecurityUtils.getSubject().getPrincipal();
+        SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
+        //获得该用户角色
+        String role = jlAdminUserService.getRole(username);
+        Set<String> set = new HashSet<>();
+        //需要将 role 封装到 Set 作为 info.setRoles() 的参数
+        set.add(role);
+        //设置该用户拥有的角色
+        info.setRoles(set);
+        return info;
+    }
+}

+ 108 - 0
src/main/java/com/ygj/yuemum/shiro/ShiroConfig.java

@@ -0,0 +1,108 @@
+package com.ygj.yuemum.shiro;
+
+import org.apache.shiro.mgt.SecurityManager;
+import org.apache.shiro.session.mgt.SessionManager;
+import org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO;
+import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
+import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+@Configuration
+public class ShiroConfig {
+    @Bean
+    public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) {
+        ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
+        // 必须设置 SecurityManager
+        shiroFilterFactoryBean.setSecurityManager(securityManager);
+        // setLoginUrl 如果不设置值,默认会自动寻找Web工程根目录下的"/login.jsp"页面 或 "/login" 映射
+        shiroFilterFactoryBean.setLoginUrl("/webLogin");
+        // 设置无权限时跳转的 url;
+        shiroFilterFactoryBean.setUnauthorizedUrl("/unauth");
+        // 设置拦截器
+        Map<String, String> filterChainDefinitionMap = new LinkedHashMap<>();
+
+        //小程序开放权限
+        filterChainDefinitionMap.put("/addEquipmenteHireDetail'", "anon");
+        filterChainDefinitionMap.put("/addEquipmenteHireHeadOnline'", "anon");
+        filterChainDefinitionMap.put("/deleteEquipmenteHireHead", "anon");
+        filterChainDefinitionMap.put("/deleteWXUserDefAddress", "anon");
+        filterChainDefinitionMap.put("/getBanners", "anon");
+        filterChainDefinitionMap.put("/getConsultant", "anon");
+        filterChainDefinitionMap.put("/getCustomerEq", "anon");
+        filterChainDefinitionMap.put("/getEquipmentTypes", "anon");
+        filterChainDefinitionMap.put("/getEqUserAddress", "anon");
+        filterChainDefinitionMap.put("/getIndexs", "anon");
+        filterChainDefinitionMap.put("/getMktInfos", "anon");
+        filterChainDefinitionMap.put("/getPackageDetail", "anon");
+        filterChainDefinitionMap.put("/getPackageLists", "anon");
+        filterChainDefinitionMap.put("/getPackageShowname", "anon");
+        filterChainDefinitionMap.put("/getPIClasses", "anon");
+        filterChainDefinitionMap.put("/getPIGroups", "anon");
+        filterChainDefinitionMap.put("/getPIServices", "anon");
+        filterChainDefinitionMap.put("/getPromotions", "anon");
+        filterChainDefinitionMap.put("/getWXCustomerCoupons", "anon");
+        filterChainDefinitionMap.put("/getWxDecrypt", "anon");
+        filterChainDefinitionMap.put("/getWXOpenid", "anon");
+        filterChainDefinitionMap.put("/getWXUserAddress", "anon");
+        filterChainDefinitionMap.put("/getYueSuo", "anon");
+        filterChainDefinitionMap.put("/insertCustomerBooking", "anon");
+        filterChainDefinitionMap.put("/insertEqCustomerBooking", "anon");
+        filterChainDefinitionMap.put("/insertWXUserAddress", "anon");
+        filterChainDefinitionMap.put("/updateWXUser", "anon");
+        filterChainDefinitionMap.put("/updateWXUserAddress", "anon");
+        filterChainDefinitionMap.put("/updateWXUserDefAddress", "anon");
+        filterChainDefinitionMap.put("/WXSendBookingMessage", "anon");
+        filterChainDefinitionMap.put("/WXSendOrderMessage", "anon");
+        filterChainDefinitionMap.put("/getEquipmentAmount", "anon");
+        //萌动开放权限
+        filterChainDefinitionMap.put("/getNewUserCoupon", "anon");
+        filterChainDefinitionMap.put("/getConsultTaskCoupon", "anon");
+        filterChainDefinitionMap.put("/getDetectionTaskCoupon", "anon");
+        filterChainDefinitionMap.put("/getRechargeTaskCoupon", "anon");
+//        //用户,需要角色权限 “user”
+//        filterChainDefinitionMap.put("/user/**", "roles[user]");
+//        //管理员,需要角色权限 “admin”
+//        filterChainDefinitionMap.put("/admin/**", "roles[admin]");
+        //开放登陆接口
+        filterChainDefinitionMap.put("/login", "anon");
+        //其余接口一律拦截
+        //主要这行代码必须放在所有权限设置的最后,不然会导致所有 url 都被拦截
+        filterChainDefinitionMap.put("/**", "authc");
+
+        shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
+        return shiroFilterFactoryBean;
+    }
+
+    /**
+     * 自定义身份认证 realm;
+     * <p>
+     * 必须写这个类,并加上 @Bean 注解,目的是注入 CustomRealm,
+     * 否则会影响 CustomRealm类 中其他类的依赖注入
+     */
+    @Bean
+    public CustomRealm customRealm() {
+        return new CustomRealm();
+    }
+    @Bean
+    public SessionManager sessionManager(){
+        ShiroSessionManager shiroSessionManager = new ShiroSessionManager();
+        //这里可以不设置。Shiro有默认的session管理。如果缓存为Redis则需改用Redis的管理
+        shiroSessionManager.setSessionDAO(new EnterpriseCacheSessionDAO());
+        return shiroSessionManager;
+    }
+    @Bean
+    public SecurityManager securityManager(){
+        DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
+        securityManager.setRealm(customRealm());
+        //自定义session管理
+        securityManager.setSessionManager(sessionManager());
+        //自定义缓存实现
+//        securityManager.setCacheManager(ehCacheManager());
+        return  securityManager;
+    }
+
+}

+ 52 - 0
src/main/java/com/ygj/yuemum/shiro/ShiroLoginFilter.java

@@ -0,0 +1,52 @@
+package com.ygj.yuemum.shiro;
+
+import org.apache.http.HttpStatus;
+import org.springframework.boot.web.servlet.ServletComponentScan;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.*;
+import javax.servlet.annotation.WebFilter;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+@Component
+@ServletComponentScan
+@WebFilter(urlPatterns = "/*",filterName = "shiroLoginFilter")
+public class ShiroLoginFilter  implements Filter {
+
+    private FilterConfig config = null;
+
+    @Override
+    public void init(FilterConfig config) throws ServletException {
+        this.config = config;
+    }
+    @Override
+    public void destroy() {
+        this.config = null;
+    }
+    @Override
+    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
+        HttpServletResponse response = (HttpServletResponse) servletResponse;
+        HttpServletRequest request = (HttpServletRequest) servletRequest;
+        // 允许哪些Origin发起跨域请求,nginx下正常
+        // response.setHeader( "Access-Control-Allow-Origin", config.getInitParameter( "AccessControlAllowOrigin" ) );
+        response.setHeader( "Access-Control-Allow-Origin", request.getHeader("Origin") );
+        // 允许请求的方法
+        response.setHeader( "Access-Control-Allow-Methods", "*" );
+        // 多少秒内,不需要再发送预检验请求,可以缓存该结果
+        response.setHeader( "Access-Control-Max-Age", "86400" );
+        // 表明它允许跨域请求包含xxx头
+        response.setHeader( "Access-Control-Allow-Headers", "JSESSIONID,x-auth-token,Origin,Access-Token,X-Requested-With,Content-Type, Accept" );
+        //是否允许浏览器携带用户身份信息(cookie)
+        response.setHeader( "Access-Control-Allow-Credentials", "true" );
+        if (request.getMethod().equals( "OPTIONS" )) {
+            response.setStatus(HttpStatus.SC_OK);
+            response.getWriter().write("OPTIONS returns OK");
+            return;
+        }
+        filterChain.doFilter( servletRequest, response );
+    }
+
+
+}

+ 42 - 0
src/main/java/com/ygj/yuemum/shiro/ShiroSessionManager.java

@@ -0,0 +1,42 @@
+package com.ygj.yuemum.shiro;
+import org.apache.shiro.web.servlet.ShiroHttpServletRequest;
+import org.apache.shiro.web.session.mgt.DefaultWebSessionManager;
+import org.apache.shiro.web.util.WebUtils;
+import org.springframework.util.StringUtils;
+
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import java.io.Serializable;
+
+/**
+ * Description:shiro框架 自定义session获取方式
+ * 可自定义session获取规则。这里采用ajax请求头authToken携带sessionId的方式
+ *
+ * @author zlp
+ * @create 2018-05-24 10:04
+ **/
+public class ShiroSessionManager extends DefaultWebSessionManager {
+
+    private static final String AUTHORIZATION = "JSESSIONID";
+
+    private static final String REFERENCED_SESSION_ID_SOURCE = "Stateless request";
+
+    public ShiroSessionManager(){
+        super();
+    }
+
+    @Override
+    protected Serializable getSessionId(ServletRequest request, ServletResponse response){
+        String id = WebUtils.toHttp(request).getHeader(AUTHORIZATION);
+        if(StringUtils.isEmpty(id)){
+            //如果没有携带id参数则按照父类的方式在cookie进行获取
+            return super.getSessionId(request, response);
+        }else{
+            //如果请求头中有 authToken 则其值为sessionId
+            request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_SOURCE,REFERENCED_SESSION_ID_SOURCE);
+            request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID,id);
+            request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_IS_VALID,Boolean.TRUE);
+            return id;
+        }
+    }
+}

+ 0 - 1
src/main/java/com/ygj/yuemum/utils/IDcard.java

@@ -14,7 +14,6 @@ public class IDcard {
      */
 //    public static void main(String[] args) throws Exception{
 //        String idcardt ="130202198307080017";
-//        System.out.println(idcardt.length());
 //        String year = idcardt.substring(6,10);
 //        String month = idcardt.substring(10,12);
 //        String day = idcardt.substring(12,14);

+ 7 - 0
src/main/resources/mybatis/mapper/admin/BranchesMapper.xml

@@ -12,6 +12,13 @@
         select
         branche_code,branche_name
         from branches
+        where id != 1
+    </select>
+
+    <select id="getMktBranches" resultType="com.ygj.yuemum.domain.admin.Branches" >
+        select
+        branche_code,branche_name
+        from branches
     </select>
 
 </mapper>

+ 43 - 0
src/main/resources/mybatis/mapper/admin/JlAdminPermissionMapper.xml

@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ygj.yuemum.dao.admin.JlAdminPermissionDao">
+
+    <!--获取所有数据-->
+    <select id="getPermissionParents" resultType="com.ygj.yuemum.domain.admin.JlAdminPermission"
+            parameterType="java.lang.String">
+        select
+        *
+        from jl_admin_permission
+        where jp_relation = 'parnets'
+        and id in (${_parameter})
+        order by jp_seq asc
+    </select>
+
+    <select id="getPermissionChildrens" resultType="com.ygj.yuemum.domain.admin.JlAdminPermission">
+        select
+        *
+        from jl_admin_permission
+        where jp_relation = 'childrens'
+        and jp_parentid = #{arg0}
+        and id in (${arg1})
+        order by jp_seq asc
+    </select>
+    <select id="getPermissionLists" resultType="java.lang.String"
+            parameterType="java.lang.Integer">
+        SELECT
+            group_concat(jrp_perid) jrp_perid
+        FROM
+            jl_admin_role_permission
+        WHERE
+            jrp_roleid = (
+		SELECT
+			id
+		FROM
+			jl_admin_role
+		WHERE
+			id  = #{id,jdbcType=INTEGER}
+	)
+    </select>
+
+
+</mapper>

+ 18 - 0
src/main/resources/mybatis/mapper/admin/JlAdminRoleMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ygj.yuemum.dao.admin.JlAdminRoleDao" >
+
+    <resultMap id="BaseResultMap" type="com.ygj.yuemum.domain.admin.JlAdminRole" >
+        <id column="id" property="id" jdbcType="INTEGER" />
+        <result column="jr_rolename" property="jr_rolename" jdbcType="VARCHAR" />
+    </resultMap>
+
+    <!--获取所有数据-->
+    <select id="getAdminRoles" resultType="com.ygj.yuemum.domain.admin.JlAdminRole" >
+        select
+        id,jr_rolename
+        from jl_admin_role
+        order by id asc
+    </select>
+
+</mapper>

+ 13 - 0
src/main/resources/mybatis/mapper/admin/JlAdminRolePermissionMapper.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ygj.yuemum.dao.admin.JlAdminRolePermissionDao" >
+
+    <!--获取所有数据-->
+    <select id="getRolePermissions" resultType="com.ygj.yuemum.domain.admin.JlAdminRolePermission" parameterType="java.lang.Integer" >
+        select
+        *
+        from jl_admin_role_permission
+        where jrp_roleid = #{roleId,jdbcType=VARCHAR}
+    </select>
+
+</mapper>

+ 72 - 7
src/main/resources/mybatis/mapper/admin/JlAdminUserMapper.xml

@@ -6,8 +6,9 @@
         <id column="id" property="id" jdbcType="INTEGER" />
         <result column="username" property="username" jdbcType="VARCHAR" />
         <result column="email" property="email" jdbcType="VARCHAR" />
+        <result column="name" property="name" jdbcType="VARCHAR" />
         <result column="password" property="password" jdbcType="VARCHAR" />
-        <result column="create_time" property="create_time" jdbcType="DATE" />
+        <result column="create_time" property="create_time" jdbcType="VARCHAR" />
         <result column="last_login_time" property="last_login_time" jdbcType="DATE" />
         <result column="last_login_ip" property="last_login_ip" jdbcType="VARCHAR" />
         <result column="role" property="role" jdbcType="INTEGER" />
@@ -28,12 +29,46 @@
         id,username,email,password,create_time,last_login_time,last_login_ip,role,status,org,last_login_location,remark,phone,province,city,district,enabled,update_time
     </sql>
 
+    <select id="checkUsername"  resultType="java.lang.Integer" parameterType="java.lang.String">
+        select
+        count(1)
+        from jl_admin_user
+        where username =  #{username,jdbcType=VARCHAR}
+    </select>
     <!-- 得到所有的用户信息 -->
     <select id="getAll" resultMap="BaseResultMap" >
         select
         <include refid="Base_Column_List" />
         from jl_admin_user
     </select>
+    <select id="queryAdminUsers" resultMap="BaseResultMap" parameterType="com.ygj.yuemum.domain.admin.JlAdminUser">
+        select
+        id,
+        username,
+        name,
+        role,
+        status,
+        city,
+        IFNULL(fgetbranches_name(city),'ALL') cityname,
+        fgetrole_name(role) rolename
+        from jl_admin_user
+        where username != 'admin'
+        <if test="username != null and username !=''">
+            and username like "%"#{username,jdbcType=VARCHAR}"%"
+        </if>
+        <if test="name != null and name !=''">
+            and name like "%"#{name,jdbcType=VARCHAR}"%"
+        </if>
+        <if test="role != null and role !=''">
+            and role = #{role,jdbcType=INTEGER}
+        </if>
+        <if test="status != null ">
+            and status = #{status,jdbcType=INTEGER}
+        </if>
+        <if test="city != null and city !=''">
+            and city = #{city,jdbcType=VARCHAR}
+        </if>
+    </select>
 
     <select id="logIN" resultType="java.lang.Integer" parameterType="com.ygj.yuemum.domain.admin.JlAdminUser">
         select
@@ -48,10 +83,34 @@
         </if>
     </select>
 
+    <select id="getPassword" resultType="java.lang.String" parameterType="java.lang.String">
+        select
+        password
+        from jl_admin_user
+        where
+        username =  #{username,jdbcType=VARCHAR}
+    </select>
+
+    <select id="getRole" resultType="java.lang.String" parameterType="java.lang.String">
+        select
+        role
+        from jl_admin_user
+        where
+        username =  #{username,jdbcType=VARCHAR}
+    </select>
+
+    <select id="getUserMkt" resultMap="BaseResultMap" parameterType="java.lang.String">
+        select
+        *
+        from jl_admin_user
+        where
+        username =  #{username,jdbcType=VARCHAR}
+    </select>
+
     <!-- 根据id查找某个用户信息 -->
     <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
         select
-        <include refid="Base_Column_List" />
+        *
         from jl_admin_user
         where id = #{id,jdbcType=INTEGER}
     </select>
@@ -72,6 +131,9 @@
             <if test="email != null" >
                 email,
             </if>
+            <if test="name != null" >
+                name,
+            </if>
             <if test="password != null" >
                 password,
             </if>
@@ -126,11 +188,14 @@
             <if test="email != null" >
                 #{email,jdbcType=VARCHAR},
             </if>
+            <if test="name != null" >
+                #{name,jdbcType=VARCHAR},
+            </if>
             <if test="password != null" >
                 #{password,jdbcType=VARCHAR},
             </if>
             <if test="create_time != null" >
-                #{create_time,jdbcType=DATETIME},
+                #{create_time,jdbcType=VARCHAR},
             </if>
             <if test="last_login_time != null" >
                 #{last_login_time,jdbcType=DATETIME},
@@ -165,9 +230,6 @@
             <if test="district != null" >
                 #{district,jdbcType=VARCHAR},
             </if>
-            <if test="password != null" >
-                #{password,jdbcType=VARCHAR},
-            </if>
             <if test="enabled != null" >
                 #{enabled,jdbcType=INTEGER},
             </if>
@@ -184,6 +246,9 @@
             <if test="username != null" >
                 username = #{username,jdbcType=VARCHAR},
             </if>
+            <if test="name != null" >
+                name = #{name,jdbcType=VARCHAR},
+            </if>
             <if test="email != null" >
                 email = #{email,jdbcType=VARCHAR},
             </if>
@@ -233,7 +298,7 @@
                 update_time = #{update_time,jdbcType=DATE}
             </if>
         </set>
-        where username = #{username,jdbcType=INTEGER}
+        where id = #{id,jdbcType=INTEGER}
     </update>
 
 </mapper>

+ 2 - 2
src/main/resources/mybatis/mapper/equipment/EquipmentReturnMapper.xml

@@ -46,10 +46,10 @@
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides="," >
             <if test="er_return_rental != null" >
-                #{er_return_rental,jdbcType=INTEGER},
+                #{er_return_rental,jdbcType=DOUBLE},
             </if>
             <if test="er_return_mortagage != null" >
-                #{er_return_mortagage,jdbcType=INTEGER},
+                #{er_return_mortagage,jdbcType=DOUBLE},
             </if>
             <if test="er_return_remarks != null" >
                 #{er_return_remarks,jdbcType=VARCHAR},

+ 1 - 0
src/main/resources/mybatis/mapper/maternitymatron/JlServiceUserMapper.xml

@@ -439,6 +439,7 @@
         jl_service_user_info.marriage,
         jl_service_user_info.highlight,
         jl_service_user_info.weight,
+        jl_service_user.mobile_phone,
         city.citycode,
         IFNULL(mm_info_resume.resume_path,0) resume_path
         from jl_service_user