Browse Source

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

yonge 3 years ago
parent
commit
a07e8e265b

+ 0 - 8
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysUserRole.java

@@ -10,17 +10,9 @@ import com.ym.mec.common.entity.BaseEntity;
  * 对应数据库表(sys_user_role):
  */
 public class SysUserRole extends BaseEntity {
-	//分部经理
-	public static Integer SECTION_MANAGER = 3;
-	//教务老师、乐团主管
-	public static Integer EDUCATIONAL_TEACHER = 4;
-	//维修技师
-	public static Integer REPAIR = 37;
-
 	/** 用户ID */
 	@ApiModelProperty(value = "用户ID",required = false)
 	private Integer userId;
-	
 	/** 角色ID */
 	@ApiModelProperty(value = "角色ID",required = false)
 	private Integer roleId;

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

@@ -3968,9 +3968,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         }
         //保存调整日志
 		saveModifyLog(modifyLogs,newCourseScheduleIds);
-//        if(oldCourseScheduleList.get(0).getGroupType().equals(GroupType.VIP)){
-//            courseScheduleStudentPaymentService.updateVipGiveCourse(Long.valueOf(oldCourseScheduleList.get(0).getMusicGroupId()));
-//        }
 
         try {
             //推送课时调整
@@ -3984,7 +3981,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             teacherIds.forEach(e -> {
                 map.put(e, e.toString());
             });
-//		HashMap<Integer,String> map = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(teacherDao.queryPhoneByIds(StringUtils.join(teacherIds, ",")))), HashMap.class);
             if (map != null && map.size() > 0) {
                 sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT,
                         map, null, 0, "7","TEACHER");
@@ -3992,12 +3988,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         } catch (Exception e) {
             e.printStackTrace();
         }
-
-//		Set<Integer> roleIds = new HashSet<>(1);
-//		roleIds.add(SysUserRole.SECTION_MANAGER);
-//		classGroupDao.get();
-//		sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_COURSE_CHANGE,
-//				teacher.getRealName());
     }
 
     @Transactional(rollbackFor = Exception.class)

+ 3 - 13
mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java

@@ -3,29 +3,23 @@ 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.*;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.IndexDataQueryInfo;
 import com.ym.mec.biz.dal.page.OrganCloudStudyStudentDataQueryInfo;
-import com.ym.mec.biz.dal.page.OrganizationQueryInfo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
-import com.ym.mec.common.filters.TenantIdThreadLocal;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
-
-import io.swagger.models.auth.In;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
@@ -34,12 +28,10 @@ import java.math.BigDecimal;
 import java.time.DayOfWeek;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
 
 import static com.ym.mec.biz.dal.enums.IndexDataType.*;
-import static com.ym.mec.biz.dal.enums.IndexErrorType.WAIT_CREATE_PAYMENT_CALENDER;
 import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.EDUCATION;
 
 @Service
@@ -50,8 +42,6 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 	@Autowired
 	private OrganizationService organizationService;
 	@Autowired
-	private EmployeeDao employeeDao;
-	@Autowired
 	private MusicGroupDao musicGroupDao;
 	@Autowired
 	private SysConfigDao sysConfigDao;
@@ -66,8 +56,6 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 	@Autowired
 	private ClassGroupDao classGroupDao;
 	@Autowired
-	private EmployeeService employeeService;
-	@Autowired
 	private StudentRegistrationDao studentRegistrationDao;
 	@Autowired
 	private MusicGroupPerformanceDao musicGroupPerformanceDao;
@@ -98,7 +86,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		if(Objects.nonNull(queryInfo.getStartDate())){
 			startDate = LocalDateTime.ofInstant(queryInfo.getStartDate().toInstant(), DateUtil.zoneId).toLocalDate();
 		}
