Przeglądaj źródła

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

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/service/impl/OrderPayOpsServiceImpl.java
yonge 3 lat temu
rodzic
commit
7f867669db
51 zmienionych plików z 423 dodań i 500 usunięć
  1. 9 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysRoleDao.java
  2. 3 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/TenantInfoDao.java
  3. 2 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/TenantInfoService.java
  4. 12 6
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysRoleServiceImpl.java
  5. 7 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/TenantInfoServiceImpl.java
  6. 4 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java
  7. 3 0
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysMenuMapper.xml
  8. 4 1
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysRoleMapper.xml
  9. 4 1
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/TenantInfoMapper.xml
  10. 1 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/OrganizationDao.java
  11. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TenantInfoDao.java
  12. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/SubjectChangeParamDto.java
  13. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroup.java
  14. 0 90
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Organization.java
  15. 4 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ClassGroupTypeEnum.java
  16. 6 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java
  17. 2 16
      mec-biz/src/main/java/com/ym/mec/biz/service/OrganizationService.java
  18. 6 0
      mec-biz/src/main/java/com/ym/mec/biz/service/TenantInfoSendMsgService.java
  19. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/service/TenantInfoService.java
  20. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/AppRedemptionCodeServiceImpl.java
  21. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  22. 5 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java
  23. 9 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java
  24. 17 14
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderCourseSettingsServiceImpl.java
  25. 33 45
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java
  26. 19 12
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java
  27. 107 81
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/OrderPayOpsServiceImpl.java
  28. 12 99
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/OrganizationServiceImpl.java
  29. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/PlatformProductServiceImpl.java
  30. 5 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java
  31. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java
  32. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java
  33. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java
  34. 9 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysTenantConfigServiceImpl.java
  35. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultMusicGroupSalaryServiceImpl.java
  36. 17 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java
  37. 62 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantInfoSendMsgServiceImpl.java
  38. 6 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantInfoServiceImpl.java
  39. 3 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  40. 2 2
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml
  41. 2 22
      mec-biz/src/main/resources/config/mybatis/OrganizationMapper.xml
  42. 3 0
      mec-biz/src/main/resources/config/mybatis/TenantInfoMapper.xml
  43. 1 0
      mec-student/src/main/java/com/ym/mec/student/controller/SubjectChangeController.java
  44. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/AppRedemptionCodeController.java
  45. 0 5
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupPaymentCalenderController.java
  46. 0 6
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupPaymentCalenderDetailController.java
  47. 5 29
      mec-web/src/main/java/com/ym/mec/web/controller/OrganizationController.java
  48. 2 6
      mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java
  49. 1 3
      mec-web/src/main/java/com/ym/mec/web/controller/education/ActivityController.java
  50. 9 21
      mec-web/src/main/java/com/ym/mec/web/controller/education/EduOrganizationController.java
  51. 1 13
      mec-web/src/main/java/com/ym/mec/web/controller/education/EduStudentController.java

+ 9 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysRoleDao.java

@@ -28,4 +28,13 @@ public interface SysRoleDao extends BaseDAO<Integer, SysRole> {
      * @return
      */
     SysRole findByRoleName(@Param("roleName") String roleName, @Param("tenantId") Integer tenantId);
+
+    /**
+    * @description: 获取机构管理员角色
+     * @param tenantId
+    * @return java.lang.Integer
+    * @author zx
+    * @date 2022/1/10 14:35
+    */
+    Integer getMinRoleId(@Param("tenantId") Integer tenantId);
 }

+ 3 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/TenantInfoDao.java

@@ -2,8 +2,11 @@ package com.ym.mec.auth.dal.dao;
 
 import com.ym.mec.auth.api.entity.TenantInfo;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
 
 public interface TenantInfoDao extends BaseDAO<Integer, TenantInfo> {
 
     TenantInfo getOpenTenant(Integer tenantId);
+
+    void updatePhone(@Param("newPhone") String newPhone, @Param("oldPhone")String oldPhone);
 }

+ 2 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/TenantInfoService.java

@@ -6,4 +6,6 @@ import com.ym.mec.common.service.BaseService;
 public interface TenantInfoService extends BaseService<Integer, TenantInfo> {
 
     TenantInfo getOpenTenant(Integer tenantId);
+
+    void updatePhone(String newPhone, String oldPhone);
 }

+ 12 - 6
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysRoleServiceImpl.java

@@ -1,13 +1,9 @@
 package com.ym.mec.auth.service.impl;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysRole;
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.auth.api.entity.TenantInfo;
 import com.ym.mec.auth.dal.dao.SysRoleDao;
 import com.ym.mec.auth.dal.dao.SysRoleMenuDao;
 import com.ym.mec.auth.service.SysRoleService;
-import com.ym.mec.auth.service.TenantInfoService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
@@ -45,7 +41,7 @@ public class SysRoleServiceImpl extends BaseServiceImpl<Integer, SysRole>  imple
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void addRole(SysRole sysRole) {
-		SysRole findByName = sysRoleDao.findByRoleName(sysRole.getRoleName(), sysRole.getTenantId());
+		SysRole findByName = sysRoleDao.findByRoleName(sysRole.getRoleName(),sysRole.getTenantId());
 		if(findByName != null){
 			throw new BizException("操作失败:角色 {} 已存在",sysRole.getRoleName());
 		}
@@ -53,10 +49,19 @@ public class SysRoleServiceImpl extends BaseServiceImpl<Integer, SysRole>  imple
 		batchSave(sysRole);
 	}
 
+	public void checkManageRole(Integer id){
+		Integer tenantId = TenantContextHolder.getTenantId();
+		Integer roleId = sysRoleDao.getMinRoleId(tenantId);
+		if(roleId.equals(id)){
+			throw new BizException("操作失败:机构管理员角色不允许调整");
+		}
+	}
+
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void updateRole(SysRole sysRole) {
-		SysRole findByName = sysRoleDao.findByRoleName(sysRole.getRoleName(), sysRole.getTenantId());
+		this.checkManageRole(sysRole.getId());
+		SysRole findByName = sysRoleDao.findByRoleName(sysRole.getRoleName(),sysRole.getTenantId());
 		if(findByName != null && !findByName.getId().equals(sysRole.getId())){
 			throw new BizException("操作失败:角色 {} 已存在",sysRole.getRoleName());
 		}
@@ -69,6 +74,7 @@ public class SysRoleServiceImpl extends BaseServiceImpl<Integer, SysRole>  imple
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void delRole(Integer id) {
+		this.checkManageRole(id);
 		sysRoleDao.delete(id);
 		sysRoleMenuDao.deleteAllMenu(id);
 	}

+ 7 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/TenantInfoServiceImpl.java

@@ -23,4 +23,11 @@ public class TenantInfoServiceImpl extends BaseServiceImpl<Integer, TenantInfo>
 	public TenantInfo getOpenTenant(Integer tenantId) {
 		return tenantInfoDao.getOpenTenant(tenantId);
 	}
+
+	@Override
+	public void updatePhone(String newPhone, String oldPhone) {
+		tenantInfoDao.updatePhone(newPhone, oldPhone);
+	}
+
+
 }

+ 4 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.auth.web.controller;
 
