liweifan 3 سال پیش
والد
کامیت
eed0d07654

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ContractTemplateDao.java

@@ -13,6 +13,8 @@ public interface ContractTemplateDao extends BaseDAO<Integer, ContractTemplate>
 
     List<ContractTemplateDto> queryPageList(Map<String, Object> params);
 
+    Integer queryMaxVersion(@Param("contractSource") String contractSource, @Param("type") String type);
+
     ContractTemplate queryLatestContractTemplate(@Param("contractSource") String contractSource, @Param("type") String type);
 
     int disableContract(@Param("type") String type);

+ 4 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ContractTemplateServiceImpl.java

@@ -113,12 +113,13 @@ public class ContractTemplateServiceImpl extends BaseServiceImpl<Integer, Contra
         RLock lock = redissonClient.getLock(LOCK_NAME);
         try {
             if (lock.tryLock(10, 10, TimeUnit.SECONDS)) {
-                ContractTemplate latestContractTemplate = contractTemplateDao.queryLatestContractTemplate(contractTemplate.getSource(), contractTemplate.getType());
-                if(null == latestContractTemplate || null == latestContractTemplate.getVersion()){
+                Integer maxVersion = contractTemplateDao.queryMaxVersion(contractTemplate.getSource(), contractTemplate.getType());
+                if(null == maxVersion){
                     contractTemplate.setVersion(1);
                 }else{
-                    contractTemplate.setVersion(latestContractTemplate.getVersion() + 1);
+                    contractTemplate.setVersion(maxVersion + 1);
                 }
+
                 Date date = new Date();
                 contractTemplate.setCreateTime(date);
                 contractTemplate.setUpdateTime(date);

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java

@@ -265,6 +265,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
             }
         } else {
             teacher.setUpdateTime(new Date());
+            teacher = getTeacherDetil(teacher, teacherSubmitReq);
             baseMapper.updateById(teacher);
 
             if (null == teacher.getEntryAuthDate() || null == teacher.getMusicianDate()) {

+ 5 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/ContractTemplateMapper.xml

@@ -162,6 +162,11 @@
 		</where>
 	</select>
 
+	<select id="queryMaxVersion" resultType="java.lang.Integer">
+		SELECT max(a.version_) FROM contract_template a
+		where a.source_ = #{contractSource} and a.type_ = #{type}
+	</select>
+
 	<select id="queryLatestContractTemplate" resultMap="BaseResultMap">
 		SELECT a.* FROM (
 			select