Antiloveg 8 years ago
parent
commit
711b7645bc

+ 9 - 3
src/main/java/com/goafanti/achievement/service/impl/AchievementServiceImpl.java

@@ -440,9 +440,15 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 	@Override
 	public void updateMatchDemand(Achievement a) {
 		achievementDemandMapper.deleteByAchievementId(a.getId());//删除之前匹配单
-		List<String> keywords = achievementKeywordMapper.selectKeywordsByAchievementId(a.getId());
-		if (null != keywords && keywords.size() > 0) {
-			List<AchievementDemand> list = demandKeywordMapper.selectAchievementDemand(keywords);
+		List<AchievementKeyword> achievement = achievementKeywordMapper.selectKeywordsByAchievementId(a.getId());
+		if (null != achievement && achievement.size() > 0) {
+			List<String> keyword = new ArrayList<>();
+			for (AchievementKeyword k : achievement){
+				if (!StringUtils.isBlank(k.getKeyword())){
+					keyword.add(k.getKeyword());
+				}
+			}
+			List<AchievementDemand> list = demandKeywordMapper.selectAchievementDemand(keyword);
 			if (null != list && list.size() > 0) {
 				for (AchievementDemand ad : list) {
 					ad.setAchievementId(a.getId());

+ 1 - 1
src/main/java/com/goafanti/common/dao/AchievementKeywordMapper.java

@@ -24,7 +24,7 @@ public interface AchievementKeywordMapper {
 
 	List<AchievementDemand> selectAchievementDemand(List<String> keywords);
 
-	List<String> selectKeywordsByAchievementId(String id);
+	List<AchievementKeyword> selectKeywordsByAchievementId(String id);
 
 	void batchDeleteByAchievementId(String achievementiId);
 }

+ 5 - 2
src/main/java/com/goafanti/common/mapper/AchievementKeywordMapper.xml

@@ -105,8 +105,11 @@
         LIMIT 20
   </select>
   
-  <select id="selectKeywordsByAchievementId" parameterType="java.lang.String" resultType="java.util.List">
-  	select keyword from achievement_keyword where achievement_id = #{id,jdbcType=VARCHAR}
+  <select id="selectKeywordsByAchievementId" parameterType="java.lang.String" >
+  	select 
+	<include refid="Base_Column_List" />
+  	from 
+  	achievement_keyword where achievement_id = #{id,jdbcType=VARCHAR}
   </select>
   
 </mapper>