+import com.ym.mec.auth.service.TenantInfoService;
 import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -59,6 +60,8 @@ public class UserController extends BaseController {
 	private IdGeneratorService smsCodeService;
 	@Autowired
 	private WebFeignService webFeignService;
+	@Autowired
+	private TenantInfoService tenantInfoService;
 	@Value("${message.debugMode}")
 	private boolean debugMode;
 	@Autowired
@@ -209,6 +212,7 @@ public class UserController extends BaseController {
 			return failed("手机号被占用");
 		}
 		if (smsCodeService.verifyValidCode(newPhone, authCode)) {
+			tenantInfoService.updatePhone(newPhone, oldPhone);
 			sysUser.setPhone(newPhone);
 			sysUser.setUpdateTime(new Date());
 			sysUserService.update(sysUser);

+ 3 - 0
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysMenuMapper.xml

@@ -177,6 +177,9 @@
             <if test="hid != null">
                 AND hidden_ = #{hid}
             </if>
+            <if test="tenantId != null">
+                AND hidden_ = #{tenantId}
+            </if>
         </where>
         ORDER BY sort_ DESC,id_ DESC
     </select>

+ 4 - 1
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysRoleMapper.xml

@@ -58,7 +58,7 @@
                 organ_id_ = #{organId},
             </if>
         </set>
-        WHERE id_ = #{id} and tenant_id_ = #{tenantId}
+        WHERE id_ = #{id} AND tenant_id_ = #{tenantId}
     </update>
 
     <!-- 根据主键删除一条记录 -->
@@ -87,4 +87,7 @@
     <select id="findByRoleName" resultMap="SysRole">
         SELECT * FROM sys_role WHERE role_name_ = #{roleName} AND del_flag_ = 0 and tenant_id_ = #{tenantId} LIMIT 1
     </select>
+    <select id="getMinRoleId" resultType="java.lang.Integer">
+        SELECT id_ FROM sys_role WHERE del_flag_ = 0 AND tenant_id_ = #{tenantId} LIMIT 1
+    </select>
 </mapper>

+ 4 - 1
mec-auth/mec-auth-server/src/main/resources/config/mybatis/TenantInfoMapper.xml

@@ -74,8 +74,11 @@
 		</set>
 		WHERE id_ = #{id}
 	</update>
+    <update id="updatePhone">
+		update tenant_info set phone_ = #{newPhone} where phone_ = #{oldPhone}
+	</update>
 
-	<!-- 根据主键删除一条记录 -->
+    <!-- 根据主键删除一条记录 -->
 	<delete id="delete">
 		DELETE FROM tenant_info WHERE id_ = #{id}
 	</delete>

+ 1 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/OrganizationDao.java

@@ -29,10 +29,9 @@ public interface OrganizationDao extends BaseDAO<Integer, Organization> {
 
     /**
      *
-     * @param userId
      * @return
      */
-    List<Organization> queryEmployeeOrgan(@Param("userId") Integer userId, @Param("organId") String organId);
+    List<Organization> queryEmployeeOrgan(@Param("organId") String organId);
 
     /**
      * 根据分部编号获取分部名称map

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TenantInfoDao.java

@@ -18,4 +18,6 @@ public interface TenantInfoDao extends BaseMapper<TenantInfo> {
     TenantInfo getOpenTenant(Integer tenantId);
 
     TenantInfo queryTenantInfoByOrgan(@Param("organId") Integer organId);
+
+    void updatePhone(@Param("newPhone")String newPhone, @Param("oldPhone")String oldPhone);
 }

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

@@ -17,6 +17,16 @@ public class SubjectChangeParamDto{
     @ApiModelProperty(value = "优惠券列表", required = false)
     private List<Integer> couponIdList;
 
+    private Integer tenantId;
+
+    public Integer getTenantId() {
+        return tenantId;
+    }
+
+    public void setTenantId(Integer tenantId) {
+        this.tenantId = tenantId;
+    }
+
     public Integer getId() {
         return id;
     }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroup.java

@@ -84,7 +84,7 @@ public class MusicGroup extends BaseEntity {
 	private String courseForm;
 
 	@ApiModelProperty(value = "老师课酬结算方式",required = false)
-	private SalarySettlementTypeEnum settlementType = SalarySettlementTypeEnum.TEACHER_DEFAULT;
+	private SalarySettlementTypeEnum settlementType = SalarySettlementTypeEnum.GRADIENT_SALARY;
 
 	@ApiModelProperty(value = "课程展现形式",required = false)
 	private CourseViewTypeEnum courseViewType;

+ 0 - 90
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Organization.java

@@ -3,9 +3,7 @@ package com.ym.mec.biz.dal.entity;
 import com.ym.mec.biz.dal.enums.GradeTypeEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.common.entity.BaseEntity;
-
 import io.swagger.annotations.ApiModelProperty;
-
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import java.util.Date;
@@ -59,94 +57,6 @@ public class Organization extends BaseEntity {
 	@ApiModelProperty(value = "子节点列表",required = false)
 	private List<Organization> organizations;
 
-	@ApiModelProperty(value = "分部经理",required = false)
-	private String organManager;
-
-	@ApiModelProperty(value = "乐团主管",required = false)
-	private String educationId;
-
-	@ApiModelProperty(value = "维修技师",required = false)
-	private String repairId;
-
-	@ApiModelProperty(value = "衔接老师",required = false)
-	private String joinTeacherId;
-
-	@ApiModelProperty(value = "分部经理",required = false)
-	private String organManagerName;
-
-	@ApiModelProperty(value = "乐团主管",required = false)
-	private String educationName;
-
-	@ApiModelProperty(value = "维修技师",required = false)
-	private String repairName;
-
-	@ApiModelProperty(value = "衔接老师",required = false)
-	private String joinTeacherName;
-
-	public String getJoinTeacherId() {
-		return joinTeacherId;
-	}
-
-	public void setJoinTeacherId(String joinTeacherId) {
-		this.joinTeacherId = joinTeacherId;
-	}
-
-	public String getJoinTeacherName() {
-		return joinTeacherName;
-	}
-
-	public void setJoinTeacherName(String joinTeacherName) {
-		this.joinTeacherName = joinTeacherName;
-	}
-
-	public String getOrganManagerName() {
-		return organManagerName;
-	}
-
-	public void setOrganManagerName(String organManagerName) {
-		this.organManagerName = organManagerName;
-	}
-
-	public String getEducationName() {
-		return educationName;
-	}
-
-	public void setEducationName(String educationName) {
-		this.educationName = educationName;
-	}
-
-	public String getRepairName() {
-		return repairName;
-	}
-
-	public void setRepairName(String repairName) {
-		this.repairName = repairName;
-	}
-
-	public String getOrganManager() {
-		return organManager;
-	}
-
-	public void setOrganManager(String organManager) {
-		this.organManager = organManager;
-	}
-
-	public String getEducationId() {
-		return educationId;
-	}
-
-	public void setEducationId(String educationId) {
-		this.educationId = educationId;
-	}
-
-	public String getRepairId() {
-		return repairId;
-	}
-
-	public void setRepairId(String repairId) {
-		this.repairId = repairId;
-	}
-
 	public String getAreaName() {
 		return areaName;
 	}

+ 4 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/ClassGroupTypeEnum.java

@@ -6,8 +6,10 @@ import com.ym.mec.common.enums.BaseEnum;
  * 班级类型
  */
 public enum ClassGroupTypeEnum implements BaseEnum<String, ClassGroupTypeEnum> {
-	NORMAL("NORMAL", "普通班级"), MIX("MIX", "合奏班级"), HIGH("HIGH", "提高班"), VIP("VIP", "vip课"), DEMO("DEMO", "试听课"), PRACTICE("PRACTICE", "网管课"), SNAP("SNAP",
-			"临时班级"), COMM("COMM", "对外课程"), HIGH_ONLINE("HIGH_ONLINE", "网络基础训练课"),MUSIC_NETWORK("MUSIC_NETWORK","乐团网管课");
+	NORMAL("NORMAL", "普通班级"), MIX("MIX", "合奏班级"), HIGH("HIGH", "提高班"),
+	VIP("VIP", "vip课"), DEMO("DEMO", "试听课"), PRACTICE("PRACTICE", "网管课"), SNAP("SNAP",
+			"临时班级"), COMM("COMM", "对外课程"), HIGH_ONLINE("HIGH_ONLINE", "网络基础训练课"),
+	MUSIC_NETWORK("MUSIC_NETWORK","乐团网管课");
 
 	private String code;
 

+ 6 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -198,14 +198,17 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
 
     APP_REDEMPTION_CODE("APP_REDEMPTION_CODE", "兑换码分配量预警"),
     CLOUD_TEACHER_ORDER_SUCCESS("CLOUD_TEACHER_ORDER_SUCCESS", "云教练激活成功"),
+
     EMAIL_TENANT_ACTIVATION_SUCCESSFUL("EMAIL_TENANT_ACTIVATION_SUCCESSFUL",   "开通成功"),
     EMAIL_TENANT_RENEWAL_SUCCESSFUL("EMAIL_TENANT_RENEWAL_SUCCESSFUL", "续费成功"),
-    EMAIL_TENANT_EXPIRATION_REMINDERS("EMAIL_TENANT_EXPIRATION_REMINDERS",   "过期提醒"),
+    EMAIL_TENANT_EXPIRATION_REMINDERS("EMAIL_TENANT_EXPIRATION_REMINDERS",   "服务即将到期"),
+    EMAIL_TENANT_RECHARGE("EMAIL_TENANT_RECHARGE",   "云教室充值"),
     EMAIL_TENANT_INSUFFICIENT_BALANCE("EMAIL_TENANT_INSUFFICIENT_BALANCE",  "余额不足"),
 
-    sms_tenant_activation_successful("EMAIL_TENANT_ACTIVATION_SUCCESSFUL",   "开通成功"),
+    SMS_TENANT_ACTIVATION_SUCCESSFUL("EMAIL_TENANT_ACTIVATION_SUCCESSFUL",   "开通成功"),
     SMS_TENANT_RENEWAL_SUCCESSFUL("EMAIL_TENANT_RENEWAL_SUCCESSFUL", "续费成功"),
-    SMS_TENANT_EXPIRATION_REMINDERS("EMAIL_TENANT_EXPIRATION_REMINDERS",   "过期提醒"),
+    SMS_TENANT_EXPIRATION_REMINDERS("EMAIL_TENANT_EXPIRATION_REMINDERS",   "服务即将到期"),
+    SMS_TENANT_RECHARGE("SMS_TENANT_RECHARGE",   "云教室充值"),
     SMS_TENANT_INSUFFICIENT_BALANCE("EMAIL_TENANT_INSUFFICIENT_BALANCE",  "余额不足"),
     ;
 

+ 2 - 16
mec-biz/src/main/java/com/ym/mec/biz/service/OrganizationService.java

@@ -12,10 +12,10 @@ public interface OrganizationService extends BaseService<Integer, Organization>
     Set<Integer>  EXCLUDE_ORGAN_IDS = new HashSet<>(Arrays.asList(36,38,39,41,42,43,44,45,46,47,48,49,50,52,54,55,56,2,27,22,24));
 
     /**
-     * 获取员工在分部列表
+     * 获取员工在分部列表
      * @return
      */
-    List<Organization> queryEmployeeOrgan(Integer userId,String organId) throws Exception;
+    List<Organization> queryEmployeeOrgan() throws Exception;
 
     /**
      * 获取员工坐在分部列表
@@ -35,12 +35,6 @@ public interface OrganizationService extends BaseService<Integer, Organization>
      */
     Map<Integer, String> getGradeList(Integer id);
 
-    int updateOrgan(Organization organization);
-
-    Long add(Organization organization);
-
-    Map<String,Map<Integer,String>> getOrganRole(List<Integer> organIds);
-
     /**
     * @description: 获取员工能访问的分部列表
      * @param userId 当前用户
@@ -82,12 +76,4 @@ public interface OrganizationService extends BaseService<Integer, Organization>
     */
     <T extends EducationBaseQueryInfo> T onlyEducation(T queryInfo);
 
-    /**
-    * @description: 校验当前用户是否只有教务老师角色,并给教务老师角色赋值
-     * @param queryInfo
-    * @return T
-    * @author zx
-    * @date 2022/1/6 18:11
-    */
-    <T extends EducationBaseQueryInfo> T onlyEducationInitClassId(T queryInfo);
 }

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/TenantInfoSendMsgService.java

@@ -0,0 +1,6 @@
+package com.ym.mec.biz.service;
+
+public interface TenantInfoSendMsgService {
+
+    void sendToAll(String type, Integer userId, String email, Object... objs);
+}

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/TenantInfoService.java

@@ -63,4 +63,5 @@ public interface TenantInfoService extends IService<TenantInfo> {
 
     Boolean testEmail();
 
+    void updatePhone(String newPhone, String oldPhone);
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/AppRedemptionCodeServiceImpl.java

@@ -111,7 +111,7 @@ public class AppRedemptionCodeServiceImpl extends ServiceImpl<RedemptionCodeDao,
             return null;
         }
         redemptionCode.setUserId(userId);
-        int retCount = redemptionCodeDao.update(redemptionCode, new WrapperUtil<AppRedemptionCode>().queryWrapper());
+        int retCount = redemptionCodeDao.updateById(redemptionCode);
         if (retCount == 0) {
             return null;
         }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -750,7 +750,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 							//课堂课课酬
 							if (type == CourseScheduleType.CLASSROOM) {
-								BigDecimal salary = courseScheduleTeacherSalary.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? tdms.getMainTeacher30MinSalary() : tdms.getAssistantTeacher30MinSalary();
+								BigDecimal salary = courseScheduleTeacherSalary.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? tdms.getMainTeacher90MinSalary() : tdms.getAssistantTeacher90MinSalary();
 								courseScheduleTeacherSalary.setExpectSalary(salary);
 							}
 							//基础技能提高课

+ 5 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -340,7 +340,10 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 
         // 查询需要修改的课酬记录
         List<TeacherVipSalaryDto> teacherSalaryList = courseScheduleTeacherSalaryDao.queryOnlineCourseByGroupType(startDate, endDate, tenantId);
-
+        if (CollectionUtils.isEmpty(teacherSalaryList)) {
+            LOGGER.info("未获取到未结算课酬记录!");
+            return;
+        }
         Set<Integer> teacherIds = teacherSalaryList.stream().map(TeacherVipSalaryDto::getUserId).collect(Collectors.toSet());
         List<Teacher> teachers = teacherDao.findByTeacherIds(new ArrayList<>(teacherIds));
         Map<Integer, Teacher> idTeacherMap = teachers.stream().collect(Collectors.toMap(Teacher::getId, t -> t, (t1, t2) -> t1));
@@ -1310,7 +1313,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 
             //课堂课课酬改为按分钟数计算,并且时长占比向下取整
             if (courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.CLASSROOM)){
-                baseSalary = TeachTypeEnum.BISHOP.equals(courseScheduleTeacherSalary.getTeacherRole()) ? teacherDefaultMusicGroupSalary.getMainTeacher30MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher30MinSalary();
+                baseSalary = TeachTypeEnum.BISHOP.equals(courseScheduleTeacherSalary.getTeacherRole()) ? teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher90MinSalary();
                 classTimeDuty = new BigDecimal(classCourseDuration).divide(new BigDecimal(40), BigDecimal.ZERO.intValue(), BigDecimal.ROUND_DOWN);
             }
             

+ 9 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -110,7 +110,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 		//新增用户职位
 		employeePositionService.batchAddPosition(employee.getId(),employee.getPositionIds(), tenantId);
 		//添加用户现金账户
-		sysUserCashAccountDao.insert(new SysUserCashAccount(employee.getId(),"CNY"));
+		sysUserCashAccountDao.insert(new SysUserCashAccount(employee.getId(), tenantId,"CNY"));
 		ImResult imResult = imFeignService.register(new ImUserModel(employee.getId().toString(), employee.getUsername(),null));
 		employee.setImToken(imResult.getToken());
 		teacherDao.updateUser(employee);
@@ -139,6 +139,13 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 				sysUser = sysUserFeignService.queryUserInfo();
 			}
 		}
