Bläddra i källkod

Merge remote-tracking branch 'origin/master'

Joburgess 5 år sedan
förälder
incheckning
6fcec1ce50
21 ändrade filer med 139 tillägg och 60 borttagningar
  1. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/GoodsDao.java
  2. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentEntitiesDao.java
  3. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java
  4. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/service/GoodsService.java
  5. 6 6
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  6. 5 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/GoodsServiceImpl.java
  7. 17 9
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  8. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupSubjectPlanServiceImpl.java
  9. 9 7
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  10. 3 0
      mec-biz/src/main/resources/config/mybatis/GoodsMapper.xml
  11. 1 1
      mec-biz/src/main/resources/config/mybatis/StudentAttendanceMapper.xml
  12. 5 0
      mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml
  13. 1 1
      mec-im/src/main/java/com/ym/SealClassApplication.java
  14. 12 8
      mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java
  15. 2 3
      mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java
  16. 6 7
      mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java
  17. 1 1
      mec-teacher/src/main/java/com/ym/mec/teacher/config/ResourceServerConfig.java
  18. 13 4
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherController.java
  19. 35 7
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/Pay.java
  20. 1 1
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/eseal/provider/TsignPlugin.java
  21. 3 3
      mec-web/src/main/java/com/ym/mec/web/WebApplication.java

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

@@ -33,4 +33,5 @@ public interface GoodsDao extends BaseDAO<Integer, Goods> {
      */
     List<Goods> findGoodsByIds(@Param("ids") String ids);
 
+    List<Goods> findTypeGoods(@Param("type") String type);
 }

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

@@ -20,7 +20,7 @@ public interface MusicGroupPaymentEntitiesDao extends BaseDAO<Integer, MusicGrou
     void delByGroupId(String musicGroupId);
 
     /**
-     * 根据乐团编号查询
+     * 根据乐团编号查询乐团
      * @param musicGroupId
      * @return
      */

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

@@ -216,4 +216,11 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @return
      */
     Map<String,Integer> queryStudentNum(Integer organId);
+
+    /**
+     * 根据乐团编号获取当前乐团所有已报名学员
+     * @param musicGroupId
+     * @return
+     */
+    List<Map<Integer, String>> findMapByMusicGroupId(String musicGroupId);
 }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/GoodsService.java

@@ -31,4 +31,13 @@ public interface GoodsService extends BaseService<Integer, Goods> {
      * @return
      */
     List<Goods> findGoodsByIds(String ids);
+
+
+    /**
+     * 查询某种类型的商品
+     * @param type
+     * @return
+     */
+    List<Goods> findTypeGoods(String type);
+
 }

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

@@ -973,13 +973,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     BigDecimal baseSalary = new BigDecimal(0),classTimeDuty=new BigDecimal(0);
 
                     //基准课酬
-                    if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.TEACHER_DEFAULT)) {
+                    if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.TEACHER_DEFAULT) && teacherDefaultMusicGroupSalary!=null) {
                         //课程时长与结算单位时长占比
                         classTimeDuty = new BigDecimal(classCourseDuration).divide(new BigDecimal(30));
                         baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher30MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher30MinSalary();
                     }
                     //阶梯课酬
-                    if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
+                    if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.GRADIENT_SALARY) && teacherDefaultMusicGroupSalary!=null) {
                         //课程时长与结算单位时长占比
                         classTimeDuty = new BigDecimal(classCourseDuration).divide(new BigDecimal(90));
                         baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher90MinSalary();
@@ -1182,13 +1182,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     BigDecimal baseSalary = new BigDecimal(0),classTimeDuty=new BigDecimal(0);
 
                     //基准课酬
-                    if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.TEACHER_DEFAULT)) {
+                    if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.TEACHER_DEFAULT) && teacherDefaultMusicGroupSalary!=null) {
                         //课程时长与结算单位时长占比
                         classTimeDuty = new BigDecimal(classCourseDuration).divide(new BigDecimal(30));
                         baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher30MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher30MinSalary();
                     }
                     //阶梯课酬
