Forráskód Böngészése

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

yonge 5 éve
szülő
commit
e7b90a437b

+ 2 - 3
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java

@@ -53,9 +53,8 @@ public class UserController extends BaseController {
 	}
 
 	@ApiOperation(value = "根据用户编号获取用户基本信息")
-	@GetMapping("/get/{userId}")
-	@ApiParam(value = "用户编号", required = true)
-	public Object getBasic(@PathVariable("userId") Integer userId) {
+	@GetMapping("/getBasic")
+	public Object getBasic(Integer userId) {
 		if(userId == null){
 			return failed("参数校验异常");
 		}

+ 0 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/EmployeeDao.java

@@ -46,10 +46,6 @@ public interface EmployeeDao extends BaseDAO<Integer, Employee> {
      * 修改用户离职日期
      */
     int updateUserDemissionDate(@Param("userID") Long userID);
-
-
-    int addUser(SysUser user);
-
     /**
      * 根据手机号查询对象
      * @param phone

+ 0 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java

@@ -1,6 +1,5 @@
 package com.ym.mec.biz.dal.dao;
 
-import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.MusicCardDto;
 import com.ym.mec.biz.dal.entity.MusicGroup;

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/BasicUserDto.java

@@ -6,10 +6,20 @@ public class BasicUserDto {
 
     private String name;
 
+    private String subjectName;
+
     private String headUrl;
 
     private Integer gender;
 
+    public String getSubjectName() {
+        return subjectName;
+    }
+
+    public void setSubjectName(String subjectName) {
+        this.subjectName = subjectName;
+    }
+
     public Integer getUserId() {
         return userId;
     }

+ 27 - 33
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -1,33 +1,11 @@
 package com.ym.mec.biz.service.impl;
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Base64;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.enums.SysUserType;
 import com.ym.mec.auth.api.enums.YesOrNoEnum;
-import com.ym.mec.biz.dal.dao.TeacherDao;
-import com.ym.mec.biz.dal.entity.Teacher;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.MediaType;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.MultiValueMap;
-import org.springframework.web.client.RestTemplate;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ym.mec.biz.dal.dao.EmployeeDao;
+import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dto.EmployeeDto;
 import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.enums.EmployeeOperateEnum;
@@ -35,10 +13,23 @@ import com.ym.mec.biz.dal.enums.ParamEnum;
 import com.ym.mec.biz.dal.page.EmployeeQueryInfo;
 import com.ym.mec.biz.service.EmployeeService;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.entity.ImResult;
+import com.ym.mec.common.entity.ImUserModel;
 import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.common.security.SecurityUtils;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.im.ImFeignService;
 import com.ym.mec.util.collection.MapUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.client.RestTemplate;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 @Service
 public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  implements EmployeeService {
@@ -47,10 +38,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 	private EmployeeDao employeeDao;
 
 	@Autowired
-	private RestTemplate restTemplate;
-
-	@Autowired
-	private ObjectMapper objectMapper;
+	private ImFeignService imFeignService;
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
 	@Autowired
@@ -62,20 +50,26 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 	}
 
 	@Override
-	public void add(Employee employee) throws Exception {
+	@Transactional(rollbackFor = Exception.class)
+	public void add(Employee employee){
 		SysUser user = sysUserFeignService.getUserByMobile(employee.getPhone());
 		if(user != null){
             user.setUserType(SysUserType.SYSTEM);
 			teacherDao.updateUser(user);
-            employee.setUserId(user.getId());
-            employeeDao.insert(employee);
+			Employee employee1 = employeeDao.get(user.getId());
+			if(employee1 == null || employee1.getId() == null){
+				employee.setUserId(user.getId());
+				employeeDao.insert(employee);
+			}
 			return;
 		}
 		employee.setPassword(new BCryptPasswordEncoder().encode(ParamEnum.INIT_PASSWORD.getCode().toString()));
 		employee.setUserType(SysUserType.SYSTEM);
-		employeeDao.addUser(employee);
-        employee.setUserId(employee.getId());
+		teacherDao.addSysUser(employee);
         employeeDao.insert(employee);
+		ImResult imResult = imFeignService.register(new ImUserModel(employee.getId().toString(), employee.getUsername(), employee.getAvatar()));
+		employee.setImToken(imResult.getToken());
+		employeeDao.update(employee);
 	}
 
 	@Override

+ 8 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -52,10 +52,16 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void add(Teacher teacher) throws Exception {
+	public void add(Teacher teacher){
 		SysUser user = sysUserFeignService.getUserByMobile(teacher.getPhone());
 		if(user != null && user.getId() != null){
-			throw new Exception("系统已存在该手机号的老师,请核查");
+			teacherDao.updateUser(user);
+			Teacher teacher1 = teacherDao.get(user.getId());
+			if(teacher1 == null || teacher1.getId() == null){
+				teacher.setId(user.getId());
+				teacherDao.insert(teacher);
+			}
+			return;
 		}
 		teacher.setUserType(SysUserType.TEACHER);
 		teacherDao.addSysUser(teacher);

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -310,7 +310,7 @@
         LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
         WHERE vgcgm.vip_group_id_ = #{musicGroupId}
     </select>
-    <select id="findGroupUsers" resultMap="com.ym.mec.auth.dal.dao.SysUserDao.ImUserModel">
+    <select id="findGroupUsers" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.ImUserModel">
         SELECT su.id_,su.avatar_,su.username_ FROM class_group_student_mapper cgsm
         LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
         WHERE cgsm.class_group_id_ = #{musicGroupId} GROUP BY su.id_

+ 0 - 14
mec-biz/src/main/resources/config/mybatis/EmployeeMapper.xml

@@ -68,20 +68,6 @@
 		INSERT INTO employee (user_id_,organ_id_list_,job_nature_,is_probation_period_,education_background_,graduate_school_,technical_titles_,entry_date_,certificate_type_,certificate_num_,update_time_,create_time_,introduction_,demission_date_) VALUES(#{userId},#{organIdList},#{jobNature},#{isProbationPeriod},#{educationBackground},#{graduateSchool},#{technicalTitles},#{entryDate},#{certificateType},#{certificateNum},#{updateTime},#{createTime},#{introduction},#{demissionDate})
 	</insert>
 
-    <!-- 向数据库增加一条记录 -->
-    <insert id="addUser" parameterType="com.ym.mec.auth.api.entity.SysUser" useGeneratedKeys="true" keyColumn="id"
-            keyProperty="id">
-        <!--
-        <selectKey resultClass="int" keyProperty="id" >
-        SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
-        </selectKey>
-        -->
-        INSERT INTO sys_user
-        (im_token_,id_,username_,salt_,phone_,avatar_,organ_id_,create_time_,update_time_,wx_openid_,qq_openid_,user_type_,gender_,nation_,birthdate_,email_,id_card_no_,esign_id_,wechat_id_)
-        VALUES(#{imToken},#{id},#{username},#{salt},#{phone},#{avatar},#{organId},now(),now(),#{wxOpenid},#{qqOpenid},#{userType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-        #{gender},#{nation},#{birthdate},#{email},#{idCardNo},#{esignId},#{wechatId})
-    </insert>
-
     <select id="queryByPhone" resultMap="SysUser">
 		select * from sys_user where phone_ = #{phone} OR username_ = #{phone}
 	</select>

+ 23 - 7
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -174,6 +174,7 @@
 	</select>
 
 	<resultMap type="com.ym.mec.biz.dal.dto.BasicUserDto" id="BasicUserDto">
+		<result column="subject_name_" property="subjectName" />
 		<result column="username_" property="name" />
 		<result column="user_id_" property="userId" />
 		<result column="head_url_" property="headUrl" />
@@ -181,12 +182,22 @@
 	</resultMap>
 
 	<select id="findTeachersByStuId" resultMap="BasicUserDto">
-		SELECT username_,id_ user_id_,avatar_ head_url_,gender_ FROM sys_user
-		WHERE id_ IN (SELECT DISTINCT(su.id_) FROM class_group_student_mapper cgsp
-		LEFT JOIN class_group cg ON cgsp.class_group_id_ = cg.id_
-		LEFT JOIN class_group_teacher_mapper cgtm ON cg.id_ = cgtm.class_group_id_
-		LEFT JOIN sys_user su ON cgtm.user_id_ = su.id_
-		WHERE cgsp.user_id_ = #{studentId})
+		SELECT DISTINCT
+			su.username_,
+			su.id_ user_id_,
+			su.avatar_ head_url_,
+			gender_,
+			GROUP_CONCAT(s.name_) subject_name_
+		  FROM
+			class_group_student_mapper cgsp
+			LEFT JOIN class_group cg ON cgsp.class_group_id_ = cg.id_
+			LEFT JOIN class_group_teacher_mapper cgtm ON cg.id_ = cgtm.class_group_id_
+			LEFT JOIN sys_user su ON cgtm.user_id_ = su.id_
+			LEFT JOIN teacher t ON su.id_ = t.id_
+			LEFT JOIN `subject` s ON FIND_IN_SET(s.id_,t.subject_id_)
+		  WHERE
+			cgsp.user_id_ = #{studentId}
+		  GROUP BY su.id_
 	</select>
 
     <select id="queryUserGroups" resultMap="com.ym.mec.biz.dal.dao.ClassGroupDao.imGroupModel">
@@ -207,7 +218,12 @@
 		SELECT SUM(student_num_) FROM class_group WHERE music_group_id_ = #{musicGroupId}
     </select>
 
-	<select id="findGroupUsers" resultMap="com.ym.mec.auth.dal.dao.SysUserDao.ImUserModel">
+	<resultMap id="ImUserModel" type="com.ym.mec.common.entity.ImUserModel">
+		<result column="id_" property="id"/>
+		<result property="name" column="username_"/>
+		<result property="portrait" column="avatar_"/>
+	</resultMap>
+	<select id="findGroupUsers" resultMap="ImUserModel">
 		SELECT su.id_,su.avatar_,su.username_ FROM class_group cg
 		LEFT JOIN class_group_student_mapper cgsm ON cg.id_ = cgsm.class_group_id_
 		LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/SubjectMapper.xml

@@ -120,8 +120,8 @@
         LEFT JOIN `subject` s ON mgsp.subject_id_ = s.id_
         WHERE mgsp.music_group_id_ =
     </select>
-    <select id="findBySubIds" resultType="java.lang.String">
-        SELECT name_ FROM `subject` IN (#{subIds}) WHERE del_flag_ = 0
+    <select id="findBySubIds" resultType="string">
+        SELECT name_ FROM `subject` WHERE del_flag_ = 0 AND FIND_IN_SET (id_,#{subIds})
     </select>
 
     <select id="findTeacherSubjects" resultMap="Subject">

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -37,7 +37,7 @@
         <result column="wx_openid_" property="wxOpenid"/>
         <result column="qq_openid_" property="qqOpenid"/>
         <result column="user_type_" property="userType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <result column="gender_" property="gender" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="gender_" property="gender"/>
         <result column="nation_" property="nation"/>
         <result column="birthdate_" property="birthdate"/>
         <result column="email_" property="email"/>

+ 0 - 2
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -4,8 +4,6 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.service.MusicGroupService;
 import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.security.AuthUser;
-import com.ym.mec.common.security.SecurityUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;

+ 14 - 2
mec-teacher/src/main/java/com/ym/mec/teacher/TeacherApplication.java

@@ -1,18 +1,21 @@
 package com.ym.mec.teacher;
 
+import com.spring4all.swagger.EnableSwagger2Doc;
+import com.ym.mec.common.redis.service.RedisCache;
 import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 import org.springframework.cloud.client.loadbalancer.LoadBalanced;
 import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.web.client.RestTemplate;
 
-import com.spring4all.swagger.EnableSwagger2Doc;
-
 @SpringBootApplication
 @EnableDiscoveryClient
 @EnableFeignClients("com.ym.mec")
@@ -25,9 +28,18 @@ public class TeacherApplication {
 		SpringApplication.run(TeacherApplication.class, args);
 	}
 
+	@Autowired
+	private RedisTemplate<String, Object> redisTemplate;
+
 	@Bean
 	@LoadBalanced
 	public RestTemplate restTemplate() {
 		return new RestTemplate();
 	}
+
+	@Bean
+	@ConditionalOnBean(RedisTemplate.class)
+	public RedisCache<String, Object> redisCache() {
+		return new RedisCache<String, Object>(redisTemplate);
+	}
 }