Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

Joburgess 5 gadi atpakaļ
vecāks
revīzija
462d45e78e
22 mainītis faili ar 592 papildinājumiem un 41 dzēšanām
  1. 4 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/filter/PhoneLoginAuthenticationFilter.java
  2. 35 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/handler/BaseAuthenticationSuccessEventHandler.java
  3. 14 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysUserDao.java
  4. 8 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/SysUserService.java
  5. 32 21
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserServiceImpl.java
  6. 8 2
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java
  7. 9 6
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml
  8. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysTenantAccountDao.java
  9. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysTenantAccountDetailDao.java
  10. 81 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysTenantAccount.java
  11. 136 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysTenantAccountDetail.java
  12. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SysTenantAccountDetailService.java
  13. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SysTenantAccountService.java
  14. 23 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysTenantAccountDetailServiceImpl.java
  15. 23 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysTenantAccountServiceImpl.java
  16. 8 4
      mec-biz/src/main/resources/config/mybatis/CourseScheduleEvaluateMapper.xml
  17. 102 0
      mec-biz/src/main/resources/config/mybatis/SysTenantAccountDetailMapper.xml
  18. 46 0
      mec-biz/src/main/resources/config/mybatis/SysTenantAccountMapper.xml
  19. 3 0
      mec-client-api/src/main/java/com/ym/mec/im/UserFeignService.java
  20. 7 1
      mec-client-api/src/main/java/com/ym/mec/im/fallback/UserFeignServiceFallback.java
  21. 1 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/StudyReportController.java
  22. 20 4
      mec-web/src/main/java/com/ym/mec/web/controller/APIController.java

+ 4 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/filter/PhoneLoginAuthenticationFilter.java

@@ -24,6 +24,7 @@ public class PhoneLoginAuthenticationFilter extends AbstractAuthenticationProces
 	private static final String SPRING_SECURITY_RESTFUL_VERIFY_CODE_KEY = "smsCode";
 	private static final String clientIdParameter = "clientId";
 	private static final String IS_REGISTER_PARAMETER = "register";
+	private static final String IS_LESSEE = "isLessee";
 
 	private static final String SPRING_SECURITY_RESTFUL_LOGIN_URL = "/smsLogin";
 	private boolean postOnly = true;
@@ -45,12 +46,14 @@ public class PhoneLoginAuthenticationFilter extends AbstractAuthenticationProces
 		String principal = obtainParameter(request, SPRING_SECURITY_RESTFUL_PHONE_KEY);
 		String credentials = obtainParameter(request, SPRING_SECURITY_RESTFUL_VERIFY_CODE_KEY);
 		String isRegister = obtainParameter(request, IS_REGISTER_PARAMETER);
+		//是否是租户
+		String isLessee = obtainParameter(request, IS_LESSEE);
 
 		SysUserInfo userInfo = sysUserService.queryUserInfoByPhone(principal);
 
 		String clientId = request.getParameter(clientIdParameter).toUpperCase();
 		if (userInfo == null) {
-			userInfo = sysUserService.initUser(principal,clientId,isRegister);
+			userInfo = sysUserService.initUser(principal,clientId,isRegister,isLessee);
 		}
 	
 //		if (userInfo.getSysUser().getUserType() != SysUserType.SYSTEM && !StringUtils.equalsIgnoreCase(clientId, userInfo.getSysUser().getUserType().getCode())) {

+ 35 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/handler/BaseAuthenticationSuccessEventHandler.java

@@ -12,11 +12,14 @@ import javax.servlet.http.HttpServletResponse;
 import com.ym.mec.common.entity.ImResult;
 import com.ym.mec.common.entity.ImUserModel;
 import com.ym.mec.im.ImFeignService;
+import com.ym.mec.im.UserFeignService;
+
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
@@ -56,10 +59,15 @@ public class BaseAuthenticationSuccessEventHandler extends SavedRequestAwareAuth
 	private ObjectMapper objectMapper;
 	@Autowired
 	private ImFeignService imFeignService;
+	@Autowired
+	private UserFeignService userFeignService;
 	
 	@Autowired
 	private ClientDetailsService clientDetailsService;
 
