瀏覽代碼

Merge branch 'feature/0406-degree' of http://git.dayaedu.com/yonge/mec into master_saas

zouxuan 2 年之前
父節點
當前提交
271008ebb1

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

@@ -35,7 +35,7 @@ public class DegreeLevelFeeNew implements Serializable {
 
     @ApiModelProperty("等级")
     @TableField(value = "level_")
-    private Integer level;
+    private String level;
 
     @ApiModelProperty("费用")
     @TableField(value = "fee_")

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/mapper/DegreeLevelFeeMapper.java

@@ -5,6 +5,7 @@ import java.util.List;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ym.mec.biz.dal.entity.DegreeLevelFeeNew;
+import com.ym.mec.biz.dal.enums.DegreeTypeEnum;
 import com.ym.mec.biz.dal.vo.DegreeLevelFeeNewVo;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
@@ -24,5 +25,6 @@ public interface DegreeLevelFeeMapper extends BaseMapper<DegreeLevelFeeNew> {
 	 * @return List<DegreeLevelFeeWrapper.DegreeLevelFee>
 	 */
 	List<DegreeLevelFeeNewVo> selectPage(@Param("page") IPage<DegreeLevelFeeNewVo> page, @Param("param") DegreeLevelFeeWrapper.DegreeLevelFeeQuery param);
-	
+
+    String checkSave(@Param("subjectId") Integer subjectId, @Param("degreeType") String degreeType, @Param("levels") String levels);
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/DegreeLevelFeeService.java

@@ -7,6 +7,8 @@ import com.ym.mec.biz.dal.vo.DegreeLevelFeeNewVo;
 import com.ym.mec.biz.dal.wrapper.DegreeLevelFeeWrapper;
 import com.ym.mec.biz.dal.entity.DegreeLevelFee;
 
+import java.util.List;
+
 /**
  * 考级等级费用配置
  * 2023-04-10 10:24:25
@@ -48,4 +50,13 @@ public interface DegreeLevelFeeService extends IService<DegreeLevelFeeNew>  {
      * @return DegreeLevelFeeWrapper.DegreeLevelFee
      */
     DegreeLevelFeeWrapper.DegreeLevelFee degreeLevelFeeConfig(Integer tenantId);
+
+    /**
+    * @description: 批量新增
+     * @param degreeLevelFees
+    * @return void
+    * @author zx
+    * @date 2023/4/11 19:43
+    */
+    void batchSave(List<DegreeLevelFeeNew> degreeLevelFees);
 }

+ 17 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeLevelFeeServiceImpl.java

@@ -8,7 +8,9 @@ import com.ym.mec.biz.dal.dao.SubjectDao;
 import com.ym.mec.biz.dal.entity.DegreeLevelFeeNew;
 import com.ym.mec.biz.dal.entity.Subject;
 import com.ym.mec.biz.dal.enums.DegreeTypeEnum;
+import com.ym.mec.common.exception.BizException;
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import com.ym.mec.biz.dal.vo.DegreeLevelFeeNewVo;
 import org.springframework.stereotype.Service;
@@ -16,6 +18,7 @@ import lombok.extern.slf4j.Slf4j;
 import com.ym.mec.biz.dal.wrapper.DegreeLevelFeeWrapper;
 import com.ym.mec.biz.dal.mapper.DegreeLevelFeeMapper;
 import com.ym.mec.biz.service.DegreeLevelFeeService;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 import java.util.Map;
@@ -154,4 +157,18 @@ public class DegreeLevelFeeServiceImpl extends ServiceImpl<DegreeLevelFeeMapper,
 
         return degreeLevelFee;
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void batchSave(List<DegreeLevelFeeNew> degreeLevelFees) {
+        DegreeLevelFeeNew degreeLevelFeeNew = degreeLevelFees.get(0);
+        Integer subjectId = degreeLevelFeeNew.getSubjectId();
+        DegreeTypeEnum degreeType = degreeLevelFeeNew.getDegreeType();
+        String levels = degreeLevelFees.stream().map(e -> e.getLevel().toString()).collect(Collectors.joining(","));
+        String level = baseMapper.checkSave(subjectId,degreeType.getCode(),levels);
+        if(StringUtils.isNotEmpty(level)){
+            throw new BizException(level + "配置已存在");
+        }
+        this.saveBatch(degreeLevelFees);
+    }
 }

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

@@ -21,5 +21,9 @@
 		</where>
 		ORDER BY dlf.level_
 	</select>
-    
+	<select id="checkSave" resultType="java.lang.String">
+		select level_ from degree_level_fee
+		where subject_id_ = #{subjectId} AND FIND_IN_SET(level_,#{levels}) AND degree_type_ = #{degreeType}
+	</select>
+
 </mapper>

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/degree/DegreeLevelFeeController.java

@@ -66,7 +66,7 @@ public class DegreeLevelFeeController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('degreeLevelFee/save')")
 	@PostMapping("/save")
 	public HttpResponseResult<JSONObject> add(@RequestBody List<DegreeLevelFeeNew> degreeLevelFees) {
-        degreeLevelFeeService.saveBatch(degreeLevelFees);
+        degreeLevelFeeService.batchSave(degreeLevelFees);
         return succeed();
 	}