发表于: 2018-01-29 21:24:52
1 682
今天完成的事情:
写微信上传接口,用户签到,用户更新,用户查看自己信息。
@RequestMapping(value = "/a/info", method = RequestMethod.POST)
public String etUsersJson(@RequestBody Users users ,
HttpServletResponse response, ModelMap model)
throws Exception {
Long id = 1L;
Users users1 = usersService.getObjectById(id);
Users user = new Users();
user.setId(id);
user.setGrade(users.getGrade());
user.setName(users.getName());
user.setOpenid(users1.getOpenid());
user.setCreateAt(users1.getCreateAt());
System.out.println(user);
String mediaId = users.getImage();//mediaId为前端用户提交图片后在微信服务器图片ID。
//先判断mediaId是否为空(判断用户是否提交新图片),若无,则图片不变。
if(mediaId!=null){
//判断之前是否存在图片,先删除之前的图片,后存入新图片.
if(users1.getImage()!=null){
String oldPicPath = users1.getImage();
String key = oldPicPath.substring(56);
PictureUtil.delPic(key);
}
//这里用当前系统的毫秒值加上传入文件的后缀(例如jpg,gif),然后添加到ObjectKey,作为传入文件的命名,这样自动匹配格式。
String Objectkey =String.valueOf(System.currentTimeMillis())+".jpg";
//bucketName endpoint均是为了定位图片url
String bucketName = "test-for-java-jnshu";
//endpoint 来自于官方文档。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
PictureUtil.setPic(Objectkey,PictureUtil.getInput(mediaId));
String picturePath ="http://" +bucketName+"."+endpoint.substring(7)+"/"+Objectkey;
user.setImage(picturePath);
usersService.update(user);
return "users/json/usersDetailJson";
}else {
usersService.update(user);
return "users/json/usersDetailJson";
}
}
// 签到 已经完成POSTMAN测试通过
@RequestMapping(value = "/a/reception", method = RequestMethod.GET)
public String addSignJson(HttpServletRequest request,
HttpServletResponse response, ModelMap model, Sign sign) throws Exception {
log.info("update sign : sign= " + sign);
try {
Long id = 1L;
Users users = usersService.getObjectById(id);
System.out.println("users----->"+users);
sign.setUserId(id);
sign.setSignTime(System.currentTimeMillis());
Calendar c = Calendar.getInstance();
//获取当月第一天时间戳00:00:00
c.set(c.get(Calendar.YEAR),c.get(Calendar.MONTH),1,0,0,0);
Long month = c.getTimeInMillis()/1000;
sign.setMonth(month);
System.out.println("id---->"+signService.insert(sign));
int consec = users.getConsecutive()+1;//签到成功连续签到+1
users.setConsecutive(consec);
users.setSign(2);//更改签到状态为已签到
users.setTotal(users.getTotal()+1);//总签到+1
System.out.println("consec---->"+consec);
System.out.println("high---->"+users.getSignHighest());
if(consec>=users.getSignHighest()){//是否更新最高连续签到
users.setSignHighest(consec);
System.out.println("id------>"+id);
usersService.update(users);
}
if(consec<5){//更新逆袭豆数量
users.setBeans(users.getBeans()+consec);
usersService.update(users);
}else {
users.setBeans(users.getBeans()+5L);
usersService.update(users);
}
//model.addAttribute("user",users);
model.addAttribute("code", 0);
List<Long> idList = signService.getSignInfoByUserIdAndMonth(id,month);
List<Sign> signList = signService.getObjectsByIds(idList);
model.addAttribute("users",users);
model.addAttribute("signList",signList);
return "sign/json/signListJson";
} catch (Throwable t) {
t.printStackTrace();
log.error(t.getMessage());
log.error("add sign error ");
model.addAttribute("code", -6002);
}
//返回签到结果
return "sign/json/signListJson";
}
明天计划的事情:
继续写接口
遇到的问题:
没问题
收获:
评论