解决方案 »
- JAVA菜鸟一枚,这段代码看了很久了,硬是没看懂
- ibatis加载不了xml文件?急切!!!
- ireport中如何设置font 兼容中文英文和数字的同时显示
- java调用打印机
- hibernate 修改一个字段报错,请大家帮忙
- Cannot find bean list in any scope
- 用java如何实现网络文件传输??????????
- 我在配置SPRING的时候出现了些问题,请大家提点提点,SPRING+STRUTS 在STRUTS里PLUS-IN的
- 关于struts实现翻页功能我这里有参考的元代吗,但是不能实现
- java资料,j2ee资料,java软件下载!
- struts2 返回json对象一直得不到数据
- 求大神帮忙,解决一个困扰我很久的问题,在这谢谢了
这个是具体代码,要在哪修改呢?
package cn.cs.util;import java.math.BigDecimal;
import java.sql.Timestamp;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Locale;import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;import org.apache.struts2.ServletActionContext;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;import cn.cs.biz.IAlsoMoneyBiz;
import cn.cs.biz.IMembersBiz;
import cn.cs.biz.IMoneyRecordsBiz;
import cn.cs.biz.IProjectBiz;
import cn.cs.entity.AlsoMoney;
import cn.cs.entity.Members;
import cn.cs.entity.MoneyRecords;
import cn.cs.entity.Project;/**
* 继承型的spring定时器
* Tips:
*/
public class Timers extends QuartzJobBean{
private IProjectBiz projectBiz;
private IAlsoMoneyBiz alsoMoneyBiz;
private IMembersBiz membersBiz;
private IMoneyRecordsBiz moneyRecordsBiz;
HttpServletRequest request = ServletActionContext.getRequest();
ServletContext application = request.getSession().getServletContext();
@Override
protected void executeInternal(JobExecutionContext ctx)
throws JobExecutionException {
/**定时器执行开始**/
updateProTime();
refunds();
updateProStatus();
clearStatus();
/**定时器执行结束**/
}
/**
* 修改所有日期
*/
@SuppressWarnings("deprecation")
private void updateProTime(){
List<Project> pros=projectBiz.findAll(1,null,null,null,null,null,null,null);
Date start=new Date();
start.setHours(0);start.setMinutes(0);start.setSeconds(0);start.setDate(start.getDate()+1);
for (Project project : pros) {
Date endtime=new Date(start.getTime());
endtime.setMonth(endtime.getMonth()+project.getTimeLimit());
projectBiz.updateTime(project.getId(),start,endtime);
}
} private void refunds(){
Date now=new Date();
now.setHours(0);now.setMinutes(0);now.setSeconds(0);
List<AlsoMoney> ams=alsoMoneyBiz.findAll(now);//当天所有未还明细
for (AlsoMoney alsoMoney : ams) {
Members user=membersBiz.findById(alsoMoney.getMembers().getId());//重载会员对象
BigDecimal ava=user.getAvailable();
BigDecimal freeze=user.getFreeze();
ava.add(alsoMoney.getInterest());//收益
MoneyRecords mrecord=new MoneyRecords();//交易记录
mrecord.setAvailable(ava);
mrecord.setBalance(user.getAmount());
mrecord.setCtime(new Timestamp(new Date().getTime()));
mrecord.setFreeze(freeze);
mrecord.setIncome(alsoMoney.getInterest());
mrecord.setIntro("投资利息");
mrecord.setMembers(user);
mrecord.setSpending(new BigDecimal(0));
mrecord.setTradNum(generate());
mrecord.setTradType(4);//4.结息
MoneyRecords precord=null;//本金交易记录
if(alsoMoney.getPrincipal().intValue()!=0){//判断是否为最后一期
freeze.subtract(alsoMoney.getPrincipal());
ava.add(alsoMoney.getPrincipal());
precord=new MoneyRecords();
precord.setBalance(user.getAmount());
precord.setCtime(new Timestamp(new Date().getTime()));
precord.setFreeze(freeze);
precord.setIncome(alsoMoney.getPrincipal());
precord.setIntro("本金归还");
precord.setMembers(user);
precord.setSpending(new BigDecimal(0));
precord.setTradNum(generate());
precord.setTradType(5);//5.回收本金
}
boolean result=membersBiz.updateMF(user.getId(),ava,freeze);//用户资金修改
if(result){
moneyRecordsBiz.addRecord(mrecord);//添加交易记录
if(precord!=null){
moneyRecordsBiz.addRecord(precord);
}
result=alsoMoneyBiz.updateStatus(alsoMoney.getId(), 2);
}
}
} private void updateProStatus(){
Date now=new Date();
now.setHours(0);now.setMinutes(0);now.setSeconds(0);
List<Project> pros=projectBiz.findAll(now);
for (Project project : pros) {
projectBiz.updateStatus(project.getId(), 3);
}
} private void clearStatus(){
application.setAttribute("TradNum","1");
application.setAttribute("ContractNum","1");
application.setAttribute("BrNum","1");
application.setAttribute("ProNum","1");
} private String generate(){
Integer nums=(Integer) application.getAttribute("TradNum");
if(nums==null){
nums=1;
}
Locale.setDefault(Locale.GERMAN);
DecimalFormat df=new DecimalFormat("00000");
String sort=df.format(nums);
SimpleDateFormat df2=new SimpleDateFormat("yyyyMMdd");
String time=df2.format(new Date());
String trabNums="JY"+time+sort;
nums++;
application.setAttribute("TradNum",nums);
return trabNums;
}
/*************************************************************/
public IProjectBiz getProjectBiz() {
return projectBiz;
}
public void setProjectBiz(IProjectBiz projectBiz) {
this.projectBiz = projectBiz;
}
public IAlsoMoneyBiz getAlsoMoneyBiz() {
return alsoMoneyBiz;
}
public void setAlsoMoneyBiz(IAlsoMoneyBiz alsoMoneyBiz) {
this.alsoMoneyBiz = alsoMoneyBiz;
}
public IMembersBiz getMembersBiz() {
return membersBiz;
}
public void setMembersBiz(IMembersBiz membersBiz) {
this.membersBiz = membersBiz;
}
public IMoneyRecordsBiz getMoneyRecordsBiz() {
return moneyRecordsBiz;
}
public void setMoneyRecordsBiz(IMoneyRecordsBiz moneyRecordsBiz) {
this.moneyRecordsBiz = moneyRecordsBiz;
}
}