+
+		// 同步更新机构手机号 如果它存在  138xxx -> 159xxx
+		SysUser user = sysUserFeignService.queryUserById(employee.getId());
+		if (!Objects.equals(user.getPhone(), employee.getPhone())) {
+			tenantInfoService.updatePhone(employee.getPhone(), user.getPhone());
+		}
+
 		employeeDao.update(employee);
 		//删除当前用户角色
 		employeeDao.delEmployeeRole(employee.getId());
@@ -158,7 +165,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 		employee.setAvatar(sysUser.getAvatar());
         //更新机构信息
         TenantInfo tenantInfo = tenantInfoService.getOne(new WrapperUtil<TenantInfo>()
-                .hasEq("user_id_",employee.getId()).queryWrapper());
+                .queryWrapper().eq("user_id_",employee.getId()));
         if(Objects.nonNull(tenantInfo) && !Objects.equals(tenantInfo.getPhone(),employee.getPhone())){
             tenantInfo.setPhone(employee.getPhone());
             tenantInfo.setUpdatedTime(new Date());

+ 17 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderCourseSettingsServiceImpl.java

@@ -179,23 +179,26 @@ public class MusicGroupPaymentCalenderCourseSettingsServiceImpl extends BaseServ
 	public BigDecimal getCurrentAmount(MusicGroupPaymentBaseCalender baseCalender) {
 		BigDecimal totalAmount = BigDecimal.ZERO;
 		List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettingsList = baseCalender.getMusicGroupPaymentCalenderCourseSettingsList();
-		if(baseCalender.getMusicGroupOrganizationCourseSettingId() != null){
-			List<MusicGroupOrganizationCourseSettingsDetail> musicGroupOrganizationCourseSettingsDetails = musicGroupOrganizationCourseSettingsDetailDao
-					.queryByMusicGroupOrganizationCourseSettingsId(baseCalender.getMusicGroupOrganizationCourseSettingId());
-			return musicGroupOrganizationCourseSettingsDetails.stream().map(e -> e.getCourseCurrentPrice()).reduce(BigDecimal.ZERO, BigDecimal::add);
-		}else {
-			MusicGroup musicGroup = baseCalender.getMusicGroup();
-			// 如果是课程收费,判断是否审核
-			for (MusicGroupPaymentCalenderCourseSettings courseSettings : musicGroupPaymentCalenderCourseSettingsList) {
-				OrganizationCourseUnitPriceSettings defaultUnitPrice = organizationCourseUnitPriceSettingsDao.queryByOrganIdAndCourseTypeAndChargeType(
-						musicGroup.getOrganId(), courseSettings.getCourseType(), musicGroup.getChargeTypeId());
-				if (defaultUnitPrice == null) {
-					throw new BizException("请先设置分部课程类型单价");
+		if(musicGroupPaymentCalenderCourseSettingsList != null && musicGroupPaymentCalenderCourseSettingsList.size() > 0){
+			if(baseCalender.getMusicGroupOrganizationCourseSettingId() != null){
+				List<MusicGroupOrganizationCourseSettingsDetail> musicGroupOrganizationCourseSettingsDetails = musicGroupOrganizationCourseSettingsDetailDao
+						.queryByMusicGroupOrganizationCourseSettingsId(baseCalender.getMusicGroupOrganizationCourseSettingId());
+				return musicGroupOrganizationCourseSettingsDetails.stream().map(e -> e.getCourseCurrentPrice()).reduce(BigDecimal.ZERO, BigDecimal::add);
+			}else {
+				MusicGroup musicGroup = baseCalender.getMusicGroup();
+				// 如果是课程收费,判断是否审核
+				for (MusicGroupPaymentCalenderCourseSettings courseSettings : musicGroupPaymentCalenderCourseSettingsList) {
+					OrganizationCourseUnitPriceSettings defaultUnitPrice = organizationCourseUnitPriceSettingsDao.queryByOrganIdAndCourseTypeAndChargeType(
+							musicGroup.getOrganId(), courseSettings.getCourseType(), musicGroup.getChargeTypeId());
+					if (defaultUnitPrice == null) {
+						throw new BizException("请先设置分部课程类型单价");
+					}
+					totalAmount = totalAmount.add(defaultUnitPrice.getUnitPrice().multiply(new BigDecimal(courseSettings.getCourseTotalMinuties())));
 				}
-				totalAmount = totalAmount.add(defaultUnitPrice.getUnitPrice().multiply(new BigDecimal(courseSettings.getCourseTotalMinuties())));
+				return totalAmount;
 			}
-			return totalAmount;
 		}
+		return totalAmount;
 	}
 
 	@Override

+ 33 - 45
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java

@@ -315,23 +315,8 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 		
 		List<MusicGroupPaymentCalenderCourseSettings> courseSettingsList = musicGroupPaymentCalenderCourseSettingsDao.getWithPaymentCalender(musicGroupPaymentCalenderId);
 
-		//总金额 = 会员费用 + 课程费用
-//		BigDecimal expectAmount = BigDecimal.ZERO;
-//		BigDecimal expectMemberAmount = musicGroupPaymentCalender.getMemberPaymentAmount();
-//		if (musicGroupPaymentCalender.getPayUserType() == STUDENT) {
-//			if (musicGroupPaymentCalender.getPayUserType() == STUDENT) {
-//				for (MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList) {
-//					 剔除可选课程
-//					if (courseSettings.getIsStudentOptional() == false) {
-//						expectAmount = expectAmount.add(courseSettings.getCourseCurrentPrice());
-//					}
-//				}
-//			}
-//		}
-
 		Date date = new Date();
 		MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = null;
-		Map<Integer,MusicGroupPaymentCalenderDetail> userMap = new HashMap<Integer, MusicGroupPaymentCalenderDetail>();
 		List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetailList = new ArrayList<MusicGroupPaymentCalenderDetail>();
 		//创建缴费明细
 		for(Integer studentId : userIdList){
@@ -352,10 +337,11 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 			musicGroupPaymentCalenderDetailList.add(musicGroupPaymentCalenderDetail);
 		}
 
+		Map<Integer,Long> userMap = new HashMap<>();
 		if (musicGroupPaymentCalenderDetailList.size() > 0) {
 			musicGroupPaymentCalenderDetailDao.batchInsert(musicGroupPaymentCalenderDetailList);
 			for(MusicGroupPaymentCalenderDetail cd : musicGroupPaymentCalenderDetailList){
-				userMap.put(cd.getUserId(), cd);
+				userMap.put(cd.getUserId(), cd.getId());
 			}
 		}
 		//更新预计缴费人数
@@ -379,7 +365,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 					musicGroupPaymentStudentCourseDetail.setCourseType(courseSettings.getCourseType());
 					musicGroupPaymentStudentCourseDetail.setCreateTime(date);
 					musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalenderId);
-					musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderDetailId(userMap.get(studentId).getId());
+					musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderDetailId(userMap.get(studentId));
 					musicGroupPaymentStudentCourseDetail.setTotalCourseMinutes(courseSettings.getCourseTotalMinuties());
 					musicGroupPaymentStudentCourseDetail.setCourseOriginalPrice(courseSettings.getCourseOriginalPrice());
 					musicGroupPaymentStudentCourseDetail.setCourseCurrentPrice(courseSettings.getCourseCurrentPrice());
@@ -545,7 +531,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 
 		if (musicGroupPaymentCalenderDetailList.size() > 0) {
 			musicGroupPaymentCalenderDetailDao.batchInsert(musicGroupPaymentCalenderDetailList);
-			musicGroupPaymentCalenderDetailList.stream().map(e-> userMap.put(e.getUserId(),e.getId()));
+			musicGroupPaymentCalenderDetailList.stream().forEach(e-> userMap.put(e.getUserId(),e.getId()));
 		}
 		//更新预计缴费人数
 		musicGroupPaymentCalender.setExpectNum(musicGroupPaymentCalender.getExpectNum() + userIdList.size());
@@ -784,35 +770,37 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 			musicGroupPaymentCalenderDetailDao.update(musicGroupPaymentCalenderDetail);
 		}
 
-		List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetails = new ArrayList<>();
-		List<String> orderDetailTypes = studentPaymentOrderDetailDao.getOrderDetailType(studentPaymentOrder.getId());
-		List<MusicGroupPaymentCalenderCourseSettings> courseSettingsList = musicGroupPaymentCalenderCourseSettingsDao
-				.getWithPaymentCalender(musicGroupPaymentCalender.getId());
-		for (MusicGroupPaymentCalenderCourseSettings courseSetting : courseSettingsList) {
-			if (musicGroupPaymentCalender.getPayUserType().equals(MusicGroupPaymentCalender.PayUserType.STUDENT)
-					&& !orderDetailTypes.contains(courseSetting.getCourseType().getCode())) {
-				continue;
+		//续费项目加学员时就生成了课程时长,报名项目在缴费成功后才需要添加课程时长
+		if(musicGroupPaymentCalender.getPaymentType() == MusicGroupPaymentCalender.PaymentType.MUSIC_APPLY){
+			List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetails = new ArrayList<>();
+			List<String> orderDetailTypes = studentPaymentOrderDetailDao.getOrderDetailType(studentPaymentOrder.getId());
+			List<MusicGroupPaymentCalenderCourseSettings> courseSettingsList = musicGroupPaymentCalenderCourseSettingsDao
+					.getWithPaymentCalender(musicGroupPaymentCalender.getId());
+			for (MusicGroupPaymentCalenderCourseSettings courseSetting : courseSettingsList) {
+				if (musicGroupPaymentCalender.getPayUserType().equals(MusicGroupPaymentCalender.PayUserType.STUDENT)
+						&& !orderDetailTypes.contains(courseSetting.getCourseType().getCode())) {
+					continue;
+				}
+				if (courseSetting.getCourseTotalMinuties() == null || courseSetting.getCourseTotalMinuties() == 0) {
+					continue;
+				}
+				MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
+				musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalender.getId());
+				musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderDetailId(musicGroupPaymentCalenderDetail.getId());
+				musicGroupPaymentStudentCourseDetail.setUserId(studentPaymentOrder.getUserId());
+				musicGroupPaymentStudentCourseDetail.setCourseType(courseSetting.getCourseType());
+				musicGroupPaymentStudentCourseDetail.setTotalCourseMinutes(courseSetting.getCourseTotalMinuties());
+				musicGroupPaymentStudentCourseDetail.setCourseOriginalPrice(courseSetting.getCourseOriginalPrice());
+				musicGroupPaymentStudentCourseDetail.setCourseCurrentPrice(courseSetting.getCourseCurrentPrice());
+				musicGroupPaymentStudentCourseDetail.setUsedCourseMinutes(0);
+				musicGroupPaymentStudentCourseDetail.setCreateTime(nowDate);
+				musicGroupPaymentStudentCourseDetail.setUpdateTime(nowDate);
+				musicGroupPaymentStudentCourseDetail.setTenantId(tenantId);
+				musicGroupPaymentStudentCourseDetails.add(musicGroupPaymentStudentCourseDetail);
 			}
-			if (courseSetting.getCourseTotalMinuties() == null || courseSetting.getCourseTotalMinuties() == 0) {
-				continue;
+			if (musicGroupPaymentStudentCourseDetails.size() > 0) {
+				musicGroupPaymentStudentCourseDetailDao.batchInsert(musicGroupPaymentStudentCourseDetails);
 			}
-			MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
-			musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalender.getId());
-			musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderDetailId(musicGroupPaymentCalenderDetail.getId());
-			musicGroupPaymentStudentCourseDetail.setUserId(studentPaymentOrder.getUserId());
-			musicGroupPaymentStudentCourseDetail.setCourseType(courseSetting.getCourseType());
-			musicGroupPaymentStudentCourseDetail.setTotalCourseMinutes(courseSetting.getCourseTotalMinuties());
-			musicGroupPaymentStudentCourseDetail.setCourseOriginalPrice(courseSetting.getCourseOriginalPrice());
-			musicGroupPaymentStudentCourseDetail.setCourseCurrentPrice(courseSetting.getCourseCurrentPrice());
-			musicGroupPaymentStudentCourseDetail.setUsedCourseMinutes(0);
-			musicGroupPaymentStudentCourseDetail.setCreateTime(nowDate);
-			musicGroupPaymentStudentCourseDetail.setUpdateTime(nowDate);
-			musicGroupPaymentStudentCourseDetail.setTenantId(tenantId);
-			musicGroupPaymentStudentCourseDetails.add(musicGroupPaymentStudentCourseDetail);
-		}
-
-		if (musicGroupPaymentStudentCourseDetails.size() > 0) {
-			musicGroupPaymentStudentCourseDetailDao.batchInsert(musicGroupPaymentStudentCourseDetails);
 		}
     }
 }

+ 19 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -467,9 +467,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 					musicGroupPaymentCalenderDetailService.batchAdd(musicGroupPaymentCalender.getId(),list2,musicGroup,false);
 				}
 				//将0元未缴费学员缴费状态更新为已缴费
