发表于: 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

改需求的时候重新梳理一下业务逻辑,然后修改相关代码即可,整体没花太长时间,所以改动的代码就不贴出来了


二.明天计划完成的事情

重构自己编写的代码


三.遇到的问题

暂无


四.收获

以上


五,项目进度情况

暂无延期风险


返回列表 返回列表
评论

    分享到