Commit ceb3ab91 authored by shiyu's avatar shiyu

分享信息2

parent 2669276e
...@@ -17,9 +17,11 @@ import com.wwdz.ch.db.dao.qiandao.*; ...@@ -17,9 +17,11 @@ import com.wwdz.ch.db.dao.qiandao.*;
import com.wwdz.ch.db.domain.SignInShareImage; import com.wwdz.ch.db.domain.SignInShareImage;
import com.wwdz.ch.db.domain.User; import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.domain.qiandao.QdUser; import com.wwdz.ch.db.domain.qiandao.QdUser;
import com.wwdz.ch.db.domain.qiandao.QdUserSignIn;
import com.wwdz.ch.db.domain.qiandao.QdUserSignInNote; import com.wwdz.ch.db.domain.qiandao.QdUserSignInNote;
import com.wwdz.ch.db.domain.qiandao.SignInTask; import com.wwdz.ch.db.domain.qiandao.SignInTask;
import com.wwdz.ch.db.dto.request.UserSignInRequestDto; import com.wwdz.ch.db.dto.request.UserSignInRequestDto;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInRequestDto;
import com.wwdz.ch.db.dto.request.qiandao.SignInTaskRequestDto; import com.wwdz.ch.db.dto.request.qiandao.SignInTaskRequestDto;
import com.wwdz.ch.wx.constant.LoginTypeEnum; import com.wwdz.ch.wx.constant.LoginTypeEnum;
import com.wwdz.ch.wx.entity.request.QdHomePageRequestDto; import com.wwdz.ch.wx.entity.request.QdHomePageRequestDto;
...@@ -35,6 +37,7 @@ import javax.servlet.http.HttpServletRequest; ...@@ -35,6 +37,7 @@ import javax.servlet.http.HttpServletRequest;
import java.io.InputStream; import java.io.InputStream;
import java.time.DayOfWeek; import java.time.DayOfWeek;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -144,40 +147,52 @@ public class QdHomePageServiceImpl implements QdHomePageService { ...@@ -144,40 +147,52 @@ public class QdHomePageServiceImpl implements QdHomePageService {
@Override @Override
public Result getShareInfo(UserSignInRequestDto dto) { public Result getShareInfo(QdUserSignInRequestDto dto) {
try { try {
long taskId = dto.getTaskId();
LocalDate today = LocalDate.now(); LocalDate today = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
String formattedDate = today.format(formatter); String formattedDate = today.format(formatter);
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
String url = "https://quanku.wanwudezhi.com/daily_data"; String backgroundImage = "https://cdn.wanwudezhi.com/static/web-static/image/78f4b7643dd2d41717d3040665dde669_1472x2616.png";
OkHttpUtil okHttpUtil = OkHttpUtil.builder().url(url);
String responseStr = okHttpUtil.get().sync();
ObjectMapper objectMapper = new ObjectMapper();
map.put("suitable", objectMapper.readValue(JsonUtils.getValueByPath(responseStr, "yi"), String[].class));
map.put("avoid", objectMapper.readValue(JsonUtils.getValueByPath(responseStr, "ji"), String[].class));
map.put("lunar_date", JsonUtils.getValueByPath(responseStr, "lunar_date"));
map.put("author", JsonUtils.getValueByPath(responseStr, "quote/author"));
map.put("text", JsonUtils.getValueByPath(responseStr, "quote/text"));
String backgroundImage = "https://cdn.wanwudezhi.com/static/web-static/image/a193ed538686e6921cd3d611569043f5_1974x2964.jpeg";
if (Objects.isNull(redisUtils.get(formattedDate))) {
SignInShareImage signInShareImage = signInShareImageDao.findOne();
if (signInShareImage != null) {
backgroundImage = signInShareImage.getImage();
redisUtils.set(formattedDate, backgroundImage, 60 * 60 * 24);
}
} else {
backgroundImage = redisUtils.get(formattedDate).toString();
}
map.put("backgroundImage", backgroundImage); map.put("backgroundImage", backgroundImage);
QdUser user = qdUserDao.queryById(dto.getUserId()); QdUser qdUser = qdUserDao.queryById(dto.getUserId());
map.put("userName", user.getNickName()); map.put("userName", qdUser.getNickName());
map.put("avatar", user.getAvatar()); map.put("avatar", qdUser.getAvatar());
map.put("date", formattedDate); map.put("date", formattedDate);
map.put("day", today.getDayOfMonth());
LocalTime now = LocalTime.now();
DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH:mm");
String formattedTime = now.format(timeFormatter);
map.put("time", formattedTime);
DayOfWeek dayOfWeek = today.getDayOfWeek(); DayOfWeek dayOfWeek = today.getDayOfWeek();
String weekDay = dayOfWeek.getDisplayName(java.time.format.TextStyle.FULL, java.util.Locale.CHINESE); String weekDay = dayOfWeek.getDisplayName(java.time.format.TextStyle.FULL, java.util.Locale.CHINESE);
map.put("weekDay", weekDay); map.put("weekDay", weekDay);
QdUserSignIn qdUserSignIn = qdUserSignInDao.findLastedRecord(dto.getUserId(), taskId);
if (qdUserSignIn != null) {
LocalDate yesterday = today.minusDays(1);
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String yesterdayString = yesterday.format(dateFormatter);
String todayStr = today.format(dateFormatter);
if (qdUserSignIn.getSignInDate().equals(yesterdayString) || qdUserSignIn.getSignInDate().equals(todayStr)) {
map.put("consecutiveDays", qdUserSignIn.getConsecutiveDays());
} else {
map.put("consecutiveDays", 0);
}
} else {
map.put("consecutiveDays", 0);
}
//查询累计签到天数
long totalDays = qdUserSignInDao.countTotalRecord(dto.getUserId(), taskId);
map.put("totalDays", totalDays);
long joinPeopleNum = qdUserSignInTaskDao.countByTaskId(taskId);
map.put("joinPeopleNum", joinPeopleNum);
//查询任务信息
SignInTask signInTask = signInTaskDao.findById(taskId);
map.put("taskName", signInTask.getName());
map.put("taskId", taskId);
return Result.success(map); return Result.success(map);
} catch (Exception e) { } catch (Exception e) {
logger.error("获取分享信息失败 error : {}", e); logger.error("获取分享信息失败 error : {}", e);
......
...@@ -296,59 +296,4 @@ public class QdUserSignInServiceImpl implements QdUserSignInService { ...@@ -296,59 +296,4 @@ public class QdUserSignInServiceImpl implements QdUserSignInService {
} }
@Override
public Result getShareInfo(QdUserSignInRequestDto dto) {
try {
long taskId = dto.getTaskId();
LocalDate today = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
String formattedDate = today.format(formatter);
Map<String, Object> map = new HashMap<>();
String backgroundImage = "https://cdn.wanwudezhi.com/static/web-static/image/78f4b7643dd2d41717d3040665dde669_1472x2616.png";
map.put("backgroundImage", backgroundImage);
QdUser qdUser = qdUserDao.queryById(dto.getUserId());
map.put("userName", qdUser.getNickName());
map.put("avatar", qdUser.getAvatar());
map.put("date", formattedDate);
map.put("day", today.getDayOfMonth());
LocalTime now = LocalTime.now();
DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH:mm");
String formattedTime = now.format(timeFormatter);
map.put("time", formattedTime);
DayOfWeek dayOfWeek = today.getDayOfWeek();
String weekDay = dayOfWeek.getDisplayName(java.time.format.TextStyle.FULL, java.util.Locale.CHINESE);
map.put("weekDay", weekDay);
QdUserSignIn qdUserSignIn = qdUserSignInDao.findLastedRecord(dto.getUserId(), taskId);
if (qdUserSignIn != null) {
LocalDate yesterday = today.minusDays(1);
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String yesterdayString = yesterday.format(dateFormatter);
String todayStr = today.format(dateFormatter);
if (qdUserSignIn.getSignInDate().equals(yesterdayString) || qdUserSignIn.getSignInDate().equals(todayStr)) {
map.put("consecutiveDays", qdUserSignIn.getConsecutiveDays());
} else {
map.put("consecutiveDays", 0);
}
} else {
map.put("consecutiveDays", 0);
}
//查询累计签到天数
long totalDays = qdUserSignInDao.countTotalRecord(dto.getUserId(), taskId);
map.put("totalDays", totalDays);
long joinPeopleNum = qdUserSignInTaskDao.countByTaskId(taskId);
map.put("joinPeopleNum", joinPeopleNum);
//查询任务信息
SignInTask signInTask = signInTaskDao.findById(taskId);
map.put("taskName", signInTask.getName());
map.put("taskId", taskId);
return Result.success(map);
} catch (Exception e) {
logger.error("获取分享信息失败 error : {}", e);
}
return Result.failed();
}
} }
...@@ -2,6 +2,7 @@ package com.wwdz.ch.wx.service.qiandao; ...@@ -2,6 +2,7 @@ package com.wwdz.ch.wx.service.qiandao;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.UserSignInRequestDto; import com.wwdz.ch.db.dto.request.UserSignInRequestDto;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInRequestDto;
import com.wwdz.ch.wx.entity.request.QdHomePageRequestDto; import com.wwdz.ch.wx.entity.request.QdHomePageRequestDto;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
...@@ -33,5 +34,5 @@ public interface QdHomePageService { ...@@ -33,5 +34,5 @@ public interface QdHomePageService {
* @param dto * @param dto
* @return * @return
*/ */
Result getShareInfo(UserSignInRequestDto dto); Result getShareInfo(QdUserSignInRequestDto dto);
} }
...@@ -36,11 +36,4 @@ public interface QdUserSignInService { ...@@ -36,11 +36,4 @@ public interface QdUserSignInService {
Result findInfo(QdUserSignInRequestDto dto); Result findInfo(QdUserSignInRequestDto dto);
/**
* 获取分享信息
* @param dto
* @return
*/
Result getShareInfo(QdUserSignInRequestDto dto);
} }
...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; ...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.wwdz.ch.core.consts.ResultCode; import com.wwdz.ch.core.consts.ResultCode;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.UserSignInRequestDto; import com.wwdz.ch.db.dto.request.UserSignInRequestDto;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInRequestDto;
import com.wwdz.ch.wx.entity.request.QdHomePageRequestDto; import com.wwdz.ch.wx.entity.request.QdHomePageRequestDto;
import com.wwdz.ch.wx.service.qiandao.QdHomePageService; import com.wwdz.ch.wx.service.qiandao.QdHomePageService;
import com.xxdxxs.service.FormHandler; import com.xxdxxs.service.FormHandler;
...@@ -53,10 +54,11 @@ public class QdHomePageController { ...@@ -53,10 +54,11 @@ public class QdHomePageController {
@ApiOperation(value = "查询签到分享的信息") @ApiOperation(value = "查询签到分享的信息")
@PostMapping("/getShareInfo") @PostMapping("/getShareInfo")
public Result getShareInfo(@RequestBody UserSignInRequestDto dto) { public Result getShareInfo(@RequestBody QdUserSignInRequestDto dto) {
logger.info("【请求开始】查询签到分享的信息,请求参数:{}", JSON.toJSONString(dto)); logger.info("【请求开始】查询签到分享的信息,请求参数:{}", JSON.toJSONString(dto));
Validator validator = new Validator(FormHandler.ofEntity(dto)); Validator validator = new Validator(FormHandler.ofEntity(dto));
validator.set("userId", "用户id").must().number() validator.set("userId", "用户id").must().number()
.set("taskId", "签到任务id").must().number()
.end(); .end();
if (!validator.isValid()) { if (!validator.isValid()) {
return Result.failed(ResultCode.PARAM_ERROR); return Result.failed(ResultCode.PARAM_ERROR);
......
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