|
@@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.dto.VipGroupActivityAddDto;
|
|
|
import com.ym.mec.biz.dal.dto.VipGroupSalarySettlementDto;
|
|
|
import com.ym.mec.biz.dal.entity.Teacher;
|
|
|
import com.ym.mec.biz.dal.entity.VipGroupActivity;
|
|
|
+import com.ym.mec.biz.event.source.EntityChangeEventSource;
|
|
|
import com.ym.mec.biz.service.VipGroupActivityService;
|
|
|
import com.ym.mec.common.dal.BaseDAO;
|
|
|
import com.ym.mec.common.exception.BizException;
|
|
@@ -14,7 +15,9 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
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 java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
|
|
@@ -25,6 +28,8 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
|
|
|
private VipGroupActivityDao vipGroupActivityDao;
|
|
|
@Autowired
|
|
|
private TeacherDao teacherDao;
|
|
|
+ @Autowired
|
|
|
+ private EntityChangeEventSource entityChangeEventSource;
|
|
|
|
|
|
@Override
|
|
|
public BaseDAO<Integer, VipGroupActivity> getDAO() {
|
|
@@ -77,21 +82,65 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
vipGroupActivityAddDto.setSalarySettlementJson(JSON.toJSONString(vipGroupActivityAddDto.getVipGroupSalarySettlement()));
|
|
|
super.insert(vipGroupActivityAddDto);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void updateVipGroupActivity(VipGroupActivityAddDto vipGroupActivityAddDto) {
|
|
|
- if(Objects.isNull(vipGroupActivityAddDto.getId())){
|
|
|
- throw new BizException("请指定活动编号!");
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void updateVipGroupActivity(VipGroupActivityAddDto vipGroupActivityAddDto, Integer operatorId) {
|
|
|
+ VipGroupActivity oldVipGroupActivity = vipGroupActivityDao.get(vipGroupActivityAddDto.getId());
|
|
|
+ if(Objects.isNull(oldVipGroupActivity)){
|
|
|
+ throw new BizException("活动不存在!");
|
|
|
}
|
|
|
if(Objects.isNull(vipGroupActivityAddDto.getOrganId())){
|
|
|
throw new BizException("请指定部门!");
|
|
|
}
|
|
|
+
|
|
|
+ if(Objects.nonNull(vipGroupActivityAddDto.getVipGroupSalarySettlement().getOnlineSalarySettlement())){
|
|
|
+ switch (vipGroupActivityAddDto.getVipGroupSalarySettlement().getOnlineSalarySettlement().getSalarySettlementType()){
|
|
|
+ case TEACHER_DEFAULT:
|
|
|
+ vipGroupActivityAddDto.getVipGroupSalarySettlement().getOnlineSalarySettlement().setSettlementValue(null);
|
|
|
+ break;
|
|
|
+ case RATIO_DISCOUNT:
|
|
|
+ if(Objects.isNull(vipGroupActivityAddDto.getVipGroupSalarySettlement().getOnlineSalarySettlement().getSettlementValue())){
|
|
|
+ throw new BizException("请指定线下课单价折算比例");
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case FIXED_SALARY:
|
|
|
+ if(Objects.isNull(vipGroupActivityAddDto.getVipGroupSalarySettlement().getOnlineSalarySettlement().getSettlementValue())){
|
|
|
+ throw new BizException("请指定线下课固定课酬");
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ throw new BizException("未指定课酬结算标准!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(Objects.nonNull(vipGroupActivityAddDto.getVipGroupSalarySettlement().getOfflineSalarySettlement())){
|
|
|
+ switch (vipGroupActivityAddDto.getVipGroupSalarySettlement().getOfflineSalarySettlement().getSalarySettlementType()){
|
|
|
+ case TEACHER_DEFAULT:
|
|
|
+ vipGroupActivityAddDto.getVipGroupSalarySettlement().getOfflineSalarySettlement().setSettlementValue(null);
|
|
|
+ break;
|
|
|
+ case RATIO_DISCOUNT:
|
|
|
+ if(Objects.isNull(vipGroupActivityAddDto.getVipGroupSalarySettlement().getOfflineSalarySettlement().getSettlementValue())){
|
|
|
+ throw new BizException("请指定线线上课单价折算比例");
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case FIXED_SALARY:
|
|
|
+ if(Objects.isNull(vipGroupActivityAddDto.getVipGroupSalarySettlement().getOfflineSalarySettlement().getSettlementValue())){
|
|
|
+ throw new BizException("请指定线上课固定课酬");
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ throw new BizException("未指定课酬结算标准!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
vipGroupActivityAddDto.setSalarySettlementJson(JSON.toJSONString(vipGroupActivityAddDto.getVipGroupSalarySettlement()));
|
|
|
+
|
|
|
super.update(vipGroupActivityAddDto);
|
|
|
+ entityChangeEventSource.entityChange(oldVipGroupActivity, vipGroupActivityAddDto, operatorId);
|
|
|
}
|
|
|
|
|
|
@Override
|