package project.web.api; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Map; import java.util.TimeZone; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import kernel.exception.BusinessException; import kernel.util.DateUtils; import kernel.util.StringUtils; import kernel.web.ApplicationUtil; import kernel.web.BaseAction; import kernel.web.Page; import kernel.web.ResultObject; import project.Constants; import project.log.MoneyLog; import project.log.MoneyLogService; import project.party.PartyService; import project.party.model.Party; @RestController @CrossOrigin public class MoneyLogController extends BaseAction { @Autowired protected MoneyLogService moneyLogService; private static final Logger logger = LoggerFactory.getLogger(MoneyLogController.class); @RequestMapping("api/moneylog!list.action") public Object list(HttpServletRequest request) throws IOException { ResultObject resultObject = new ResultObject(); resultObject = readSecurityContextFromSession(resultObject); if (!"0".equals(resultObject.getCode())) { return resultObject; } String partyId = this.getLoginPartyId(); try { String page_no = request.getParameter("page_no"); if (StringUtils.isNullOrEmpty(page_no) || !StringUtils.isInteger(page_no) || Integer.valueOf(page_no) <= 0) { page_no = "1"; } double amount = 0; int pageNo = Integer.valueOf(page_no); String category = request.getParameter("category"); String contentType = request.getParameter("contentType"); PartyService partyService = ApplicationUtil.getBean(PartyService.class); Party party = partyService.cachePartyBy(partyId, false); if(StringUtils.isNotEmpty(party.getBalance_income_config())) { String[] balance_income_configArr = party.getBalance_income_config().split(","); if(balance_income_configArr.length >=2) { amount = Double.valueOf(balance_income_configArr[1]).doubleValue(); } } Page pagedQuery = moneyLogService.pagedQuery(pageNo, 20, category, contentType, partyId); for (MoneyLog log : (List) pagedQuery.getElements()) { if(Constants.MONEYLOG_CONTENT_FINANCE_PROFIT.equals(log.getContent_type())) { log.setAmount(log.getAmount()+amount); } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); log.setCreateTimeStr(sdf.format(log.getCreateTime())); } resultObject.setData(pagedQuery.getElements()); } catch (BusinessException e) { resultObject.setCode("1"); resultObject.setMsg(e.getMessage()); } catch (Throwable t) { resultObject.setCode("1"); resultObject.setMsg("程序错误"); logger.error("error:", t); } return resultObject; } @RequestMapping("api/moneylog!sumBSalance.action") public Object sumBSalance(HttpServletRequest request) throws IOException { ResultObject resultObject = new ResultObject(); resultObject = readSecurityContextFromSession(resultObject); if (!"0".equals(resultObject.getCode())) { return resultObject; } String partyId = this.getLoginPartyId(); try { String category = Constants.MONEYLOG_FINANCE; String contentType = Constants.MONEYLOG_CONTENT_FINANCE_PROFIT; PartyService partyService = ApplicationUtil.getBean(PartyService.class); Map map = moneyLogService.sumBSalance(category, contentType, partyId); Party party = partyService.cachePartyBy(partyId, false); if(StringUtils.isNotEmpty(party.getBalance_income_config())) { String[] balance_income_configArr = party.getBalance_income_config().split(","); double sumAmount=Double.parseDouble(map.get("sumAmount").toString())+Double.valueOf(balance_income_configArr[0]).doubleValue(); if(balance_income_configArr.length >=2) { double dateAmount=Double.parseDouble(map.get("dateAmount").toString())+Double.valueOf(balance_income_configArr[1]).doubleValue(); map.put("dateAmount", dateAmount); } map.put("sumAmount", sumAmount); } resultObject.setData(map); } catch (BusinessException e) { resultObject.setCode("1"); resultObject.setMsg(e.getMessage()); } catch (Throwable t) { resultObject.setCode("1"); resultObject.setMsg("程序错误"); logger.error("error:", t); } return resultObject; } }