-                    if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
+                    if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.GRADIENT_SALARY) && teacherDefaultMusicGroupSalary!=null) {
                         //课程时长与结算单位时长占比
                         classTimeDuty = new BigDecimal(classCourseDuration).divide(new BigDecimal(90));
                         baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher90MinSalary();
@@ -1389,13 +1389,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     BigDecimal baseSalary = new BigDecimal(0),classTimeDuty=new BigDecimal(0);
 
                     //基准课酬
-                    if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.TEACHER_DEFAULT)) {
+                    if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.TEACHER_DEFAULT) && teacherDefaultMusicGroupSalary!=null) {
                         //课程时长与结算单位时长占比
                         classTimeDuty = new BigDecimal(classCourseDuration).divide(new BigDecimal(30));
                         baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher30MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher30MinSalary();
                     }
                     //阶梯课酬
-                    if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
+                    if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.GRADIENT_SALARY) && teacherDefaultMusicGroupSalary!=null) {
                         //课程时长与结算单位时长占比
                         classTimeDuty = new BigDecimal(classCourseDuration).divide(new BigDecimal(90));
                         baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher90MinSalary();

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/GoodsServiceImpl.java

@@ -34,4 +34,9 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 	public List<Goods> findGoodsByIds(String ids) {
 		return goodsDao.findGoodsByIds(ids);
 	}
+
+	@Override
+	public List<Goods> findTypeGoods(String type) {
+		return goodsDao.findTypeGoods(type);
+	}
 }

+ 17 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -374,14 +374,13 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
         //获取当前乐团所有已报名学员
         List<StudentRegistration> registrations = studentRegistrationDao.findClassGroupStu(musicGroupId, null);
-        Map<Integer,String> map = new HashMap<>(registrations.size());
-        registrations.forEach(e->{
-            map.put(e.getUserId(),e.getUserId() + "");
-        });
-        if(map.size() > 0){
-            String content = sysMessageConfigDao.findContent(MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_CLOSE.getCode());
-            content = MessageFormatter.arrayFormat(content,sysConfigDao.findConfigValue(SysConfigService.REFUND_PERIOD));
-            sysMessageService.batchSendMessage(MessageSender.JIGUANG,"",content,map,new Date(),0,"");
+        if(registrations != null && registrations.size() > 0){
+            Map<Integer,String> map = new HashMap<>(registrations.size());
+            registrations.forEach(e->{
+                map.put(e.getUserId(),e.getParentsPhone());
+            });
+            sysMessageService.batchSendMessage(MessageSender.YIMEI,MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_CLOSE,
+                    map,null,0,"",sysConfigDao.findConfigValue(SysConfigService.REFUND_PERIOD));
         }
         //记录建团日志
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"取消乐团",sysUser.getId(),""));
@@ -702,7 +701,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             return true;
         }
         if(studentPaymentOrder.getStatus() == DealStatusEnum.CLOSE || studentPaymentOrder.getStatus() == DealStatusEnum.FAilED){
-            String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL + musicGroupId);
+            String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL) + musicGroupId;
             sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_RENEW_FAILED, receivers, null, 0, "",
                     studentApplyUrl);
             sysMessageService.batchSendMessage(MessageSender.YIMEI, MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_RENEW_FAILED, receivers, null, 0, "",
@@ -900,6 +899,15 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroup.setApplyExpireDate(DateUtil.toDate(expireDate));
         musicGroup.setStatus(MusicGroupStatusEnum.PAY);
         musicGroupDao.update(musicGroup);
+        //乐团成立后(开始缴费)
+        //获取所有已报名学员列表
+        HashMap<Integer,String> map = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(studentRegistrationDao.findMapByMusicGroupId(musicGroupId))), HashMap.class);
+        if(map != null && map.size() > 0){
+            String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL) + musicGroupId;
+            String serverPhone = sysConfigDao.findConfigValue(SysConfigService.SERVER_PHONE);
+            sysMessageService.batchSendMessage(MessageSender.YIMEI,MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE,
+                    map,null,0,"",musicGroup.getName(),studentApplyUrl,serverPhone);
+        }
         return musicGroup;
     }
 

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

@@ -87,7 +87,7 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
             }
         });
         //获取声部(科目)下其他商品
-        List<Goods> otherGoods = goodsService.findGoodsBySubId(subjectId, "OTHER");
+        List<Goods> otherGoods = goodsService.findTypeGoods( "OTHER");
 
         MusicGroupSubjectGoodsAndInfoDto musicGroupSubjectGoodsAndInfo = new MusicGroupSubjectGoodsAndInfoDto();
         musicGroupSubjectGoodsAndInfo.setMusicGroupSubjectPlan(musicOneSubjectClassPlan);

