求救,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. 提交,规则数据入签到规则参数表
展开
 我来答
记忆_2012_有你
2015-01-19 · TA获得超过287个赞
知道答主
回答量:92
采纳率:0%
帮助的人:53万
展开全部

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("签到成功!");
}

  }
  
注: 伪代码,只提供参考!!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式