|  | @ -147,7 +147,7 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
 | 
	
		
			
				|  |  |                         "ba.hospital AS hospital," +
 | 
	
		
			
				|  |  |                         "ba.total AS total," +
 | 
	
		
			
				|  |  |                         "ba.create_time AS create_time," +
 | 
	
		
			
				|  |  |                         "(ba.total +(cd1.total)) AS sum" +
 | 
	
		
			
				|  |  |                         "(ba.total +COALESCE((cd1.total),0)) AS sum" +
 | 
	
		
			
				|  |  |                         " FROM" +
 | 
	
		
			
				|  |  |                         " wlyy_health_bank_account ba" +
 | 
	
		
			
				|  |  |                         " LEFT JOIN ( " +
 | 
	
	
		
			
				|  | @ -159,7 +159,7 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
 | 
	
		
			
				|  |  |                         " WHERE " +
 | 
	
		
			
				|  |  |                         "cd.trade_direction = - 1" +
 | 
	
		
			
				|  |  |                         " GROUP BY " +
 | 
	
		
			
				|  |  |                         " cd.patient_id ) cd1 ON cd1.patient_id = ba.patient_id\n" +
 | 
	
		
			
				|  |  |                         " cd.patient_id ) cd1 ON cd1.patient_id = ba.patient_id " +
 | 
	
		
			
				|  |  |                         " WHERE " + buffer +
 | 
	
		
			
				|  |  |                         " ORDER BY" +
 | 
	
		
			
				|  |  |                         " ba.create_time DESC " +
 | 
	
	
		
			
				|  | @ -184,7 +184,7 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
 | 
	
		
			
				|  |  |                 "WHERE " + buffer +
 | 
	
		
			
				|  |  |                 " ORDER BY " +
 | 
	
		
			
				|  |  |                 " ba.create_time, " +
 | 
	
		
			
				|  |  |                 " (ba.total + cd1.total) DESC ";
 | 
	
		
			
				|  |  |                 " (ba.total + COALESCE(cd1.total,0)) DESC ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlCount);
 | 
	
		
			
				|  |  |         Long count = 0L;
 | 
	
		
			
				|  |  |         if(rstotal!=null&&rstotal.size()>0){
 | 
	
	
		
			
				|  | @ -244,6 +244,7 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
 | 
	
		
			
				|  |  |                     taskPatientDetailDO.setStatus(Integer.parseInt("0"));
 | 
	
		
			
				|  |  |                     taskPatientDetailDO.setCreateTime(new Date());
 | 
	
		
			
				|  |  |                     taskPatientDetailDO.setUpdateTime(new Date());
 | 
	
		
			
				|  |  |                     taskPatientDetailDO.setTotal(Long.parseLong("0"));
 | 
	
		
			
				|  |  |                     taskPatientDetailDao.save(taskPatientDetailDO);
 | 
	
		
			
				|  |  |                 }else if (taskPatientDetailDOS != null && taskDOList.get(0).getPeriod() == 0){
 | 
	
		
			
				|  |  |                     String taskSql1 = "select * from wlyy_health_bank_task_patient_detail where task_id = '"+taskDOList.get(0).getId()+
 | 
	
	
		
			
				|  | @ -259,6 +260,7 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
 | 
	
		
			
				|  |  |                         taskPatientDetailDO.setStatus(Integer.parseInt("0"));
 | 
	
		
			
				|  |  |                         taskPatientDetailDO.setCreateTime(new Date());
 | 
	
		
			
				|  |  |                         taskPatientDetailDO.setUpdateTime(new Date());
 | 
	
		
			
				|  |  |                         taskPatientDetailDO.setTotal(Long.parseLong("0"));
 | 
	
		
			
				|  |  |                         taskPatientDetailDao.save(taskPatientDetailDO);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
	
		
			
				|  | @ -268,6 +270,18 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
 | 
	
		
			
				|  |  |                 creditsDetailDO1.setFlag(creditsDetailDO.getFlag());
 | 
	
		
			
				|  |  |                 List<CreditsDetailDO> creditsDetailDOList = new ArrayList<>();
 | 
	
		
			
				|  |  |                 creditsDetailDOList.add(creditsDetailDO1);
 | 
	
		
			
				|  |  |                 TaskPatientDetailDO taskPatientDetailDO = new TaskPatientDetailDO();
 | 
	
		
			
				|  |  |                 taskPatientDetailDO.setPatientId(creditsDetailDO1.getPatientId());
 | 
	
		
			
				|  |  |                 taskPatientDetailDO.setTaskId(creditsDetailDO1.getTransactionId());
 | 
	
		
			
				|  |  |                 String taskSql1 = ISqlUtils.getAllSql(taskPatientDetailDO);
 | 
	
		
			
				|  |  |                 List<TaskPatientDetailDO> taskPatientDetailDOS1 = jdbcTemplate.query(taskSql1,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
 | 
	
		
			
				|  |  |                 TaskPatientDetailDO taskPatientDetailDO1 = taskPatientDetailDOS1.get(0);
 | 
	
		
			
				|  |  |                 if (creditsDetailDO1.getTradeDirection() == 1){
 | 
	
		
			
				|  |  |                     taskPatientDetailDO1.setTotal(taskPatientDetailDO1.getTotal()+creditsDetailDO1.getIntegrate());
 | 
	
		
			
				|  |  |                 }else if (creditsDetailDO.getTradeDirection() == -1){
 | 
	
		
			
				|  |  |                     taskPatientDetailDO1.setTotal(taskPatientDetailDO1.getTotal()-creditsDetailDO1.getIntegrate());
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 taskPatientDetailDao.save(taskPatientDetailDO1);
 | 
	
		
			
				|  |  |                 AccountDO accountDO = accountDao.findOne(creditsDetailDO1.getAccountId());
 | 
	
		
			
				|  |  |                 if (creditsDetailDO1.getTradeDirection() == 1){
 | 
	
		
			
				|  |  |                     accountDO.setTotal(accountDO.getTotal()+creditsDetailDO1.getIntegrate());
 | 
	
	
		
			
				|  | @ -291,6 +305,88 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 活动排名
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param activityId 活动id
 | 
	
		
			
				|  |  |      * @param ids 微信编码
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param page 页码
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param size 分页大小
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public Envelop<TaskPatientDetailDO> selectByActivityRanking(String activityId,List<String> ids,Integer page,Integer size){
 | 
	
		
			
				|  |  |         StringBuffer buffer = new StringBuffer();
 | 
	
		
			
				|  |  |         buffer.append("(");
 | 
	
		
			
				|  |  |         if (ids == null || ids.size() == 0){
 | 
	
		
			
				|  |  |             buffer.append("''");
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             for (int i=0;i<ids.size();i++){
 | 
	
		
			
				|  |  |                 buffer.append("'"+ids.get(i)+"'").append(",");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             buffer.deleteCharAt(buffer.length()-1);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         buffer.append(") ");
 | 
	
		
			
				|  |  |         String sql = "SELECT " +
 | 
	
		
			
				|  |  |                 " * " +
 | 
	
		
			
				|  |  |                 "FROM " +
 | 
	
		
			
				|  |  |                 " ( " +
 | 
	
		
			
				|  |  |                 " SELECT " +
 | 
	
		
			
				|  |  |                 " SUM(ptpd.total) AS total, " +
 | 
	
		
			
				|  |  |                 " ptpd.patient_openid AS patient_openid, " +
 | 
	
		
			
				|  |  |                 " ptpd.task_id AS task_id, " +
 | 
	
		
			
				|  |  |                 " ptpd.activity_id AS activity_id, " +
 | 
	
		
			
				|  |  |                 " ptpd.create_time as create_time, " +
 | 
	
		
			
				|  |  |                 " ptpd.patient_id AS patient_id " +
 | 
	
		
			
				|  |  |                 " FROM " +
 | 
	
		
			
				|  |  |                 " wlyy_health_bank_task_patient_detail ptpd " +
 | 
	
		
			
				|  |  |                 " WHERE " +
 | 
	
		
			
				|  |  |                 " activity_id = '" + activityId +
 | 
	
		
			
				|  |  |                 "' GROUP BY " +
 | 
	
		
			
				|  |  |                 " patient_openid " +
 | 
	
		
			
				|  |  |                 " ORDER BY ptpd.create_time DESC " +
 | 
	
		
			
				|  |  |                 " )btpd1 " +
 | 
	
		
			
				|  |  |                 " WHERE  patient_openid IN "+buffer+
 | 
	
		
			
				|  |  |                 " ORDER BY btpd1.total DESC "+" LIMIT " + (page-1)*size+","+size;
 | 
	
		
			
				|  |  |         List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
 | 
	
		
			
				|  |  |         for (TaskPatientDetailDO taskPatientDetailDO : taskPatientDetailDOS){
 | 
	
		
			
				|  |  |             String accountSql = "select * from wlyy_health_bank_account where patient_id = '"+taskPatientDetailDO.getPatientId()+"'";
 | 
	
		
			
				|  |  |             List<AccountDO> accountDOS = jdbcTemplate.query(accountSql,new BeanPropertyRowMapper(AccountDO.class));
 | 
	
		
			
				|  |  |             taskPatientDetailDO.setAccountDO(accountDOS.get(0));
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String sqlCount =  "SELECT " +
 | 
	
		
			
				|  |  |                 " count(1) AS total " +
 | 
	
		
			
				|  |  |                 "FROM " +
 | 
	
		
			
				|  |  |                 " ( " +
 | 
	
		
			
				|  |  |                 " SELECT " +
 | 
	
		
			
				|  |  |                 " SUM(ptpd.total) AS total, " +
 | 
	
		
			
				|  |  |                 " ptpd.patient_openid AS patient_openid, " +
 | 
	
		
			
				|  |  |                 " ptpd.task_id AS task_id, " +
 | 
	
		
			
				|  |  |                 " ptpd.activity_id AS activity_id, " +
 | 
	
		
			
				|  |  |                 " ptpd.create_time as create_time, " +
 | 
	
		
			
				|  |  |                 " ptpd.patient_id AS patient_id " +
 | 
	
		
			
				|  |  |                 " FROM " +
 | 
	
		
			
				|  |  |                 " wlyy_health_bank_task_patient_detail ptpd " +
 | 
	
		
			
				|  |  |                 " WHERE " +
 | 
	
		
			
				|  |  |                 " activity_id = '" + activityId+
 | 
	
		
			
				|  |  |                 "' GROUP BY " +
 | 
	
		
			
				|  |  |                 " patient_openid " +
 | 
	
		
			
				|  |  |                 " ORDER BY ptpd.create_time DESC " +
 | 
	
		
			
				|  |  |                 " )btpd1 " +
 | 
	
		
			
				|  |  |                 "WHERE  patient_openid IN "+buffer+
 | 
	
		
			
				|  |  |                 " ORDER BY btpd1.total 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 Envelop.getSuccessListWithPage(HealthBankMapping.api_success, taskPatientDetailDOS,page,size,count);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 根据活动查询积分
 | 
	
		
			
				|  |  |      *
 | 
	
	
		
			
				|  | @ -319,6 +415,10 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
 | 
	
		
			
				|  |  |                 " and patient_id = '" +patientId+
 | 
	
		
			
				|  |  |                 "' LIMIT "+(page-1)*size +","+size;
 | 
	
		
			
				|  |  |         List<CreditsDetailDO> creditsDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(CreditsDetailDO.class));
 | 
	
		
			
				|  |  |         for (CreditsDetailDO creditsDetailDO : creditsDetailDOS){
 | 
	
		
			
				|  |  |             TaskDO taskDO = taskDao.findOne(creditsDetailDO.getTransactionId());
 | 
	
		
			
				|  |  |             creditsDetailDO.setTaskDO(taskDO);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String sqlcount = "SELECT count(1) AS" +
 | 
	
		
			
				|  |  |                 " total FROM " +
 | 
	
		
			
				|  |  |                 " wlyy_health_bank_credits_detail " +
 |