+ 9 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -221,12 +221,14 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 				//教师签退后,给未签到学员添加旷课记录
 				//封装未签到学员签到列表
 				List<StudentAttendance> studentAttendances = teacherAttendanceDao.queryNoSignStudentRecord(courseScheduleId);
-				studentAttendances.forEach(e->{
-					e.setTeacherId(userId);
-					e.setStatus(StudentAttendanceStatusEnum.TRUANT);
-					e.setRemark("学员未到,自动补旷课");
-				});
-				studentAttendanceDao.addStudentAttendances(studentAttendances);
+				if(studentAttendances != null && studentAttendances.size() > 0){
+					studentAttendances.forEach(e->{
+						e.setTeacherId(userId);
+						e.setStatus(StudentAttendanceStatusEnum.TRUANT);
+						e.setRemark("学员未到,自动补旷课");
+					});
+					studentAttendanceDao.addStudentAttendances(studentAttendances);
+				}
 			}
 		}else{
 			teacherAttendanceDao.insert(teacherAttendance);
@@ -235,7 +237,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 				//获取所有当前课程的学生列表
 				Map<Integer,String> userMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(courseScheduleDao.findStudentMap(courseScheduleId))),HashMap.class);
 				if(userMap != null && userMap.size() > 0){
-					sysMessageService.batchSendMessage(MessageSender.JIGUANG,MessageTypeEnum.STUDENT_PUSH_ONLINE_COURSE_ACTION,userMap,
+					sysMessageService.batchSendMessage(MessageSender.YIMEI,MessageTypeEnum.STUDENT_PUSH_ONLINE_COURSE_ACTION,userMap,
 							null,0,"",courseSchedule.getName());
 				}
 			}

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

