Commit e1354efb authored by shiyu's avatar shiyu

登录2

parent 6522ef48
...@@ -10,4 +10,6 @@ public interface QdGiveLikeRecordDao { ...@@ -10,4 +10,6 @@ public interface QdGiveLikeRecordDao {
long countByNoteId(long noteId); long countByNoteId(long noteId);
boolean cancel(long userId, long noteId); boolean cancel(long userId, long noteId);
boolean isExisted(long userId, long noteId);
} }
...@@ -8,9 +8,9 @@ import java.util.List; ...@@ -8,9 +8,9 @@ import java.util.List;
public interface QdUserSignInDao { public interface QdUserSignInDao {
boolean insert(QdUserSignIn qdUserSignIn); Long insert(QdUserSignIn qdUserSignIn);
QdUserSignIn findLastedRecord(long userId); QdUserSignIn findLastedRecord(long userId, Long taskId);
List<QdUserSignIn> findList(QdUserSignInRequestDto dto); List<QdUserSignIn> findList(QdUserSignInRequestDto dto);
...@@ -19,9 +19,9 @@ public interface QdUserSignInDao { ...@@ -19,9 +19,9 @@ public interface QdUserSignInDao {
* @param userId * @param userId
* @return * @return
*/ */
QdUserSignIn findYesterdayRecord(long userId); QdUserSignIn findYesterdayRecord(long userId, Long taskId);
QdUserSignIn findTodayRecord(long userId); QdUserSignIn findTodayRecord(long userId, Long taskId);
/** /**
* 判断某一日期是否签到过 * 判断某一日期是否签到过
...@@ -29,16 +29,16 @@ public interface QdUserSignInDao { ...@@ -29,16 +29,16 @@ public interface QdUserSignInDao {
* @param date * @param date
* @return * @return
*/ */
boolean isExisted(long userId, String date); boolean isExisted(long userId, String date, Long taskId);
QdUserSignIn findRecord(long userId, String date, Integer consecutiveDays); QdUserSignIn findRecord(long userId, String date, Integer consecutiveDays, Long taskId);
boolean update(QdUserSignIn userSignin); boolean update(QdUserSignIn userSignin);
boolean updateByPrimaryKey(QdUserSignIn userSignin); boolean updateByPrimaryKey(QdUserSignIn userSignin);
boolean deleteTodayRecord(long userId); boolean deleteTodayRecord(long userId, Long taskId);
boolean updateInvalid(QdUserSignInRequestDto dto); boolean updateInvalid(QdUserSignInRequestDto dto);
......
...@@ -10,4 +10,6 @@ public interface SignInTaskDao { ...@@ -10,4 +10,6 @@ public interface SignInTaskDao {
boolean insert(SignInTask signInTask); boolean insert(SignInTask signInTask);
List<SignInTask> findByPage(SignInTaskRequestDto dto); List<SignInTask> findByPage(SignInTaskRequestDto dto);
SignInTask findById(long taskId);
} }
...@@ -5,6 +5,7 @@ import com.xxdxxs.entity.Entity; ...@@ -5,6 +5,7 @@ import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
import java.util.List;
@Data @Data
public class QdUserSignInRequestDto extends BaseRequestDto implements Entity { public class QdUserSignInRequestDto extends BaseRequestDto implements Entity {
...@@ -68,4 +69,46 @@ public class QdUserSignInRequestDto extends BaseRequestDto implements Entity { ...@@ -68,4 +69,46 @@ public class QdUserSignInRequestDto extends BaseRequestDto implements Entity {
* 是否有效 * 是否有效
*/ */
private Boolean isValid; private Boolean isValid;
/**
* 是否公开
*/
private Boolean isPrivate;
private String title;
/**
* 文字内容
*/
private String content;
/**
* 图片
*/
private List<String> images;
/**
* 音频
*/
private String audio;
private String userOpenId;
/**
* 收件人名称
*/
private String receiverName;
/**
* 收件人电话
*/
private String receiverPhone;
/**
* 收件人收货地址
*/
private String receiverAddress;
} }
...@@ -38,6 +38,17 @@ public class QdGiveLikeRecordDaoImpl implements QdGiveLikeRecordDao { ...@@ -38,6 +38,17 @@ public class QdGiveLikeRecordDaoImpl implements QdGiveLikeRecordDao {
QdGiveLikeRecord qdGiveLikeRecord = new QdGiveLikeRecord(); QdGiveLikeRecord qdGiveLikeRecord = new QdGiveLikeRecord();
qdGiveLikeRecord.setIsValid(false); qdGiveLikeRecord.setIsValid(false);
qdGiveLikeRecord.setUpdateTime(new Date()); qdGiveLikeRecord.setUpdateTime(new Date());
return qdGiveLikeRecordMapper.updateByExampleSelective(qdGiveLikeRecord, example) > 0; return qdGiveLikeRecordMapper.updateByExampleSelective(qdGiveLikeRecord, example) > 0;
}
@Override
public boolean isExisted(long userId, long noteId) {
QdGiveLikeRecordExample example = new QdGiveLikeRecordExample();
QdGiveLikeRecordExample.Criteria criteria = example.createCriteria();
criteria.andUserIdEqualTo(userId);
criteria.andNoteIdEqualTo(noteId);
criteria.andIsValidEqualTo(true);
return qdGiveLikeRecordMapper.countByExample(example) > 0;
} }
} }
...@@ -8,6 +8,7 @@ import com.wwdz.ch.db.mapper.qiandao.QdUserSignInMapper; ...@@ -8,6 +8,7 @@ import com.wwdz.ch.db.mapper.qiandao.QdUserSignInMapper;
import com.xxdxxs.db.component.JdbcHelper; import com.xxdxxs.db.component.JdbcHelper;
import com.xxdxxs.utils.DateUtils; import com.xxdxxs.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.quartz.QuartzProperties;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.List; import java.util.List;
...@@ -19,16 +20,18 @@ public class QdUserSignInDaoImpl implements QdUserSignInDao { ...@@ -19,16 +20,18 @@ public class QdUserSignInDaoImpl implements QdUserSignInDao {
QdUserSignInMapper qdUserSignInMapper; QdUserSignInMapper qdUserSignInMapper;
@Override @Override
public boolean insert(QdUserSignIn qdQdUserSignIn) { public Long insert(QdUserSignIn qdQdUserSignIn) {
qdQdUserSignIn.setIsValid(true); qdQdUserSignIn.setIsValid(true);
return qdUserSignInMapper.insert(qdQdUserSignIn) > 0; qdUserSignInMapper.insert(qdQdUserSignIn);
return qdQdUserSignIn.getId();
} }
@Override @Override
public QdUserSignIn findLastedRecord(long userId) { public QdUserSignIn findLastedRecord(long userId, Long taskId) {
QdUserSignInExample example = new QdUserSignInExample(); QdUserSignInExample example = new QdUserSignInExample();
QdUserSignInExample.Criteria criteria = example.createCriteria(); QdUserSignInExample.Criteria criteria = example.createCriteria();
criteria.andUserIdEqualTo(userId); criteria.andUserIdEqualTo(userId);
JdbcHelper.ifPresent(taskId, criteria :: andTaskIdEqualTo);
criteria.andIsValidEqualTo(true); criteria.andIsValidEqualTo(true);
example.setOrderByClause("create_time desc"); example.setOrderByClause("create_time desc");
return qdUserSignInMapper.selectOneByExample(example); return qdUserSignInMapper.selectOneByExample(example);
...@@ -47,34 +50,37 @@ public class QdUserSignInDaoImpl implements QdUserSignInDao { ...@@ -47,34 +50,37 @@ public class QdUserSignInDaoImpl implements QdUserSignInDao {
} }
@Override @Override
public QdUserSignIn findYesterdayRecord(long userId) { public QdUserSignIn findYesterdayRecord(long userId, Long taskId) {
LocalDate yesterday = LocalDate.now().minusDays(1); LocalDate yesterday = LocalDate.now().minusDays(1);
String yesterdayString = DateUtils.DATE.format(yesterday); String yesterdayString = DateUtils.DATE.format(yesterday);
QdUserSignInExample example = new QdUserSignInExample(); QdUserSignInExample example = new QdUserSignInExample();
QdUserSignInExample.Criteria criteria = example.createCriteria(); QdUserSignInExample.Criteria criteria = example.createCriteria();
criteria.andUserIdEqualTo(userId); criteria.andUserIdEqualTo(userId);
JdbcHelper.ifPresent(taskId, criteria :: andTaskIdEqualTo);
criteria.andSignInDateEqualTo(yesterdayString); criteria.andSignInDateEqualTo(yesterdayString);
criteria.andIsValidEqualTo(true); criteria.andIsValidEqualTo(true);
return qdUserSignInMapper.selectOneByExample(example); return qdUserSignInMapper.selectOneByExample(example);
} }
@Override @Override
public QdUserSignIn findTodayRecord(long userId) { public QdUserSignIn findTodayRecord(long userId, Long taskId) {
LocalDate today = LocalDate.now(); LocalDate today = LocalDate.now();
String todayString = DateUtils.DATE.format(today); String todayString = DateUtils.DATE.format(today);
QdUserSignInExample example = new QdUserSignInExample(); QdUserSignInExample example = new QdUserSignInExample();
QdUserSignInExample.Criteria criteria = example.createCriteria(); QdUserSignInExample.Criteria criteria = example.createCriteria();
criteria.andUserIdEqualTo(userId); criteria.andUserIdEqualTo(userId);
JdbcHelper.ifPresent(taskId, criteria :: andTaskIdEqualTo);
criteria.andSignInDateEqualTo(todayString); criteria.andSignInDateEqualTo(todayString);
criteria.andIsValidEqualTo(true); criteria.andIsValidEqualTo(true);
return qdUserSignInMapper.selectOneByExample(example); return qdUserSignInMapper.selectOneByExample(example);
} }
@Override @Override
public boolean isExisted(long userId, String date) { public boolean isExisted(long userId, String date, Long taskId) {
QdUserSignInExample example = new QdUserSignInExample(); QdUserSignInExample example = new QdUserSignInExample();
QdUserSignInExample.Criteria criteria = example.createCriteria(); QdUserSignInExample.Criteria criteria = example.createCriteria();
criteria.andUserIdEqualTo(userId); criteria.andUserIdEqualTo(userId);
JdbcHelper.ifPresent(taskId, criteria :: andTaskIdEqualTo);
criteria.andSignInDateEqualTo(date); criteria.andSignInDateEqualTo(date);
criteria.andIsValidEqualTo(true); criteria.andIsValidEqualTo(true);
return qdUserSignInMapper.countByExample(example) > 0; return qdUserSignInMapper.countByExample(example) > 0;
...@@ -82,10 +88,11 @@ public class QdUserSignInDaoImpl implements QdUserSignInDao { ...@@ -82,10 +88,11 @@ public class QdUserSignInDaoImpl implements QdUserSignInDao {
@Override @Override
public QdUserSignIn findRecord(long userId, String date, Integer consecutiveDays) { public QdUserSignIn findRecord(long userId, String date, Integer consecutiveDays, Long taskId) {
QdUserSignInExample example = new QdUserSignInExample(); QdUserSignInExample example = new QdUserSignInExample();
QdUserSignInExample.Criteria criteria = example.createCriteria(); QdUserSignInExample.Criteria criteria = example.createCriteria();
criteria.andUserIdEqualTo(userId); criteria.andUserIdEqualTo(userId);
JdbcHelper.ifPresent(taskId, criteria :: andTaskIdEqualTo);
criteria.andSignInDateEqualTo(date); criteria.andSignInDateEqualTo(date);
JdbcHelper.ifPresent(consecutiveDays, criteria::andConsecutiveDaysEqualTo); JdbcHelper.ifPresent(consecutiveDays, criteria::andConsecutiveDaysEqualTo);
criteria.andIsValidEqualTo(true); criteria.andIsValidEqualTo(true);
...@@ -110,12 +117,13 @@ public class QdUserSignInDaoImpl implements QdUserSignInDao { ...@@ -110,12 +117,13 @@ public class QdUserSignInDaoImpl implements QdUserSignInDao {
@Override @Override
public boolean deleteTodayRecord(long userId) { public boolean deleteTodayRecord(long userId, Long taskId) {
LocalDate today = LocalDate.now(); LocalDate today = LocalDate.now();
String todayString = DateUtils.DATE.format(today); String todayString = DateUtils.DATE.format(today);
QdUserSignInExample example = new QdUserSignInExample(); QdUserSignInExample example = new QdUserSignInExample();
QdUserSignInExample.Criteria criteria = example.createCriteria(); QdUserSignInExample.Criteria criteria = example.createCriteria();
criteria.andUserIdEqualTo(userId); criteria.andUserIdEqualTo(userId);
JdbcHelper.ifPresent(taskId, criteria :: andTaskIdEqualTo);
criteria.andSignInDateEqualTo(todayString); criteria.andSignInDateEqualTo(todayString);
return qdUserSignInMapper.deleteByExample(example) > 0; return qdUserSignInMapper.deleteByExample(example) > 0;
} }
......
...@@ -39,4 +39,8 @@ public class SignInTaskDaoImpl implements SignInTaskDao { ...@@ -39,4 +39,8 @@ public class SignInTaskDaoImpl implements SignInTaskDao {
} }
@Override
public SignInTask findById(long taskId) {
return signInTaskMapper.selectByPrimaryKey(taskId);
}
} }
...@@ -39,7 +39,7 @@ public class WebMvcConfiguration implements WebMvcConfigurer { ...@@ -39,7 +39,7 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
registry.addInterceptor(loginInterceptor()) registry.addInterceptor(loginInterceptor())
.addPathPatterns("/**") .addPathPatterns("/**")
// 放行路径 // 放行路径
.excludePathPatterns("/*.html", "/**/*.html", "/**/*.css", "/**/*.js" .excludePathPatterns("/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/wx/qdUser/login"
, "/wx/user/loginByWx", "/wx/user/finishLogin", "/wx/user/loginByMobile", "/wx/user/loginRegCaptcha", "/wx/user/updateRegCaptcha", "/wx/user/login", "/wx/user/fillCode", , "/wx/user/loginByWx", "/wx/user/finishLogin", "/wx/user/loginByMobile", "/wx/user/loginRegCaptcha", "/wx/user/updateRegCaptcha", "/wx/user/login", "/wx/user/fillCode",
"/officialAccountCallback/**","/wxPayCallback/**", "/officialAccountCallback/**","/wxPayCallback/**",
"/imCallback/**", "/wx/category/**", "/imCallback/**", "/wx/category/**",
......
...@@ -25,6 +25,7 @@ public class QdGiveLikeRecordServiceImpl implements QdGiveLikeRecordService { ...@@ -25,6 +25,7 @@ public class QdGiveLikeRecordServiceImpl implements QdGiveLikeRecordService {
@Autowired @Autowired
QdUserSignInNoteDao qdUserSignInNoteDao; QdUserSignInNoteDao qdUserSignInNoteDao;
@Override @Override
public Result giveLike(QdGiveLikeRecordRequestDto dto) { public Result giveLike(QdGiveLikeRecordRequestDto dto) {
try { try {
......
...@@ -30,13 +30,13 @@ public class QdHomePageServiceImpl implements QdHomePageService { ...@@ -30,13 +30,13 @@ public class QdHomePageServiceImpl implements QdHomePageService {
SignInTaskDao signInTaskDao; SignInTaskDao signInTaskDao;
@Override @Override
public Result findHomePage(QdHomePageRequestDto dto) { public Result findUserInfo(QdHomePageRequestDto dto) {
try { try {
return Result.success(); return Result.success();
} catch (Exception e) { } catch (Exception e) {
logger.error("查询乾岛首页信息失败 error:{}", e); logger.error("查询乾岛首页用户信息失败 error:{}", e);
} }
return Result.failed(); return Result.failed();
} }
......
package com.wwdz.ch.wx.impl.qiandao;
import com.wwdz.ch.core.api.wxpay.WxPayServiceApi;
import com.wwdz.ch.core.consts.CommConsts;
import com.wwdz.ch.core.consts.DistributionEnum;
import com.wwdz.ch.core.consts.SigninEnum;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.IdUtils;
import com.wwdz.ch.db.dao.distribution.DistributionOrderDao;
import com.wwdz.ch.db.dao.qiandao.QdUserSignInDao;
import com.wwdz.ch.db.dao.qiandao.QdUserSignInNoteDao;
import com.wwdz.ch.db.dao.qiandao.SignInTaskDao;
import com.wwdz.ch.db.domain.UserSignIn;
import com.wwdz.ch.db.domain.distribution.DistributionOrder;
import com.wwdz.ch.db.domain.qiandao.QdUserSignIn;
import com.wwdz.ch.db.domain.qiandao.QdUserSignInNote;
import com.wwdz.ch.db.domain.qiandao.SignInTask;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInRequestDto;
import com.wwdz.ch.wx.service.qiandao.QdUserSignInService;
import com.xxdxxs.utils.DateUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@Service
public class QdUserSignInServiceImpl implements QdUserSignInService {
private static final Logger logger = LoggerFactory.getLogger(QdUserSignInServiceImpl.class);
@Autowired
QdUserSignInDao qdUserSignInDao;
@Autowired
SignInTaskDao signInTaskDao;
@Autowired
WxPayServiceApi wxPayServiceApi;
@Autowired
DistributionOrderDao distributionOrderDao;
@Autowired
QdUserSignInNoteDao qdUserSignInNoteDao;
@Override
public Result signIn(QdUserSignInRequestDto dto) {
try {
Date now = new Date();
long userId = dto.getUserId();
long taskId = dto.getTaskId();
SignInTask signInTask = signInTaskDao.findById(taskId);
//签到目标天数
int goalDays = signInTask.getGoalDays();
//检查是否已签到过
String todayStr = DateUtils.DATE.format(LocalDate.now());
if (qdUserSignInDao.isExisted(userId, todayStr, taskId)) {
return Result.failed("您今天已签到过");
}
//签到记录id
Long recordId = null;
//今天尚未签到,则进行记录,先查询昨天的打卡记录,有则再连续打卡天数上+1,没有则算签到第一天
QdUserSignIn yesterdaySignin = qdUserSignInDao.findYesterdayRecord(userId, taskId);
if (yesterdaySignin == null) {
QdUserSignIn qdUserSignIn = new QdUserSignIn();
qdUserSignIn.setUserId(userId);
qdUserSignIn.setTaskId(taskId);
qdUserSignIn.setSignInDate(todayStr);
qdUserSignIn.setCreateTime(now);
qdUserSignIn.setUpdateTime(now);
qdUserSignIn.setConsecutiveDays(1);
qdUserSignIn.setIsGet(false);
qdUserSignIn.setIsReward(false);
qdUserSignIn.setRewardLevel(SigninEnum.LevelEnum.ZERO.getCode());
recordId = qdUserSignInDao.insert(qdUserSignIn);
} else {
QdUserSignIn qdUserSignIn = new QdUserSignIn();
qdUserSignIn.setUserId(userId);
qdUserSignIn.setTaskId(taskId);
qdUserSignIn.setSignInDate(todayStr);
qdUserSignIn.setCreateTime(now);
qdUserSignIn.setUpdateTime(now);
int consecutiveDays = yesterdaySignin.getConsecutiveDays() + 1;
qdUserSignIn.setConsecutiveDays(consecutiveDays);
if (consecutiveDays == goalDays) {
qdUserSignIn.setIsReward(true);
} else {
qdUserSignIn.setIsReward(false);
}
qdUserSignIn.setIsGet(false);
recordId = qdUserSignInDao.insert(qdUserSignIn);
}
//保存签到笔记
QdUserSignInNote qdUserSignInNote = new QdUserSignInNote();
qdUserSignInNote.setTitle(dto.getTitle());
qdUserSignInNote.setUserId(userId);
qdUserSignInNote.setLikeNum(0);
qdUserSignInNote.setSignInDate(todayStr);
qdUserSignInNote.setContent(dto.getContent());
qdUserSignInNote.setImage(String.join(";", dto.getImages()));
qdUserSignInNote.setAudio(dto.getAudio());
qdUserSignInNote.setRecordId(recordId);
qdUserSignInNote.setCreateTime(now);
qdUserSignInNote.setUpdateTime(now);
qdUserSignInNote.setIsPrivate(dto.getIsPrivate());
qdUserSignInNote.setIsDeleted(false);
qdUserSignInNoteDao.insert(qdUserSignInNote);
return Result.success();
} catch (Exception e) {
logger.error("乾岛签到失败 error:{}", e);
}
return Result.failed();
}
@Override
public Result getReward(QdUserSignInRequestDto dto) {
try {
long userId = dto.getUserId();
long taskId = dto.getTaskId();
//查询签到记录
QdUserSignIn qdUserSignIn = qdUserSignInDao.findRecord(dto.getUserId(), dto.getSignInDate(), null, taskId);
if (qdUserSignIn == null) {
return Result.failed("该签到奖励已作废");
}
if (!qdUserSignIn.getIsReward()) {
return Result.failed("尚未完成连续签到的天数");
}
if (qdUserSignIn.getIsGet()) {
return Result.failed("该奖励已领取");
}
QdUserSignIn updateDto = new QdUserSignIn();
updateDto.setId(qdUserSignIn.getId());
updateDto.setIsGet(true);
updateDto.setUpdateTime(new Date());
qdUserSignInDao.updateByPrimaryKey(updateDto);
String distributionOrderId = IdUtils.getOrderNumber(CommConsts.DISTRIBUTION_ORDER_PREFIX);
//赠品订单收取运费10元
long orderAmount = 1000L;
DistributionOrderRequestDto prePayDto = new DistributionOrderRequestDto();
prePayDto.setDistributionOrderId(distributionOrderId);
prePayDto.setAmount(String.valueOf(orderAmount));
prePayDto.setBuyerOpenid(dto.getUserOpenId());
prePayDto.setItemName("签到礼品运费");
Result prePayResult = wxPayServiceApi.createPrepareOrder(prePayDto);
if (!prePayResult.getSuccess()) {
return Result.failed("签到礼品支付运费预下单失败");
}
String prepayId = (String) prePayResult.getData();
//创建赠品订单
DistributionOrder distributionOrder = new DistributionOrder();
distributionOrder.setItemId(null);
distributionOrder.setItemNum(1);
distributionOrder.setDistributionOrderId(distributionOrderId);
distributionOrder.setBuyerId(dto.getUserId());
distributionOrder.setBuyerOpenid(dto.getUserOpenId());
distributionOrder.setPrepayId(prepayId);
distributionOrder.setShopId(CommConsts.SYSTEM_ACCOUNT.longValue());
distributionOrder.setSellerId(CommConsts.SYSTEM_ACCOUNT.longValue());
distributionOrder.setAmount(orderAmount);
distributionOrder.setReceiverAddress(dto.getReceiverAddress());
distributionOrder.setReceiverName(dto.getReceiverName());
distributionOrder.setReceiverPhone(dto.getReceiverPhone());
distributionOrder.setCreateTime(new Date());
distributionOrder.setUpdateTime(new Date());
distributionOrder.setType(DistributionEnum.DistributionTypeEnum.GIFT.getCode());
distributionOrder.setRemark(null);
distributionOrder.setState(DistributionEnum.DistributionOrderStateEnum.PRE_PAY.getCode());
distributionOrderDao.insert(distributionOrder);
Map<String, String> map = new HashMap<>();
map.put("distributionOrderId", distributionOrderId);
map.put("prepayId", prepayId);
return Result.success(map);
} catch (Exception e) {
logger.error("乾岛领取奖励失败 error:{}", e);
}
return Result.failed();
}
}
...@@ -6,11 +6,11 @@ import com.wwdz.ch.wx.entity.request.QdHomePageRequestDto; ...@@ -6,11 +6,11 @@ import com.wwdz.ch.wx.entity.request.QdHomePageRequestDto;
public interface QdHomePageService { public interface QdHomePageService {
/** /**
* 查询首页信息 * 查询首页展示的用户信息
* @param dto * @param dto
* @return * @return
*/ */
Result findHomePage(QdHomePageRequestDto dto); Result findUserInfo(QdHomePageRequestDto dto);
Result findSignInNoteList(QdHomePageRequestDto dto); Result findSignInNoteList(QdHomePageRequestDto dto);
......
package com.wwdz.ch.wx.service.qiandao;
public interface QdUserSignInNoteService {
}
package com.wwdz.ch.wx.service.qiandao;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.UserSignInRequestDto;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInRequestDto;
public interface QdUserSignInService {
/**
* 签到
* @param dto
* @return
*/
Result signIn(QdUserSignInRequestDto dto);
/**
* 领取奖励
* @param dto
* @return
*/
Result getReward(QdUserSignInRequestDto dto);
}
package com.wwdz.ch.wx.web.qiandao;
import com.alibaba.fastjson.JSON;
import com.wwdz.ch.core.consts.ResultCode;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dao.qiandao.QdUserSignInDao;
import com.wwdz.ch.db.domain.qiandao.QdUserSignIn;
import com.wwdz.ch.db.dto.request.UserSignInRequestDto;
import com.wwdz.ch.db.dto.request.qiandao.QdUserRequestDto;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInRequestDto;
import com.wwdz.ch.wx.constant.CacheCodeConstants;
import com.wwdz.ch.wx.service.qiandao.QdUserSignInService;
import com.xxdxxs.service.FormHandler;
import com.xxdxxs.validation.Validator;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/wx/qdUserSignIn")
public class QdUserSignInController {
private static final Logger logger = LoggerFactory.getLogger(QdUserController.class);
@Autowired
QdUserSignInService qdUserSignInService;
@ApiOperation(value = "乾岛签到")
@PostMapping("/loginRegCaptcha")
public Object registerCaptcha(@RequestBody QdUserSignInRequestDto dto) {
logger.info("【请求开始】乾岛签到,请求参数:{}", JSON.toJSONString(dto));
if (dto.getUserId() == null || dto.getTaskId() == null) {
return Result.failed(ResultCode.PARAM_ERROR);
}
return qdUserSignInService.signIn(dto);
}
@ApiOperation(value = "领取奖励")
@PostMapping("/getReward")
public Result getReward(@RequestBody QdUserSignInRequestDto dto) {
logger.info("【请求开始】领取奖励,请求参数:{}", JSON.toJSONString(dto));
Validator validator = new Validator(FormHandler.ofEntity(dto));
validator.set("userId", "用户id").must().number()
.set("userOpenId", "用户openid").must().string()
.set("taskId", "任务id").must().number()
.end();
if (!validator.isValid()) {
return Result.failed(ResultCode.PARAM_ERROR);
}
return qdUserSignInService.getReward(dto);
}
}
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