求救,JAVA大神,请教这个程序该怎么写
1.1.1.1.1流程说明1.设置签到规则生效时间、失效时间2.设置签到初始积分数、连续签到集分递增数、以及签到积分上限。第一天签到时5积分开始,以后连续签到每天可增加5...
1.1.1.1.1 流程说明
1. 设置签到规则生效时间、失效时间
2. 设置签到初始积分数、连续签到集分递增数、以及签到积分上限。第一天签到时5积分开始,以后连续签到每天可增加5分,上限30分(第6天)。第7天起一直往后皆为30分。
3. 设置签到的频率。按天设置,现在默认一天一次。
4. 提交,规则数据入签到规则参数表 展开
1. 设置签到规则生效时间、失效时间
2. 设置签到初始积分数、连续签到集分递增数、以及签到积分上限。第一天签到时5积分开始,以后连续签到每天可增加5分,上限30分(第6天)。第7天起一直往后皆为30分。
3. 设置签到的频率。按天设置,现在默认一天一次。
4. 提交,规则数据入签到规则参数表 展开
1个回答
展开全部
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 ReturnValueDomain<String> add(Checkin checkin ) {
ReturnValueDomain<String> ret = new ReturnValueDomain<String>();
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 HashMap<String,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 条
*/
Map<String,String> checkinmap = new HashMap<String,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("签到成功!");
}
}
注: 伪代码,只提供参考!!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询