-
+		startDate = startDate.plusDays(-180);
 		LocalDate endDate = nowDate.plusDays(-1);
 		if(Objects.nonNull(queryInfo.getEndDate())){
 			endDate = LocalDateTime.ofInstant(queryInfo.getEndDate().toInstant(), DateUtil.zoneId).toLocalDate();
@@ -289,6 +277,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 			}
 			IndexBaseDto indexBaseData = new IndexBaseDto(typeDateMapEntry.getKey(),typeDateMapEntry.getKey().getMsg());
 			indexBaseData.setIndexMonthData(value, currentMonth);
+			indexBaseData.setPercent(value.stream().map(IndexBaseMonthData::getPercent).reduce(BigDecimal.ZERO, BigDecimal::add));
 			if(OTHER_AMOUNT.equals(typeDateMapEntry.getKey())){
 				List<IndexBaseMonthData> otherAmountDetails = new ArrayList<>();
 				if(value != null && value.size() > 0){
@@ -322,6 +311,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 					}
 				}
 			}
+
 			result.add(indexBaseData);
 		}
 		return result;

+ 7 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/OrderPayOpsServiceImpl.java

@@ -86,6 +86,7 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
             //如果以上操作都没有 则应该是这一个,因为老代码就是这样写的。
             if (Objects.isNull(function)) {
                 StudentPaymentOrder studentPaymentOrder = studentPaymentOrderService.findOrderByOrderNo(payParam.getOrderNo());
+                payParam.setTenantId(studentPaymentOrder.getTenantId());
                 payment = checkOrderAndGetParam(payParam,
                         studentPaymentOrder,
                         StudentPaymentOrder::getStatus,
@@ -121,10 +122,8 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
 
     // 机构充值
     private Map<String, Object> tenantRecharge(PaymentParam payParam) {
-        Map<String, Object> payment;
         TenantOrderRecord tenantOrderRecord = getTenantOrderRecord(payParam.getOrderNo());
-        payParam.setTenantId(tenantOrderRecord.getTenantId());
-        payment = checkOrderGetPayment(payParam, tenantOrderRecord);
+        Map<String, Object> payment = checkOrderGetPayment(payParam, tenantOrderRecord);
         //主动延迟检查订单
         log.info("executePayment delayCheckTenantRecharge >>>>> ");
         delayCheckTenantRecharge(tenantOrderRecord);
@@ -134,7 +133,6 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
     // 云教练支付
     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 >>>>> ");
@@ -145,7 +143,6 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
     //机构开通、续费付款
     private Map<String, Object> openOrRenew(PaymentParam payParam) {
         TenantOrderRecord tenantOrderRecord = getTenantOrderRecord(payParam.getOrderNo());
-        payParam.setTenantId(tenantOrderRecord.getTenantId());
         Map<String, Object> payment = checkOrderGetPayment(payParam, tenantOrderRecord);
         //主动延迟检查订单
         delayCheckTenant();
@@ -161,6 +158,7 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
     //获取支付数据
     private Map<String, Object> checkOrderGetPayment(PaymentParam payParam, TenantOrderRecord tenantOrderRecord) {
         Map<String, Object> payment;
+        payParam.setTenantId(tenantOrderRecord.getTenantId());
         try {
             payment = checkOrderAndGetParam(payParam,
                     tenantOrderRecord,
@@ -301,6 +299,10 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
                 TenantOrderRecord tor = (TenantOrderRecord) clazz;
                 merNos = tor.getMerNos();
                 amount = amountTo.apply(tor.getActualAmount());
+            } else if (clazz instanceof TenantPaymentOrder) {
+                TenantPaymentOrder tpo = (TenantPaymentOrder) clazz;
+                merNos = tpo.getMerNos();
+                amount = amountTo.apply(tpo.getActualAmount());
             } else {
                 throw new BizException("订单[{}]找不到", payParam.getOrderNo());
             }

+ 0 - 16
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -5008,22 +5008,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         courseScheduleService.checkNewCourseSchedules(courseSchedules, false, false);
         applyBaseInfoDto.setCourseScheduleJson(JSON.toJSONString(courseSchedules));
         practiceGroupDao.update(applyBaseInfoDto);
-
-//        Set<Integer> roleIds = new HashSet<>(1);
-//        roleIds.add(SysUserRole.SECTION_MANAGER);
-//        Map<String,Long> memo = new HashMap<>(1);
-//        memo.put("practiceGroupId",applyBaseInfoDto.getId());
-//        if(Objects.isNull(teacher)){
-//            throw new BizException("该用户不存在");
-//        }
-//        Set<Integer> userIds = musicGroupDao.queryUserIdByRoleId(roleIds,teacher.getTeacherOrganId());
-//        if(CollectionUtils.isEmpty(userIds)){
-//            throw new BizException("当前分部没有运营主管,无法创建,请联系总部工作人员!");
-//        }
-//        if(applyBaseInfoDto.getEducationalTeacherId() != null){
-//            userIds.add(applyBaseInfoDto.getEducationalTeacherId());
-//        }
-//        sysMessageService.batchSeoMessage(userIds,MessageTypeEnum.BACKSTAGE_TEACHER_APPLY_PRACTICE, JSONObject.toJSONString(memo),teacher.getRealName());
         return BaseController.succeed(applyBaseInfoDto.getAuditStatus().getCode());
     }
 

+ 0 - 21
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -417,27 +417,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         courseScheduleService.checkNewCourseSchedules(courseSchedules, false, false);
         vipGroupApplyBaseInfoDto.setCourseSchedulesJson(JSON.toJSONString(courseSchedules));
         vipGroupDao.update(vipGroupApplyBaseInfoDto);
-
-//		Set<Integer> roleIds = new HashSet<>(1);
-//		roleIds.add(SysUserRole.SECTION_MANAGER);
-//		Map<String,Long> memo = new HashMap<>(1);
-//		memo.put("vipGroupId",vipGroupApplyBaseInfoDto.getId());
-//		SysUser sysUser = sysUserFeignService.queryUserById(vipGroup.getVipGroupApplyBaseInfo().getUserId());
-//		if(Objects.isNull(teacher)){
-//			throw new BizException("该用户不存在");
-//		}
-//		Set<Integer> userIds = musicGroupDao.queryUserIdByRoleId(roleIds,teacher.getTeacherOrganId());
-//		if(CollectionUtils.isEmpty(userIds)){
-//			throw new BizException("当前分部没有运营主管,无法创建,请联系总部工作人员!");
-//		}
-//		if(vipGroupApplyBaseInfoDto.getEducationalTeacherId() != null){
-//			userIds.add(vipGroupApplyBaseInfoDto.getEducationalTeacherId());
-//		}
-//		if (vipGroup.getVipGroupApplyBaseInfo().getUserId() != null){
-//			sysMessageService.batchSeoMessage(userIds,MessageTypeEnum.BACKSTAGE_VIP_COURSE_APPLY, JSONObject.toJSONString(memo),sysUser.getUsername(),sysUser.getUsername());
-//		}else {
-//		sysMessageService.batchSeoMessage(userIds,MessageTypeEnum.BACKSTAGE_TEACHER_APPLY_VIP, JSONObject.toJSONString(memo),teacher.getRealName());
-//		}
         return BaseController.succeed(vipGroupApplyBaseInfoDto.getAuditStatus().getCode());
     }
 

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/controller/EmployeeController.java

@@ -113,6 +113,15 @@ public class EmployeeController extends BaseController {
         return succeed();
     }
 
+    @ApiOperation(value = "修改员工")
+    @PostMapping("/simpleUpdate")
+    @PreAuthorize("@pcs.hasPermissions('employee/simpleUpdate')")
+    public Object simpleUpdate(@RequestBody Employee employee) {
+        employee.setUpdateTime(new Date());
+        employeeService.update(employee);
+        return succeed();
+    }
+
     @ApiOperation(value = "修改用户")
     @PostMapping("/updateUser")
     public Object update(SysUser sysUser) {

+ 21 - 44
mec-web/src/main/java/com/ym/mec/web/controller/education/EduRegisterController.java

@@ -1,37 +1,26 @@
 package com.ym.mec.web.controller.education;
 
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-
-import java.math.BigDecimal;
-import java.util.Arrays;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import org.apache.commons.lang3.StringUtils;
-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.auth.api.entity.SysUserRole;
-import com.ym.mec.biz.dal.dao.CooperationOrganDao;
-import com.ym.mec.biz.dal.dao.EmployeeDao;
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDetailDao;
-import com.ym.mec.biz.dal.dao.StudentPreRegistrationDao;
-import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
+import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.Mapper;
 import com.ym.mec.biz.dal.dto.MusicGroupRegAndMoneyDto;
 import com.ym.mec.biz.dal.entity.CooperationOrgan;
-import com.ym.mec.biz.dal.entity.Employee;
-import com.ym.mec.biz.service.StudentPaymentOrderDetailService;
+import com.ym.mec.biz.dal.enums.SysUserRoleEnum;
+import com.ym.mec.biz.service.OrganizationService;
+import com.ym.mec.biz.service.SysEmployeePositionService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.tenant.TenantContextHolder;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+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 java.math.BigDecimal;
+import java.util.List;
+import java.util.stream.Collectors;
 
 @RequestMapping("eduRegister")
 @Api(tags = "乐团报名回款统计(教务端)")
@@ -47,40 +36,28 @@ public class EduRegisterController extends BaseController {
     @Autowired
     private StudentRegistrationDao studentRegistrationDao;
     @Autowired
-    private StudentPaymentOrderDetailService studentPaymentOrderDetailService;
-    @Autowired
     private StudentPaymentOrderDetailDao studentPaymentOrderDetailDao;
     @Autowired
     private StudentPaymentOrderDao studentPaymentOrderDao;
     @Autowired
-    private EmployeeDao employeeDao;
-    @Autowired
     private CooperationOrganDao cooperationOrganDao;
+    @Autowired
+    private SysEmployeePositionService employeePositionService;
+    @Autowired
+    private OrganizationService organizationService;
 
     @ApiOperation(value = "获取分部报名、回款统计")
     @GetMapping("/getRegAndMoney")
     public HttpResponseResult<List<MusicGroupRegAndMoneyDto>> getRegAndMoney(String organId, String musicGroupName) {
-        String organIds = null;
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        Employee employee = employeeDao.get(sysUser.getId());
-        if (StringUtils.isEmpty(organId)) {
-            organIds = employee.getOrganIdList();
-        } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
-            return failed("用户所在分部异常");
-        } else {
-            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-            if (!list.containsAll(Arrays.asList(organId.split(",")))) {
-                return failed("非法请求");
-            }
-            organIds = organId;
-        }
+        organId = organizationService.getEmployeeOrgan(sysUser.getId(), organId, sysUser.getIsSuperAdmin());
         //是乐团主管,不是分部经理
         List<Integer> cooperationOrganIds = null;
-        List<Integer> userRole = employeeDao.queryUserRole(sysUser.getId());
-        if (!sysUser.getIsSuperAdmin() && !userRole.contains(SysUserRole.SECTION_MANAGER)) {
+        Boolean onlyForRole = employeePositionService.onlyForRole(SysUserRoleEnum.EDUCATION, sysUser.getId(), sysUser.getIsSuperAdmin());
+        if (onlyForRole) {
             List<CooperationOrgan> cooperationOrgans = cooperationOrganDao.getCooperationOrganByEduTeacherId(sysUser.getId());
             if (cooperationOrgans.size() > 0) {
                 cooperationOrganIds = cooperationOrgans.stream().map(CooperationOrgan::getId).collect(Collectors.toList());
@@ -89,7 +66,7 @@ public class EduRegisterController extends BaseController {
             }
         }
 
-        List<MusicGroupRegAndMoneyDto> musicGroups = musicGroupDao.getMusicGroupByStatus(organIds, cooperationOrganIds, musicGroupName, TenantContextHolder.getTenantId());
+        List<MusicGroupRegAndMoneyDto> musicGroups = musicGroupDao.getMusicGroupByStatus(organId, cooperationOrganIds, musicGroupName, TenantContextHolder.getTenantId());
         if (musicGroups.size() <= 0) {
             return succeed();
         }