java实现连续签到加分_java实现app签到功能

本文实例为大家分享了java实现app签到功能的具体代码,供大家参考,具体内容如下

1.首先设计二张表,第一张表sign_calc记录用户连续签到次数,字段id,user_id,continue_days,第二张表sign_detail签到详情表id,user_id,sign_date。

2.app端用户点击签到接口controller如下:

/***

* app签到接口

* @author xuhaibo

* @param accid

* @return

*/

@ResponseBody

@RequestMapping(value = "/doSign")

public JSONObject doSign(Integer accid) {

JSONObject result = new JSONObject();

Map data = new HashMap<>();

if (!CinemaConstants.ACCID_MAP.contains(accid)) {

Integer previousId = CinemaConstants.ACCID_MAP.put(accid, accid);

if (previousId == null) {

try {

/****

* 查询用户今日的签到

*/

SignDetail signToday = signService.todayDetail(accid);//

System.out.println(signToday);

if (signToday == null) {//今天未签到 1:查询本月昨日签到情况

SignDetail signDetail_yesterday = signService.yesterdayDetail(accid);

SignCalc signCalcGet = signService.getSignCalc(accid);

if (signDetail_yesterday == null) {

SignDetail signDetail = new SignDetail();

signDetail.setUser_id(accid);

signDetail.setSign_date(new Date());

signService.addSignDetail(signDetail);

if (signCalcGet == null) {

SignCalc signCalc = new SignCalc();

signCalc.setUser_id(accid);

signCalc.setContinue_days(1);

signService.addSignCalc(signCalc);

} else {

SignCalc signCalc = new SignCalc();

signCalc.setUser_id(accid);

signCalc.setContinue_days(1);

signService.updateSignCalc(signCalc);

}

Integral integral = new Integral();

integral.setSourceId(0);

integral.setUserId(accid);

integral.setScore(CinemaConstants.INTEGRAL_TYPE_SIGN_SCORES);

integral.setCreateTime(new Date());

integral.setNote(CinemaConstants.INTEGRAL_TYPE_SIGN_DESCRIBE);

integral.setSourceType(CinemaConstants.INTEGRAL_TYPE_SIGN);

integralService.add(integral);

accountService.addIntegralByUserId(accid, CinemaConstants.INTEGRAL_TYPE_SIGN_SCORES);

result.put(Constants.RESULT_CODE, "

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值