Commit fd3b2247 authored by liuchao's avatar liuchao
parents 33846f5b 73e9b29b
...@@ -9,12 +9,17 @@ import com.google.common.collect.Maps; ...@@ -9,12 +9,17 @@ import com.google.common.collect.Maps;
import com.qiankun.annotation.Auth; import com.qiankun.annotation.Auth;
import com.qiankun.config.WxMaConfiguration; import com.qiankun.config.WxMaConfiguration;
import com.qiankun.config.WxMaProperties; import com.qiankun.config.WxMaProperties;
import com.qiankun.controller.base.BaseController;
import com.qiankun.dao.RainbowPlanUserDao; import com.qiankun.dao.RainbowPlanUserDao;
import com.qiankun.dao.WishDao; import com.qiankun.dao.WishDao;
import com.qiankun.dao.WishReplyDao; import com.qiankun.dao.WishReplyDao;
import com.qiankun.dao.core.Hints;
import com.qiankun.entity.Activity;
import com.qiankun.entity.RainbowPlanUser; import com.qiankun.entity.RainbowPlanUser;
import com.qiankun.entity.Wish; import com.qiankun.entity.Wish;
import com.qiankun.entity.WishReply; import com.qiankun.entity.WishReply;
import com.qiankun.pages.IPageList;
import com.qiankun.service.ActivityService;
import com.qiankun.utils.JwtTokenUtil; import com.qiankun.utils.JwtTokenUtil;
import com.qiankun.vo.*; import com.qiankun.vo.*;
import com.sun.org.apache.regexp.internal.REUtil; import com.sun.org.apache.regexp.internal.REUtil;
...@@ -25,12 +30,10 @@ import org.dom4j.util.UserDataDocumentFactory; ...@@ -25,12 +30,10 @@ import org.dom4j.util.UserDataDocumentFactory;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders; import org.springframework.http.*;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.Date; import java.util.Date;
...@@ -40,7 +43,7 @@ import java.util.ResourceBundle; ...@@ -40,7 +43,7 @@ import java.util.ResourceBundle;
@RestController @RestController
@RequestMapping("/wx/rainbowplan") @RequestMapping("/wx/rainbowplan")
public class RainbowPlanController { public class RainbowPlanController extends BaseController<Object> {
private final Logger logger = LoggerFactory.getLogger(RainbowPlanController.class); private final Logger logger = LoggerFactory.getLogger(RainbowPlanController.class);
@Autowired @Autowired
private JwtTokenUtil tokenUtil; private JwtTokenUtil tokenUtil;
...@@ -51,6 +54,8 @@ public class RainbowPlanController { ...@@ -51,6 +54,8 @@ public class RainbowPlanController {
@Autowired @Autowired
private WishReplyDao wishReplyDao; private WishReplyDao wishReplyDao;
@Autowired @Autowired
private ActivityService activityService;
@Autowired
private WxMaProperties propertis; private WxMaProperties propertis;
private ResourceBundle rb = ResourceBundle.getBundle("system"); private ResourceBundle rb = ResourceBundle.getBundle("system");
private String uploadAvatarPath = File.separator + "rainbowplan" + File.separator + "uploadAvatar"; private String uploadAvatarPath = File.separator + "rainbowplan" + File.separator + "uploadAvatar";
...@@ -262,17 +267,33 @@ public class RainbowPlanController { ...@@ -262,17 +267,33 @@ public class RainbowPlanController {
} }
@Auth(verifyLogin = false,verifyURL = false) @Auth(verifyLogin = false,verifyURL = false)
@RequestMapping(value = "/wish/list",method = RequestMethod.GET) @RequestMapping(value = "/wish/list",method = RequestMethod.GET)
public List<Wish> wishList(@RequestHeader String sKey) throws Exception { public Map<String,Object> wishList(@RequestHeader String sKey, HttpServletRequest request) throws Exception {
Map<String,Object> result = Maps.newConcurrentMap();
if (Strings.isNullOrEmpty(sKey)){ if (Strings.isNullOrEmpty(sKey)){
throw new IllegalArgumentException("请求参数错误"); throw new IllegalArgumentException("请求参数错误");
} }
String openid = tokenUtil.getUsernameFromToken(sKey); String openid = tokenUtil.getUsernameFromToken(sKey);
RainbowPlanUser user = userDao.findByOpenid(openid); RainbowPlanUser user = userDao.findByOpenid(openid);
List<Wish> resultList = Lists.newArrayList();
if (user != null){ Activity activity = activityService.findByAavailableAndType("3");
resultList = wishDao.findByRainbowPlanUserId(user.getId()); result.put("activity",activity);
if (activity == null){
//没有活动时
return result;
} }
return resultList; if (user.getType() == RainbowPlanUser.TYPE_BABY){
//小朋友,只获取它自己的愿望
IPageList<Wish> wishPage = wishDao.findByRainbowPlanUserId(user.getId(),activity.getId(),
new Hints(getStartRow(request),getPageCount(request)));
result.put("wishPageList",wishPage);
}else {
//爱心人士,获取全部愿望
IPageList<Wish> wishPage = wishDao.findAllByAvailableActivity(activity.getId(),
new Hints(getStartRow(request),getPageCount(request)));
result.put("wishPageList",wishPage);
}
return result;
} }
@Auth(verifyLogin = false,verifyURL = false) @Auth(verifyLogin = false,verifyURL = false)
@RequestMapping(value = "/wish",method = RequestMethod.GET) @RequestMapping(value = "/wish",method = RequestMethod.GET)
......
package com.qiankun.dao; package com.qiankun.dao;
import java.util.Date; import java.util.Date;
import java.util.List;
import com.qiankun.dao.core.Hints; import com.qiankun.dao.core.Hints;
import com.qiankun.dao.core.IDao; import com.qiankun.dao.core.IDao;
...@@ -13,5 +14,5 @@ public interface ActivityDao extends IDao<Activity, String> { ...@@ -13,5 +14,5 @@ public interface ActivityDao extends IDao<Activity, String> {
Hints hints); Hints hints);
List<Activity> findByAvailableAndType(String type);
} }
package com.qiankun.dao; package com.qiankun.dao;
import java.util.Date; import java.util.Date;
import java.util.List;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
...@@ -46,6 +47,8 @@ public class ActivityDaoImpl extends AbsDao<Activity, String> implements Activit ...@@ -46,6 +47,8 @@ public class ActivityDaoImpl extends AbsDao<Activity, String> implements Activit
return Activitys; return Activitys;
} }
@Override
public List<Activity> findByAvailableAndType(String type) {
return find("from Activity where type = ? and available = true order by createTime desc",new Hints(0),type);
}
} }
package com.qiankun.dao; package com.qiankun.dao;
import com.qiankun.dao.core.Hints;
import com.qiankun.dao.core.IDao; import com.qiankun.dao.core.IDao;
import com.qiankun.entity.Wish; import com.qiankun.entity.Wish;
import com.qiankun.pages.IPageList;
import java.util.List; import java.util.List;
public interface WishDao extends IDao<Wish,String> { public interface WishDao extends IDao<Wish,String> {
List<Wish> findByRainbowPlanUserId(String id);
Wish findById(String id); Wish findById(String id);
IPageList<Wish> findByRainbowPlanUserId(String userId, String activityId, Hints hints);
IPageList<Wish> findAllByAvailableActivity(String activityId,Hints hints);
} }
...@@ -2,7 +2,10 @@ package com.qiankun.dao; ...@@ -2,7 +2,10 @@ package com.qiankun.dao;
import com.qiankun.dao.core.AbsDao; import com.qiankun.dao.core.AbsDao;
import com.qiankun.dao.core.Hints; import com.qiankun.dao.core.Hints;
import com.qiankun.entity.User;
import com.qiankun.entity.Wish; import com.qiankun.entity.Wish;
import com.qiankun.pages.IPageList;
import com.qiankun.pages.PageListImpl;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -10,9 +13,22 @@ import java.util.List; ...@@ -10,9 +13,22 @@ import java.util.List;
@Repository @Repository
public class WishDaoImpl extends AbsDao<Wish,String> implements WishDao { public class WishDaoImpl extends AbsDao<Wish,String> implements WishDao {
private static final String FIND_BY_RAINBOWPLANUSERID_SQL = " from Wish where rainbowPlanUserId = ? and activityId = ? order by createTime desc";
private static final String FIND_BY_AVAILABLE_ACTIVITY_SQL = " from Wish where activityId = ? order by createTime desc";
@Override @Override
public List<Wish> findByRainbowPlanUserId(String rainbowPlanUserId) { public IPageList<Wish> findByRainbowPlanUserId(String userId, String activityId, Hints hints) {
return find(" from Wish where rainbowPlanUserId = ? order by createTime desc",new Hints(0),rainbowPlanUserId); IPageList<Wish> wishPageList = new PageListImpl<Wish>();
wishPageList.setRecords(find(FIND_BY_RAINBOWPLANUSERID_SQL,hints,userId,activityId));
wishPageList.setRecordTotal(findCount(" select count(*) "+ FIND_BY_RAINBOWPLANUSERID_SQL,userId,activityId));
return wishPageList;
}
@Override
public IPageList<Wish> findAllByAvailableActivity(String activityId,Hints hints) {
IPageList<Wish> wishPageList = new PageListImpl<Wish>();
wishPageList.setRecords(find(FIND_BY_AVAILABLE_ACTIVITY_SQL,hints,activityId));
wishPageList.setRecordTotal(findCount(" select count(*) "+ FIND_BY_AVAILABLE_ACTIVITY_SQL,activityId));
return wishPageList;
} }
@Override @Override
......
...@@ -11,7 +11,8 @@ import java.util.Date; ...@@ -11,7 +11,8 @@ import java.util.Date;
public class Wish { public class Wish {
public static final int STATUS_PUBLISH = 0; public static final int STATUS_PUBLISH = 0;
public static final int STATUS_RECEIVE = 1; public static final int STATUS_RECEIVE = 1;
public static final int STATUS_COMPLETE = 2; public static final int STATUS_SEND = 2;
public static final int STATUS_COMPLETE = 3;
@Id @Id
@GenericGenerator(name = "systemUUID", strategy = "uuid2") @GenericGenerator(name = "systemUUID", strategy = "uuid2")
@GeneratedValue(generator = "systemUUID") @GeneratedValue(generator = "systemUUID")
...@@ -23,6 +24,7 @@ public class Wish { ...@@ -23,6 +24,7 @@ public class Wish {
private String volunteerId; //领取愿望的志愿者ID private String volunteerId; //领取愿望的志愿者ID
private String rainbowPlanUserId; //小朋友ID private String rainbowPlanUserId; //小朋友ID
private Date createTime = new Date(); private Date createTime = new Date();
private String activityId;//彩虹计划活动ID
public Date getCreateTime() { public Date getCreateTime() {
return createTime; return createTime;
...@@ -87,4 +89,12 @@ public class Wish { ...@@ -87,4 +89,12 @@ public class Wish {
public void setVolunteerId(String volunteerId) { public void setVolunteerId(String volunteerId) {
this.volunteerId = volunteerId; this.volunteerId = volunteerId;
} }
public String getActivityId() {
return activityId;
}
public void setActivityId(String activityId) {
this.activityId = activityId;
}
} }
package com.qiankun.service; package com.qiankun.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.qiankun.dao.ActivityDao; import com.qiankun.dao.ActivityDao;
import com.qiankun.dao.ActivityTypeDao; import com.qiankun.dao.ActivityTypeDao;
import com.qiankun.dao.core.Hints; import com.qiankun.dao.core.Hints;
import com.qiankun.entity.Activity; import com.qiankun.entity.Activity;
import com.qiankun.entity.ActivityType; import com.qiankun.entity.ActivityType;
import com.qiankun.pages.IPageList; import com.qiankun.pages.IPageList;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service @Service
public class ActivityService { public class ActivityService {
...@@ -44,6 +44,14 @@ public class ActivityService { ...@@ -44,6 +44,14 @@ public class ActivityService {
} }
public Activity findByAavailableAndType(String type) {
List<Activity> activities = activityDao.findByAvailableAndType(type);
if (!CollectionUtils.isEmpty(activities)){
return activities.get(0);
}
return null;
}
@Transactional @Transactional
public ActivityType saveType(ActivityType type) { public ActivityType saveType(ActivityType type) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment