Browse Source

Merge branch 'master' of http://git_xt.git.topm.win:8080/wenhongquan/VisualInspection

# Conflicts:
#	VisualInspection_server/src/main/resources/application.properties
#	VisualInspection_server/src/main/resources/errcode.properties
minitiger 9 years ago
parent
commit
c6be6a4123

+ 1 - 1
VisualInspection_server/pom.xml

@@ -40,7 +40,7 @@
 		<dependency>
 			<groupId>org.mybatis.spring.boot</groupId>
 			<artifactId>mybatis-spring-boot-starter</artifactId>
-			<version>1.2.0</version>
+			<version>1.3.0</version>
 		</dependency>
 
 		<dependency>

+ 3 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/bean/User.java

@@ -27,6 +27,9 @@ public class User implements UserDetails {
 	private int organid;
 	// 班次
 	private int classid;
+	
+	// 班组
+	private int teamid;
 	// 电话号码
 	private String phone;
 	// 状态(-1-删除;1未删除)

+ 1 - 1
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/TestController.java

@@ -76,7 +76,7 @@ public class TestController {
     @ResponseBody
     public String index(){
 
-        User u = userService.getOne((long) 1);
+        User u = userService.getOne(1);
 
 
         return JSON.toJSON(u).toString();

+ 66 - 28
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/UserController.java

@@ -1,27 +1,22 @@
 package com.xintong.visualinspection.controller;
 
-import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.authentication.encoding.Md5PasswordEncoder;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.AuthenticationException;
 import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.core.userdetails.UserDetails;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
-import com.alibaba.fastjson.JSON;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.xintong.visualinspection.bean.User;
 import com.xintong.visualinspection.err.BusinessException;
-import com.xintong.visualinspection.pojo.JwtAuthenticationResponse;
 import com.xintong.visualinspection.securityTools.RedisCacheUtil;
 import com.xintong.visualinspection.service.AuthService;
 import com.xintong.visualinspection.service.UserService;
@@ -30,6 +25,14 @@ import com.xintong.visualinspection.service.UserService;
  * 文件名:TestController
  * 版本信息:日期:2017/3/30 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
  */
+/**
+ * @author wenhongquan
+ *
+ */
+/**
+ * @author wenhongquan
+ *
+ */
 @RestController
 @RequestMapping("/user")
 public class UserController extends BaseController {
@@ -52,16 +55,17 @@ public class UserController extends BaseController {
         return returnSuccessResult("登陆成功", u);
     }
     
-    @RequestMapping(value = "/logout",method=RequestMethod.POST,produces="application/json;charset=UTF-8")
+   
+    
+    @RequestMapping(value = "/logout",method=RequestMethod.GET,produces="application/json;charset=UTF-8")
     public String logout(){
     	//获取用户名
     	String username = SecurityContextHolder.getContext().getAuthentication().getName();
     	if(username!=null){
     		redisCacheUtil.removeForUserName(username);
     	}
-    	throw new BusinessException(20002);
     	//返回成功
-//    	return returnSuccessResult("退出成功");
+    	return returnSuccessResult("退出成功");
     }
     
     
@@ -90,13 +94,14 @@ public class UserController extends BaseController {
      * @exception
      * @since  1.0.0
      */
-    @RequestMapping(value = "/updateUser")
-    public String updateUser(@RequestBody User user){
+    @RequestMapping(value = "/updateUser/{userid}",method=RequestMethod.PUT,produces="application/json;charset=UTF-8")
+    public String updateUser(@RequestBody User user,@PathVariable int userid){
         try{
+        	user.setId(userid);
         	userService.update(user);
         	return super.returnResult(0, "修改成功", null);
         }catch(Exception e){
-        	return super.returnResult(-1, "修改失败", null);
+        	throw new BusinessException(20003);
         }
     }
     
@@ -108,29 +113,62 @@ public class UserController extends BaseController {
      * @since  1.0.0
      */
     @PreAuthorize("hasRole('ADMIN')")
-    @RequestMapping(value = "/deleteUser/{userid}",method=RequestMethod.POST,produces="application/json;charset=UTF-8")
-    public String deleteUser(@PathVariable String userid){
+    @RequestMapping(value = "/deleteUser/{userid}",method=RequestMethod.DELETE,produces="application/json;charset=UTF-8")
+    public String deleteUser(@PathVariable Integer userid){
         try{
-        	userService.delete(Long.parseLong(userid));
+        	userService.delete((userid));
         	return returnResult(0, "删除成功", null);
         }catch(Exception e){
         	throw new BusinessException(20002);
         }
     }
     
+    /**
+     * 获取所用用户
+     * @param page
+     * @param size
+     * @return
+     */
+    @SuppressWarnings("unchecked")
+	@PreAuthorize("hasRole('ADMIN')")
+    @RequestMapping(value = "/get/all/{page}/{size}",method=RequestMethod.GET,produces="application/json;charset=UTF-8")
+    public String getallUsers(@PathVariable Integer page,@PathVariable Integer size ){
+        try{
+        	PageHelper.startPage(page, size); 
+        	List<User> users= userService.getAll();
+        	
+        	return returnResult(0, "获取成功", new PageInfo(users));
+        }catch(Exception e){
+        	throw new BusinessException(20001);
+        }
+    }
     
-
-        @RequestMapping(value = "/refresh", method = RequestMethod.GET)
-        public ResponseEntity<?> refreshAndGetAuthenticationToken(
-                HttpServletRequest request) throws AuthenticationException{
-            String token = request.getHeader(tokenHeader);
-            String refreshedToken = authService.refresh(token);
-            if(refreshedToken == null) {
-                return ResponseEntity.badRequest().body(null);
-            } else {
-                return ResponseEntity.ok(new JwtAuthenticationResponse(refreshedToken));
-            }
+    @PreAuthorize("hasRole('ADMIN')")
+    @RequestMapping(value = "/getUserList/{page}/{size}",method=RequestMethod.POST,produces="application/json;charset=UTF-8")
+    public String getUsers(@PathVariable Integer page,@PathVariable Integer size,@RequestBody User user){
+        try{
+        	PageHelper.startPage(page, size); 
+        	List<User> users= userService.getUsers(user);
+        	
+        	return returnResult(0, "获取成功", new PageInfo(users));
+        }catch(Exception e){
+        	throw new BusinessException(20001);
         }
+    }
+    
+    @RequestMapping(value = "/getUserById/{userid}",method=RequestMethod.GET,produces="application/json;charset=UTF-8")
+    public String getUser(@PathVariable Integer userid){
+        try{
+            User u = userService.getOne(userid);
+        	return returnResult(0, "获取成功", u);
+        }catch(Exception e){
+        	throw new BusinessException(20001);
+        }
+    }
+    
+    
+    
+
 
     
     

+ 3 - 2
VisualInspection_server/src/main/java/com/xintong/visualinspection/dao/cluster/UserInfoDao.java

@@ -12,9 +12,10 @@ import java.util.List;
 @Mapper
 public interface UserInfoDao {
     public List<User> getAll();
-    public User getOne(Long id);
+    public List<User> getUsers(User user);
+    public User getOne(Integer id);
     public void insert(User user);
     public void update(User user);
-    public void delete(Long id);
+    public void delete(Integer id);
     public User findByUserName(String username);
 }

+ 9 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/druidTools/ClusterDataSourceConfig.java

@@ -1,9 +1,13 @@
 package com.xintong.visualinspection.druidTools;
 
 import com.alibaba.druid.pool.DruidDataSource;
+import com.github.pagehelper.PageHelper;
+
+import org.apache.ibatis.plugin.Interceptor;
 import org.apache.ibatis.session.SqlSessionFactory;
 import org.mybatis.spring.SqlSessionFactoryBean;
 import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
@@ -57,11 +61,16 @@ public class ClusterDataSourceConfig {
         return new DataSourceTransactionManager(clusterDataSource());
     }
 
+    @Autowired
+    private PageHelper pageHelper;
+    
     @Bean(name = "clusterSqlSessionFactory")
     public SqlSessionFactory clusterSqlSessionFactory(@Qualifier("clusterDataSource") DataSource clusterDataSource)
             throws Exception {
         final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
         sessionFactory.setDataSource(clusterDataSource);
+        Interceptor[] plugins =  new Interceptor[]{pageHelper};
+        sessionFactory.setPlugins(plugins);
         sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
                 .getResources(MAPPER_LOCATION));
         return sessionFactory.getObject();

+ 9 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/druidTools/MasterDataSourceConfig.java

@@ -1,9 +1,13 @@
 package com.xintong.visualinspection.druidTools;
 
 import com.alibaba.druid.pool.DruidDataSource;
+import com.github.pagehelper.PageHelper;
+
+import org.apache.ibatis.plugin.Interceptor;
 import org.apache.ibatis.session.SqlSessionFactory;
 import org.mybatis.spring.SqlSessionFactoryBean;
 import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
@@ -41,6 +45,9 @@ public class MasterDataSourceConfig {
     @Value("${master.datasource.driver-class-name}")
     private String driverClass;
 
+    @Autowired
+    private PageHelper pageHelper;
+    
     @Bean(name = "masterDataSource")
     @Primary
     public DataSource masterDataSource() {
@@ -64,6 +71,8 @@ public class MasterDataSourceConfig {
             throws Exception {
         final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
         sessionFactory.setDataSource(masterDataSource);
+        Interceptor[] plugins =  new Interceptor[]{pageHelper};
+        sessionFactory.setPlugins(plugins);
         sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
                 .getResources(MAPPER_LOCATION));
         return sessionFactory.getObject();

+ 16 - 9
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/cluster/UserInfoMapper.xml

@@ -21,7 +21,7 @@
         FROM t_sys_users
     </select>
 
-    <select id="getOne" parameterType="java.lang.Long" resultMap="BaseResultMap" >
+    <select id="getOne" parameterType="java.lang.Integer" resultMap="BaseResultMap" >
         SELECT
         id,username,age,password
         FROM t_sys_users
@@ -33,14 +33,14 @@
         t_sys_users
         (username,password,TRUENAME,ORGANID,BIRTH,AGE,MOBILE,POSITIONID,SEX,WORKNO,IDNO)
         VALUES
-        (#{username},#{password},#{truename},#{deptId},#{birth},#{age},#{mobile},#{positionId},#{sex},#{workno},#{idno})
+        (#{username},#{password},#{truename},#{organid},#{birth},#{age},#{mobile},#{positionid},#{sex},#{workno},#{idno})
     </insert>
 
     <update id="update" parameterType="com.xintong.visualinspection.bean.User" >
         UPDATE
         t_sys_users
         SET
-        <if test="username != null">userName = #{username},</if>
+        <if test="username != null">username = #{username},</if>
         <if test="age != null">age = #{age},</if>
         <if test="password != null">password = #{password},</if>
         id = #{id}
@@ -56,12 +56,6 @@
         WHERE
         	id = #{id}
     </update>
-    <!-- <delete id="delete" parameterType="java.lang.Long" >
-        DELETE FROM
-        t_sys_users
-        WHERE
-        id =#{id}
-    </delete> -->
 
 
     <select id="findByUserName" parameterType="String" resultMap="userMap">
@@ -69,4 +63,17 @@
         from t_sys_users u
         where username= #{username}
     </select>
+    
+    
+    <select id="getUsers" parameterType="com.xintong.visualinspection.bean.User" resultMap="BaseResultMap"  >
+        SELECT
+        id,username,password
+        FROM t_sys_users
+        where 1=1
+        <if test="organid != null and organid != 0">and organid = #{organid} </if>
+        <if test="positionid != null and positionid != 0">and positionid = #{positionid} </if>
+        <if test="classid != null and classid != 0">and classid = #{classid} </if>
+        <if test="teamid != null and teamid != 0">and teamid = #{teamid} </if>
+        
+    </select>
 </mapper>

+ 1 - 1
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/UserMapper.xml

@@ -34,7 +34,7 @@
         sys_user
         (username,age,password,TRUENAME,ORGANID,BIRTH,AGE,MOBILE,POSITIONID,SEX,WORKNO,IDNO)
         VALUES
-        (#{username}, #{age},#{password},#{truename},#{deptId},#{birth},#{age},#{mobile},#{positionId},#{sex},#{workno},#{idno})
+        (#{username}, #{age},#{password},#{truename},#{organid},#{birth},#{age},#{mobile},#{positionId},#{sex},#{workno},#{idno})
     </insert>
 
     <update id="update" parameterType="com.xintong.visualinspection.bean.User" >

+ 0 - 17
VisualInspection_server/src/main/java/com/xintong/visualinspection/pojo/JwtAuthenticationResponse.java

@@ -1,17 +0,0 @@
-package com.xintong.visualinspection.pojo;
-
-import java.io.Serializable;
-
-public class JwtAuthenticationResponse implements Serializable {
-    private static final long serialVersionUID = 1250166508152483573L;
-
-    private final String token;
-
-    public JwtAuthenticationResponse(String token) {
-        this.token = token;
-    }
-
-    public String getToken() {
-        return this.token;
-    }
-}

+ 3 - 2
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/UserService.java

@@ -12,9 +12,10 @@ import java.util.List;
  */
 public interface UserService extends UserDetailsService {
     public List<User> getAll();
-    public User getOne(Long id);
+    public List<User> getUsers(User user);
+    public User getOne(Integer id);
     public void insert(User user);
     public void update(User user);
-    public void delete(Long id);
+    public void delete(Integer id);
     public UserDetails loadUserByUsername(String username);
 }

+ 10 - 18
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/UserServiceImpl.java

@@ -55,22 +55,17 @@ public class UserServiceImpl extends BaseService implements UserService {
     public List<User> getAll() {
         return userInfoDao.getAll();
     }
+    
+	@Override
+	public List<User> getUsers(User user) {
+		return userInfoDao.getUsers(user);
+	}
 
-    private int count;
 
     @Override
 //    @Cacheable(value = "usercache",keyGenerator = "keyGenerator")
-    public User getOne(Long id) {
-//        User user = new User();
-//        user.setUsername("aa"+count++);
-//        redisTemplate.opsForValue().set(user.getUsername(), user);
-//
-//        
-//        User u = (User) redisTemplate.opsForValue().get("aa"+(count-2));
-//
-//        System.out.println(u.toString()+"dsa");
-
-        return getUserById(id);
+    public User getOne(Integer id) {
+    	return userInfoDao.getOne(id);
     }
 
     @Override
@@ -84,16 +79,11 @@ public class UserServiceImpl extends BaseService implements UserService {
     }
 
     @Override
-    public void delete(Long id) {
+    public void delete(Integer id) {
     	userInfoDao.delete(id);
     }
 
 
-    private User getUserById(Long id){
-        System.out.printf("数据库查询");
-        return userInfoDao.getOne(id);
-    }
-
     @Override
     public UserDetails loadUserByUsername(String username) {
         User user = userInfoDao.findByUserName(username);
@@ -114,4 +104,6 @@ public class UserServiceImpl extends BaseService implements UserService {
         }
 
     }
+
+
 }

+ 21 - 23
VisualInspection_server/src/main/resources/application.properties

@@ -8,7 +8,7 @@ master.datasource.password = root
 master.datasource.driver-class-name = com.mysql.jdbc.Driver
 master.mapper-locations=classpath:com/xintong/visualinspection/mapper/master/*.xml
 
-## \u7528\u6237\u6570\u636e\u6e90\u914d\u7f6e
+## 用户数据源配置
 cluster.datasource.url=jdbc:mysql://git.topm.win:9001/yanhai?useUnicode=true&characterEncoding=utf8
 cluster.datasource.username=root
 cluster.datasource.password=root
@@ -16,32 +16,30 @@ cluster.datasource.driver-class-name = com.mysql.jdbc.Driver
 cluster.mapper-locations=classpath:com/xintong/visualinspection/mapper/cluster/*.xml
 
 
-# \u521d\u59cb\u5316\u5927\u5c0f\uff0c\u6700\u5c0f\uff0c\u6700\u5927
+# 初始化大小,最小,最大
 spring.datasource.initialSize=5
 spring.datasource.minIdle=5
 spring.datasource.maxActive=20
-# \u914d\u7f6e\u83b7\u53d6\u8fde\u63a5\u7b49\u5f85\u8d85\u65f6\u7684\u65f6\u95f4
+# 配置获取连接等待超时的时间
 spring.datasource.maxWait=60000
-# \u914d\u7f6e\u95f4\u9694\u591a\u4e45\u624d\u8fdb\u884c\u4e00\u6b21\u68c0\u6d4b\uff0c\u68c0\u6d4b\u9700\u8981\u5173\u95ed\u7684\u7a7a\u95f2\u8fde\u63a5\uff0c\u5355\u4f4d\u662f\u6beb\u79d2
+# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
 spring.datasource.timeBetweenEvictionRunsMillis=60000
-# \u914d\u7f6e\u4e00\u4e2a\u8fde\u63a5\u5728\u6c60\u4e2d\u6700\u5c0f\u751f\u5b58\u7684\u65f6\u95f4\uff0c\u5355\u4f4d\u662f\u6beb\u79d2
+# 配置一个连接在池中最小生存的时间,单位是毫秒
 spring.datasource.minEvictableIdleTimeMillis=300000
 spring.datasource.validationQuery=SELECT 1 FROM DUAL
 spring.datasource.testWhileIdle=true
 spring.datasource.testOnBorrow=false
 spring.datasource.testOnReturn=false
-# \u6253\u5f00PSCache\uff0c\u5e76\u4e14\u6307\u5b9a\u6bcf\u4e2a\u8fde\u63a5\u4e0aPSCache\u7684\u5927\u5c0f
+# 打开PSCache,并且指定每个连接上PSCache的大小
 spring.datasource.poolPreparedStatements=true
 spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
-# \u914d\u7f6e\u76d1\u63a7\u7edf\u8ba1\u62e6\u622a\u7684filters\uff0c\u53bb\u6389\u540e\u76d1\u63a7\u754c\u9762sql\u65e0\u6cd5\u7edf\u8ba1\uff0c'wall'\u7528\u4e8e\u9632\u706b\u5899
+# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
 spring.datasource.filters=stat,wall,log4j
-# \u901a\u8fc7connectProperties\u5c5e\u6027\u6765\u6253\u5f00mergeSql\u529f\u80fd\uff1b\u6162SQL\u8bb0\u5f55
+# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
 spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
-# \u5408\u5e76\u591a\u4e2aDruidDataSource\u7684\u76d1\u63a7\u6570\u636e
+# 合并多个DruidDataSource的监控数据
 spring.datasource.useGlobalDataSourceStat=true
 
-mybatis.mapper-locations=classpath:com/xintong/visualinspection/mapper/*.xml
-mybatis.type-aliases-package=com.xintong.visualinspection.bean
 
 
 
@@ -49,32 +47,32 @@ mybatis.type-aliases-package=com.xintong.visualinspection.bean
 
 
 # REDIS (RedisProperties)
-# Redis\u6570\u636e\u5e93\u7d22\u5f15\uff08\u9ed8\u8ba4\u4e3a0\uff09
+# Redis数据库索引(默认为0)
 spring.redis.database=0  
-# Redis\u670d\u52a1\u5668\u5730\u5740
+# Redis服务器地址
 spring.redis.host=git.topm.win
-# Redis\u670d\u52a1\u5668\u8fde\u63a5\u7aef\u53e3
+# Redis服务器连接端口
 spring.redis.port=6379  
-# Redis\u670d\u52a1\u5668\u8fde\u63a5\u5bc6\u7801\uff08\u9ed8\u8ba4\u4e3a\u7a7a\uff09
+# Redis服务器连接密码(默认为空)
 spring.redis.password=xintong
-# \u8fde\u63a5\u6c60\u6700\u5927\u8fde\u63a5\u6570\uff08\u4f7f\u7528\u8d1f\u503c\u8868\u793a\u6ca1\u6709\u9650\u5236\uff09
+# 连接池最大连接数(使用负值表示没有限制)
 spring.redis.pool.max-active=8  
-# \u8fde\u63a5\u6c60\u6700\u5927\u963b\u585e\u7b49\u5f85\u65f6\u95f4\uff08\u4f7f\u7528\u8d1f\u503c\u8868\u793a\u6ca1\u6709\u9650\u5236\uff09
+# 连接池最大阻塞等待时间(使用负值表示没有限制)
 spring.redis.pool.max-wait=-1  
-# \u8fde\u63a5\u6c60\u4e2d\u7684\u6700\u5927\u7a7a\u95f2\u8fde\u63a5
+# 连接池中的最大空闲连接
 spring.redis.pool.max-idle=8  
-# \u8fde\u63a5\u6c60\u4e2d\u7684\u6700\u5c0f\u7a7a\u95f2\u8fde\u63a5
+# 连接池中的最小空闲连接
 spring.redis.pool.min-idle=0  
-# \u8fde\u63a5\u8d85\u65f6\u65f6\u95f4\uff08\u6beb\u79d2\uff09
+# 连接超时时间(毫秒)
 spring.redis.timeout=0 
 
 
 
-logging.level.root=INFO
+logging.level.root=DEBUG
 logging.level.org.springframework.web=DEBUG
 logging.level.org.springframework.data=DEBUG
 logging.level.org.springframework.security=DEBUG
-logging.level.org.mybatis=debug
+logging.level.org.mybites=DEBUG
 
 
 
@@ -83,7 +81,7 @@ spring.devtools.restart.enabled=true
 
 
 # JWT
-jwt.header=Authorization
+jwt.header=token
 jwt.secret=mySecret
 jwt.expiration=604800
 jwt.tokenHead=XinTong 

+ 1 - 0
VisualInspection_server/src/main/resources/errcode.properties

@@ -41,5 +41,6 @@
 20201=
 #\u7528\u6237\u7ba1\u7406\u9519\u8bef
 20201=
+20003=\u4FEE\u6539\u5931\u8D25