@@ -154,4 +154,7 @@
     <select id="findGoodsByIds" resultMap="Goods">
         SELECT * FROM goods WHERE FIND_IN_SET(id_,#{ids})
     </select>
+    <select id="findTypeGoods" resultMap="Goods">
+        SELECT * FROM goods WHERE type_ = #{type}
+    </select>
 </mapper>

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

@@ -295,6 +295,6 @@
             WHERE class_group_id_=#{classGroupId}
     </select>
     <select id="findByStatusAndCourseScheduleId" resultMap="StudentAttendance">
-        SELECT * FROM student_attendance sa WHERE course_schedule_id_ = #{courseScheduleId} AND user_id_ = #{userId}
+        SELECT * FROM student_attendance sa WHERE course_schedule_id_ = #{courseScheduleId} AND user_id_ = #{userId} LIMIT 1
     </select>
 </mapper>

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -459,4 +459,9 @@
     		</if>
     	</where> 
     </select>
+    <select id="findMapByMusicGroupId" resultType="java.util.Map">
+        SELECT sr.user_id_ 'key',MIN(sr.parents_phone_) 'value' FROM student_registration sr
+        WHERE sr.music_group_id_ = #{musicGroupId} AND sr.payment_status_ != 2
+        GROUP BY sr.user_id_
+    </select>
 </mapper>

+ 1 - 1
mec-im/src/main/java/com/ym/SealClassApplication.java

@@ -19,7 +19,7 @@ import org.springframework.web.client.RestTemplate;
 @EnableAspectJAutoProxy
 @Slf4j
 @SpringBootApplication
-@EnableFeignClients("com.ym")
+@EnableFeignClients("com.ym.mec")
 @MapperScan("com.ym.mec.biz.dal.dao")
 @EnableScheduling
 @EnableDiscoveryClient

+ 12 - 8
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -93,9 +93,9 @@ public class RoomServiceImpl implements RoomService {
         String userId = sysUserFeignService.queryUserInfo().getId().toString();
         Teacher teacher = teacherDao.get(Integer.parseInt(userId));
         if(teacher == null){
-            studentAttendanceService.addStudentAttendanceRecord(Integer.parseInt(roomId),Integer.parseInt(userId), StudentAttendanceStatusEnum.NORMAL);
+            studentAttendanceService.addStudentAttendanceRecord(Integer.parseInt(roomId.substring(4)),Integer.parseInt(userId), StudentAttendanceStatusEnum.NORMAL);
         }else {
-            teacherAttendanceService.addTeacherAttendanceRecord(Integer.parseInt(roomId),Integer.parseInt(userId), SignStatusEnum.SIGN_IN,true);
+            teacherAttendanceService.addTeacherAttendanceRecord(Integer.parseInt(roomId.substring(4)),Integer.parseInt(userId), SignStatusEnum.SIGN_IN,true);
         }
 
         String display = "";
@@ -124,7 +124,7 @@ public class RoomServiceImpl implements RoomService {
                 log.info("join error: roomId = {}, userName = {}, isAudience = {}", roomId, userName, isAudience);
                 throw new ApiException(ErrorEnum.ERR_OVER_MAX_COUNT);
             }
-            if (!isAudience) {
+            /*if (!isAudience) {
                 List<RoomMember> assistantList = roomMemberDao.findByRidAndRole(roomId, RoleEnum.RoleAssistant.getValue());
                 if (!assistantList.isEmpty()) {
                     if (count == 1) {
@@ -137,6 +137,11 @@ public class RoomServiceImpl implements RoomService {
                 }
             } else {
                 roleEnum = RoleEnum.RoleAudience;
+            }*/
+            if(teacher == null){
+                roleEnum = RoleEnum.RoleStudent;
+            }else {
+                roleEnum = RoleEnum.RoleTeacher;
             }
             saveRoomMember(userId, userName, roomId, roleEnum.getValue(), !isDisableCamera, curTime);
             IMApiResultInfo resultInfo = imHelper.joinGroup(new String[]{userId}, roomId, roomId);
@@ -191,7 +196,7 @@ public class RoomServiceImpl implements RoomService {
         roomResult.setUserInfo(userResult);
         roomResult.setDisplay(display);
 //        JwtToken jwtToken = tokenHelper.createJwtToken(jwtUser);
-        IMTokenInfo tokenInfo = imHelper.getToken(userId, userId, "");
+//        IMTokenInfo tokenInfo = imHelper.getToken(userId, userId, "");
 //        if (tokenInfo.isSuccess()) {
 //            roomResult.setImToken(tokenInfo.getAuthenticationValue());
 //        } else {
@@ -236,7 +241,7 @@ public class RoomServiceImpl implements RoomService {
         String userId = user.getId().toString();
         Teacher teacher = teacherDao.get(user.getId());
         if(teacher != null){
-            teacherAttendanceService.addTeacherAttendanceRecord(Integer.parseInt(roomId),user.getId(), SignStatusEnum.SIGN_OUT,true);
+            teacherAttendanceService.addTeacherAttendanceRecord(Integer.parseInt(roomId.substring(4)),user.getId(), SignStatusEnum.SIGN_OUT,true);
         }
         
         CheckUtils.checkArgument(user != null, "user must't be null");
@@ -432,7 +437,6 @@ public class RoomServiceImpl implements RoomService {
 
     @Override
     public Boolean display(String roomId, int type, String uri) throws ApiException, Exception {
-        String token = SecurityUtils.getAuthenticationValue();
         SysUser authUser = sysUserFeignService.queryUserInfo();
         String userId = authUser.getId().toString();
         log.info("display in room: {}, type = {}, uri = {}", roomId, type, uri);
@@ -482,8 +486,8 @@ public class RoomServiceImpl implements RoomService {
             log.info("change display to screen: roomId={}, display={}", roomId, display);
         } else {
             display += "?userId=" + "?uri=" + uri;
-            CheckUtils.checkArgument(uri != null, "uri must't be null");
-            CheckUtils.checkArgument(whiteboardDao.findByRidAndWbid(roomId, uri).size() > 0, "whiteboard not exist");
+//            CheckUtils.checkArgument(uri != null, "uri must't be null");
+//            CheckUtils.checkArgument(whiteboardDao.findByRidAndWbid(roomId, uri).size() > 0, "whiteboard not exist");
 
             roomDao.updateDisplayByRid(roomId, display);
             DisplayMessage displayMessage = new DisplayMessage(display);

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

@@ -339,9 +339,8 @@ public class MusicGroupController extends BaseController {
         String orderNo = idGeneratorService.generatorId("payment")+"";
         BigDecimal amount = new BigDecimal("0.01");
         String payChannel = PayChannelEnum.ALIPAY_QR.getCode();
-        Payment payment = Pay.executePayment(amount, orderNo, payChannel, "测试订单", "测试订单");
-        //Map map = payService.getPayMap(amount, orderNo, "http://47.99.212.176:8000/studentOrder/notify", "https://baodiu.com", "测试订单", "测试订单");
-       return succeed(payment);
+        Map map = payService.getPayMap(amount, orderNo, "http://47.99.212.176:8000/studentOrder/notify", "https://baodiu.com", "测试订单", "测试订单");
+       return succeed(map);
     }
 
     @ApiOperation(value = "订单状态查询")

+ 6 - 7
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -95,14 +95,13 @@ public class StudentOrderController extends BaseController {
     }
 
     @ApiOperation(value = "台牌支付")
-    @GetMapping("/executePayment")
-    public Object executePayment() throws Exception {
-        String orderNo = "jsdk_payment_" + System.currentTimeMillis();
+    @PostMapping("/executePayment")
+    public Object executePayment(BigDecimal amount, String orderNo, String notifyUrl, String returnUrl, String orderSubject, String orderBody) throws Exception {
         String payChannel = PayChannelEnum.ALIPAY_QR.getCode();
-        BigDecimal amount = new BigDecimal("0.01");
-        String orderSubject = "测试大雅订单";
-        String orderBody = "测试大雅订单";
-        Payment payment = Pay.executePayment(amount, orderNo, payChannel, orderSubject, orderBody);
+        if (!new Pay().verifySign(amount, orderNo, notifyUrl, notifyUrl, orderSubject, orderBody)) {
+            return failed("签名验证失败");
+        }
+        Payment payment = new Pay().executePayment(amount, orderNo, payChannel, orderSubject, orderBody);
         return succeed(payment);
     }
 

+ 1 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/config/ResourceServerConfig.java

@@ -25,7 +25,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 	@Override
 	public void configure(HttpSecurity http) throws Exception {
 		http.csrf().disable().exceptionHandling().accessDeniedHandler(baseAccessDeniedHandler).authenticationEntryPoint(baseAuthenticationEntryPoint).and()
-				.authorizeRequests().antMatchers("/v2/api-docs","/code/*").permitAll().anyRequest().authenticated().and().httpBasic();
+				.authorizeRequests().antMatchers("/v2/api-docs","/code/*","/teacher/queryStudentApply","/teacher/querySubByMusicGroupId").permitAll().anyRequest().authenticated().and().httpBasic();
 	}
 
 	@Override

+ 13 - 4
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherController.java

@@ -8,13 +8,13 @@ import com.ym.mec.biz.dal.page.TeacherQueryInfo;
 import com.ym.mec.biz.dal.page.VipClassQueryInfo;
 import com.ym.mec.biz.dal.page.queryMusicGroupStudentQueryInfo;
 import com.ym.mec.biz.service.ClassGroupService;
+import com.ym.mec.biz.service.SubjectService;
 import com.ym.mec.biz.service.TeacherService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.page.QueryInfo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.*;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -29,6 +29,8 @@ public class TeacherController extends BaseController {
 
     @Autowired
     private TeacherService teacherService;
+    @Autowired
+    private SubjectService subjectService;
 
     @Autowired
     private ClassGroupService classGroupService;
@@ -114,8 +116,15 @@ public class TeacherController extends BaseController {
     }
 
     @ApiOperation(value = "获取乐团学院学员报名列表")
-    @GetMapping("queryStudentApply")
+    @GetMapping("/queryStudentApply")
     public Object queryMusicGroupStudentApply(queryMusicGroupStudentQueryInfo queryInfo) {
         return succeed(teacherService.queryMusicGroupStudentApply(queryInfo));
     }
+
+    @ApiOperation(value = "通过乐团编号查询乐团科目规划")
+    @GetMapping("/querySubByMusicGroupId")
+    @ApiImplicitParams({ @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String")})
+    public Object findSubByMusicGroupId(String musicGroupId){
+        return succeed(subjectService.findSubByMusicGroupId(musicGroupId));
+    }
 }

+ 35 - 7
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/Pay.java

@@ -1,18 +1,17 @@
 package com.ym.mec.thirdparty.adapay;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.huifu.adapay.AdaPay;
 import com.huifu.adapay.demo.BaseDemo;
 import com.huifu.adapay.demo.NotifyCallbackDemo;
 import com.huifu.adapay.exception.BaseAdaPayException;
 import com.huifu.adapay.model.DeviceInfo;
 import com.huifu.adapay.model.payment.*;
+import com.huifu.adapay.util.AdaPaySign;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @author jane.zhao
@@ -25,7 +24,7 @@ public class Pay {
      * @return paymentId
      * @throws Exception 异常
      */
-    public static void init() throws Exception {
+    public Pay() throws Exception {
         //apiKey,商户联调用
         String apiKey = "api_test_e640fa26-bbe6-458f-ac44-a71723ee2176";
         //apiKey,真实交易用(live)
@@ -55,7 +54,7 @@ public class Pay {
         BigDecimal amount = new BigDecimal("0.01");
         String orderSubject = "测试大雅订单";
         String orderBody = "测试大雅订单";
-        Payment payment = Pay.executePayment(amount,orderNo,payChannel,orderSubject,orderBody);
+        Payment payment = demo.executePayment(amount,orderNo,payChannel,orderSubject,orderBody);
         //支付查询接口
         //demo.queryPayment(payment.getId());
         //关单接口
@@ -64,13 +63,42 @@ public class Pay {
         return payment.getId();
     }
 
+
+    public Map<String, Object> getPayMap(BigDecimal amount, String orderNo, String notifyUrl, String orderSubject, String orderBody) throws Exception {
+
+        Map<String, Object> paymentParams = new HashMap<>(10);
+        paymentParams.put("appId",appId);
+        paymentParams.put("amount", amount);
+        paymentParams.put("orderNo", orderNo);
+        paymentParams.put("notifyUrl", notifyUrl);
+        paymentParams.put("orderSubject", orderSubject);
+        paymentParams.put("orderBody", orderBody);
+        String originalStr = JSONObject.toJSONString(paymentParams);
+
+        String sign  =  AdaPaySign.sign(originalStr, AdaPay.privateKey);
+        paymentParams.put("sign",sign);
+        paymentParams.remove(appId);
+        return  paymentParams;
+    }
+
+    public boolean verifySign(BigDecimal amount, String orderNo, String notifyUrl, String orderSubject, String orderBody, String sign) throws Exception {
+        Map<String, Object> paymentParams = new HashMap<>(10);
+        paymentParams.put("appId",appId);
+        paymentParams.put("amount", amount);
+        paymentParams.put("orderNo", orderNo);
+        paymentParams.put("notifyUrl", notifyUrl);
+        paymentParams.put("orderSubject", orderSubject);
+        paymentParams.put("orderBody", orderBody);
+        String originalStr = JSONObject.toJSONString(paymentParams);
+       return AdaPaySign.verifySign(originalStr,sign, AdaPay.pubKey);
+    }
+
     /**
      * 执行一个支付交易
      * @return 创建的支付对象
      * @throws Exception 异常
      */
     public static Payment executePayment(BigDecimal amount,String orderNo,String payChannel,String orderSubject,String orderBody) throws Exception {
-        init();
         System.out.println("=======execute payment begin=======");
         //创建支付对象的参数,全部参数请参考 https://docs.adapay.tech/api/04-trade.html#id3
         Map<String, Object> paymentParams = new HashMap<>(10);

+ 1 - 1
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/eseal/provider/TsignPlugin.java

@@ -92,7 +92,7 @@ public class TsignPlugin implements ESealPlugin, InitializingBean, DisposableBea
 		}else if(result.getErrCode() == 1500012){
 			return queryAccountIdByIdNo(idcard);
 		}
-		throw new ThirdpartyException("创建个人账户接口调用失败code=" + result.getErrCode() + "msg=" + result.getMsg());
+		throw new ThirdpartyException(result.getMsg());
 	}
 
 	/**

+ 3 - 3
mec-web/src/main/java/com/ym/mec/web/WebApplication.java

@@ -1,6 +1,6 @@
 package com.ym.mec.web;
 
-import com.ym.mec.biz.dal.entity.SysMessageConfig;
+import com.spring4all.swagger.EnableSwagger2Doc;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -10,11 +10,11 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.EnableAspectJAutoProxy;
 import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.web.client.RestTemplate;
 
-import com.spring4all.swagger.EnableSwagger2Doc;
-
 @SpringBootApplication
 @EnableDiscoveryClient
 @EnableFeignClients("com.ym.mec")