Commit f12c0db8 authored by liuchao's avatar liuchao
parents afa4a49a aa74abfc
...@@ -48,21 +48,24 @@ public class ActivityController extends BaseController<Object>{ ...@@ -48,21 +48,24 @@ public class ActivityController extends BaseController<Object>{
@Auth(verifyLogin = false,verifyURL = false) @Auth(verifyLogin = false,verifyURL = false)
@RequestMapping(value = "/wx/api/activity", method = RequestMethod.POST) @RequestMapping(value = "/wx/api/activity", method = RequestMethod.POST)
public @ResponseBody Map<String,Object> entityformWX(@RequestBody ActivityVo activityVo, HttpServletResponse response, HttpServletRequest request) throws Exception { public @ResponseBody Map<String,Object> entityformWX(@RequestBody ActivityVo activityVo, HttpServletResponse response, HttpServletRequest request) throws Exception {
Map<String,Object> result = Maps.newConcurrentMap(); Map<String,Object> result = Maps.newHashMap();
Activity activity = activityService.findById(activityVo.getId()); Activity activity = activityService.findById(activityVo.getId());
result.put("status","ok"); result.put("status","ok");
result.put("activity",activity); result.put("activity",activity);
result.put("activityRegCount",activity.getActivityReg().size()); result.put("activityRegCount",activity.getActivityReg().size());
Iterator<ActivityReg> it = activity.getActivityReg().iterator(); Iterator<ActivityReg> it = activity.getActivityReg().iterator();
boolean currentUserApplyed = false;//当前用户是否报名 boolean currentUserApplyed = false;//当前用户是否报名
ActivityReg rtReg = null;
while (it.hasNext()){ while (it.hasNext()){
ActivityReg reg = it.next(); ActivityReg reg = it.next();
if (reg.getUser().getId().equals(activityVo.getUserId())){ if (reg.getUser().getId().equals(activityVo.getUserId())){
currentUserApplyed = true; currentUserApplyed = true;
rtReg = reg;
break; break;
} }
} }
result.put("currentUserApplyed",currentUserApplyed); result.put("currentUserApplyed",currentUserApplyed);
result.put("activityReg",rtReg);
return result; return result;
} }
......
...@@ -9,14 +9,18 @@ import com.google.common.collect.Maps; ...@@ -9,14 +9,18 @@ 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.UserDao; import com.qiankun.dao.UserDao;
import com.qiankun.dao.core.Hints;
import com.qiankun.entity.*; import com.qiankun.entity.*;
import com.qiankun.pages.IPageList;
import com.qiankun.service.ActivityService; import com.qiankun.service.ActivityService;
import com.qiankun.service.BloodService; import com.qiankun.service.BloodService;
import com.qiankun.service.UserService; import com.qiankun.service.UserService;
import com.qiankun.utils.JwtTokenUtil; import com.qiankun.utils.JwtTokenUtil;
import com.qiankun.utils.QRCodeUtil; import com.qiankun.utils.QRCodeUtil;
import com.qiankun.utils.UserUtils; import com.qiankun.utils.UserUtils;
import com.qiankun.vo.ActivityVo;
import com.qiankun.vo.DecryptedDataVo; import com.qiankun.vo.DecryptedDataVo;
import com.qiankun.vo.PaperIdLoginVo; import com.qiankun.vo.PaperIdLoginVo;
import com.qiankun.vo.UserVo; import com.qiankun.vo.UserVo;
...@@ -24,6 +28,7 @@ import com.sun.mail.imap.ResyncData; ...@@ -24,6 +28,7 @@ import com.sun.mail.imap.ResyncData;
import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.error.WxErrorException;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.omg.PortableInterceptor.ServerRequestInfo;
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;
...@@ -34,6 +39,7 @@ import org.springframework.http.ResponseEntity; ...@@ -34,6 +39,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
...@@ -41,7 +47,7 @@ import java.util.*; ...@@ -41,7 +47,7 @@ import java.util.*;
@RestController @RestController
@RequestMapping("/wx/mdp") @RequestMapping("/wx/mdp")
public class MdpController { public class MdpController extends BaseController<Object> {
private final Logger logger = LoggerFactory.getLogger(MdpController.class); private final Logger logger = LoggerFactory.getLogger(MdpController.class);
@Autowired @Autowired
private JwtTokenUtil tokenUtil; private JwtTokenUtil tokenUtil;
...@@ -216,6 +222,16 @@ public class MdpController { ...@@ -216,6 +222,16 @@ public class MdpController {
return result; return result;
} }
if (!userInfoisComplete(user)){
result.put("userInfoStatus","unComplete");
}else{
result.put("userInfoStatus","complete");
}
result.put("points",getUserPoints(user));
result.put("status","ok");
return result;
}
private boolean userInfoisComplete(User user){
if (Strings.isNullOrEmpty(user.getName()) || if (Strings.isNullOrEmpty(user.getName()) ||
Strings.isNullOrEmpty(user.getBirthday()) || Strings.isNullOrEmpty(user.getBirthday()) ||
Strings.isNullOrEmpty(user.getPaperType()) || Strings.isNullOrEmpty(user.getPaperType()) ||
...@@ -226,16 +242,11 @@ public class MdpController { ...@@ -226,16 +242,11 @@ public class MdpController {
Strings.isNullOrEmpty(user.getAddr()) || Strings.isNullOrEmpty(user.getAddr()) ||
Strings.isNullOrEmpty(user.getMobile()) || Strings.isNullOrEmpty(user.getMobile()) ||
Strings.isNullOrEmpty(user.getQq()) || Strings.isNullOrEmpty(user.getQq()) ||
!validateContacts(user)){ !validateContacts(user)) {
result.put("userInfoStatus","unComplete"); return false;
}else{
result.put("userInfoStatus","complete");
} }
result.put("points",getUserPoints(user)); return true;
result.put("status","ok");
return result;
} }
/** /**
* 获取用户积分 * 获取用户积分
* @param user * @param user
...@@ -277,6 +288,25 @@ public class MdpController { ...@@ -277,6 +288,25 @@ public class MdpController {
QRCodeUtil.generateQRCode(id,100,100,"png",response); QRCodeUtil.generateQRCode(id,100,100,"png",response);
response.flushBuffer(); response.flushBuffer();
} }
@Auth(verifyURL = false,verifyLogin = false)
@RequestMapping(value = "/activity/list",method = RequestMethod.GET)
public Map<String,Object> getActivityList(@RequestParam(required = false) String userId, HttpServletResponse response, HttpServletRequest request){
IPageList<Activity> userPage = activityService.findPageList(userId,new Hints(getStartRow(request),getPageCount(request)));
Map<String, Object> map = new HashMap<>();
map.put("activityData", userPage);
map.put("pageCount", getPageCount(request));
map.put("pageNumber", getPageNumber(request));
return map;
}
/**
* 活动报名
* @param userId
* @param activityId
* @return
*/
@Auth(verifyURL = false,verifyLogin = false) @Auth(verifyURL = false,verifyLogin = false)
@RequestMapping(value = "/activity/apply",method = RequestMethod.GET) @RequestMapping(value = "/activity/apply",method = RequestMethod.GET)
public Map<String,Object> activityApply(@RequestParam String userId,@RequestParam String activityId){ public Map<String,Object> activityApply(@RequestParam String userId,@RequestParam String activityId){
...@@ -301,6 +331,14 @@ public class MdpController { ...@@ -301,6 +331,14 @@ public class MdpController {
result.put("errorMsg","活动报名人数已达上限"); result.put("errorMsg","活动报名人数已达上限");
return result; return result;
} }
if (activity.getType().equals("1")){
//采血活动,需验证个人信息是否已完善
if (!userInfoisComplete(user)){
result.put("status","error");
result.put("errorMsg","请先完善个人信息后再报名");
return result;
}
}
ActivityReg reg = new ActivityReg(); ActivityReg reg = new ActivityReg();
reg.setUser(user); reg.setUser(user);
reg.setActivity(activity); reg.setActivity(activity);
...@@ -308,6 +346,13 @@ public class MdpController { ...@@ -308,6 +346,13 @@ public class MdpController {
result.put("status","ok"); result.put("status","ok");
return result; return result;
} }
/**
* 采血
* @param formData
* @param sKey
* @return
*/
@Auth(verifyURL = false,verifyLogin = false) @Auth(verifyURL = false,verifyLogin = false)
@RequestMapping(value = "/activity/collectionBlood",method = RequestMethod.POST) @RequestMapping(value = "/activity/collectionBlood",method = RequestMethod.POST)
public Map<String,Object> collectionBlood(@RequestBody Map<String,String> formData,@RequestHeader String sKey){ public Map<String,Object> collectionBlood(@RequestBody Map<String,String> formData,@RequestHeader String sKey){
...@@ -346,4 +391,48 @@ public class MdpController { ...@@ -346,4 +391,48 @@ public class MdpController {
result.put("status","ok"); result.put("status","ok");
return result; return result;
} }
@Auth(verifyLogin = false,verifyURL = false)
@RequestMapping(value = "/activity/signin",method = RequestMethod.POST)
public Map<String,Object> activitySignin(@RequestBody Map<String,String> formData,@RequestHeader String sKey){
Map<String,Object> result = Maps.newConcurrentMap();
if (Strings.isNullOrEmpty(sKey)){
result.put("status","error");
result.put("errorMsg","请求参数错误");
return result;
}
String openid = tokenUtil.getUsernameFromToken(sKey);
if (Strings.isNullOrEmpty(openid)){
result.put("status","error");
result.put("errorMsg","请求参数错误");
return result;
}
String userId = formData.get("userId");
String activityId = formData.get("activityId");
ActivityReg reg = activityService.signin(userId,activityId);
result.put("status","ok");
result.put("activityReg",reg);
return result;
}
@Auth(verifyLogin = false,verifyURL = false)
@RequestMapping(value = "/activity/signout",method = RequestMethod.POST)
public Map<String,Object> activitySignout(@RequestBody Map<String,String> formData,@RequestHeader String sKey){
Map<String,Object> result = Maps.newConcurrentMap();
if (Strings.isNullOrEmpty(sKey)){
result.put("status","error");
result.put("errorMsg","请求参数错误");
return result;
}
String openid = tokenUtil.getUsernameFromToken(sKey);
if (Strings.isNullOrEmpty(openid)){
result.put("status","error");
result.put("errorMsg","请求参数错误");
return result;
}
String userId = formData.get("userId");
String activityId = formData.get("activityId");
ActivityReg reg = activityService.signout(userId,activityId);
result.put("status","ok");
result.put("activityReg",reg);
return result;
}
} }
...@@ -13,4 +13,6 @@ public interface ActivityDao extends IDao<Activity, String> { ...@@ -13,4 +13,6 @@ public interface ActivityDao extends IDao<Activity, String> {
Hints hints); Hints hints);
List<Activity> findByAvailableAndType(Boolean available, String type); List<Activity> findByAvailableAndType(Boolean available, String type);
IPageList<Activity> findPageList(String userId, Hints hints);
} }
...@@ -3,6 +3,7 @@ package com.qiankun.dao; ...@@ -3,6 +3,7 @@ package com.qiankun.dao;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import com.google.common.base.Strings;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.qiankun.dao.core.AbsDao; import com.qiankun.dao.core.AbsDao;
...@@ -60,4 +61,20 @@ public class ActivityDaoImpl extends AbsDao<Activity, String> implements Activit ...@@ -60,4 +61,20 @@ public class ActivityDaoImpl extends AbsDao<Activity, String> implements Activit
return find(FIND_ACTIVITY_BY_TYPE + hql, new Hints(), type); return find(FIND_ACTIVITY_BY_TYPE + hql, new Hints(), type);
} }
@Override
public IPageList<Activity> findPageList(String userId, Hints hints) {
String hsql = "";
IPageList<Activity> activitys = new PageListImpl<Activity>();
if(Strings.isNullOrEmpty(userId)){
hsql = " from Activity order by available desc,createTime desc";
activitys.setRecords(find(hsql, hints));
activitys.setRecordTotal(findCount(" select count(*) " + hsql));
}else {
hsql = " from Activity a inner join a.activityReg r where r.user.id = ? order by a.createTime desc";
activitys.setRecords(find("select a " + hsql, hints,userId));
activitys.setRecordTotal(findCount(" select count(*) " + hsql, userId));
}
return activitys;
}
} }
...@@ -13,6 +13,10 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -13,6 +13,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.awt.image.RGBImageFilter;
import java.text.BreakIterator;
import java.util.Date;
import java.util.Iterator;
import java.util.List; import java.util.List;
@Service @Service
...@@ -85,4 +89,40 @@ public class ActivityService { ...@@ -85,4 +89,40 @@ public class ActivityService {
public void saveActivityReg(ActivityReg reg) { public void saveActivityReg(ActivityReg reg) {
activityRegDao.save(reg); activityRegDao.save(reg);
} }
@Transactional
public ActivityReg signin(String userId, String activityId) {
Activity activity = findById(activityId);
Iterator<ActivityReg> it = activity.getActivityReg().iterator();
ActivityReg rt = null;
while (it.hasNext()){
ActivityReg reg = it.next();
if (reg.getUser().getId().equals(userId)){
reg.setSignin(true);
reg.setSigninTime(new Date());
saveActivityReg(reg);
rt = reg;
}
}
return rt;
}
@Transactional
public ActivityReg signout(String userId, String activityId) {
Activity activity = findById(activityId);
Iterator<ActivityReg> it = activity.getActivityReg().iterator();
ActivityReg rt = null;
while (it.hasNext()){
ActivityReg reg = it.next();
if (reg.getUser().getId().equals(userId)){
reg.setSignoutTime(new Date());
saveActivityReg(reg);
rt = reg;
}
}
return rt;
}
public IPageList<Activity> findPageList(String userId, Hints hints) {
return activityDao.findPageList(userId,hints);
}
} }
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