| 
					
				 | 
			
			
				@ -62,7 +62,7 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @org.springframework.transaction.annotation.Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop<Boolean, Boolean> insert(ActivityDO activityDO,String value1,String value2,String value3){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop<Boolean, Boolean> insert(ActivityDO activityDO,String value1,String value2,String value3,String registrationNumber){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (value2 != null && value2 !=""){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject object = JSONObject.parseObject(value2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            activityDO.setActivityOfflineTime(object.getDate("activityOfflineTime")); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -72,6 +72,7 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        activityDO.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        activityDO.setUpdateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        activityDO.setDelFlag(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        activityDO.setRegistrationNumber(registrationNumber); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        activityDO= activityDao.save(activityDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (value3 !=null && value3 !=""){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject object = JSONObject.parseObject(value3); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -190,7 +191,7 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @org.springframework.transaction.annotation.Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop<Boolean, Boolean> update(ActivityDO activityDO, String value1, String value2, String value3) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop<Boolean, Boolean> update(ActivityDO activityDO, String value1, String value2, String value3,String registrationNumber) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isBlank(activityDO.getId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("活动id不能为空!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -201,6 +202,7 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            activityDO.setRegistrationTime(object.getDate("registrationTime")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            activityDO.setDeadLine(object.getDate("deadLine")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        activityDO.setRegistrationNumber(registrationNumber); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        activityDO.setUpdateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        activityDO.setDelFlag(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //删除活动任务与奖品 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1046,4 +1048,162 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 查询排序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<ActivityDO> select(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return activityDao.selectBySort(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 调整活动的顺序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param array 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop updateSort(JSONArray array){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        MixEnvelop envelop = new MixEnvelop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (int i=0;i<array.size();i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject jsonObject = array.getJSONObject(i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            ActivityDO activityDO = activityDao.selectById(jsonObject.getString("id")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            activityDO.setSort(jsonObject.getInteger("sort")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            activityDao.save(activityDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        envelop.setObj(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *  查询参与的竟步走活动 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param unionId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param patient 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param page 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param size 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop<ActivityDO,ActivityDO> selectByUnionId(String unionId,String patient,String idCard,Integer page,Integer size){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql ="select hba.* from wlyy_health_bank_activity hba right join wlyy_health_bank_task_patient_detail htpd on htpd.activity_id=hba.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "AND htpd.union_id='"+unionId+"' AND  htpd.patient_id ='"+patient+"' and htpd.patient_idcard ='"+idCard+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "where hba.del_flag=1 and hba.type='竞走' order by hba.create_time desc LIMIT " + (page-1)*size+","+size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<ActivityDO> activityDOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper(ActivityDO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (ActivityDO activityDO:activityDOList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            ActivityRuleDO activityRuleDO = activityRuleDao.selectByActivityId(activityDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject object = JSONObject.parseObject(activityRuleDO.getValue2()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String activityOfflineTime = object.getString("activityOfflineTime"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<String> idList = Arrays.asList(activityOfflineTime.split(",")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (idList !=null && idList.size()!=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String startTime = idList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String endTime = idList.get(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String nowTime =  DateUtil.dateToStrLong(DateUtil.getNowDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if((startTime.compareTo(nowTime)==-1&&endTime.compareTo(nowTime)==1)||startTime.compareTo(nowTime)==0||endTime.compareTo(nowTime)==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    activityDO.setFlag(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    activityDO.setFlag(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            activityDO.setActivityRuleDO(activityRuleDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<TaskDO> taskDOS = taskDao.selectByActivityId(activityDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (taskDOS!=null&&taskDOS.size()!=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                activityDO.setTaskDOS(taskDOS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sqlCount ="select count(1) AS total from wlyy_health_bank_activity hba right join wlyy_health_bank_task_patient_detail htpd on htpd.activity_id=hba.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "where hba.del_flag=1 and hba.type='竞走' order by hba.create_time desc "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long count = 0L; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(rstotal!=null&&rstotal.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            count = (Long) rstotal.get(0).get("total"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return MixEnvelop.getSuccessListWithPage(HealthBankMapping.api_success,activityDOList,page,size,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *  获取当前居民参加的活动 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param unionId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param patient 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param idCard 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<ActivityDO> selectNowByUnionId(String unionId,String patient,String idCard){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql ="select hba.* from wlyy_health_bank_activity hba right join wlyy_health_bank_task_patient_detail htpd on htpd.activity_id=hba.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "AND htpd.union_id='"+unionId+"' AND  htpd.patient_id ='"+patient+"' and htpd.patient_idcard ='"+idCard+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "where hba.del_flag=1 and hba.type='竞走' order by hba.create_time desc " ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<ActivityDO> activityDOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper(ActivityDO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<ActivityDO> activityDOS = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (ActivityDO activityDO:activityDOList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            ActivityRuleDO activityRuleDO = activityRuleDao.selectByActivityId(activityDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject object = JSONObject.parseObject(activityRuleDO.getValue2()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String activityOfflineTime = object.getString("activityOfflineTime"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<String> idList = Arrays.asList(activityOfflineTime.split(",")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            activityDO.setActivityRuleDO(activityRuleDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<TaskDO> taskDOS = taskDao.selectByActivityId(activityDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (taskDOS!=null&&taskDOS.size()!=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                activityDO.setTaskDOS(taskDOS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (idList !=null && idList.size()!=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String startTime = idList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String endTime = idList.get(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String nowTime =  DateUtil.dateToStrLong(DateUtil.getNowDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if((startTime.compareTo(nowTime)==-1&&endTime.compareTo(nowTime)==1)||startTime.compareTo(nowTime)==0||endTime.compareTo(nowTime)==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    activityDO.setFlag(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    activityDOS.add(activityDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return activityDOS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 小程序活动排名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param patients 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param taskId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param size 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject selectAppletsRanking(JSONArray patients,String taskId,Integer size,String patient){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        StringBuffer buffer = new StringBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (patients!= null&&patients.size()!=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            buffer.append("and bcd.patient_id IN("); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (int i=0;i<patients.size();i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                buffer.append("'"+patients.getString(i)+"',"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            buffer.deleteCharAt(buffer.length()-1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            buffer.append(") "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT @rownum :=@rownum + 1 AS rank, r.sum, r.patient_id AS patient FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "(SELECT@rowNum := 0) b," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " (SELECT count(bcd.integrate) AS sum, bcd.patient_id, bcd.create_time FROM wlyy_health_bank_credits_detail bcd\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE bcd.transaction_id = '"+taskId+"' " +buffer+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "GROUP BY bcd.patient_id) r ORDER BY r.sum DESC,r.create_time DESC LIMIT 0,"+size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql1= "select s.rank,s.sum,s.patient_id from (SELECT @rownum :=@rownum + 1 AS rank, r.sum, r.patient_id FROM " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "(SELECT@rowNum := 0) b," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " (SELECT count(bcd.integrate) AS sum, bcd.patient_id, bcd.create_time FROM wlyy_health_bank_credits_detail bcd\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE bcd.transaction_id = '"+taskId+"' " +buffer+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "GROUP BY bcd.patient_id) r ORDER BY r.sum DESC,r.create_time DESC)s where s.patient_id ='"+patient+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> list1 = jdbcTemplate.queryForList(sql1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject object = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        object.put("list",list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (list1!=null&&list1.size()!=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            object.put("patient",list1.get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            object.put("patient",null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return object; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |