springBoot @Async 异步任务
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
@Component
public class GjContractAsync {
private static Logger logger = LoggerFactory.getLogger(GjContractAsync.class);
private static String DATE_FORMAT1 = "yyyyMMdd";
private static String SAV_CUS = "2";
@Autowired
private GjKhxxDao gjKhxxDao;
@Autowired
private GjContractDao gjContractDao;
@Autowired
private HisGjContractDao hisGjContractDao;
@Transactional(rollbackFor = Exception.class)
@Async
public void mainAysc(List<Object> dataList, UserInfo userInfo) {
logger.info("开始执行xxxx异步任务....");
logger.info("结束xxxx异步任务....");
}
private ImpGjContractModel handerContractStatus(ImpGjContractModel item) {
if(CommonUtil.isNotEmpty( item.getcState())){
if(ContractStatusEnum.NORMAL.getName().equals( item.getcState().trim()) ||
ContractStatusEnum.NORMAL.getCode().equals( item.getcState().trim())
){
item.setcState(ContractStatusEnum.NORMAL.getCode());
}else{
item.setcState(ContractStatusEnum.CANCEL.getCode());
System.out.println(ContractStatusEnum.CANCEL.getName()+"=========保费为负值=========="+item.getnPremium().negate());
item.setnPremium(item.getnPremium().negate());
}
}
return item;
}
}
easyExcel 下载
public void exportGjContractRecordMbExcel() throws IOException {
List<ImpGjContractModel> list =null;
ServletOutputStream out = response.getOutputStream();
ExcelWriter writer = new ExcelWriter(out, ExcelTypeEnum.XLSX, true);
String fileName = "个金保险蓄客保险出单模板";
Sheet sheet = new Sheet(1, 0,ImpGjContractModel.class);
sheet.setAutoWidth(Boolean.TRUE);
sheet.setSheetName("个金保险蓄客保险出单");
writer.write(list, sheet);
response.setHeader("Content-Disposition","attachment;filename=" + URLEncoder.encode(fileName + ".xlsx", "utf-8"));
writer.finish();
response.setContentType("multipart/form-data");
response.setCharacterEncoding("utf-8");
out.flush();
}
spring Scheduled 批量任务
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@Component
public class GjStatisTask {
private static Logger logger = LoggerFactory.getLogger(GjStatisTask.class);
@Autowired
private GjKhxxDao gjKhxxDao;
@Transactional(rollbackFor = Exception.class)
@Scheduled(cron="0 0 17 * * ?")
void GjTemporaryStatis(){
logger.info("开始执行个金统计生成临时表数据任务....");
gjKhxxDao.deleteKhxxGjTgtj();
gjKhxxDao.insertIntoKhxxGjTgtj();
logger.info("结束个金统计生成临时表数据任务....");
}
}