发表于: 2017-12-23 21:15:56
0 546
一.今天完成的主要事情
1.按照计划完成运营中心财务统计接口
因为该接口功能太多,所以将该接口拆分为两个接口
一个是运营中心财务统计接口,统计符合条件的所有信息,接口代码如下
@RequestMapping(value = "/a/u/finance/center/total", method = RequestMethod.GET)
public String getFinanceOfCenterTotal(HttpServletRequest request, HttpServletResponse response, ModelMap model,
Integer type, Integer status, Long startTime, Long endTime) throws Exception {
log.info("Interface GET /a/u/finance/center/total, Method getFinanceOfCenterTotal() parameters:" +
" type: " + type + ", status: " + status + ", startTime: " + startTime + ", endTime: " + endTime);
if (DataUtils.isNotNullOrEmpty(type) && (type < 0 || type > 1)) {
log.info("Error value of parameter type, type is : " + type);
model.addAttribute("code", -1001);
return "/common/failure";
}
if (DataUtils.isNotNullOrEmpty(status) && (status < 0 || status > 1)) {
log.info("Error value of parameter status, status is : " + status);
model.addAttribute("code", -1001);
return "/common/failure";
}
try {
Map<String, Object> queryEnrollmentDetailMap = DynamicUtil.getEnrollmentDetailParams(startTime, endTime, type,
"center", status, null, false);
log.info("query enrollment detail map: " + queryEnrollmentDetailMap);
List<Long> enrollmentDetailIdList = enrollmentDetailService.getIdsByDynamicCondition(EnrollmentDetail.class,
queryEnrollmentDetailMap, 0, Integer.MAX_VALUE);
log.info("get enrollment detail id list, list is : " + enrollmentDetailIdList);
if (CollectionUtils.isNotEmpty(enrollmentDetailIdList)) {
List<EnrollmentDetail> enrollmentDetailList = enrollmentDetailService.getObjectsByIds(enrollmentDetailIdList);
log.info("get enrollment detail data list, list size is : " + enrollmentDetailList.size());
Finance finance = new Finance("0", "0", "0",
"0", "0", "0");
for (int i = 0; i < enrollmentDetailList.size(); i++) {
finance.setTotalAmount(finance.getTotalAmount().add(enrollmentDetailList.get(i).getPaymentAmount()));
finance.setServiceFee(finance.getServiceFee().add(enrollmentDetailList.get(i).getServiceFee()));
finance.setAmountOfPaidToSchool(finance.getAmountOfPaidToSchool().add(enrollmentDetailList.get(i).getActualIncome()));
if (enrollmentDetailList.get(i).getWithdrawStatus() == 0) {
finance.setSettledAmount(finance.getSettledAmount().add(enrollmentDetailList.get(i).getActualIncome()));
}
}
log.info("get finance data, finance is : " + finance);
model.addAttribute("finance", finance);
}
model.addAttribute("code", 0);
return "yi-nucleus-service/enrollmentDetail/json/financeOfCenterTotal";
} catch (Throwable t) {
log.error(t.getMessage());
log.error("Method getFinanceOfCenterTotal() parameters failed, startTime is :" + startTime +
", endTime:" + endTime + ", status:" + status + ", type:" + type);
model.addAttribute("code", -1);
return "/common/failure";
}
}
还有一个是统计驾校有关的部分,接口代码如下
@RequestMapping(value = "/a/u/finance/center/school", method = RequestMethod.GET)
public String getFinanceOfCenterBySchool(HttpServletRequest request, HttpServletResponse response, ModelMap model, Integer page,
Integer size, Integer type, Integer status, Long startTime, Long endTime) throws Exception {
log.info("Interface /a/u/finance/center/school,Method getFinanceOfCenterBySchool() parameters: " +
"type: " + type + ", status: " + status + ", startTime: " + startTime + ", endTime: " + endTime);
if (page == null) {
page = 1;
}
if (size == null) {
size = 10;
}
int start = (page - 1) * size;
if (start < 0) {
start = 0;
}
if (DataUtils.isNotNullOrEmpty(type) && (type < 0 || type > 1)) {
log.info("Error value of parameter type, type is : " + type);
model.addAttribute("code", -1001);
return "/common/failure";
}
if (DataUtils.isNotNullOrEmpty(status) && (status < 0 || status > 1)) {
log.info("Error value of parameter status, status is : " + status);
model.addAttribute("code", -1001);
return "/common/failure";
}
try {
List<Long> schoolIdList = schoolService.getSchoolIds(start, size);
log.info("get school id list, list is : " + schoolIdList);
if (CollectionUtils.isEmpty(schoolIdList)) {
model.addAttribute("code", 0);
model.addAttribute("size", 0);
model.addAttribute("total", 0);
return "yi-nucleus-service/enrollmentDetail/json/financeOfCenterSchool";
}
Integer total = schoolService.countSchoolIds();
log.info("get school id total, total is : " + total);
Map<String, Object> queryEnrollmentDetailMap = DynamicUtil.getEnrollmentDetailParams(startTime, endTime, type,
"center", status, schoolIdList, false);
log.info("query enrollment detail map: " + queryEnrollmentDetailMap);
List<Long> enrollmentDetailIdList = enrollmentDetailService.getIdsByDynamicCondition(EnrollmentDetail.class,
queryEnrollmentDetailMap, 0, Integer.MAX_VALUE);
log.info("get enrollment detail id list, list is : " + enrollmentDetailIdList);
if (CollectionUtils.isNotEmpty(enrollmentDetailIdList)) {
List<EnrollmentDetail> enrollmentDetailList = enrollmentDetailService.getObjectsByIds(enrollmentDetailIdList);
log.info("get enrollment detail data list, list size is : " + enrollmentDetailList.size());
Map<Long, Finance> financeMap = new HashMap<>();
Finance finance = null;
for (int i = 0; i < enrollmentDetailList.size(); i++) {
if (financeMap.get(enrollmentDetailList.get(i).getSchoolId()) == null) {
finance = new Finance("0", "0", "0",
"0","0", "0");
financeMap.put(enrollmentDetailList.get(i).getSchoolId(), finance);
}
finance = financeMap.get(enrollmentDetailList.get(i).getSchoolId());
finance.setTotalAmount(finance.getTotalAmount().add(enrollmentDetailList.get(i).getPaymentAmount()));
finance.setServiceFee(finance.getServiceFee().add(enrollmentDetailList.get(i).getServiceFee()));
finance.setAmountOfPaidToSchool(finance.getAmountOfPaidToSchool().add(enrollmentDetailList.get(i).getActualIncome()));
if (enrollmentDetailList.get(i).getWithdrawStatus()==0){
finance.setSettledAmount(finance.getSettledAmount().add(enrollmentDetailList.get(i).getActualIncome()));
} else{
if (enrollmentDetailList.get(i).getStatus() == 0){
finance.setSettlingAmount(finance.getSettlingAmount().add(enrollmentDetailList.get(i).getActualIncome()));
} else{
finance.setPrepareSettlement(finance.getPrepareSettlement().add(enrollmentDetailList.get(i).getActualIncome()));
}
}
finance.setEnrollmentNumber(finance.getEnrollmentNumber()+1);
finance.setSchoolId(enrollmentDetailList.get(i).getSchoolId());
}
log.info("get finance map, map size is : " + financeMap.size());
List<Finance> financeList = new ArrayList<>(financeMap.values());
model.addAttribute("code", 0);
model.addAttribute("size", size);
model.addAttribute("total", total);
model.addAttribute("financeList", financeList);
}
return "yi-nucleus-service/enrollmentDetail/json/financeOfCenterSchool";
} catch (Throwable t) {
log.error(t.getMessage());
log.error("Method getFinanceOfCenterBySchool() parameters failed, startTime is :" + startTime +
", endTime:" + endTime + ", status:" + status + ", type:" + type);
model.addAttribute("code", -1);
return "/common/failure";
}
}
2.在实现功能时发现需求有漏洞,和PM商量之后更改了下需求,并修改相关的代码
主要是提现状态这里增加了一个装填,提现中状态
虽然不喜欢改需求,但是这个是必须的,否则会出现很大的功能性bug
改需求的时候重新梳理一下业务逻辑,然后修改相关代码即可,整体没花太长时间,所以改动的代码就不贴出来了
二.明天计划完成的事情
重构自己编写的代码
三.遇到的问题
暂无
四.收获
以上
五,项目进度情况
暂无延期风险
评论