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

获取问卷题目

zd_123 7 éve
szülő
commit
b46d04a496

+ 27 - 4
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/questionnaire/QuestionnaireService.java

@ -368,10 +368,33 @@ public class QuestionnaireService extends BaseService {
	 */
	public JSONObject getAllQuestions(String surveyTemplateCode)throws Exception{
		JSONObject json = new JSONObject();
		List<SurveyTemplateQuestions> questionList = surveyTemplateQuestionsDao.findById(surveyTemplateCode);
		List<SurveyTemplateOptions> optionsList = surveyTemplateOptionsDao.findByQuestionCode(surveyTemplateCode);
		for (SurveyTemplateQuestions surveyTemplateQuestions : questionList){
			Map<String,Object> map = new HashMap<>();
        List<SurveyTemplateQuestions> questionList =null;
        List<SurveyTemplateOptions> optionsList = null;
        //从redis获取题目和选项
        String resultQeustionJson = redisTemplate.opsForValue().get("questionnaire:quetion:code:"+surveyTemplateCode);
        if(StringUtils.isNotBlank(resultQeustionJson)){
            questionList = (List<SurveyTemplateQuestions>)net.sf.json.JSONArray.toCollection(net.sf.json.JSONArray.fromObject(resultQeustionJson),SurveyTemplateQuestions.class);
        }
        String resultOptinoJson = redisTemplate.opsForValue().get("questionnaire:option:code:"+surveyTemplateCode);
        if (StringUtils.isNotBlank(resultOptinoJson)){
            optionsList = (List<SurveyTemplateOptions>) net.sf.json.JSONArray.toCollection(net.sf.json.JSONArray.fromObject(resultOptinoJson),SurveyTemplateOptions.class);
        }
        //如果redis没有则从数据库抽取
        if (questionList==null || optionsList==null){
            questionList = surveyTemplateQuestionsDao.findById(surveyTemplateCode);
            optionsList = surveyTemplateOptionsDao.findByQuestionCode(surveyTemplateCode);
            //将题目数据存储到redis
            //list转成json
            String questionJson = net.sf.json.JSONArray.fromObject(questionList).toString();
            redisTemplate.opsForValue().set("questionnaire:quetion:code:" + surveyTemplateCode, questionJson);
            //将选项数据存储到redis
            String optionJson = net.sf.json.JSONArray.fromObject(optionsList).toString();
            redisTemplate.opsForValue().set("questionnaire:option:code:" + surveyTemplateCode, optionJson);
        }
        for (SurveyTemplateQuestions surveyTemplateQuestions : questionList){
            Map<String,Object> map = new HashMap<>();
			String qusCode = surveyTemplateQuestions.getCode();
			List<SurveyTemplateOptions>  resultOptionList = new ArrayList<>();
			for (SurveyTemplateOptions option : optionsList){

+ 23 - 10
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/questionnaire/QuestionnaireUsersService.java

@ -15,6 +15,7 @@ import com.yihu.wlyy.util.IdcardValidator;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
@ -33,6 +34,8 @@ public class QuestionnaireUsersService extends BaseService {
    private QuestionnaireService questionnaireService;
    @Autowired
    SurveyStatisticsDao surveyStatisticsDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    public Map<String,Object> userInfo(String openId)throws Exception{
        Map<String,Object> map = new HashMap<>();
@ -97,16 +100,26 @@ public class QuestionnaireUsersService extends BaseService {
        }
        Date date = new Date();
        if (StringUtils.isEmpty(code)){
            code = getCode();
            questionnaireUsers.setCode(code);
            questionnaireUsers.setName(name);
            questionnaireUsers.setIdcard(idcard);
            questionnaireUsers.setMobile(mobile);
            questionnaireUsers.setOpenid(openid);
            questionnaireUsers.setAddress(address);
            questionnaireUsers.setCensus(census);
            questionnaireUsers.setCreateTime(date);
            questionnaireUsersDao.save(questionnaireUsers);
            String sql = "SELECT COUNT(*) AS num FROM wlyy_questionnaire_users where openid = '"+openid+"' OR idcard = '"+idcard+"'";
            Map<String,Object> map = jdbcTemplate.queryForMap(sql);
            if (map!=null){
                int num = Integer.valueOf(String.valueOf(map.get("num")));
                if (num==0){
                    code = getCode();
                    questionnaireUsers.setCode(code);
                    questionnaireUsers.setName(name);
                    questionnaireUsers.setIdcard(idcard);
                    questionnaireUsers.setMobile(mobile);
                    questionnaireUsers.setOpenid(openid);
                    questionnaireUsers.setAddress(address);
                    questionnaireUsers.setCensus(census);
                    questionnaireUsers.setCreateTime(date);
                    questionnaireUsersDao.save(questionnaireUsers);
                }else if (num>0){
                    questionnaireUsersDao.modifyUser(code,name,idcard,mobile,census,address,date);
                }
            }
        }else{
            questionnaireUsersDao.modifyUser(code,name,idcard,mobile,census,address,date);
        }

+ 3 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/questionnaire/QuestionnaireController.java

@ -48,6 +48,9 @@ public class QuestionnaireController extends BaseController {
    @Value("${Riva.RIVAED_KEY2}")
    private String key2;
    //----------------------电影票活动抽奖-------------------------------//
    @RequestMapping(value = "/getUserInfo", method = RequestMethod.POST)
    @ApiOperation(value = "获取用户信息并且判断是否已经抽过奖")
    @ResponseBody
@ -99,9 +102,6 @@ public class QuestionnaireController extends BaseController {
        }
    }
    //----------------------电影票活动抽奖-------------------------------//
    @RequestMapping(value = "/checkLotto",method = RequestMethod.POST)
    @ApiOperation(value = "进入活动页面判断是否已经抽过奖")
    @ResponseBody