「java积分签到」积分商城签到

博主:adminadmin 2022-12-12 13:33:06 67

今天给各位分享java积分签到的知识,其中也会对积分商城签到进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java代码怎么实现连续签到和积分增加 积分等级功能

把签到信息存到一个签到表里,签到表关联用户ID,有签到日期,每天的签到就是一条记录,积分挂在用户信息表中,再来个积分日志表,积分发生变动就记录进去,比如获得积分或花了积分了。积分等级想复杂点了就来个积分等级表,里面存的是规则,想简单了就在积分余额字段后面再加个字段标记当前积分等级,甚至在前端当场计算都行

求救,JAVA大神,请教这个程序该怎么写

1.定义bean

public class Checkin {

  private String optsn;//流水号

  private String userid;//积分

  private String addpoint;//一次添加值

  private String curpoint;//当前积分

  private String efftime;//生效时间

  private String expirytime;//失效时间

  private String type;//是否签到

  private String remark; //备注 经验获取方式(初始化,一次签到成功、连续签到成功)

  //省略get、set

  }

  

2.设置初始化时静态数据

public class StaticUtil {

public static String  CONFIG =  "积分获取规则";

public static String  POINTACQSTATICCONFIG =  "pointrule";

public static String  POINTACQINIT =  "初始化";

public static String  POINTCHECKIN =  "一次签到";

public static String  POINTCHECKINS =  "连续签到";

}  

3.实现类   

public class checkinService{

  

  /**

 * 实现签到

 * 一次签到: 签到成功, 将签到状态修改成功 

 * 

 * @param userPoint 

 * @return

 */

public ReturnValueDomainString add(Checkin checkin ) {

ReturnValueDomainString ret = new ReturnValueDomainString();

try {

StringBuffer sql = new StringBuffer(

"INSERT INTO tb_userpoint (……)");

sql.append("  VALUES (……)");

//生成流水号

logger.info("签到成功SQL"+sql.toString());

this.jdbcTemplate.update(sql.toString(), answer);

//签到,增加积分

String addpoint =  jdbcTemplate.queryForObject(" select * from AA  a ,BB b " +"where a.type='"+StaticUtil.POINTCONFIG+"' and b.attrname='"+StaticUtil.POINTCHECKIN+"' ", new HashMapString,String(), String.class);

sql.setLength(0);

Checkin checkin= new Checkin ();

this.jdbcTemplate.update(sql.toString(),uptrace);

//修改个人的积分值

this.jdbcTemplate.update(" update tb_aqzw_usermessage set point=point+:addpoint where userid=:userid", uptrace);

 

/**

 * 下面的sql, 如果是执行条数为 1条, 如果不是执行条数 为0 条

 */

MapString,String checkinmap = new HashMapString,String();

ataskmap.put("questionid", answer.getQuestionid());

sql.setLength(0);

sql.append(" update  tb_checkin  set  type='1', expirytime=now() where 条件");

// logger.info("--"+sql.toString());

this.jdbcTemplate.update(sql.toString(), ataskmap);

} catch (Exception e) {

logger.error("签到失败:" + e.getMessage());

return ret.setFail("签到失败,请联系管理员");

}

return ret.setSuccess("签到成功!");

}

  }

  

注: 伪代码,只提供参考!!

用Java写一个签到功能,每天签到送积分10,连续签到7天额外送25积分,如何知道连续签到7天!

签到的时候,把这7天的签到记录查出来,只要全部都签到了,就再加25积分

不过循环遍历时候要判断是不是一天内重复的记录

最后统计少了一条签到记录就不算

sql大概可以这么统计吧,查询七天内的签到记录以签到时间的年月日格式分组(不太懂mysql,大概意思意思)

select count(1) from xxxxxxx where signin_time= date_add(now(), interval 6 day) group by date_format(signi_time,'%Y%m%d');

如何实现一个签到的逻辑

点击签到,如果当天已经签过到了,提示已经签过到了;如果从来没有签过到,插入数据,把积分设置为1,连续签到次数设置为1,

最后修改时间设置为当天,历史为1;如果今天没有签过到,首先计算出有多少天没签到了,如果是昨天签了的,连续签到次数加1,

历史左移一位,积分按照积分规则加上;如果超过两天没有签到,连续签到次数设置为1,历史左移天数位,积分加上签到单次的积分

,时间为当前的修改时间;

或者是这样:

建一个签到数据表,两列,一列日期,一列用户外键。点击签到触发controller,存入签到表。为了方便记录连续签到情况,可以建

一个计数表,一列用户外键,一列签到计数,连续签到时加1,断签了就归1。

java积分签到的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于积分商城签到、java积分签到的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-12,除非注明,否则均为首码项目网原创文章,转载请注明出处。