|
@ -1,10 +1,10 @@
|
|
|
package com.yihu.wlyy.service.questionnaire;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.yihu.es.entity.QuestionnaireWinningESDO;
|
|
|
import com.yihu.wlyy.config.SystemConfig;
|
|
|
import com.yihu.wlyy.config.es.ElasticFactory;
|
|
|
import com.yihu.wlyy.config.es.ElastricSearchSave;
|
|
|
import com.yihu.wlyy.entity.questionnaire.QuestionnairePrize;
|
|
|
import com.yihu.wlyy.entity.questionnaire.QuestionnaireUsers;
|
|
|
import com.yihu.wlyy.entity.questionnaire.QuestionnaireWinning;
|
|
@ -14,6 +14,7 @@ import com.yihu.wlyy.service.BaseService;
|
|
|
import com.yihu.wlyy.util.ElasticsearchUtil;
|
|
|
import com.yihu.wlyy.util.random.LotteryUtils;
|
|
|
import com.yihu.wlyy.util.random.dto.LotteryItem;
|
|
|
import io.searchbox.client.JestClient;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
@ -41,6 +42,8 @@ public class QuestionnaireService extends BaseService {
|
|
|
private ElasticFactory elasticFactory;
|
|
|
@Autowired
|
|
|
private ElasticsearchUtil elasticsearchUtil;
|
|
|
@Autowired
|
|
|
private ElastricSearchSave elastricSearchSave;
|
|
|
@Value("${es.type.QuestionnaireWinning}")
|
|
|
private String esType;
|
|
|
@Value("${es.index.QuestionnaireWinning}")
|
|
@ -51,6 +54,7 @@ public class QuestionnaireService extends BaseService {
|
|
|
private QuestionnairePrizeDao questionnairePrizeDao;
|
|
|
@Autowired
|
|
|
private StringRedisTemplate redisTemplate;
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 根据身份证和openid从ES查询中奖结果
|
|
@ -134,8 +138,12 @@ public class QuestionnaireService extends BaseService {
|
|
|
questionnaireWinning.setPrizeCode(questionnairePrize.getPrizeCode());
|
|
|
questionnaireWinning.setAddress(questionnairePrize.getAddress());
|
|
|
questionnaireWinning.setValidity(questionnairePrize.getValidity());
|
|
|
questionnaireWinningDao.save(questionnaireWinning);
|
|
|
//@todo 将中奖信息缓存到ES
|
|
|
questionnaireWinning = questionnaireWinningDao.save(questionnaireWinning);
|
|
|
one = doToESDO(questionnaireWinning);
|
|
|
result.add(one);
|
|
|
//将中奖信息缓存到ES
|
|
|
esQuestionnaireWinningESData(result);
|
|
|
return result;
|
|
|
}catch (Exception e){
|
|
|
//@todo 处理奖品相关逻辑业务时,如果报错,则将奖品重新放回奖品池
|
|
|
e.printStackTrace();
|
|
@ -157,7 +165,7 @@ public class QuestionnaireService extends BaseService {
|
|
|
}
|
|
|
one = doToESDO(questionnaireWinning);
|
|
|
result.add(one);
|
|
|
return null;
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
//中奖对象转成ES对象
|
|
@ -263,4 +271,23 @@ public class QuestionnaireService extends BaseService {
|
|
|
return 0;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 保存数据到ES
|
|
|
*/
|
|
|
public void esQuestionnaireWinningESData(List<QuestionnaireWinningESDO> data) throws Exception {
|
|
|
JestClient jestClient = null;
|
|
|
try {
|
|
|
jestClient = elasticFactory.getJestClient();
|
|
|
elastricSearchSave.save(data,esIndex,esType);
|
|
|
jestClient.shutdownClient();
|
|
|
}catch (Exception e){
|
|
|
logger.error(" save error :" + e.getMessage());
|
|
|
e.printStackTrace();
|
|
|
} finally {
|
|
|
if (jestClient != null) {
|
|
|
jestClient.shutdownClient();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|