TrackAccountController.java 7.12 KB
Newer Older
1 2
package track.controller;

manxiaoqiang committed
3
import common.model.*;
manxiaoqiang committed
4
import dic.OperateObjectTypeEnum;
5 6 7 8 9
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import security.annotation.CurrentAccount;
import tkio.service.TkioAccountService;
manxiaoqiang committed
10
import track.service.TrackAccountService;
11
import util.ResultModel;
manxiaoqiang committed
12
import util.ResultStatus;
manxiaoqiang committed
13 14 15
import util.UserLogThread;

import javax.servlet.http.HttpServletRequest;
16 17 18 19 20 21 22 23 24

/**
 * Created by mxq on 2017/12/21.
 */
@Controller
@RequestMapping("track/marketing/accountmng")
public class TrackAccountController {

    @Autowired
manxiaoqiang committed
25
    TrackAccountService tkioAccountService;
26 27 28 29 30 31 32

    //客户列表
    @RequestMapping(value = "/findAll", method = RequestMethod.GET)
    @ResponseBody
    public ResultModel find(@CurrentAccount User loginAccount) {
        return ResultModel.OK(tkioAccountService.findAll(loginAccount));
    }
manxiaoqiang committed
33 34 35
    @RequestMapping(value = "/findone", method = RequestMethod.GET)
    @ResponseBody
    public ResultModel findOne(@CurrentAccount User loginAccount, @RequestParam String email) {
manxiaoqiang committed
36 37 38 39 40
        TrackAccount4Web account4Web = tkioAccountService.findOne(email);
        if(null == account4Web){
            return ResultModel.ERROR(ResultStatus.USER_EMPTY);
        }
        return ResultModel.OK(account4Web);
manxiaoqiang committed
41
    }
42 43 44 45

    //关闭到期提醒
    @RequestMapping(value = "/forbiden", method = RequestMethod.PUT)
    @ResponseBody
manxiaoqiang committed
46
    public ResultModel forbiden(@CurrentAccount User loginAccount, @RequestBody Reminder resource, HttpServletRequest request) {
manxiaoqiang committed
47
        UserLogThread userlog = new UserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), resource.getEmail(), "关闭到期提醒", request,loginAccount.getRole(),"track");
manxiaoqiang committed
48
        userlog.start();
49 50 51 52 53 54
        return ResultModel.OK(tkioAccountService.forbiden(loginAccount, resource));
    }

    //开启到期提醒
    @RequestMapping(value = "/enable", method = RequestMethod.PUT)
    @ResponseBody
manxiaoqiang committed
55
    public ResultModel enable(@CurrentAccount User loginAccount, @RequestBody Reminder resource, HttpServletRequest request) {
manxiaoqiang committed
56
        UserLogThread userlog = new UserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), resource.getEmail(), "开启到期提醒", request,loginAccount.getRole(),"track");
manxiaoqiang committed
57
        userlog.start();
58 59 60
        return ResultModel.OK(tkioAccountService.enable(loginAccount, resource));
    }

manxiaoqiang committed
61 62 63 64
    //关闭缴费提醒
    @RequestMapping(value = "/forbidenpress", method = RequestMethod.PUT)
    @ResponseBody
    public ResultModel forbidenPress(@CurrentAccount User loginAccount, @RequestBody PressMoney resource, HttpServletRequest request) {
manxiaoqiang committed
65
        UserLogThread userlog = new UserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), resource.getEmail(), "关闭异常状态跟进", request,loginAccount.getRole(),"track");
manxiaoqiang committed
66 67 68 69 70 71 72 73
        userlog.start();
        return ResultModel.OK(tkioAccountService.forbidenPress(loginAccount, resource));
    }

    //开启缴费提醒
    @RequestMapping(value = "/enablepress", method = RequestMethod.PUT)
    @ResponseBody
    public ResultModel enablePress(@CurrentAccount User loginAccount, @RequestBody PressMoney resource, HttpServletRequest request) {
manxiaoqiang committed
74
        UserLogThread userlog = new UserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), resource.getEmail(), "开启异常状态跟进", request,loginAccount.getRole(),"track");
