Kaynağa Gözat

Merge branch 'master' into adapay_delay_1231

周箭河 4 yıl önce
ebeveyn
işleme
edb6d572cd

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

@@ -9,6 +9,8 @@ public class DataChangeLog {
 
 	/**  */
 	private Long id;
+
+	private Long dataId;
 	
 	/** 操作人编号 */
 	private Integer operatorId;
@@ -29,7 +31,15 @@ public class DataChangeLog {
 	public Long getId(){
 		return this.id;
 	}
-			
+
+	public Long getDataId() {
+		return dataId;
+	}
+
+	public void setDataId(Long dataId) {
+		this.dataId = dataId;
+	}
+
 	public void setOperatorId(Integer operatorId){
 		this.operatorId = operatorId;
 	}

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroupActivity.java

@@ -39,13 +39,13 @@ public class VipGroupActivity {
 	@ApiModelProperty(value = "活动类型(基础活动、折扣、赠送课时)")
 	private VipGroupActivityTypeEnum type;
 
-	@ApiModelProperty(value = "活动")
+	@ApiModelProperty(value = "活动变量1")
 	private String attribute1;
 
-	@ApiModelProperty(value = "")
+	@ApiModelProperty(value = "活动变量2")
 	private String attribute2;
 
-	@ApiModelProperty(value = "")
+	@ApiModelProperty(value = "活动变量3")
 	private String attribute3;
 
 	@ApiModelProperty(value = "薪水只读标识(1-只读 0-可写)")

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

@@ -42,6 +42,7 @@ public class LogServiceImpl implements LogService {
     public void entityVariationAnalysis(Object oldEntity, Object newEntity, Integer operatorId) {
         List<String> changes = new ArrayList<>();
         Field[] allFields = getAllFields(oldEntity);
+        Long dataId = Long.valueOf(0);
         for (Field field : allFields) {
             if(field.getName().equals("createTime")||field.getName().equals("updateTime")){
                 continue;
@@ -52,6 +53,9 @@ public class LogServiceImpl implements LogService {
             }
             field.setAccessible(true);
             try {
+                if(field.getName().equals("id")){
+                    dataId = Long.valueOf(String.valueOf(field.get(oldEntity)));
+                }
                 String oldValue = "", newValue = "";
                 if(field.getType().equals(Date.class)){
                     if(Objects.nonNull(field.get(oldEntity))){
@@ -76,6 +80,7 @@ public class LogServiceImpl implements LogService {
         }
         DataChangeLog dataChangeLog = new DataChangeLog();
         dataChangeLog.setClassName(oldEntity.getClass().getName());
+        dataChangeLog.setDataId(dataId);
         dataChangeLog.setChangeInfo(StringUtils.join(changes, ";"));
         dataChangeLog.setOperatorId(operatorId);
         dataChangeLogDao.insert(dataChangeLog);

+ 43 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupActivityServiceImpl.java

@@ -15,6 +15,7 @@ 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;
@@ -86,6 +87,7 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public void updateVipGroupActivity(VipGroupActivityAddDto vipGroupActivityAddDto, Integer operatorId) {
 		VipGroupActivity oldVipGroupActivity = vipGroupActivityDao.get(vipGroupActivityAddDto.getId());
 		if(Objects.isNull(oldVipGroupActivity)){
@@ -94,6 +96,47 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 		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);

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

@@ -8,6 +8,7 @@
 	
 	<resultMap type="com.ym.mec.biz.dal.entity.DataChangeLog" id="DataChangeLog">
 		<result column="id_" property="id" />
+		<result column="data_id_" property="dataId" />
 		<result column="operator_id_" property="operatorId" />
 		<result column="change_info_" property="changeInfo" />
 		<result column="create_time_" property="createTime" />
@@ -26,8 +27,8 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.DataChangeLog" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO data_change_log (id_,operator_id_,change_info_,create_time_,class_name_)
-		VALUES(#{id},#{operatorId},#{changeInfo},NOW(),#{className})
+		INSERT INTO data_change_log (id_,data_id_,operator_id_,change_info_,create_time_,class_name_)
+		VALUES(#{id},#{dataId},#{operatorId},#{changeInfo},NOW(),#{className})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->