Browse Source

Merge remote-tracking branch 'origin/saas' into saas

yanite 3 years ago
parent
commit
b2a12776d0

+ 1 - 5
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/provider/PhoneAuthenticationProvider.java

@@ -42,19 +42,15 @@ public class PhoneAuthenticationProvider extends AbstractAuthenticationProvider
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	protected UserDetails retrieveUser(String username, Authentication authentication) throws AuthenticationException {
-
 		LoginEntity loginEntity = (LoginEntity) authentication.getCredentials();
 		if (loginEntity == null) {
 			throw new BadCredentialsException("Bad credentials");
 		}
-
 		String smsCode = loginEntity.getSmsCode();
-		
 		String phone = loginEntity.getPhone();
 
 		// 验证码验证
-		boolean b = smsCodeService.verifyValidCode(phone, smsCode);
-		if (!b) {
+		if (!smsCodeService.verifyValidCode(phone, smsCode)) {
 			throw new BadCredentialsException("验证码校验失败");
 		}
 

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

@@ -30,8 +30,6 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 	@Autowired
 	private SysUserDao sysUserDao;
 	@Autowired
-	private SysUserRoleService sysUserRoleService;
-	@Autowired
 	private SysRoleMenuService sysRoleMenuService;
 	@Autowired
 	private ImFeignService imFeignService;

+ 14 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseHomeworkStudentDetailDto.java

@@ -1,12 +1,14 @@
 package com.ym.mec.biz.dal.dto;
 
-import com.ym.mec.biz.dal.entity.SysMusicScore;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.util.Date;
 import java.util.List;
 
+import com.ym.mec.biz.dal.entity.MusicGroupTrainPlan;
+import com.ym.mec.biz.dal.entity.SysMusicScore;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+
 /**
  * @Author Joburgess
  * @Date 2019/9/18
@@ -71,6 +73,8 @@ public class CourseHomeworkStudentDetailDto {
     private SysMusicScore sysMusicScore;
 
     private List<SysMusicScore> sysMusicScoreList;
+    
+    private MusicGroupTrainPlan musicGroupTrainPlan;
 
     public SysMusicScore getSysMusicScore() {
         return sysMusicScore;
@@ -266,4 +270,12 @@ public class CourseHomeworkStudentDetailDto {
     public void setScore(Long score) {
         this.score = score;
     }
+
+	public MusicGroupTrainPlan getMusicGroupTrainPlan() {
+		return musicGroupTrainPlan;
+	}
+
+	public void setMusicGroupTrainPlan(MusicGroupTrainPlan musicGroupTrainPlan) {
+		this.musicGroupTrainPlan = musicGroupTrainPlan;
+	}
 }

+ 3 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/SysCouponCodeService.java

@@ -12,7 +12,6 @@ import com.ym.mec.common.service.BaseService;
 
 import java.math.BigDecimal;
 import java.util.List;
-import java.util.concurrent.atomic.AtomicInteger;
 
 public interface SysCouponCodeService extends BaseService<Long, SysCouponCode> {
 
@@ -65,20 +64,16 @@ public interface SysCouponCodeService extends BaseService<Long, SysCouponCode> {
      * 获取优惠券相关参数-校验优惠券和传入的支付金额是否合法
      *
      * @param couponIdList 优惠券集合
-     * @param total        本次订单所有商品的总数量
-     * @param payAmount    页面传入的本次支付的金额
-     * @param allowType   本次允许使用的优惠券类型,null则不验证
+     * @param allowType    本次允许使用的优惠券类型,null则不验证
      */
-    CouponPayParam getCouponPayParam(List<Integer> couponIdList, Integer total, BigDecimal payAmount, String... allowType);
+    CouponPayParam getCouponPayParam(List<Integer> couponIdList, String... allowType);
 
     /**
      * 获取优惠券相关参数-校验优惠券和传入的支付金额是否合法
      *
      * @param couponIdList 优惠券集合
-     * @param total        本次订单所有商品的总数量
-     * @param payAmount    页面传入的本次支付的金额
      */
-    CouponPayParam getCouponPayParam(List<Integer> couponIdList, Integer total, BigDecimal payAmount);
+    CouponPayParam getCouponPayParam(List<Integer> couponIdList);
 
     List<SysCouponCodeDto> findByIdList(List<Integer> couponIdList);
 

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

@@ -24,7 +24,6 @@ import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.entity.ImGroupMember;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.common.page.WrapperUtil;
 import com.ym.mec.common.service.IdGeneratorService;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.common.tenant.TenantContextHolder;
@@ -46,7 +45,6 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.io.IOException;
 import java.math.BigDecimal;
-import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -863,7 +861,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             //获取本次商品的总数
             AtomicInteger total = getTotalNum(registerPayDto);
             //校验优惠券的使用
-            couponPayParam = sysCouponCodeService.getCouponPayParam(registerPayDto.getCouponIdList(), total.get(), registerPayDto.getAmount());
+            couponPayParam = sysCouponCodeService.getCouponPayParam(registerPayDto.getCouponIdList());
             studentPaymentOrder.setCouponCodeId(StringUtils.join(registerPayDto.getCouponIdList(), ","));
             studentPaymentOrder.setCouponRemitFee(couponPayParam.getCouponRemitTotal());
         }
@@ -2015,7 +2013,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 if (musicGroupQuit.getStatus() == ApprovalStatus.APPROVED) {
                     throw new BizException("只能分部经理操作退团");
                 }
-                musicGroupQuit.setCurrentApproveRole(SysUserRoleEnum.SECTION_MANAGER.ordinal()+"");
+                musicGroupQuit.setCurrentApproveRole(SysUserRoleEnum.SECTION_MANAGER.ordinal() + "");
             }
             if (currentOperatorRoleIds.contains(SysUserRoleEnum.SECTION_MANAGER) && !currentOperatorRoleIds.contains(SysUserRoleEnum.EDUCATIONAL_TEACHER)) {
 
@@ -3847,7 +3845,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
     @Override
     public PageInfo<MusicMemberDto> queryMusicMemberList(MusicMemberQueryInfo queryInfo) {
-        String configValue = sysTenantConfigService.getTenantConfigValue(SysConfigService.PUSH_MEMBER_RENEW_QUIT,queryInfo.getTenantId());
+        String configValue = sysTenantConfigService.getTenantConfigValue(SysConfigService.PUSH_MEMBER_RENEW_QUIT, queryInfo.getTenantId());
         if (StringUtils.isEmpty(configValue)) {
             configValue = "15";
         }

+ 82 - 19
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkServiceImpl.java

@@ -1,15 +1,80 @@
 package com.ym.mec.biz.service.impl;
 
+import java.math.BigDecimal;
+import java.time.DayOfWeek;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.*;
-import com.ym.mec.biz.dal.dto.*;
-import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.dao.ClassGroupDao;
+import com.ym.mec.biz.dal.dao.CourseHomeworkDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleReviewDao;
+import com.ym.mec.biz.dal.dao.ExtracurricularExercisesReplyDao;
+import com.ym.mec.biz.dal.dao.MusicGroupDao;
+import com.ym.mec.biz.dal.dao.PracticeGroupDao;
+import com.ym.mec.biz.dal.dao.StudentCourseHomeworkDao;
+import com.ym.mec.biz.dal.dao.StudentDao;
+import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
+import com.ym.mec.biz.dal.dao.SubjectDao;
+import com.ym.mec.biz.dal.dao.SysConfigDao;
+import com.ym.mec.biz.dal.dao.SysMusicScoreDao;
+import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.dao.VipGroupDao;
+import com.ym.mec.biz.dal.dto.CourseHomeworkDto;
+import com.ym.mec.biz.dal.dto.CourseHomeworkStudentDetailDto;
+import com.ym.mec.biz.dal.dto.EduHomeworkCardDto;
+import com.ym.mec.biz.dal.dto.EduHomeworkStatDto;
+import com.ym.mec.biz.dal.dto.SimpleUserDto;
+import com.ym.mec.biz.dal.dto.StudentCourseHomeworkDto;
+import com.ym.mec.biz.dal.dto.StudentHomeworkRecordDto;
+import com.ym.mec.biz.dal.dto.StudentVisitCourseHomeWorkDto;
+import com.ym.mec.biz.dal.entity.ClassGroup;
+import com.ym.mec.biz.dal.entity.CourseHomework;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
-import com.ym.mec.biz.dal.enums.*;
+import com.ym.mec.biz.dal.entity.CourseScheduleReview;
+import com.ym.mec.biz.dal.entity.MusicGroup;
+import com.ym.mec.biz.dal.entity.MusicGroupTrainPlan;
+import com.ym.mec.biz.dal.entity.MusicGroupTrainPlanSaveDto;
+import com.ym.mec.biz.dal.entity.PracticeGroup;
+import com.ym.mec.biz.dal.entity.Student;
+import com.ym.mec.biz.dal.entity.StudentCourseHomework;
+import com.ym.mec.biz.dal.entity.StudentRegistration;
+import com.ym.mec.biz.dal.entity.Subject;
+import com.ym.mec.biz.dal.entity.SysMusicScore;
+import com.ym.mec.biz.dal.entity.VipGroup;
+import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
+import com.ym.mec.biz.dal.enums.StudentMusicGroupStatusEnum;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.CourseHomeworkQueryInfo;
 import com.ym.mec.biz.dal.page.StudentCourseHomeWorkQueryInfo;
-import com.ym.mec.biz.service.*;
+import com.ym.mec.biz.service.CourseHomeworkService;
+import com.ym.mec.biz.service.MusicGroupTrainPlanService;
+import com.ym.mec.biz.service.StudentCourseHomeworkService;
+import com.ym.mec.biz.service.StudentServeService;
+import com.ym.mec.biz.service.SysConfigService;
+import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -20,20 +85,6 @@ import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.poi.ss.formula.functions.T;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-
-import java.math.BigDecimal;
-import java.time.DayOfWeek;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.temporal.ChronoUnit;
-import java.util.*;
-import java.util.stream.Collectors;
 
 @Service
 public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, StudentCourseHomework> implements StudentCourseHomeworkService {
@@ -76,6 +127,8 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
     private SysConfigDao sysConfigDao;
     @Autowired
     private SysMusicScoreDao sysMusicScoreDao;
+    @Autowired
+	private MusicGroupTrainPlanService musicGroupTrainPlanService;
 
     @Override
     public BaseDAO<Long, StudentCourseHomework> getDAO() {
@@ -237,6 +290,16 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
         Student student = studentDao.get(userId.intValue());
         courseHomeworkStudentDetail.setHasMember(student.getMemberRankSettingId()==null?0:1);
 //        }
+        
+		//获取课程规划
+		MusicGroupTrainPlanSaveDto schoolTerm = musicGroupTrainPlanService.getSchoolTerm(courseSchedule);
+		int courseNumNo = courseScheduleDao.getCourseNumNo(schoolTerm);
+		List<MusicGroupTrainPlan> planList = musicGroupTrainPlanService.queryPlan(schoolTerm);
+		if(planList.size() >= courseNumNo){
+			courseHomeworkStudentDetail.setMusicGroupTrainPlan(planList.get(courseNumNo - 1));
+		}
+		
+		
         return courseHomeworkStudentDetail;
     }
 

+ 4 - 33
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysCouponCodeServiceImpl.java

@@ -6,7 +6,6 @@ import com.ym.mec.biz.dal.dao.SysCouponDao;
 import com.ym.mec.biz.dal.dto.HorseRaceLampDto;
 import com.ym.mec.biz.dal.dto.SysCouponCodeDto;
 import com.ym.mec.biz.dal.entity.*;
-import com.ym.mec.biz.dal.enums.CouponDetailTypeEnum;
 import com.ym.mec.biz.dal.enums.CouponTypeEnum;
 import com.ym.mec.biz.dal.page.SysCouponCodeQueryInfo;
 import com.ym.mec.biz.service.SysCouponCodeService;
@@ -30,9 +29,7 @@ import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
-import java.math.RoundingMode;
 import java.util.*;
-import java.util.concurrent.atomic.AtomicInteger;
 
 @Service
 public class SysCouponCodeServiceImpl extends BaseServiceImpl<Long, SysCouponCode> implements SysCouponCodeService {
@@ -296,44 +293,18 @@ public class SysCouponCodeServiceImpl extends BaseServiceImpl<Long, SysCouponCod
      * 获取优惠券相关参数-校验优惠券和传入的支付金额是否合法
      *
      * @param couponIdList 优惠券集合
-     * @param total        本次订单所有商品的总数量
-     * @param payAmount    页面传入的本次支付的金额
      * @param allowType    本次允许使用的优惠券类型,null则不验证
      */
     @Override
-    public CouponPayParam getCouponPayParam(List<Integer> couponIdList, Integer total, BigDecimal payAmount, String... allowType) {
+    public CouponPayParam getCouponPayParam(List<Integer> couponIdList, String... allowType) {
         if (CollectionUtils.isEmpty(couponIdList)) {
             return null;
         }
         //查询本次付款使用的优惠券
         List<SysCouponCodeDto> sysCouponCodeDtoList = checkCoupon(couponIdList, allowType);
-        //全类型优惠券的总额度
-        BigDecimal fullTypeTotal = new BigDecimal(0);
-        //非全类型优惠券的总额度
-        BigDecimal notFullTypeTotal = new BigDecimal(0);
-        //非全类型优惠券的总数量
-        AtomicInteger notFullTypeTotalNum = new AtomicInteger(0);
         //优惠券减免的总额度
-        BigDecimal couponRemitTotal = new BigDecimal(0);
-        //交易阈值 最后付款的金额大于该值就不对
-        BigDecimal threshold;
-
-        for (SysCouponCodeDto d : sysCouponCodeDtoList) {
-            if (d.getTypeDetail().equals(CouponDetailTypeEnum.FULLCOUPON.getCode())) {
-                fullTypeTotal = fullTypeTotal.add(d.getFullAmount());
-            } else {
-                notFullTypeTotal = notFullTypeTotal.add(d.getFullAmount());
-                notFullTypeTotalNum.set(notFullTypeTotalNum.incrementAndGet());
-            }
-            couponRemitTotal = couponRemitTotal.add(d.getFaceValue());
-        }
-        //阈值 = (全品类券总面值 ÷ 总商品数量) + (非全品类券总面值 ÷ 非全品类券的数量)
-        threshold = fullTypeTotal.divide(new BigDecimal(total), 3, RoundingMode.HALF_UP)
-                .add(notFullTypeTotal.divide(new BigDecimal(notFullTypeTotalNum.get()), 3, RoundingMode.HALF_UP));
+        BigDecimal couponRemitTotal = WrapperUtil.sumList(sysCouponCodeDtoList, SysCouponCodeDto::getFaceValue);
 
-        if (payAmount.compareTo(threshold) < 0) {
-            throw new BizException("优惠券使用错误,交易失败!");
-        }
         //将各种类型的优惠券合并 算出总面试 总减免金额
         Map<String, CouponPayTypeInfo> couponTypeInfo = new HashMap<>();
         //根据CouponDetailTypeEnum 进行分组集合
@@ -362,8 +333,8 @@ public class SysCouponCodeServiceImpl extends BaseServiceImpl<Long, SysCouponCod
      * @param payAmount    页面传入的本次支付的金额
      */
     @Override
-    public CouponPayParam getCouponPayParam(List<Integer> couponIdList, Integer total, BigDecimal payAmount) {
-        return getCouponPayParam(couponIdList, total, payAmount, null);
+    public CouponPayParam getCouponPayParam(List<Integer> couponIdList) {
+        return getCouponPayParam(couponIdList, null);
     }
 
     @Override

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

@@ -2656,7 +2656,7 @@
         WHERE (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
           AND csts.user_id_ = #{userId}
           <if test="groupType != null">
-          	and csts.group_type_ = #{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+          	and cs.group_type_ = #{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
           </if>
           AND #{startTime} &lt; CONCAT(cs.class_date_, ' ', cs.end_class_time_)
           AND #{endTime} &gt; CONCAT(cs.class_date_, ' ', cs.start_class_time_)
@@ -2688,7 +2688,7 @@
         WHERE (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
           AND cssp.user_id_ = #{userId}
           <if test="groupType != null">
-          	and csts.group_type_ = #{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+          	and cs.group_type_ = #{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
           </if>
           AND #{startTime} &lt; CONCAT(cs.class_date_, ' ', cs.end_class_time_)
           AND #{endTime} &gt; CONCAT(cs.class_date_, ' ', cs.start_class_time_);

+ 36 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TenantConfigController.java

@@ -0,0 +1,36 @@
+package com.ym.mec.web.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+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.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.ym.mec.biz.dal.entity.TenantConfig;
+import com.ym.mec.biz.service.TenantConfigService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.page.WrapperUtil;
+import com.ym.mec.common.tenant.TenantContextHolder;
+
+@RequestMapping("tenantConfig")
+@Api(tags = "机构配置管理")
+@RestController
+public class TenantConfigController extends BaseController {
+
+	@Autowired
+	private TenantConfigService tenantConfigService;
+
+	@ApiOperation("修改机构启用停用状态")
+	@GetMapping(value = "/get")
+	@PreAuthorize("@pcs.hasPermissions('tenantConfig/get')")
+	public Object get() {
+		// 查询云教室扣费标准
+		TenantConfig tenantConfig = tenantConfigService.getOne(new WrapperUtil<TenantConfig>().hasEq("tenant_id_", TenantContextHolder.getTenantId())
+				.queryWrapper());
+
+		return succeed(tenantConfig);
+	}
+}