Forráskód Böngészése

Merge remote-tracking branch 'origin/feature/0406-degree' into feature/0406-degree

Eric 2 éve
szülő
commit
97b6d1ae5c

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

@@ -26,5 +26,8 @@ public interface DegreeLevelFeeMapper extends BaseMapper<DegreeLevelFeeNew> {
 	 */
 	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);
+    String checkSave(@Param("subjectId") Integer subjectId,
+					 @Param("degreeType") String degreeType,
+					 @Param("levels") String levels,
+					 @Param("degreeLevelFeeId") Integer degreeLevelFeeId);
 }

+ 2 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/DegreeLevelFeeService.java

@@ -29,20 +29,6 @@ public interface DegreeLevelFeeService extends IService<DegreeLevelFeeNew>  {
      * @return IPage<DegreeLevelFee>
      */
     IPage<DegreeLevelFeeNewVo> selectPage(IPage<DegreeLevelFeeNewVo> page, DegreeLevelFeeWrapper.DegreeLevelFeeQuery query);
-	
-    /**
-     * 添加
-     * @param degreeLevelFee DegreeLevelFeeWrapper.DegreeLevelFee
-     * @return Boolean
-     */
-     Boolean add(DegreeLevelFeeWrapper.DegreeLevelFee degreeLevelFee);   
-
-    /**
-     * 更新
-     * @param degreeLevelFee DegreeLevelFeeWrapper.DegreeLevelFee
-     * @return Boolean
-     */
-     Boolean update(DegreeLevelFeeWrapper.DegreeLevelFee degreeLevelFee);
 
     /**
      * 机构考级价格配置
@@ -59,4 +45,6 @@ public interface DegreeLevelFeeService extends IService<DegreeLevelFeeNew>  {
     * @date 2023/4/11 19:43
     */
     void batchSave(List<DegreeLevelFeeNew> degreeLevelFees);
+
+    void update(DegreeLevelFeeNew degreeLevelFee);
 }

+ 27 - 30
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeLevelFeeServiceImpl.java

@@ -8,16 +8,16 @@ 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.biz.dal.mapper.DegreeLevelFeeMapper;
+import com.ym.mec.biz.dal.vo.DegreeLevelFeeNewVo;
+import com.ym.mec.biz.dal.wrapper.DegreeLevelFeeWrapper;
+import com.ym.mec.biz.service.DegreeLevelFeeService;
 import com.ym.mec.common.exception.BizException;
+import lombok.extern.slf4j.Slf4j;
 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;
-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;
@@ -59,27 +59,6 @@ public class DegreeLevelFeeServiceImpl extends ServiceImpl<DegreeLevelFeeMapper,
         return page.setRecords(baseMapper.selectPage(page, query));
     }
 
-    /**
-     * 添加
-     * @param degreeLevelFee DegreeLevelFeeWrapper.DegreeLevelFee
-     * @return Boolean
-     */
-    @Override
-    public Boolean add(DegreeLevelFeeWrapper.DegreeLevelFee degreeLevelFee) {
-
-        return this.save(JSON.parseObject(degreeLevelFee.jsonString(), DegreeLevelFeeNew.class));
-    }
-
-    /**
-     * 更新
-     * @param degreeLevelFee DegreeLevelFeeWrapper.DegreeLevelFee
-     * @return Boolean
-     */
-    @Override
-    public Boolean update(DegreeLevelFeeWrapper.DegreeLevelFee degreeLevelFee){
-
-        return this.updateById(JSON.parseObject(degreeLevelFee.jsonString(), DegreeLevelFeeNew.class));
-    }
 
     /**
      * 机构考级价格配置
@@ -162,15 +141,33 @@ public class DegreeLevelFeeServiceImpl extends ServiceImpl<DegreeLevelFeeMapper,
     @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);
+        this.check(degreeLevelFeeNew.getSubjectId(),degreeLevelFeeNew.getDegreeType(),levels,null);
+        this.saveBatch(degreeLevelFees);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void update(DegreeLevelFeeNew degreeLevelFee) {
+        this.check(degreeLevelFee.getSubjectId(),degreeLevelFee.getDegreeType(),degreeLevelFee.getLevel().toString(),degreeLevelFee.getId());
+        if(degreeLevelFee.getDegreeType() == DegreeTypeEnum.THEORY){
+            this.lambdaUpdate().eq(DegreeLevelFeeNew::getId,degreeLevelFee.getId())
+                    .set(DegreeLevelFeeNew::getLevel,degreeLevelFee.getLevel())
+                    .set(DegreeLevelFeeNew::getDegreeType,degreeLevelFee.getDegreeType())
+                    .set(DegreeLevelFeeNew::getFee,degreeLevelFee.getFee())
+                    .set(DegreeLevelFeeNew::getCredentials,degreeLevelFee.getCredentials())
+                    .set(DegreeLevelFeeNew::getSubjectId,null).update();
+        }else {
+            this.updateById(degreeLevelFee);
+        }
+    }
+
+    private void check(Integer subjectId,DegreeTypeEnum degreeType,String levels,Integer degreeLevelFeeId){
+        String level = baseMapper.checkSave(subjectId,degreeType.getCode(),levels,degreeLevelFeeId);
         if(StringUtils.isNotEmpty(level)){
             StringBuffer sb = new StringBuffer(degreeType.getMsg());
             sb.append("/级别").append(level).append("配置已存在");
             throw new BizException(sb.toString());
         }
-        this.saveBatch(degreeLevelFees);
     }
 }

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/DegreeLevelFeeNewMapper.xml

@@ -27,6 +27,9 @@
 		<if test="subjectId != null">
 			AND subject_id_ = #{subjectId}
 		</if>
+		<if test="degreeLevelFeeId != null">
+			AND id_ != #{degreeLevelFeeId}
+		</if>
 	</select>
 
 </mapper>

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

@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 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 com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
@@ -74,7 +75,7 @@ public class DegreeLevelFeeController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('degreeLevelFee/update')")
 	@PostMapping("/update")
 	public HttpResponseResult<JSONObject> update(@RequestBody DegreeLevelFeeNew degreeLevelFee) {
-        degreeLevelFeeService.updateById(degreeLevelFee);
+        degreeLevelFeeService.update(degreeLevelFee);
         return succeed();
 	}