+	@Value("${message.lesseeOrganId}")
+	private Integer lesseeOrganId;
+
 	@Autowired
 	private AuthorizationServerTokenServices defaultAuthorizationServerTokenServices;
 
@@ -128,6 +136,33 @@ public class BaseAuthenticationSuccessEventHandler extends SavedRequestAwareAuth
 			Map<String,Object> map = new HashMap<>(3);
 			map.put("password", StringUtils.isEmpty(sysUser.getPassword())?false:true);
 			map.put("authentication",oAuth2AccessToken);
+			
+			String tenantId = "1";
+			if (StringUtils.equalsIgnoreCase(clientId, "TEACHER")) {
+				// 查询老师所在分部
+				Integer organId = userFeignService.queryTeacherOrganId(sysUser.getId());
+				if (organId == 43) {
+					tenantId = "2";
+				}
+			} else if (StringUtils.equalsIgnoreCase(clientId, "STUDENT")) {
+				if (sysUser.getOrganId() == 43) {
+					tenantId = "2";
+				}
+			}
+			map.put("tenantId", tenantId);
+
+			/*map.put("isLessee",false);
+			if("TEACHER".equals(clientId.toUpperCase())){
+				Integer organId = sysUserService.getTeacherOrganId(sysUser.getId());
+				if(organId != null && organId == lesseeOrganId){
+					map.put("isLessee",true);
+				}
+			}else if("STUDENT".equals(clientId.toUpperCase())){
+				if(sysUser.getOrganId() == lesseeOrganId){
+					map.put("isLessee",true);
+				}
+			}*/
+			
 			response.setContentType("application/json; charset=utf-8");
 			HttpResponseResult result = new HttpResponseResult(true, HttpStatus.OK.value(), map, "");
 			response.getWriter().write(objectMapper.writeValueAsString(result));

+ 14 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysUserDao.java

@@ -52,4 +52,18 @@ public interface SysUserDao extends BaseDAO<Integer, SysUser> {
 	 * @return
 	 */
 	SysUser findUserBySalt(String userType);
+
+	/**
+	 * 创建teacher表
+	 * @param userId
+	 * @param lesseeOrganId
+	 */
+	void insertTeacher(@Param("userId") Integer userId, @Param("lesseeOrganId") Integer lesseeOrganId);
+
+	/**
+	 * 获取教师分部编号
+	 * @param userId
+	 * @return
+	 */
+	Integer getTeacherOrganId(Integer userId);
 }

+ 8 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/SysUserService.java

@@ -82,5 +82,12 @@ public interface SysUserService extends BaseService<Integer, SysUser> {
 	 * @param clientId
 	 * @return
 	 */
-	SysUserInfo initUser(String phone,String clientId,String isRegister);
+	SysUserInfo initUser(String phone,String clientId,String isRegister,String isLessee);
+
+	/**
+	 * 获取老师的分部编号
+	 * @param userId
+	 * @return
+	 */
+	Integer getTeacherOrganId(Integer userId);
 }

+ 32 - 21
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserServiceImpl.java

@@ -44,6 +44,8 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 
 	@Value("${message.autoRegister}")
 	private boolean autoRegister;
