package com.ins.bcp.menu.controller;
import java.text.SimpleDateFormat;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.log4j.Logger;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.ins.bcp.base.service.BankOffsetSumService;
import com.ins.bcp.menu.model.BankOffsetSumVO;
import com.ins.bcp.menu.service.BankOffsetSumVOService;
import com.ins.bcp.model.banktext.BankOffsetSum;
import com.ins.core.pub.ExceptionUtils;
import com.ins.core.pub.model.Message;
import com.ins.core.pub.page.PageDataTable;
import com.ins.core.tools.JsonUtils;
import com.ins.core.transaction.Trans;
import com.ins.core.transaction.UserTransaction;
@RestController
@RequestMapping(value = "/bankOffsetSumVO")
public class BankOffsetSumVOController {
Logger logger = Logger.getLogger(BankOffsetSumVOController.class);
@Resource(name = BankOffsetSumVOService.BEAN_NAME)
private BankOffsetSumVOService bankOffsetSumVOService;
@Resource(name = BankOffsetSumService.BEAN_NAME)
private BankOffsetSumService bankOffsetSumService;
/**
* 定义一个全局缓存Map
*/
public static final Map<String, String> usersCache = Collections.synchronizedMap(new HashMap<String, String>());
/**
* 查询汇总费用信息为页面菜单提供
* @param bankOffsetSum
* @param dataTable
* @return
*/
@RequestMapping(value = "/queryBankOffsetSumList.do")
public PageDataTable<BankOffsetSumVO> queryBankOffsetSumList(@ModelAttribute BankOffsetSumVO bankOffsetSumVO
,@ModelAttribute PageDataTable<BankOffsetSumVO> dataTable){
PageHelper.startPage(dataTable.getPageNum(),dataTable.getPageSize());
List<BankOffsetSumVO> bankOffsetSumList = bankOffsetSumVOService.queryTBankOffsetSumVOList(bankOffsetSumVO);
if(bankOffsetSumList != null){
logger.info("~~~~~~~~~查询费用汇总信息总条数~~~~~~~~~"+bankOffsetSumList.size()+"费用列表信息"+bankOffsetSumList);
PageInfo<BankOffsetSumVO> pageInfo = new PageInfo<BankOffsetSumVO>(bankOffsetSumList);
dataTable.setiTotalDisplayRecords(pageInfo.getTotal());
dataTable.setiTotalRecords(pageInfo.getTotal());
dataTable.setResultData(bankOffsetSumList);
logger.info("&&&&&&&&&&&&&&&信息已查询&&&&&&&&&&&&&&&&");
return dataTable;
}
return null;
}
/**
* 更新费用状态
* @param bankOffsetSumList
* @return
*/
@RequestMapping(value = "/updateBankOffsetStatus.do")
public Message updateBankOffsetStatus(@RequestBody List<BankOffsetSum> bankOffsetSumList){
Message message = new Message();
UserTransaction trans = null;
String offsetSumIdKey = "";
String offsetSumIdValue = "";
try {
trans = Trans.getTrans();
trans.begin();
/**生成批次号18位**/
String offsetBatchNo = "WB"+ new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
int offsetSumSize = bankOffsetSumList.size();
/**长度定义为2位**/
String sizeFormat = String.format("%02d", offsetSumSize);
String opBatchNo = offsetBatchNo + sizeFormat;
for(BankOffsetSum bankOffsetSum : bankOffsetSumList){
BankOffsetSum bankOffset = new BankOffsetSum();
/**map键值都使用offsetSumIdKey**/
offsetSumIdKey = bankOffsetSum.getOffsetSumId();
offsetSumIdValue = bankOffsetSum.getOffsetSumId();
//如果缓存中不存在这个键值便放入map中
if(usersCache.get(offsetSumIdKey) == null ){
usersCache.put(offsetSumIdKey, offsetSumIdValue);
bankOffset.setOffsetSumId(usersCache.get(offsetSumIdValue));
/*更新批次号和费用状态*/
bankOffset.setOpBatchNo(opBatchNo);
bankOffset.setFeeStatus("1");
logger.info("*******************更新费用状态*****************");
bankOffsetSumService.updateBankOffsetStatus(bankOffset);
//更新完成之后将键值删除
logger.info("===============offsetSum数据================" + JsonUtils.toJson(usersCache));
}else{
logger.info("map缓存中有数据可能多人同时操作!!!!!!!!!!!!!");
if(trans != null) {
trans.rollback();
}
message.setMessage("可能多人同时操作");
message.setSuccess(false);
return message;
}
message.setMessage("审核成功");
message.setSuccess(true);
}
trans.commit();
//更新提交之后将map键值删除
Iterator<Map.Entry<String, String>> it = usersCache.entrySet().iterator();
while(it.hasNext()){
Map.Entry<String, String> entry=it.next();
String key=entry.getKey();
it.remove();
logger.info("缓存中map的值"+key);
}
// usersCache.remove(offsetSumIdKey);
} catch (Exception e) {
if(trans != null) {
trans.rollback();
}
message.setSuccess(false);
message.setMessage(ExceptionUtils.getFullStackTrace(e));
e.printStackTrace();
}
return message;
}
}
import java.text.SimpleDateFormat;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.log4j.Logger;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.ins.bcp.base.service.BankOffsetSumService;
import com.ins.bcp.menu.model.BankOffsetSumVO;
import com.ins.bcp.menu.service.BankOffsetSumVOService;
import com.ins.bcp.model.banktext.BankOffsetSum;
import com.ins.core.pub.ExceptionUtils;
import com.ins.core.pub.model.Message;
import com.ins.core.pub.page.PageDataTable;
import com.ins.core.tools.JsonUtils;
import com.ins.core.transaction.Trans;
import com.ins.core.transaction.UserTransaction;
@RestController
@RequestMapping(value = "/bankOffsetSumVO")
public class BankOffsetSumVOController {
Logger logger = Logger.getLogger(BankOffsetSumVOController.class);
@Resource(name = BankOffsetSumVOService.BEAN_NAME)
private BankOffsetSumVOService bankOffsetSumVOService;
@Resource(name = BankOffsetSumService.BEAN_NAME)
private BankOffsetSumService bankOffsetSumService;
/**
* 定义一个全局缓存Map
*/
public static final Map<String, String> usersCache = Collections.synchronizedMap(new HashMap<String, String>());
/**
* 查询汇总费用信息为页面菜单提供
* @param bankOffsetSum
* @param dataTable
* @return
*/
@RequestMapping(value = "/queryBankOffsetSumList.do")
public PageDataTable<BankOffsetSumVO> queryBankOffsetSumList(@ModelAttribute BankOffsetSumVO bankOffsetSumVO
,@ModelAttribute PageDataTable<BankOffsetSumVO> dataTable){
PageHelper.startPage(dataTable.getPageNum(),dataTable.getPageSize());
List<BankOffsetSumVO> bankOffsetSumList = bankOffsetSumVOService.queryTBankOffsetSumVOList(bankOffsetSumVO);
if(bankOffsetSumList != null){
logger.info("~~~~~~~~~查询费用汇总信息总条数~~~~~~~~~"+bankOffsetSumList.size()+"费用列表信息"+bankOffsetSumList);
PageInfo<BankOffsetSumVO> pageInfo = new PageInfo<BankOffsetSumVO>(bankOffsetSumList);
dataTable.setiTotalDisplayRecords(pageInfo.getTotal());
dataTable.setiTotalRecords(pageInfo.getTotal());
dataTable.setResultData(bankOffsetSumList);
logger.info("&&&&&&&&&&&&&&&信息已查询&&&&&&&&&&&&&&&&");
return dataTable;
}
return null;
}
/**
* 更新费用状态
* @param bankOffsetSumList
* @return
*/
@RequestMapping(value = "/updateBankOffsetStatus.do")
public Message updateBankOffsetStatus(@RequestBody List<BankOffsetSum> bankOffsetSumList){
Message message = new Message();
UserTransaction trans = null;
String offsetSumIdKey = "";
String offsetSumIdValue = "";
try {
trans = Trans.getTrans();
trans.begin();
/**生成批次号18位**/
String offsetBatchNo = "WB"+ new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
int offsetSumSize = bankOffsetSumList.size();
/**长度定义为2位**/
String sizeFormat = String.format("%02d", offsetSumSize);
String opBatchNo = offsetBatchNo + sizeFormat;
for(BankOffsetSum bankOffsetSum : bankOffsetSumList){
BankOffsetSum bankOffset = new BankOffsetSum();
/**map键值都使用offsetSumIdKey**/
offsetSumIdKey = bankOffsetSum.getOffsetSumId();
offsetSumIdValue = bankOffsetSum.getOffsetSumId();
//如果缓存中不存在这个键值便放入map中
if(usersCache.get(offsetSumIdKey) == null ){
usersCache.put(offsetSumIdKey, offsetSumIdValue);
bankOffset.setOffsetSumId(usersCache.get(offsetSumIdValue));
/*更新批次号和费用状态*/
bankOffset.setOpBatchNo(opBatchNo);
bankOffset.setFeeStatus("1");
logger.info("*******************更新费用状态*****************");
bankOffsetSumService.updateBankOffsetStatus(bankOffset);
//更新完成之后将键值删除
logger.info("===============offsetSum数据================" + JsonUtils.toJson(usersCache));
}else{
logger.info("map缓存中有数据可能多人同时操作!!!!!!!!!!!!!");
if(trans != null) {
trans.rollback();
}
message.setMessage("可能多人同时操作");
message.setSuccess(false);
return message;
}
message.setMessage("审核成功");
message.setSuccess(true);
}
trans.commit();
//更新提交之后将map键值删除
Iterator<Map.Entry<String, String>> it = usersCache.entrySet().iterator();
while(it.hasNext()){
Map.Entry<String, String> entry=it.next();
String key=entry.getKey();
it.remove();
logger.info("缓存中map的值"+key);
}
// usersCache.remove(offsetSumIdKey);
} catch (Exception e) {
if(trans != null) {
trans.rollback();
}
message.setSuccess(false);
message.setMessage(ExceptionUtils.getFullStackTrace(e));
e.printStackTrace();
}
return message;
}
}

2457

被折叠的 条评论
为什么被折叠?