-				int j = musicGroupPaymentCalenderDetailDao.updateNoPaymentAndZeroPaymentStatus(musicGroupPaymentCalender.getId());
-				musicGroupPaymentCalender.setActualNum((musicGroupPaymentCalender.getActualNum()==null?0:musicGroupPaymentCalender.getActualNum()) + j);
-				musicGroupPaymentCalenderDao.update(musicGroupPaymentCalender);
+				this.updateNoPaymentAndZeroPaymentStatus(musicGroupPaymentCalender,true);
 			}
 		}
 
@@ -1044,9 +1042,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 					musicGroupPaymentCalenderDetailService.batchAdd(musicGroupPaymentCalender,musicGroupPaymentCalenderDto.getMusicGroupPaymentCalenderStudentDetails());
 				}
 				//将0元未缴费学员缴费状态更新为已缴费
-				int j = musicGroupPaymentCalenderDetailDao.updateNoPaymentAndZeroPaymentStatus(musicGroupPaymentCalender.getId());
-				musicGroupPaymentCalender.setActualNum((musicGroupPaymentCalender.getActualNum()==null?0:musicGroupPaymentCalender.getActualNum()) + j);
-				musicGroupPaymentCalenderDao.update(musicGroupPaymentCalender);
+				this.updateNoPaymentAndZeroPaymentStatus(musicGroupPaymentCalender,true);
 			}
 
 			//课程费用列表
@@ -1109,6 +1105,20 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		return batchNo;
 	}
 