+	@Value("${message.lesseeOrganId}")
+	private Integer lesseeOrganId;
 
 	@Override
 	public BaseDAO<Integer, SysUser> getDAO() {
@@ -139,10 +141,34 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public SysUserInfo initUser(String phone, String clientId,String isRegister) {
+	public SysUserInfo initUser(String phone, String clientId,String isRegister,String isLessee) {
 		if("register".equals(isRegister)){
 			throw new UsernameNotFoundException("404.9");
 		}
+		if(StringUtils.isNotEmpty(isLessee) && StringUtils.equalsIgnoreCase(clientId,"TEACHER")){
+			SysUser sysUser = new SysUser();
+			sysUser.setPhone(phone);
+			sysUser.setRealName(phone);
+			sysUser.setUserType("TEACHER");
+			sysUserDao.insert(sysUser);
+			//添加用户现金账户
+			imFeignService.register(new ImUserModel(sysUser.getId().toString(),phone,null));
+			userFeignService.createCashAccount(sysUser.getId());
+			//创建teacher表
+			sysUserDao.insertTeacher(sysUser.getId(),lesseeOrganId);
+			return queryUserInfoByPhone(phone);
+		}else if(StringUtils.isNotEmpty(isLessee) && StringUtils.equalsIgnoreCase(clientId,"STUDENT")){
+			SysUser sysUser = new SysUser();
+			sysUser.setPhone(phone);
+			sysUser.setUsername(phone);
+			sysUser.setUserType("STUDENT");
+			sysUser.setOrganId(lesseeOrganId);
+			sysUserDao.insert(sysUser);
+			//添加用户现金账户
+			imFeignService.register(new ImUserModel(sysUser.getId().toString(),phone,null));
+			userFeignService.createCashAccount(sysUser.getId());
+			return queryUserInfoByPhone(phone);
+		}
 		if(autoRegister){
 			if(StringUtils.equalsIgnoreCase(clientId,"STUDENT")){
 				SysUser sysUser = new SysUser();
@@ -155,26 +181,6 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 				userFeignService.createCashAccount(sysUser.getId());
 				return queryUserInfoByPhone(phone);
 			}
-			/*Date date = new Date();
-			if(StringUtils.equalsIgnoreCase(clientId,"TEACHER")){
-				SysUser sysUser = sysUserDao.findUserBySalt("TEACHER");
-				if(sysUser != null){
-					sysUser.setPhone(phone);
-					sysUser.setUpdateTime(date);
-					sysUser.setSalt("noReplace");
-					sysUserDao.update(sysUser);
-					return queryUserInfoByPhone(phone);
-				}
-			}else if(StringUtils.equalsIgnoreCase(clientId,"STUDENT")){
-				SysUser sysUser = sysUserDao.findUserBySalt("STUDENT");
-				if(sysUser != null){
-					sysUser.setPhone(phone);
-					sysUser.setUpdateTime(date);
-					sysUser.setSalt("noReplace");
-					sysUserDao.update(sysUser);
-					return queryUserInfoByPhone(phone);
-				}
-			}*/
 		}else if(StringUtils.equalsIgnoreCase(clientId,"STUDENT")){
 			SysUser sysUser = new SysUser();
 			sysUser.setPhone(phone);
@@ -188,4 +194,9 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 		throw new UsernameNotFoundException("404.9");
 	}
 
+	@Override
+	public Integer getTeacherOrganId(Integer userId) {
+		return sysUserDao.getTeacherOrganId(userId);
+	}
+
 }

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

@@ -95,8 +95,9 @@ public class UserController extends BaseController {
 	@ApiOperation(value = "设置密码")
 	@PostMapping(value = "/setPassword", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
 	@ApiImplicitParams({ @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
-			@ApiImplicitParam(name = "password", value = "密码", required = true, dataType = "String") })
-	public Object setPassword(String mobile, String password) {
+			@ApiImplicitParam(name = "password", value = "密码", required = true, dataType = "String"),
+			@ApiImplicitParam(name = "username", value = "用户名", required = true, dataType = "String") })
+	public Object setPassword(String mobile, String password, String username) {
 		if (StringUtils.isEmpty(mobile) || StringUtils.isEmpty(password)) {
 			return failed();
 		}
@@ -104,6 +105,11 @@ public class UserController extends BaseController {
 		if (sysUser == null) {
 			return failed("用户不存在");
 		}
+		if(sysUser.getUserType().contains("TEACHER") || sysUser.getUserType().contains("SYSTEM")){
+			sysUser.setRealName(username);
+		}else {
+			sysUser.setUsername(username);
+		}
 		password = new BCryptPasswordEncoder().encode(password);
 		sysUser.setPassword(password);
 		sysUser.setUpdateTime(new Date());

+ 9 - 6
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -65,16 +65,16 @@
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" 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
-        (is_super_admin_,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_,wechat_id_,real_name_)
+        (is_super_admin_,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_,wechat_id_,real_name_)
         VALUES(#{isSuperAdmin},#{imToken},#{id},#{username},#{salt},#{phone},#{avatar},#{organId},now(),now(),#{wxOpenid},#{qqOpenid},#{userType},
         #{gender},#{nation},#{birthdate},#{email},#{idCardNo},#{wechatId},#{realName})
     </insert>
+    <insert id="insertTeacher">
+        INSERT INTO teacher
+        (id_,organ_id_,create_time_,update_time_)VALUES(#{userId},#{lesseeOrganId},NOW(),NOW())
+    </insert>
 
     <!-- 根据主键查询一条记录 -->
     <update id="update" parameterType="com.ym.mec.auth.api.entity.SysUser">
@@ -192,4 +192,7 @@
     <select id="findUserBySalt" resultMap="SysUser">
         SELECT * FROM sys_user WHERE salt_ IS NOT NULL AND salt_ = 'replace' AND user_type_ LIKE CONCAT('%',#{userType},'%') LIMIT 1
     </select>
+    <select id="getTeacherOrganId" resultType="java.lang.Integer">
+        SELECT organ_id_ FROM teacher WHERE id_ = #{userId}
+    </select>
 </mapper>

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysTenantAccountDao.java

@@ -0,0 +1,7 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.entity.SysTenantAccount;
+
+public interface SysTenantAccountDao extends com.ym.mec.common.dal.BaseDAO<Integer, SysTenantAccount> {
+
+}

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysTenantAccountDetailDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.entity.SysTenantAccountDetail;
+import com.ym.mec.common.dal.BaseDAO;
+
+public interface SysTenantAccountDetailDao extends BaseDAO<Long, SysTenantAccountDetail> {
+
+	
+}

+ 81 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysTenantAccount.java

@@ -0,0 +1,81 @@
+package com.ym.mec.biz.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(sys_tenant_account):
+ */
+public class SysTenantAccount {
+
+	/**  */
+	private Integer userId;
+	
+	/** 可用分钟数 */
+	private Integer availableMinutes;
+	
+	/** 冻结分钟数 */
+	private Integer frozenMinutes;
+	
+	/** 账户状态(0,冻结,1,正常;-1,注销;) */
+	private Integer status;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+	
+	public void setUserId(Integer userId){
+		this.userId = userId;
+	}
+	
+	public Integer getUserId(){
+		return this.userId;
+	}
+			
+	public void setAvailableMinutes(Integer availableMinutes){
+		this.availableMinutes = availableMinutes;
+	}
+	
+	public Integer getAvailableMinutes(){
+		return this.availableMinutes;
+	}
+			
+	public void setFrozenMinutes(Integer frozenMinutes){
+		this.frozenMinutes = frozenMinutes;
+	}
+	
+	public Integer getFrozenMinutes(){
+		return this.frozenMinutes;
+	}
+			
+	public void setStatus(Integer status){
+		this.status = status;
+	}
+	
+	public Integer getStatus(){
+		return this.status;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 136 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysTenantAccountDetail.java

@@ -0,0 +1,136 @@
+package com.ym.mec.biz.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(sys_tenant_account_detail):
+ */
+public class SysTenantAccountDetail {
+
+	/**  */
+	private Long id;
+	
+	/**  */
+	private Integer userId;
+	
+	/** 交易类型 */
+	private String transType;
+	
+	/** 交易状态 */
+	private String transStatus;
+	
+	/** 交易流水 */
+	private String transNo;
+	
+	/** 现金数额 */
+	private java.math.BigDecimal transCashAmount;
+	
+	/** 账户总可用分钟数 */
+	private Integer totalAvailableMinutes;
+	
+	/** 交易的分钟数 */
+	private Integer transMinutes;
+	
+	/**  */
+	private String memo;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+	
+	public void setId(Long id){
+		this.id = id;
+	}
+	
+	public Long getId(){
+		return this.id;
+	}
+			
+	public void setUserId(Integer userId){
+		this.userId = userId;
+	}
+	
+	public Integer getUserId(){
+		return this.userId;
+	}
+			
+	public void setTransType(String transType){
+		this.transType = transType;
+	}
+	
+	public String getTransType(){
+		return this.transType;
+	}
+			
+	public void setTransStatus(String transStatus){
+		this.transStatus = transStatus;
+	}
+	
+	public String getTransStatus(){
+		return this.transStatus;
+	}
+			
+	public void setTransNo(String transNo){
+		this.transNo = transNo;
+	}
+	
+	public String getTransNo(){
+		return this.transNo;
+	}
+			
+	public void setTransCashAmount(java.math.BigDecimal transCashAmount){
+		this.transCashAmount = transCashAmount;
+	}
+	
+	public java.math.BigDecimal getTransCashAmount(){
+		return this.transCashAmount;
+	}
+			
+	public void setTotalAvailableMinutes(Integer totalAvailableMinutes){
+		this.totalAvailableMinutes = totalAvailableMinutes;
+	}
+	
+	public Integer getTotalAvailableMinutes(){
+		return this.totalAvailableMinutes;
+	}
+			
+	public void setTransMinutes(Integer transMinutes){
+		this.transMinutes = transMinutes;
+	}
+	
+	public Integer getTransMinutes(){
+		return this.transMinutes;
+	}
+			
+	public void setMemo(String memo){
+		this.memo = memo;
+	}
+	
+	public String getMemo(){
+		return this.memo;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysTenantAccountDetailService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.SysTenantAccountDetail;
+import com.ym.mec.common.service.BaseService;
+
+public interface SysTenantAccountDetailService extends BaseService<Long, SysTenantAccountDetail> {
+
+}

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysTenantAccountService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.SysTenantAccount;
+import com.ym.mec.common.service.BaseService;
+
+public interface SysTenantAccountService extends BaseService<Integer, SysTenantAccount> {
+
+}

+ 23 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysTenantAccountDetailServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.biz.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.biz.dal.dao.SysTenantAccountDetailDao;
+import com.ym.mec.biz.dal.entity.SysTenantAccountDetail;
+import com.ym.mec.biz.service.SysTenantAccountDetailService;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+
+@Service
+public class SysTenantAccountDetailServiceImpl extends BaseServiceImpl<Long, SysTenantAccountDetail>  implements SysTenantAccountDetailService {
+	
+	@Autowired
+	private SysTenantAccountDetailDao sysTenantAccountDetailDao;
+
+	@Override
+	public BaseDAO<Long, SysTenantAccountDetail> getDAO() {
+		return sysTenantAccountDetailDao;
+	}
+	
+}

+ 23 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysTenantAccountServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.biz.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.biz.dal.dao.SysTenantAccountDao;
+import com.ym.mec.biz.dal.entity.SysTenantAccount;
+import com.ym.mec.biz.service.SysTenantAccountService;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+
+@Service
+public class SysTenantAccountServiceImpl extends BaseServiceImpl<Integer, SysTenantAccount> implements SysTenantAccountService {
+
+	@Autowired
+	private SysTenantAccountDao sysTenantAccountDao;
+
+	@Override
+	public BaseDAO<Integer, SysTenantAccount> getDAO() {
+		return sysTenantAccountDao;
+	}
+
+}

+ 8 - 4
mec-biz/src/main/resources/config/mybatis/CourseScheduleEvaluateMapper.xml

@@ -22,11 +22,11 @@
     </resultMap>
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleEvaluate" useGeneratedKeys="true"
             keyColumn="id" keyProperty="id">
-        INSERT INTO course_schedule_evaluate (music_group_id_, class_group_id_, course_schedule_id_,
-                                              teacher_id_, item_, comment_,
-                                              create_time_,student_id_list_,version_)
+        INSERT INTO course_schedule_evaluate (music_group_id_, class_group_id_, course_schedule_id_,music_theory_,song_,
+        teaching_material_,teacher_id_, item_, comment_,create_time_,student_id_list_,version_)
         values (#{musicGroupId,jdbcType=VARCHAR}, #{classGroupId,jdbcType=INTEGER}, #{courseScheduleId,jdbcType=BIGINT},
-                #{teacherId,jdbcType=INTEGER}, #{item,jdbcType=VARCHAR}, #{comment,jdbcType=LONGVARCHAR},
+                #{musicTheory,jdbcType=VARCHAR},#{song,jdbcType=VARCHAR},#{teachingMaterial,jdbcType=VARCHAR},#{teacherId,jdbcType=INTEGER},
+        #{item,jdbcType=VARCHAR}, #{comment,jdbcType=LONGVARCHAR},
                 NOW(),#{studentIdList},#{version,jdbcType=INTEGER})
     </insert>
 
@@ -132,4 +132,8 @@
         SELECT * FROM course_schedule_evaluate cse
         WHERE cse.teacher_id_ = #{teacherId} AND cse.course_schedule_id_ = #{courseScheduleId}
     </select>
+
+<!--    <select id="getNeedReports" resultMap="CourseScheduleEvaluate">-->
+
+<!--    </select>-->
 </mapper>

+ 102 - 0
mec-biz/src/main/resources/config/mybatis/SysTenantAccountDetailMapper.xml

@@ -0,0 +1,102 @@
+<?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.ym.mec.biz.dal.dao.SysTenantAccountDetailDao">
+
+	<resultMap type="com.ym.mec.biz.dal.entity.SysTenantAccountDetail"
+		id="SysTenantAccountDetail">
+		<result column="id_" property="id" />
+		<result column="user_id_" property="userId" />
+		<result column="trans_type_" property="transType" />
+		<result column="trans_status_" property="transStatus" />
+		<result column="trans_no_" property="transNo" />
+		<result column="trans_cash_amount_" property="transCashAmount" />
+		<result column="total_available_minutes_" property="totalAvailableMinutes" />
+		<result column="trans_minutes_" property="transMinutes" />
+		<result column="memo_" property="memo" />
+		<result column="create_time_" property="createTime" />
+		<result column="update_time_" property="updateTime" />
+	</resultMap>
+
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="SysTenantAccountDetail">
+		SELECT *
+		FROM sys_tenant_account_detail WHERE id_ = #{id}
+	</select>
+
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="SysTenantAccountDetail">
+		SELECT * FROM
+		sys_tenant_account_detail ORDER BY id_
+	</select>
+
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.SysTenantAccountDetail"
+		useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval 
+			AS ID FROM DUAL </selectKey> -->
+		INSERT INTO sys_tenant_account_detail
+		(id_,user_id_,trans_type_,trans_status_,trans_no_,trans_cash_amount_,total_available_minutes_,trans_minutes_,memo_,create_time_,update_time_)
+		VALUES(#{id},#{userId},#{transType},#{transStatus},#{transNo},#{transCashAmount},#{totalAvailableMinutes},#{transMinutes},#{memo},#{createTime},#{updateTime})
+	</insert>
+
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.biz.dal.entity.SysTenantAccountDetail">
+		UPDATE sys_tenant_account_detail
+		<set>
+			<if test="transCashAmount != null">
+				trans_cash_amount_ = #{transCashAmount},
+			</if>
+			<if test="userId != null">
+				user_id_ = #{userId},
+			</if>
+			<if test="id != null">
+				id_ = #{id},
+			</if>
+			<if test="totalAvailableMinutes != null">
+				total_available_minutes_ = #{totalAvailableMinutes},
+			</if>
+			<if test="transType != null">
+				trans_type_ = #{transType},
+			</if>
+			<if test="updateTime != null">
+				update_time_ = #{updateTime},
+			</if>
+			<if test="memo != null">
+				memo_ = #{memo},
+			</if>
+			<if test="transStatus != null">
+				trans_status_ = #{transStatus},
+			</if>
+			<if test="transNo != null">
+				trans_no_ = #{transNo},
+			</if>
+			<if test="transMinutes != null">
+				trans_minutes_ = #{transMinutes},
+			</if>
+			<if test="createTime != null">
+				create_time_ = #{createTime},
+			</if>
+		</set>
+		WHERE id_ = #{id}
+	</update>
+
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete">
+		DELETE FROM sys_tenant_account_detail WHERE
+		id_ = #{id}
+	</delete>
+
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="SysTenantAccountDetail"
+		parameterType="map">
+		SELECT * FROM sys_tenant_account_detail ORDER BY id_
+		<include refid="global.limit" />
+	</select>
+
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM
+		sys_tenant_account_detail
+	</select>
+</mapper>

+ 46 - 0
mec-biz/src/main/resources/config/mybatis/SysTenantAccountMapper.xml

@@ -0,0 +1,46 @@
+<?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.ym.mec.biz.dal.dao.SysTenantAccountDao">
+
+	<resultMap type="com.ym.mec.biz.dal.entity.SysTenantAccount"
+		id="SysTenantAccount">
+		<result column="user_id_" property="userId" />
+		<result column="available_minutes_" property="availableMinutes" />
+		<result column="frozen_minutes_" property="frozenMinutes" />
+		<result column="status_" property="status" />
+		<result column="create_time_" property="createTime" />
+		<result column="update_time_" property="updateTime" />
+	</resultMap>
+
+
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="SysTenantAccount">
+		SELECT * FROM sys_tenant_account
+	</select>
+
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.SysTenantAccount"
+		useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval 
+			AS ID FROM DUAL </selectKey> -->
+		INSERT INTO sys_tenant_account
+		(user_id_,available_minutes_,frozen_minutes_,status_,create_time_,update_time_)
+		VALUES(#{userId},#{availableMinutes},#{frozenMinutes},#{status},#{createTime},#{updateTime})
+	</insert>
+
+
+
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="SysTenantAccount"
+		parameterType="map">
+		SELECT * FROM sys_tenant_account
+		<include refid="global.limit" />
+	</select>
+
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM
+		sys_tenant_account
+	</select>
+</mapper>

+ 3 - 0
mec-client-api/src/main/java/com/ym/mec/im/UserFeignService.java

@@ -12,4 +12,7 @@ public interface UserFeignService {
 
 	@RequestMapping(value = "api/createCashAccount")
 	Boolean createCashAccount(@RequestParam("userId") Integer userId);
+	
+	@RequestMapping(value = "api/queryTeacherOrganId")
+	public Integer queryTeacherOrganId(@RequestParam("userId") Integer userId);
 }

+ 7 - 1
mec-client-api/src/main/java/com/ym/mec/im/fallback/UserFeignServiceFallback.java

@@ -10,4 +10,10 @@ public class UserFeignServiceFallback implements UserFeignService {
 	@Override
 	public Boolean createCashAccount(Integer userId) {
 		return false;
-	}}
+	}
+
+	@Override
+	public Integer queryTeacherOrganId(Integer userId) {
+		return null;
+	}
+}

+ 1 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/StudyReportController.java

@@ -51,7 +51,7 @@ public class StudyReportController extends BaseController {
 			courseScheduleEvaluate.setMonth(DateUtil.format(nowDate,"yyyy年MM月"));
 		}
 
-		return succeed(courseScheduleEvaluateService.findByGroupId(groupId));
+		return succeed(courseScheduleEvaluates);
 	}
 
 	@ApiOperation(value = "评论详情")

+ 20 - 4
mec-web/src/main/java/com/ym/mec/web/controller/APIController.java

@@ -1,15 +1,19 @@
 package com.ym.mec.web.controller;
 
-import com.ym.mec.biz.dal.dao.SysUserCashAccountDao;
-import com.ym.mec.biz.dal.entity.SysUserCashAccount;
-import com.ym.mec.biz.service.PracticeLessonApplyService;
-import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.ym.mec.biz.dal.dao.SysUserCashAccountDao;
+import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.entity.SysUserCashAccount;
+import com.ym.mec.biz.dal.entity.Teacher;
+import com.ym.mec.biz.service.PracticeLessonApplyService;
+import com.ym.mec.common.controller.BaseController;
+
 @RequestMapping("api")
 @Api(tags = "对外接口")
 @RestController
@@ -17,6 +21,9 @@ public class APIController extends BaseController {
 
 	@Autowired
 	private SysUserCashAccountDao sysUserCashAccountDao;
+	
+	@Autowired
+	private TeacherDao teacherDao;
 
 	@Autowired
 	private PracticeLessonApplyService practiceLessonApplyService;
@@ -29,6 +36,15 @@ public class APIController extends BaseController {
 		return true;
 	}
 
+	@GetMapping("/queryTeacherOrganId")
+	public Integer queryTeacherOrganId(Integer userId) {
+		Teacher teacher = teacherDao.get(userId);
+		if (teacher != null) {
+			return teacher.getOrganId();
+		}
+		return null;
+	}
+
 	@GetMapping("/practiceSum")
 	public Object practiceSum() {
 		return succeed(practiceLessonApplyService.practiceSum());