manxiaoqiang committed
75 76 77 78
        userlog.start();
        return ResultModel.OK(tkioAccountService.enablePress(loginAccount, resource));
    }

79 80 81
    //缴费
    @RequestMapping(value = "/pay", method = RequestMethod.PUT)
    @ResponseBody
manxiaoqiang committed
82
    public ResultModel pay(@CurrentAccount User loginAccount, @RequestBody Payment resource, HttpServletRequest request) {
manxiaoqiang committed
83
        UserLogThread userlog = new UserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), resource.getEmail(), "缴费", request,loginAccount.getRole(),"track");
manxiaoqiang committed
84
        userlog.start();
85 86 87 88 89 90
        return ResultModel.OK(tkioAccountService.pay(loginAccount, resource));
    }

    //回访
    @RequestMapping(value = "/visit", method = RequestMethod.PUT)
    @ResponseBody
manxiaoqiang committed
91
    public ResultModel visit(@CurrentAccount User loginAccount, @RequestBody BackVisit resource, HttpServletRequest request) {
manxiaoqiang committed
92
        UserLogThread userlog = new UserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), resource.getEmail(), "回访", request,loginAccount.getRole(),"track");
manxiaoqiang committed
93
        userlog.start();
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
        return ResultModel.OK( tkioAccountService.visit(loginAccount, resource));
    }
    //功能使用查询
    @RequestMapping(value = "/find/function/{accountId}", method = RequestMethod.GET)
    @ResponseBody
    public ResultModel updateName(@CurrentAccount User loginAccount, @RequestParam String startDate,
                                  @RequestParam String endDate,  @PathVariable Long accountId) {

        return ResultModel.OK(tkioAccountService.findFunTimes(accountId,startDate,endDate));
    }


    //到期提醒查询
    @RequestMapping(value = "/find/reminder/{accountId}", method = RequestMethod.GET)
    @ResponseBody
    public ResultModel findRed(@CurrentAccount User loginAccount, @RequestParam String startDate,
                          @RequestParam String endDate,  @PathVariable Long accountId) {

        return ResultModel.OK(tkioAccountService.findRed(accountId,startDate,endDate));
    }

    //回访查询
    @RequestMapping(value = "/find/visit/{accountId}", method = RequestMethod.GET)
    @ResponseBody
    public ResultModel findVisit(@CurrentAccount User loginAccount, @RequestParam String startDate,
                               @RequestParam String endDate,  @PathVariable Long accountId) {

        return ResultModel.OK(tkioAccountService.findVisit(accountId,startDate,endDate));
    }

    //缴费查询
    @RequestMapping(value = "/find/pay/{accountId}", method = RequestMethod.GET)
    @ResponseBody
    public ResultModel findPay(@CurrentAccount User loginAccount, @RequestParam String startDate,
manxiaoqiang committed
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
                               @RequestParam String endDate,  @RequestParam String email,  @PathVariable Long accountId) {

        return ResultModel.OK(tkioAccountService.findPay(email,startDate,endDate));
    }

    //套餐变更查询
    @RequestMapping(value = "/find/contract/{accountId}", method = RequestMethod.GET)
    @ResponseBody
    public ResultModel findChange(@CurrentAccount User loginAccount,  @RequestParam String email,  @PathVariable Long accountId) {

        return ResultModel.OK(tkioAccountService.findContract(email));
    }

    //合同查询
    @RequestMapping(value = "/find/change/{accountId}", method = RequestMethod.GET)
    @ResponseBody
    public ResultModel findContract(@CurrentAccount User loginAccount, @RequestParam String startDate,
                                    @RequestParam String endDate,  @RequestParam String email,  @PathVariable Long accountId) {
146

manxiaoqiang committed
147
        return ResultModel.OK(tkioAccountService.findContractChange(email,startDate,endDate));
148 149 150
    }

}