+	//将0元未缴费学员缴费状态更新为已缴费
+	@Transactional(rollbackFor = Exception.class)
+	public void updateNoPaymentAndZeroPaymentStatus(MusicGroupPaymentCalender musicGroupPaymentCalender,Boolean updateFlag){
+		if(musicGroupPaymentCalender.getCurrentTotalAmount().compareTo(BigDecimal.ZERO) == 0){
+			int j = musicGroupPaymentCalenderDetailDao.updateNoPaymentAndZeroPaymentStatus(musicGroupPaymentCalender.getId());
+			if(j > 0){
+				musicGroupPaymentCalender.setActualNum((musicGroupPaymentCalender.getActualNum()==null?0:musicGroupPaymentCalender.getActualNum()) + j);
+				if(updateFlag){
+					musicGroupPaymentCalenderDao.update(musicGroupPaymentCalender);
+				}
+			}
+		}
+	}
+
 	@Override
 	public boolean makesureSchoolePaid(Long id, String memo) {
 		MusicGroupPaymentCalender musicGroupPaymentCalender = musicGroupPaymentCalenderDao.get(id);
@@ -1536,8 +1546,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 			}
 			for (MusicGroupPaymentCalender musicGroupPaymentCalender : musicGroupPaymentCalenders) {
 				//将0元未缴费学员缴费状态更新为已缴费
-				int j = musicGroupPaymentCalenderDetailDao.updateNoPaymentAndZeroPaymentStatus(musicGroupPaymentCalender.getId());
-				musicGroupPaymentCalender.setActualNum((musicGroupPaymentCalender.getActualNum()==null?0:musicGroupPaymentCalender.getActualNum()) + j);
+				this.updateNoPaymentAndZeroPaymentStatus(musicGroupPaymentCalender,false);
 			}
 			musicGroupPaymentCalenderDao.batchUpdate(musicGroupPaymentCalenders);
 			if (calender.getPaymentType() == ADD_STUDENT){
@@ -1724,8 +1733,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				mgpc.setUpdateTime(date);
 				mgpc.setStatus(PaymentCalenderStatusEnum.OVER);
 				//将0元未缴费学员缴费状态更新为已缴费
-				int i = musicGroupPaymentCalenderDetailDao.updateNoPaymentAndZeroPaymentStatus(mgpc.getId());
-				mgpc.setActualNum((mgpc.getActualNum()==null?0:mgpc.getActualNum()) + i);
+				this.updateNoPaymentAndZeroPaymentStatus(mgpc,false);
 				updateMusicGroupPaymentCalenderList.add(mgpc);
 				//如果是进行中加学员,将报名表状态改为NORMAL
 				if(mgpc.getPaymentType() == MusicGroupPaymentCalender.PaymentType.ADD_STUDENT){
@@ -1744,8 +1752,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				mgpc.setUpdateTime(date);
 				mgpc.setStatus(PaymentCalenderStatusEnum.OPEN);
 				//将0元未缴费学员缴费状态更新为已缴费
-				int i = musicGroupPaymentCalenderDetailDao.updateNoPaymentAndZeroPaymentStatus(mgpc.getId());
-				mgpc.setActualNum((mgpc.getActualNum()==null?0:mgpc.getActualNum()) + i);
+				this.updateNoPaymentAndZeroPaymentStatus(mgpc,false);
 				updateMusicGroupPaymentCalenderList.add(mgpc);
 				if(mgpc.getPayUserType() == STUDENT){
 					//推送待续费通知

+ 107 - 81
mec-biz/src/main/java/com/ym/mec/biz/service/impl/OrderPayOpsServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;
@@ -10,14 +11,12 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
-import java.util.Optional;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.TimeUnit;
 import java.util.function.BiPredicate;
 import java.util.function.Consumer;
 import java.util.function.Function;
 
-import org.apache.commons.lang3.StringUtils;
 import org.redisson.api.RBucket;
 import org.redisson.api.RedissonClient;
 import org.slf4j.Logger;
@@ -29,7 +28,6 @@ import org.springframework.util.DigestUtils;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
-import com.ym.mec.biz.dal.entity.StudentPaymentRouteOrder;
 import com.ym.mec.biz.dal.entity.TenantConfig;
 import com.ym.mec.biz.dal.entity.TenantOrderRecord;
 import com.ym.mec.biz.dal.entity.TenantPaymentOrder;
@@ -58,7 +56,6 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
 
     @Autowired
     private StudentPaymentOrderService studentPaymentOrderService;
-    
     @Autowired
     private TenantPaymentOrderService tenantPaymentOrderService;
     @Autowired
@@ -71,6 +68,20 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
     @Autowired
     private TenantConfigService tenantConfigService;
 
+    //支付类型
+    private static final Map<String, Function<PaymentParam, Map<String, Object>>> checkOrderType = new HashMap<>();
+
+    {
+        //开通缴费/续费
+        checkOrderType.put("tenant", this::openOrRenew);
+        //云教练支付
+        checkOrderType.put("cloudTeacherOrder", this::cloudTeacherOrder);
+        //机构充值
+        checkOrderType.put("tenantRecharge", this::tenantRecharge);
+        //teacher
+        checkOrderType.put("teacher", this::teacher);
+    }
+
     @Override
     public Map<String, Object> executePayment(BigDecimal amount, String orderNo, String payChannel, String returnUrl, String orderSubject, String orderBody, String sign, String code, String platform) throws Exception {
         PaymentParam payParam = new PaymentParam(amount, orderNo, payChannel, returnUrl,
@@ -84,69 +95,11 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
 
         Map<String, Object> payment = new HashMap<>();
         if (platform != null) {
-            if (WrapperUtil.checkStr(platform,"tenant")) {
-                //机构开通、续费付款
-                TenantOrderRecord tenantOrderRecord = tenantOrderRecordService.getOne(new WrapperUtil<TenantOrderRecord>()
-                        .hasEq("order_no_", payParam.getOrderNo()).queryWrapper());
-                payParam.setTenantId(tenantOrderRecord.getTenantId());
-                payment = checkOrderAndGetParam(payParam,
-                        tenantOrderRecord,
-                        TenantOrderRecord::getEnumOrderState,
-                        TenantOrderRecord::getCreatedTime,
-                        tenantOrderRecord::setTransNo,
-                        tenantOrderRecordService::updateById
-                );
-                //机构开通付款 主动延迟检查订单
-                delayCheckTenant();
-            } else if (platform.equals("cloudTeacherOrder")) {
-                // 云教练支付
-                TenantOrderRecord tenantOrderRecord = tenantOrderRecordService.getOne(new WrapperUtil<TenantOrderRecord>()
-                                                                                              .hasEq("order_no_", payParam.getOrderNo()).queryWrapper());
-                if (tenantOrderRecord.getOrderState() == 1) {
-                    throw new Exception("订单已支付, 订单号:" + payParam.getOrderNo());
-                }
-                payParam.setTenantId(tenantOrderRecord.getTenantId());
-                payment = checkOrderAndGetParam(payParam,
-                                                tenantOrderRecord,
-                                                TenantOrderRecord::getEnumOrderState,
-                                                TenantOrderRecord::getCreatedTime,
-                                                tenantOrderRecord::setTransNo,
-                                                tenantOrderRecordService::updateById
-                );
-                // 云教练支付 主动延迟检查订单
-                log.info("executePayment delayCheckCloudTeacherOrder >>>>> ");
-                delayCheckCloudTeacherOrder(tenantOrderRecord);
-            } else if (platform.equals("tenantRecharge")) {
-                // 机构充值
-                TenantOrderRecord tenantOrderRecord = tenantOrderRecordService.getOne(new WrapperUtil<TenantOrderRecord>()
-                                                                                              .hasEq("order_no_", payParam.getOrderNo()).queryWrapper());
-                if (tenantOrderRecord.getOrderState() == 1) {
-                    throw new Exception("订单已支付, 订单号:" + payParam.getOrderNo());
-                }
-                payParam.setTenantId(tenantOrderRecord.getTenantId());
-                payment = checkOrderAndGetParam(payParam,
-                                                tenantOrderRecord,
-                                                TenantOrderRecord::getEnumOrderState,
-                                                TenantOrderRecord::getCreatedTime,
-                                                tenantOrderRecord::setTransNo,
-                                                tenantOrderRecordService::updateById
-                );
-                //主动延迟检查订单
-                log.info("executePayment delayCheckTenantRecharge >>>>> ");
-                delayCheckTenantRecharge(tenantOrderRecord);
-            } else if (platform.equals("teacher")) {
-                TenantPaymentOrder tenantPaymentOrder = tenantPaymentOrderService.queryByOrderNo(payParam.getOrderNo());
-                payParam.setTenantId(1);
-                payment = checkOrderAndGetParam(payParam,
-                        tenantPaymentOrder,
-                        TenantPaymentOrder::getStatus,
-                        TenantPaymentOrder::getCreateTime,
-                        tenantPaymentOrder::setTransNo,
-                        tenantPaymentOrderService::update
-                );
-            } else {
+            //根据传入platform 来判断执行哪个操作
+            Function<PaymentParam, Map<String, Object>> function = checkOrderType.get(platform);
+            //如果以上操作都没有 则应该是这一个,因为老代码就是这样写的。
+            if (Objects.isNull(function)) {
                 StudentPaymentOrder studentPaymentOrder = studentPaymentOrderService.findOrderByOrderNo(payParam.getOrderNo());
-                payParam.setTenantId(studentPaymentOrder.getTenantId());
                 payment = checkOrderAndGetParam(payParam,
                         studentPaymentOrder,
                         StudentPaymentOrder::getStatus,
@@ -154,16 +107,92 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
                         studentPaymentOrder::setTransNo,
                         studentPaymentOrderService::update
                 );
+            } else {
+                payment = function.apply(payParam);
             }
         }
+        return payment;
+    }
+
+    //teacher
+    private Map<String, Object> teacher(PaymentParam payParam) {
+        Map<String, Object> payment;
+        TenantPaymentOrder tenantPaymentOrder = tenantPaymentOrderService.queryByOrderNo(payParam.getOrderNo());
+        payParam.setTenantId(1);
+        try {
+            payment = checkOrderAndGetParam(payParam,
+                    tenantPaymentOrder,
+                    TenantPaymentOrder::getStatus,
+                    TenantPaymentOrder::getCreateTime,
+                    tenantPaymentOrder::setTransNo,
+                    tenantPaymentOrderService::update
+            );
+        } catch (Exception e) {
+            throw new BizException(e.getMessage());
+        }
+        return payment;
+    }
+
+    // 机构充值
+    private Map<String, Object> tenantRecharge(PaymentParam payParam) {
+        Map<String, Object> payment;
+        TenantOrderRecord tenantOrderRecord = getTenantOrderRecord(payParam.getOrderNo());
+        payParam.setTenantId(tenantOrderRecord.getTenantId());
+        payment = checkOrderGetPayment(payParam, tenantOrderRecord);
+        //主动延迟检查订单
+        log.info("executePayment delayCheckTenantRecharge >>>>> ");
+        delayCheckTenantRecharge(tenantOrderRecord);
+        return payment;
+    }
 
+    // 云教练支付
+    private Map<String, Object> cloudTeacherOrder(PaymentParam payParam) {
+        TenantOrderRecord tenantOrderRecord = getTenantOrderRecord(payParam.getOrderNo());
+        payParam.setTenantId(tenantOrderRecord.getTenantId());
+        Map<String, Object> payment = checkOrderGetPayment(payParam, tenantOrderRecord);
+        // 云教练支付 主动延迟检查订单
+        log.info("executePayment delayCheckCloudTeacherOrder >>>>> ");
+        delayCheckCloudTeacherOrder(tenantOrderRecord);
+        return payment;
+    }
+
+    //机构开通、续费付款
+    private Map<String, Object> openOrRenew(PaymentParam payParam) {
+        TenantOrderRecord tenantOrderRecord = getTenantOrderRecord(payParam.getOrderNo());
+        payParam.setTenantId(tenantOrderRecord.getTenantId());
+        Map<String, Object> payment = checkOrderGetPayment(payParam, tenantOrderRecord);
+        //主动延迟检查订单
+        delayCheckTenant();
+        return payment;
+    }
+
+    //查询订单
+    private TenantOrderRecord getTenantOrderRecord(String orderNo) {
+        return tenantOrderRecordService.getOne(new WrapperUtil<TenantOrderRecord>()
+                .hasEq("order_no_", orderNo).queryWrapper());
+    }
+
+    //获取支付数据
+    private Map<String, Object> checkOrderGetPayment(PaymentParam payParam, TenantOrderRecord tenantOrderRecord) {
+        Map<String, Object> payment;
+        try {
+            payment = checkOrderAndGetParam(payParam,
+                    tenantOrderRecord,
+                    TenantOrderRecord::getEnumOrderState,
+                    TenantOrderRecord::getCreatedTime,
+                    tenantOrderRecord::setTransNo,
+                    tenantOrderRecordService::updateById
+            );
+        } catch (Exception e) {
+            throw new BizException(e.getMessage());
+        }
         return payment;
     }
 
     private void checkSing(PaymentParam param) {
         Map<String, Object> signParams = new LinkedHashMap<>();
         signParams.put("appId", ConfigInit.appId);
-        signParams.put("amount", param.getAmount().setScale(2, BigDecimal.ROUND_HALF_UP));
+        signParams.put("amount", param.getAmount().setScale(2, RoundingMode.HALF_UP));
         signParams.put("orderNo", param.getOrderNo());
         signParams.put("orderSubject", param.getOrderSubject());
         signParams.put("orderBody", param.getOrderBody());
@@ -182,7 +211,9 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
         if (Objects.isNull(clazz)) {
             throw new BizException("订单不存在");
         }
+        //校验订单状态
         checkOrderState(clazz, enumFunc);
+        //获取订单创建时间
         Date createTime = dateFunc.apply(clazz);
         //校验订单是否超时
         String timeExpire = checkOrderTimeOut(createTime);
@@ -190,7 +221,7 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
         Map<String, Object> paymentParams = getPaymentParam(payParam);
         paymentParams.put("time_expire", timeExpire);
         paymentParams.put("expend", getExpend(payParam));
-        //获取第三方的支付的信息
+        //向第三方发起支付,获取第三方的支付的信息
         Map<String, Object> payment = Payment.executePayment(paymentParams);
         log.info("executePayment create order param >>>>> {}", JSON.toJSONString(payment));
         String transNo = (String) payment.get("id");
@@ -221,15 +252,8 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
     }
 
     private <T> void setTransNoByApply(String TransNo, T clazz, Consumer<String> setOption, Consumer<T> action) {
-        Optional.ofNullable(clazz)
-                .filter(c -> Objects.nonNull(setOption))
-                .filter(c -> Objects.nonNull(action))
-                .filter(c -> StringUtils.isNotBlank(TransNo))
-                .map(c -> {
-                    setOption.accept(TransNo);
-                    return c;
-                })
-                .ifPresent(action);
+        setOption.accept(TransNo);
+        action.accept(clazz);
     }
 
     private Map<String, Object> getExpend(PaymentParam payParam) throws Exception {
@@ -268,8 +292,8 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
         paymentParams.put("pay_amt", payParam.getAmount().setScale(2, BigDecimal.ROUND_HALF_UP));
         paymentParams.put("goods_title", payParam.getOrderSubject());
         paymentParams.put("goods_desc", payParam.getOrderBody());
-
-		if (payParam.getTenantId() == 1) {
+        
+        if (payParam.getTenantId() == 1) {
 			// 延时分账
 			paymentParams.put("pay_mode", "delay");
 		} else {
@@ -300,6 +324,7 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
         
         //手续费收取模式:O-商户手续费账户扣取手续费,I-交易金额中扣取手续费;值为空时,默认值为I;若为O时,分账对象列表中不支持传入手续费承担方
         paymentParams.put("fee_mode", "I");
+        
         return paymentParams;
     }
 
@@ -317,6 +342,7 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
                     tenantOrderRecordService.checkTenantOrder();
                     log.info("delayCheckTenant >>>>>  start {}", i);
                 } catch (InterruptedException e) {
+                    log.error("delayCheckTenant >>>>", e.getCause());
                     return;
                 }
             }
@@ -341,7 +367,7 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
                     Thread.sleep(3000);//每3秒触发一次
                     log.info("云教练 支付 重试>>>>>  start {}", i);
                 } catch (Exception e) {
-                    log.info("云教练 支付 异常  ", e.toString());
+                    log.info("云教练 支付 异常 : {}", e.toString());
                     e.printStackTrace();
                 }
             }
@@ -388,7 +414,6 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
         private String code;
         private String platform;
         private Integer tenantId;
-        
 
         PaymentParam(BigDecimal amount, String orderNo, String payChannel, String returnUrl, String orderSubject,
                      String orderBody, String sign, String code, String platform) {
@@ -485,3 +510,4 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
     }
 
 }
+

+ 12 - 99
mec-biz/src/main/java/com/ym/mec/biz/service/impl/OrganizationServiceImpl.java

@@ -21,12 +21,14 @@ import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.common.tenant.TenantContextHolder;
-import com.ym.mec.util.collection.MapUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.*;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.EDUCATION;
@@ -43,8 +45,6 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 	@Autowired
 	private EmployeeDao employeeDao;
 	@Autowired
-	private ClassGroupDao classGroupDao;
-	@Autowired
 	private SysUserFeignService sysUserFeignService;
 	@Autowired
 	private SysEmployeePositionService employeePositionService;
@@ -55,21 +55,18 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 	}
 
 	@Override
-	public List<Organization> queryEmployeeOrgan(Integer userId,String organId){
-		return organizationDao.queryEmployeeOrgan(userId,organId);
-	}
-
-	@Override
-	public List<Organization> queryEmployeeOrganByUser(){
+	public List<Organization> queryEmployeeOrgan(){
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		if(sysUser == null){
 			throw new BizException("获取用户信息失败");
 		}
-		Integer userId = sysUser.getId();
-		if(sysUser.getIsSuperAdmin()){
-			userId = null;
-		}
-		return organizationDao.queryEmployeeOrgan(userId,null);
+		String organIds = this.getEmployeeOrgan(sysUser.getId(), "", sysUser.getIsSuperAdmin());
+		return organizationDao.queryEmployeeOrgan(organIds);
+	}
+
+	@Override
+	public List<Organization> queryEmployeeOrganByUser(){
+		return this.queryEmployeeOrgan();
 	}
 
 	@Override
@@ -104,56 +101,6 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 	}
 
 	@Override
-	public int updateOrgan(Organization organization) {
-		return organizationDao.update(initOrganization(organization));
-	}
-
-	@Override
-	public Long add(Organization organization) {
-		return organizationDao.insert(initOrganization(organization));
-	}
-
-	@Override
-	public Map<String,Map<Integer,String>> getOrganRole(List<Integer> organIds) {
-		List<Organization> organizationList = organizationDao.findOrgans(organIds);
-		if(organizationList == null || organizationList.size() == 0){
-			throw new BizException("分部信息不存在");
-		}
-		StringJoiner organManager = new StringJoiner(",")
-				,repairId = new StringJoiner(",")
-				,educationId = new StringJoiner(",")
-				,joinTeacherId = new StringJoiner(","),
-				userId = new StringJoiner(",");
-		for (Organization organization : organizationList) {
-			if(StringUtils.isNotEmpty(organization.getOrganManager())){
-				organManager.add(organization.getOrganManager());
-				userId.add(organization.getOrganManager());
-			}
-			if(StringUtils.isNotEmpty(organization.getRepairId())){
-				repairId.add(organization.getRepairId());
-				userId.add(organization.getRepairId());
-			}
-			if(StringUtils.isNotEmpty(organization.getEducationId())){
-				educationId.add(organization.getEducationId());
-				userId.add(organization.getEducationId());
-			}
-			if(StringUtils.isNotEmpty(organization.getJoinTeacherId())){
-				joinTeacherId.add(organization.getJoinTeacherId());
-				userId.add(organization.getJoinTeacherId());
-			}
-		}
-		Map<String,Map<Integer,String>> resultMap = new HashMap<>(4);
-		if(userId.length() > 0){
-			Map<Integer, String> educationalTeacherNameMap = MapUtil.convertMybatisMap(teacherDao.queryNameByIds(userId.toString()));
-			resultMap.put("organManager",getOrganManagerName(educationalTeacherNameMap,organManager.toString()));
-			resultMap.put("repairId",getOrganManagerName(educationalTeacherNameMap,repairId.toString()));
-			resultMap.put("educationId",getOrganManagerName(educationalTeacherNameMap,educationId.toString()));
-			resultMap.put("joinTeacherId",getOrganManagerName(educationalTeacherNameMap,joinTeacherId.toString()));
-		}
-		return resultMap;
-	}
-
-	@Override
 	public String getEmployeeOrgan(Integer userId, String organIds,Boolean isSuper) {
 		if(StringUtils.isEmpty(organIds)){
 			Integer tenantId = TenantContextHolder.getTenantId();
@@ -208,14 +155,6 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 		return organizationDao.getOrgans(organIds,tenantId);
 	}
 
-    @Override
-    public <T extends EducationBaseQueryInfo> T onlyEducationInitClassId(T queryInfo) {
-		queryInfo = onlyEducation(queryInfo);
-		if(queryInfo.getEducationUserId() != null){
-			queryInfo.setClassGroupIds(classGroupDao.queryGroupClassGroupIds(queryInfo.getEducationUserId()));
-		}
-		return queryInfo;
-	}
 
     @Override
     public <T extends EducationBaseQueryInfo> T onlyEducation(T queryInfo) {
@@ -231,30 +170,4 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 		}
 		return queryInfo;
     }
-
-    private Map<Integer,String> getOrganManagerName(Map<Integer, String> nameMap, String organManager){
-		Map<Integer,String> map = new HashMap<>();
-		if(StringUtils.isNotEmpty(organManager)){
-			List<Integer> organIds = Arrays.stream(organManager.split(",")).map(id -> Integer.valueOf(id)).collect(Collectors.toList());
-			for (Integer organId : organIds) {
-				map.put(organId,nameMap.get(organId));
-			}
-		}
-		return map;
-	}
-	private String getName(String userIds){
-		if(StringUtils.isNotEmpty(userIds)){
-			return teacherDao.queryTeacherNameByTeacherIds(userIds);
-		}
-		return "";
-	}
-
-
-	private Organization initOrganization(Organization organization){
-		organization.setOrganManagerName(getName(organization.getOrganManager()));
-		organization.setEducationName(getName(organization.getEducationId()));
-		organization.setRepairName(getName(organization.getRepairId()));
-		organization.setJoinTeacherName(getName(organization.getJoinTeacherId()));
-		return organization;
-	}
 }

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PlatformProductServiceImpl.java

