|
@ -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;
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|