@@ -122,6 +122,7 @@ public class PlatformProductServiceImpl extends ServiceImpl<PlatformProductDao,
             return null;
         }
         return strings.stream()
+                .distinct()
                 .map(WrapperUtil::toInt)
                 .collect(Collectors.toList());
     }

+ 5 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java

@@ -3,7 +3,6 @@ package com.ym.mec.biz.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.auth.api.entity.SysUserRole;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
@@ -98,8 +97,6 @@ public class StudentManageServiceImpl implements StudentManageService {
     @Autowired
     private CloudTeacherOrderService cloudTeacherOrderService;
     @Autowired
-    private EmployeeDao employeeDao;
-    @Autowired
     private OrganizationDegreeCourseFeeDao organizationDegreeCourseFeeDao;
     @Autowired
     private ActivityUserMapperDao activityUserMapperDao;
@@ -107,6 +104,8 @@ public class StudentManageServiceImpl implements StudentManageService {
     private SysTenantConfigService sysTenantConfigService;
     @Autowired
     private SysEmployeePositionService employeePositionService;
+    @Autowired
+    private TenantInfoService tenantInfoService;
 
     @Override
     public PageInfo<StudentManageListDto> findStudentsByOrganId(StudentManageQueryInfo queryInfo) {
@@ -740,6 +739,9 @@ public class StudentManageServiceImpl implements StudentManageService {
         student.setOperatingTempTag(0);
         student.setServiceTag(student.getServiceTag() == 0 ? 2 : 1);
         student.setTeacherId(student.getTeacherId());
+        // 同步更新机构手机号 如果它存在
+        SysUser user = sysUserFeignService.queryUserById(student.getId());
+        tenantInfoService.updatePhone(student.getPhone(), user.getPhone());
         activityUserMapperDao.updateTeacherId(student.getUserId(),student.getTeacherId());
         if(Objects.nonNull(student.getCarePackage())||Objects.nonNull(student.getComeOnPackage())){
             Student oldStudent = studentDao.get(userId);

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -18,6 +18,7 @@ import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.IdGeneratorService;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.common.tenant.TenantContextHolder;
 import com.ym.mec.thirdparty.adapay.ConfigInit;
 import com.ym.mec.thirdparty.adapay.Payment;
 import com.ym.mec.thirdparty.yqpay.Msg;
@@ -357,8 +358,10 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
         if (StringUtils.isBlank(order.getTransNo())) {
             order.setTransNo(rpMap.get("orderNo"));
         }
+
         order.setPaymentBusinessChannel(rpMap.get("channelType"));
         order.setTenantId(this.get(order.getId()).getTenantId());
+        TenantContextHolder.setTenantId(order.getTenantId());
         callOrderCallBack(order);
 
         if (status.equals(DealStatusEnum.SUCCESS)
@@ -367,6 +370,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                 && !rpMap.containsKey("simulation")) {
             confirmOrder(order);
         }
+        TenantContextHolder.clearTenantId();
     }
 
     private Boolean confirmOrder(StudentPaymentOrder order) {

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java

@@ -171,7 +171,7 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
 
         String channelType = "";
 
-        Integer tenantId = TenantContextHolder.getTenantId();
+        Integer tenantId = subjectChangeParamDto.getTenantId();
 
         //只允许使用这类型的优惠券
         String[] checkCoupon = CouponDetailTypeEnum.getAllowType(CouponDetailTypeEnum.ACCESSORIES, CouponDetailTypeEnum.MUSICAL);

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java

@@ -356,7 +356,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		if (triggerTime == null || date.after(triggerTime)) {
 			status = SendStatusEnum.SENDING;
 			try {
-				debugMode = false;
+				// debugMode = false;
 				if (debugMode == true
 						|| messageSenderPluginContext.batchSend(messageSender, messageConfig.getDescription(),
 								MessageFormatter.arrayFormat(messageConfig.getContent(), args), tos, url,jpushType,"default",null)) {

+ 9 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysTenantConfigServiceImpl.java

@@ -9,6 +9,8 @@ import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.redis.service.RedisCache;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
+import org.redisson.api.RBucket;
+import org.redisson.api.RedissonClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationEventPublisher;
 import org.springframework.context.ApplicationEventPublisherAware;
@@ -26,7 +28,7 @@ public class SysTenantConfigServiceImpl extends BaseServiceImpl<Integer, SysTena
 	@Autowired
 	private SysTenantConfigDao sysTenantConfigDao;
 	@Autowired
-	private RedisCache<String,ConcurrentHashMap<Integer,ConcurrentHashMap<String,String>>> redisCache;
+	private RedissonClient redissonClient;
 	private static final String tenantKey = "sysTenantConfig";
 
 	@Override
@@ -44,12 +46,14 @@ public class SysTenantConfigServiceImpl extends BaseServiceImpl<Integer, SysTena
 
 	@Override
 	public void setTenantConfig(ConcurrentHashMap<Integer, ConcurrentHashMap<String, String>> tenantConfig) {
-		redisCache.put(tenantKey,tenantConfig);
+		RBucket<ConcurrentHashMap<Integer,ConcurrentHashMap<String,String>>> bucket = redissonClient.getBucket(tenantKey);
+		bucket.set(tenantConfig);
 	}
 
 	@Override
 	public String getTenantConfigValue(String paramName,Integer tenantId) {
-		ConcurrentHashMap<Integer, ConcurrentHashMap<String, String>> tenantConfigMap = redisCache.get(tenantKey);
+		RBucket<ConcurrentHashMap<Integer,ConcurrentHashMap<String,String>>> bucket = redissonClient.getBucket(tenantKey);
+		ConcurrentHashMap<Integer, ConcurrentHashMap<String, String>> tenantConfigMap = bucket.get();
 		ConcurrentHashMap<String, String> map = tenantConfigMap.get(tenantId);
 		if(map != null){
 			return map.get(paramName);
@@ -60,7 +64,8 @@ public class SysTenantConfigServiceImpl extends BaseServiceImpl<Integer, SysTena
 
 	@Override
 	public ConcurrentHashMap<Integer, ConcurrentHashMap<String, String>> getAllTenantConfig() {
-		return redisCache.get(tenantKey);
+		RBucket<ConcurrentHashMap<Integer,ConcurrentHashMap<String,String>>> bucket = redissonClient.getBucket(tenantKey);
+		return bucket.get();
 	}
 
 	@Override

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

@@ -172,7 +172,7 @@ public class TeacherDefaultMusicGroupSalaryServiceImpl extends BaseServiceImpl<L
 									}
 									//课堂课课酬改为按分钟数计算,并且时长占比向下取整
 									if (CourseSchedule.CourseScheduleType.CLASSROOM.equals(tdms.getCourseScheduleType())){
-										ts.setExpectSalary(TeachTypeEnum.BISHOP.equals(ts.getTeacherRole()) ? tdms.getMainTeacher30MinSalary() : tdms.getAssistantTeacher30MinSalary());
+										ts.setExpectSalary(TeachTypeEnum.BISHOP.equals(ts.getTeacherRole()) ? tdms.getMainTeacher90MinSalary() : tdms.getAssistantTeacher90MinSalary());
 										ts.setExpectSalary(duration.divide(new BigDecimal(40), BigDecimal.ZERO.intValue(), BigDecimal.ROUND_DOWN).multiply(ts.getExpectSalary()).setScale(2, BigDecimal.ROUND_HALF_UP));
 									}
 									list.add(ts);
@@ -199,7 +199,7 @@ public class TeacherDefaultMusicGroupSalaryServiceImpl extends BaseServiceImpl<L
 									}
 									//课堂课课酬改为按分钟数计算,并且时长占比向下取整
 									if (CourseSchedule.CourseScheduleType.CLASSROOM.equals(tdms.getCourseScheduleType())){
-										ts.setExpectSalary(TeachTypeEnum.BISHOP.equals(ts.getTeacherRole()) ? tdms.getMainTeacher30MinSalary() : tdms.getAssistantTeacher30MinSalary());
+										ts.setExpectSalary(TeachTypeEnum.BISHOP.equals(ts.getTeacherRole()) ? tdms.getMainTeacher90MinSalary() : tdms.getAssistantTeacher90MinSalary());
 										ts.setExpectSalary(duration.divide(new BigDecimal(40), BigDecimal.ZERO.intValue(), BigDecimal.ROUND_DOWN).multiply(ts.getExpectSalary()).setScale(2, BigDecimal.ROUND_HALF_UP));
 									}
 									list.add(ts);

+ 17 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -20,6 +20,7 @@ import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.page.*;
 
+import com.ym.mec.biz.service.TenantInfoService;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -100,7 +101,8 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 	private RedisTemplate<String,String> redisTemplate;
 	@Autowired
 	private CloudTeacherDao cloudTeacherDao;
-
+	@Autowired
+	private TenantInfoService tenantInfoService;
 
 	@Override
 	public BaseDAO<Integer, Teacher> getDAO() {
@@ -162,12 +164,20 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 		if(null==teacher1){
 			throw new BizException("教师信息不存在");
 		}
+
 		if(StringUtils.isNotEmpty(teacher.getPhone())){
 			SysUser sysUser = sysUserFeignService.queryUserByMobile(teacher.getPhone());
 			if(sysUser != null && !sysUser.getId().equals(teacher.getId())){
 				throw new BizException("手机号已存在");
 			}
 		}
+
+		// 同步更新机构手机号 如果它存在
+		SysUser user = sysUserFeignService.queryUserById(teacher.getId()); // 138 -> 159
+		if (!Objects.equals(user.getPhone(), teacher1.getPhone())) {
+			tenantInfoService.updatePhone(teacher1.getPhone(), user.getPhone());
+		}
+
 		if(Objects.nonNull(teacher.getEntryDate())&&Objects.nonNull(teacher.getFormalStaffDate())){
 			if(teacher.getEntryDate().compareTo(teacher.getFormalStaffDate())>0){
 				throw new BizException("入职日期不可晚于转正日期");
@@ -196,6 +206,12 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 				throw new BizException("手机号已存在");
 			}
 		}
+		// 同步更新机构手机号 如果它存在
+		SysUser user = sysUserFeignService.queryUserById(teacher.getId());
+		if (!Objects.equals(user.getPhone(), teacher1.getPhone())) {
+			tenantInfoService.updatePhone(teacher1.getPhone(), user.getPhone());
+		}
+
 		if(Objects.nonNull(teacher.getEntryDate())&&Objects.nonNull(teacher.getFormalStaffDate())){
 			if(teacher.getEntryDate().compareTo(teacher.getFormalStaffDate())>0){
 				throw new BizException("入职日期不可晚于转正日期");

+ 62 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantInfoSendMsgServiceImpl.java

@@ -0,0 +1,62 @@
+package com.ym.mec.biz.service.impl;
+
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.biz.service.TenantInfoSendMsgService;
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+
+@Service
+public class TenantInfoSendMsgServiceImpl implements TenantInfoSendMsgService {
+    private static final Logger log = LoggerFactory.getLogger(TenantInfoSendMsgServiceImpl.class);
+
+    @Autowired
+    private SysMessageService sysMessageService;
+
+    //开通
+    public static final String OPEN = "open";
+    //续费
+    public static final String RENEW = "renew";
+
+    //发送邮件和短信
+    public static final Object[] sendAll = {MessageSenderPluginContext.MessageSender.EMAIL, MessageSenderPluginContext.MessageSender.AWSMS};
+    //开通
+    private static final Map<MessageSenderPluginContext.MessageSender, MessageTypeEnum> openMsgEnum = new HashMap<>();
+    //续费
+    private static final Map<MessageSenderPluginContext.MessageSender, MessageTypeEnum> renewMsgEnum = new HashMap<>();
+    //init
+    private static final Map<String, Map<MessageSenderPluginContext.MessageSender, MessageTypeEnum>> sendMsgTypeEn = new HashMap<>();
+
+    static {
+        //开通
+        openMsgEnum.put(MessageSenderPluginContext.MessageSender.EMAIL, MessageTypeEnum.EMAIL_TENANT_ACTIVATION_SUCCESSFUL);
+        openMsgEnum.put(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_TENANT_ACTIVATION_SUCCESSFUL);
+        //续费
+        renewMsgEnum.put(MessageSenderPluginContext.MessageSender.EMAIL, MessageTypeEnum.EMAIL_TENANT_RENEWAL_SUCCESSFUL);
+        renewMsgEnum.put(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_TENANT_RENEWAL_SUCCESSFUL);
+        //init
+        sendMsgTypeEn.put(OPEN, openMsgEnum);
+        sendMsgTypeEn.put(RENEW, renewMsgEnum);
+    }
+
+    //发送邮件及短信提醒
+    @Override
+    public void sendToAll(String type, Integer userId, String email, Object... objs) {
+        Map<Integer, String> receivers = new HashMap<>();
+        receivers.put(userId, email);
+        Arrays.stream(sendAll).forEach(o -> {
+            MessageSenderPluginContext.MessageSender msgType = (MessageSenderPluginContext.MessageSender) o;
+            sysMessageService.batchSendMessage(msgType,
+                    sendMsgTypeEn.get(type).get(msgType), receivers, null, 0, null,
+                    "SYSTEM", objs);
+        });
+    }
+
+}

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantInfoServiceImpl.java

@@ -782,6 +782,7 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
         if (StringUtils.isNotEmpty(tenantId)) {
             TenantContextHolder.setTenantId(Integer.parseInt(tenantId));
             if (Integer.parseInt(tenantId) != -1) {
+                log.info("==> " + request.getRequestURL());
                 TenantInfo tenantInfo = this.baseMapper.getOpenTenant(Integer.parseInt(tenantId));
                 if (tenantInfo != null) {
                     request.setAttribute("datasourceId", tenantInfo.getDataSource());
@@ -793,6 +794,11 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
     }
 
     @Override
+    public void updatePhone(String newPhone, String oldPhone) {
+        baseMapper.updatePhone(newPhone, oldPhone);
+    }
+
+    @Override
     public TenantInfo queryTenantInfoByOrgan(Integer organId) {
         return baseMapper.queryTenantInfoByOrgan(organId);
     }

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -2755,6 +2755,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
     public void orderCallback(StudentPaymentOrder studentPaymentOrder) {
         Integer userId = studentPaymentOrder.getUserId();
+        Integer tenantId = studentPaymentOrder.getTenantId();
         StudentPaymentOrder order = studentPaymentOrderDao.lockOrder(studentPaymentOrder.getId());
         if (!order.getStatus().equals(DealStatusEnum.ING)) {
             return;
@@ -2822,6 +2823,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                         courseScheduleTeacherSalary.setClassGroupId(courseSchedule.getClassGroupId());
                         courseScheduleTeacherSalary.setExpectSalary(stringBigDecimalMap.get("offlineTeacherSalary"));
                         courseScheduleTeacherSalary.setActualSalary(null);
+                        courseScheduleTeacherSalary.setTenantId(tenantId);
                         courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
 
                         TeacherAttendance teacherAttendance = new TeacherAttendance();
@@ -2830,6 +2832,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                         teacherAttendance.setMusicGroupId(courseSchedule.getMusicGroupId());
                         teacherAttendance.setTeacherId(courseSchedule.getActualTeacherId());
                         teacherAttendance.setCourseScheduleId(courseSchedule.getId());
+                        teacherAttendance.setTenantId(tenantId);
                         teacherAttendances.add(teacherAttendance);
                     }
                     courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
@@ -2874,7 +2877,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                     studentDao.updateStudentServiceTag(null, studentIdList, YesOrNoEnum.YES.getCode());
 
                     courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
-//				courseScheduleService.checkNewCourseSchedules(courseSchedules, false,false);
 
                     imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
                     imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);

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

@@ -567,8 +567,8 @@
 
 	<update id="updateNoPaymentAndZeroPaymentStatus">
 		UPDATE music_group_payment_calender_detail mgpcd
-		SET mgpcd.payment_status_ = 'PAID_COMPLETED',mgpcd.actual_amount_ = 0,mgpcd.update_time_ = NOW()
-		WHERE mgpcd.music_group_payment_calender_id_ = #{calenderId} AND (mgpcd.expect_amount_ + mgpcd.expect_member_amount_) = 0
+		SET mgpcd.payment_status_ = 'PAID_COMPLETED',mgpcd.update_time_ = NOW()
+		WHERE mgpcd.music_group_payment_calender_id_ = #{calenderId}
 		AND mgpcd.payment_status_ = 'NON_PAYMENT'
 	</update>
 </mapper>

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

@@ -18,14 +18,6 @@
         <result column="linkman_" property="linkman"/>
         <result column="mobile_" property="mobile"/>
         <result column="address_" property="address"/>
-        <result column="organ_manager_" property="organManager"/>
-        <result column="education_id_" property="educationId"/>
-        <result column="join_teacher_id_" property="joinTeacherId"/>
-        <result column="join_teacher_name_" property="joinTeacherName"/>
-        <result column="repair_id_" property="repairId"/>
-        <result column="organ_manager_name_" property="organManagerName"/>
-        <result column="education_name_" property="educationName"/>
-        <result column="repair_name_" property="repairName"/>
         <result column="tenant_id_" property="tenantId"/>
         <result column="grade_type_" property="gradeType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
@@ -44,12 +36,9 @@
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.Organization" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
         INSERT INTO organization (id_,name_,area_id_,create_time_,update_time_,
-                                  register_date_,linkman_,mobile_,address_,grade_type_,organ_manager_,education_id_,repair_id_,join_teacher_id_,
-                                  organ_manager_name_,education_name_,repair_name_,join_teacher_name_,tenant_id_)
+                                  register_date_,linkman_,mobile_,address_,grade_type_,tenant_id_)
         VALUES(#{id},#{name},#{areaId},now(),now(),#{registerDate},#{linkman},#{mobile},#{address},
-               #{gradeType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
-               ,#{organManager},#{educationId},#{repairId},#{joinTeacherId},#{organManagerName},
-               #{educationName},#{repairName},#{joinTeacherName},#{tenantId})
+               #{gradeType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{tenantId})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -59,14 +48,6 @@
             <if test="delFlag != null">
                 del_flag_ = #{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
-                organ_manager_ = #{organManager},
-                education_id_ = #{educationId},
-                repair_id_ = #{repairId},
-                join_teacher_id_ = #{joinTeacherId},
-                organ_manager_name_ = #{organManagerName},
-                education_name_ = #{educationName},
-                repair_name_ = #{repairName},
-                join_teacher_name_ = #{joinTeacherName},
             <if test="areaId != null">
                 area_id_ = #{areaId},
             </if>
@@ -139,7 +120,6 @@
         SELECT * FROM organization o
         <where>
             o.del_flag_ = 0
-                AND FIND_IN_SET(o.id_,(SELECT GROUP_CONCAT(organ_id_list_) FROM employee e WHERE e.user_id_ = #{userId}))
             <if test="organId != null and organId != ''">
                 AND FIND_IN_SET(o.id_,#{organId})
             </if>

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/TenantInfoMapper.xml

@@ -32,6 +32,9 @@
         data_source_, pay_state_, state_, created_by_, created_time_, updated_by_, updated_time_, tsign_code_, tsign_name_,
         area_id_,user_id_
     </sql>
+    <update id="updatePhone">
+        update tenant_info set phone_ = #{newPhone} where phone_ = #{oldPhone}
+    </update>
 
     <resultMap id="TenantInfoInfoResult" type="com.ym.mec.biz.dal.vo.TenantInfoInfoPageVo">
         <!--  机构基础信息-->

+ 1 - 0
mec-student/src/main/java/com/ym/mec/student/controller/SubjectChangeController.java

@@ -57,6 +57,7 @@ public class SubjectChangeController extends BaseController {
         	}
             return failed(HttpStatus.CONTINUE, "您有待支付的订单");
         }
+        subjectChangeParamDto.setTenantId(subjectChange.getTenantId());
         Map payMap = subjectChangeService.payChange(subjectChangeParamDto);
         if (payMap.containsKey("tradeState")) {
             return failed(HttpStatus.CREATED, payMap, "恭喜您,支付成功!");

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/AppRedemptionCodeController.java

@@ -32,7 +32,7 @@ public class AppRedemptionCodeController extends BaseController {
     private SysUserFeignService sysUserFeignService;
 
     @ApiOperation(value = "分配url")
-    @PostMapping(value = "allocation")
+    @GetMapping(value = "allocation")
     @PreAuthorize("@pcs.hasPermissions('appRedemptionCode/allocation')")
     public HttpResponseResult<AppRedemptionCode> allocation(@RequestParam("userId")Integer userId) throws Exception {
         if (userId == null) {

+ 0 - 5
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupPaymentCalenderController.java

@@ -1,12 +1,9 @@
 package com.ym.mec.web.controller;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
-import com.ym.mec.biz.dal.dao.EmployeeDao;
 import com.ym.mec.biz.dal.dto.MusicGroupPaymentBaseCalender;
 import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderDto;
-import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.entity.StudentRegistration;
 import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
 import com.ym.mec.biz.dal.page.MusicGroupPaymentCalenderQueryInfo;
@@ -38,8 +35,6 @@ public class MusicGroupPaymentCalenderController extends BaseController {
     private MusicGroupPaymentCalenderService musicGroupPaymentCalenderService;
     @Autowired
     private MusicGroupPaymentCalenderCourseSettingsService musicGroupPaymentCalenderCourseSettingsService;
-	@Autowired
-    private SysUserFeignService sysUserFeignService;
     @Autowired
     private OrganizationService organizationService;
     @Autowired

+ 0 - 6
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupPaymentCalenderDetailController.java

@@ -1,7 +1,5 @@
 package com.ym.mec.web.controller;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.MusicArrearageStudentDto;
 import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderAddStudentDto;
 import com.ym.mec.biz.dal.entity.MusicGroup;
@@ -30,10 +28,6 @@ public class MusicGroupPaymentCalenderDetailController extends BaseController {
 
     @Autowired
     private MusicGroupPaymentCalenderDetailService musicGroupPaymentCalenderDetailService;
-
-    @Autowired
-    private SysUserFeignService sysUserFeignService;
-
     @Autowired
     private OrganizationService organizationService;
 

+ 5 - 29
mec-web/src/main/java/com/ym/mec/web/controller/OrganizationController.java

@@ -2,26 +2,20 @@ package com.ym.mec.web.controller;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.entity.Organization;
 import com.ym.mec.biz.dal.page.OrganizationQueryInfo;
-import com.ym.mec.biz.service.EmployeeService;
 import com.ym.mec.biz.service.OrganizationService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
-import com.ym.mec.common.exception.BizException;
-import com.ym.mec.common.tenant.TenantContextHolder;
-import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.*;
-import java.util.stream.Collectors;
+import java.util.Date;
+import java.util.Map;
 
 @RequestMapping("organization")
 @Api(tags = "分部服务")
@@ -48,12 +42,7 @@ public class OrganizationController extends BaseController {
     @GetMapping("/queryEmployeeOrgan")
     @PreAuthorize("@pcs.hasPermissions('organization/queryEmployeeOrgan')")
     public Object queryEmployeeOrgan() throws Exception {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if(sysUser == null){
-			throw new BizException("获取用户信息失败");
-		}
-		Integer userId = sysUser.getId();
-        return succeed(organizationService.queryEmployeeOrgan(userId,null));
+        return succeed(organizationService.queryEmployeeOrgan());
     }
 
     @ApiOperation(value = "获取员工所在分部列表(管理员查看所有的分部)")
@@ -67,7 +56,7 @@ public class OrganizationController extends BaseController {
     @PostMapping("/add")
     @PreAuthorize("@pcs.hasPermissions('organization/add')")
     public Object add(Organization organization){
-        return succeed(organizationService.add(organization));
+        return succeed(organizationService.insert(organization));
     }
 
     @ApiOperation(value = "根据分部编号删除分部")
@@ -82,7 +71,7 @@ public class OrganizationController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('organization/update')")
     public Object update(Organization organization){
         organization.setUpdateTime(new Date());
-        return succeed(organizationService.updateOrgan(organization));
+        return succeed(organizationService.update(organization));
     }
 
     @ApiOperation(value = "根据分部编号查询分部详情")
@@ -93,19 +82,6 @@ public class OrganizationController extends BaseController {
         return succeed(organizationService.get(id));
     }
 
-    @ApiOperation(value = "根据分部角色列表map")
-    @GetMapping("/getOrganRole")
-    @PreAuthorize("@pcs.hasPermissions('organization/getOrganRole')")
-    @ApiParam(value = "分部编号", required = true)
-    public Object getOrganRole(String organIds){
-        organIds = organizationService.getEmployeeOrgan(organIds);
-        if(StringUtils.isEmpty(organIds)){
-            return failed("分部信息异常");
-        }
-        List<Integer> collect = Arrays.stream(organIds.split(",")).mapToInt(Integer::valueOf).boxed().collect(Collectors.toList());
-        return succeed(organizationService.getOrganRole(collect));
-    }
-
     @ApiOperation(value = "获取用户所在分部的年级列表)")
     @GetMapping("/getGradeList")
     @PreAuthorize("@pcs.hasPermissions('organization/getGradeList')")

+ 2 - 6
mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java

@@ -373,15 +373,11 @@ public class StudentManageController extends BaseController {
     @GetMapping("/getCloudStudyStudentOverView")
     @PreAuthorize("@pcs.hasPermissions('studentManage/getCloudStudyStudentOverView')")
     public HttpResponseResult<CloudStudyStudentDataDto> getCloudStudyStudentOverView(String organIds) throws Exception {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
-            return failed("用户信息获取失败");
-        }
-        List<Integer> organIdsList = new ArrayList<>();
+        List<Integer> organIdsList;
         if(StringUtils.isNotBlank(organIds)){
             organIdsList = Arrays.stream(organIds.split(",")).map(id->Integer.valueOf(id)).collect(Collectors.toList());
         }else{
-            List<Organization> organizations = organizationService.queryEmployeeOrgan(sysUser.getId(),null);
+            List<Organization> organizations = organizationService.queryEmployeeOrgan();
             if(CollectionUtils.isEmpty(organizations)){
                 return succeed();
             }

+ 1 - 3
mec-web/src/main/java/com/ym/mec/web/controller/education/ActivityController.java

@@ -13,10 +13,8 @@ import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import com.ym.mec.util.date.DateUtil;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
@@ -244,7 +242,7 @@ public class ActivityController extends BaseController {
     @ApiOperation(value = "云教练活动统计")
     @GetMapping("/countCloudTeacherActive")
     public Object countCloudTeacherActive(CloudTeacherActiveQueryInfo queryInfo) throws Exception {
-        List<Organization> organizations = organizationService.queryEmployeeOrgan(null,null);
+        List<Organization> organizations = organizationService.queryEmployeeOrgan();
         List<Integer> organIds = new ArrayList<>();
         if(StringUtils.isNotBlank(queryInfo.getOrganIds())){
             organIds = Arrays.stream(queryInfo.getOrganIds().split(",")).map(id->Integer.valueOf(id)).collect(Collectors.toList());

+ 9 - 21
mec-web/src/main/java/com/ym/mec/web/controller/education/EduOrganizationController.java

@@ -1,23 +1,18 @@
 package com.ym.mec.web.controller.education;
 
+import com.ym.mec.biz.dal.entity.CooperationOrgan;
+import com.ym.mec.biz.service.CooperationOrganService;
+import com.ym.mec.biz.service.OrganizationService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-
-import java.util.List;
-
 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.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.entity.CooperationOrgan;
-import com.ym.mec.biz.service.CooperationOrganService;
-import com.ym.mec.biz.service.OrganizationService;
-import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.entity.HttpResponseResult;
-import com.ym.mec.common.exception.BizException;
+import java.util.List;
 
 @RequestMapping("eduOrganization")
 @Api(tags = "分部服务")
@@ -28,24 +23,17 @@ public class EduOrganizationController extends BaseController {
     private OrganizationService organizationService;
     @Autowired
     private CooperationOrganService cooperationOrganService;
-	@Autowired
-	private SysUserFeignService sysUserFeignService;
 
     @ApiOperation(value = "获取员工所在分部列表")
     @GetMapping("/queryAllOrgan")
-    public Object queryAllOrgan(String organId) throws Exception {
-        return succeed(organizationService.queryEmployeeOrgan(null,organId));
+    public Object queryAllOrgan() throws Exception {
+        return succeed(organizationService.queryEmployeeOrgan());
     }
 
     @ApiOperation(value = "获取员工所在分部列表")
     @GetMapping("/queryEmployeeOrgan")
     public Object queryEmployeeOrgan() throws Exception {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if(sysUser == null){
-			throw new BizException("获取用户信息失败");
-		}
-		Integer userId = sysUser.getId();
-        return succeed(organizationService.queryEmployeeOrgan(userId,null));
+        return succeed(organizationService.queryEmployeeOrgan());
     }
 
     @ApiOperation(value = "根据分部id获取合作单位(学校)列表")

+ 1 - 13
mec-web/src/main/java/com/ym/mec/web/controller/education/EduStudentController.java

@@ -1,7 +1,5 @@
 package com.ym.mec.web.controller.education;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.EduOrganStudentDataDto;
 import com.ym.mec.biz.dal.dto.StatDto;
 import com.ym.mec.biz.dal.entity.Organization;
@@ -10,11 +8,8 @@ import com.ym.mec.biz.service.OrganizationService;
 import com.ym.mec.biz.service.StudentService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
-import com.ym.mec.common.exception.BizException;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -38,8 +33,6 @@ public class EduStudentController extends BaseController {
     private StudentService studentService;
     @Autowired
     private OrganizationService organizationService;
-	@Autowired
-	private SysUserFeignService sysUserFeignService;
 
     @ApiOperation(value = "云教练学员数据")
     @GetMapping("/organStudentData")
@@ -50,12 +43,7 @@ public class EduStudentController extends BaseController {
     @ApiOperation(value = "分部云教练学员数据预览")
     @GetMapping("/organStudentOverView")
     public HttpResponseResult<List<EduOrganStudentDataDto>> organStudentOverView() throws Exception {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if(sysUser == null){
-			throw new BizException("获取用户信息失败");
-		}
-		Integer userId = sysUser.getId();
-        List<Organization> organizations = organizationService.queryEmployeeOrgan(userId,null);
+        List<Organization> organizations = organizationService.queryEmployeeOrgan();
         if(CollectionUtils.isEmpty(organizations)){
             return succeed(Collections.emptyList());
         }