123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874 |
- package com.huiju.estateagents.controller;
-
-
- import com.alibaba.excel.EasyExcel;
- import com.alibaba.excel.ExcelWriter;
- import com.alibaba.excel.write.metadata.WriteSheet;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.huiju.estateagents.base.ResponseBean;
- import com.huiju.estateagents.center.taUser.entity.TaUser;
- import com.huiju.estateagents.center.taUser.service.ITaUserService;
- import com.huiju.estateagents.common.CommConstant;
- import com.huiju.estateagents.common.JWTUtils;
- import com.huiju.estateagents.common.StringUtils;
- import com.huiju.estateagents.entity.*;
- import com.huiju.estateagents.event.EventBus;
- import com.huiju.estateagents.excel.*;
- import com.huiju.estateagents.excel.handler.CustomCellWriteHandler;
- import com.huiju.estateagents.mapper.TaPersonBuildingMapper;
- import com.huiju.estateagents.mapper.TaRecommendCustomerMapper;
- import com.huiju.estateagents.service.ITaPersonService;
- import com.huiju.estateagents.service.ITaRecommendCustomerService;
- import com.huiju.estateagents.service.TaChannelPersonService;
- import com.huiju.estateagents.service.TaChannelService;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiImplicitParams;
- import io.swagger.annotations.ApiOperation;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.ApplicationContext;
- import org.springframework.web.bind.annotation.*;
-
- import com.huiju.estateagents.base.BaseController;
-
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import java.time.LocalDateTime;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
-
- /**
- * <p>
- * 推荐客户表 前端控制器
- * </p>
- *
- * @author jobob
- * @since 2019-05-10
- */
- @RestController
- @RequestMapping("/api")
- @Api(value = "项目类型", tags = "项目类型")
- public class TaRecommendCustomerController extends BaseController {
-
- @Autowired
- ITaRecommendCustomerService taRecommendCustomerService;
-
- @Autowired
- ITaPersonService taPersonService;
-
- @Resource
- private ApplicationContext applicationContext;
-
- @Autowired
- private TaChannelService taChannelService;
-
- @Autowired
- private TaChannelPersonService taChannelPersonService;
-
- @Autowired
- private TaRecommendCustomerMapper taRecommendCustomerMapper;
-
- @Autowired
- private TaPersonBuildingMapper taPersonBuildingMapper;
-
- @Autowired
- private ITaPersonService iTaPersonService;
-
- @Autowired
- private ITaUserService iTaUserService;
-
-
- /**
- * 我的客户列表
- * @param pageNumber
- * @param pageSize
- * @param keywords
- * @param request
- * @return
- */
- @GetMapping("/wx/customer/list")
- @ApiOperation(value = "查询我的客户列表", notes = "查询我的客户列表")
- @ApiImplicitParams({
- @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNumber", paramType = "query",value = "第几页"),
- @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
- @ApiImplicitParam(dataTypeClass = String.class, name = "keywords", paramType = "query",value = "搜索关键字,目前仅支持姓名")
- })
- public ResponseBean getMyCustList(@RequestParam int pageNumber, @RequestParam int pageSize, String keywords, HttpServletRequest request) {
- if (pageNumber < 0 || pageSize < 0) {
- return ResponseBean.error("分页参数不正确", ResponseBean.ERROR_ILLEGAL_PARAMS);
- }
-
- String openid = getOpenId(request);
- return taRecommendCustomerService.getMyCustList(openid, keywords, pageNumber, pageSize);
- }
-
- /**
- * 我的客户列表
- * @param pageNumber
- * @param pageSize
- * @param keywords
- * @param request
- * @return
- */
- @GetMapping("/admin/customer/list/{userId}")
- @ApiOperation(value = "查询我的客户列表", notes = "查询我的客户列表")
- @ApiImplicitParams({
- @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNumber", paramType = "query",value = "第几页"),
- @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
- @ApiImplicitParam(dataTypeClass = String.class, name = "keywords", paramType = "query",value = "搜索关键字,目前仅支持姓名")
- })
- public ResponseBean getAdminMyCustList(@RequestParam int pageNumber,
- @RequestParam int pageSize,
- @RequestParam(required = false) String keywords,
- @PathVariable("userId") Integer userId,
- HttpServletRequest request) {
- if (pageNumber < 0 || pageSize < 0) {
- return ResponseBean.error("分页参数不正确", ResponseBean.ERROR_ILLEGAL_PARAMS);
- }
-
- TaUser user = iTaUserService.getById(userId);
- if (null == user) {
- return ResponseBean.error("员工不存在!", ResponseBean.ERROR_ILLEGAL_PARAMS);
- }
- QueryWrapper<TaPerson> personQueryWrapper = new QueryWrapper<>();
- personQueryWrapper.eq("user_id", userId);
- TaPerson person = iTaPersonService.getOne(personQueryWrapper);
- if (null == person) {
- return ResponseBean.error("未绑定小程序!", ResponseBean.ERROR_ILLEGAL_PARAMS);
- }
- return taRecommendCustomerService.getAdminMyCustList(person.getMiniOpenid(), keywords, pageNumber, pageSize);
- }
-
- /**
- * 客户详情
- * @param id
- * @return
- */
- @GetMapping("/wx/customer/{id}")
- @ApiOperation(value = "查询客户详情", notes = "查询客户详情")
- @ApiImplicitParams({
- @ApiImplicitParam(dataTypeClass = String.class, name = "id", paramType = "path",value = "搜索关键字,目前仅支持姓名")
- })
- public ResponseBean getCustDetail(@PathVariable String id) {
- if (null == id || "".equals(id.trim())) {
- return ResponseBean.error("请求地址错误", ResponseBean.ERROR_ILLEGAL_PARAMS);
- }
-
- return taRecommendCustomerService.getCustDetail(id);
- }
-
- /**
- * 客户编辑
- * @param paramStr
- * @return
- */
- @PostMapping("/wx/customer/edit")
- @ApiOperation(value = "客户编辑", notes = "客户编辑")
- @ApiImplicitParams({
- @ApiImplicitParam(dataTypeClass = String.class, name = "id", paramType = "path",value = "搜索关键字,目前仅支持姓名")
- })
- public ResponseBean updateCust(@RequestBody String paramStr) {
- return taRecommendCustomerService.updateCustByJSON(paramStr);
- }
-
- /**
- * 推荐客户
- * @param paramStr
- * @param request
- * @return
- */
- @PostMapping("/wx/customer/new")
- public ResponseBean recommendCust(@RequestBody String paramStr, HttpServletRequest request) {
- String openid = getOpenId(request);
- Integer orgId = getOrgId(request);
- return taRecommendCustomerService.recommendCust(paramStr, openid,orgId);
- }
-
- /**
- * 报备客户
- * @param paramStr
- * @param request
- * @return
- */
- @PostMapping("/wx/customer/report")
- public ResponseBean reportCust(@RequestBody String paramStr, HttpServletRequest request) {
- String openid = getOpenId(request);
- Integer orgId = getOrgId(request);
- return taRecommendCustomerService.reportCust(paramStr, openid,orgId);
- }
-
- @PostMapping("/wx/customer/recommend")
- public ResponseBean getUnSignedCustomerList ( @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
- @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
- @RequestParam(value ="buildingId") String buildingId,
- HttpServletRequest request){
- String openid = getOpenId(request);
- List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
- if (null == taPersons || taPersons.size() != 1) {
- return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
- }
- TaPerson person = taPersons.get(0);
- try{
- return ResponseBean.success(taRecommendCustomerService.getUnSignedCustomerList(pageNumber,pageSize,buildingId,person.getPersonId()));
- }catch (Exception e){
- e.printStackTrace();
- return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
- }
- }
-
- @GetMapping("/wx/customer/myReport")
- public ResponseBean getCustomerIReport (HttpServletRequest request,
- @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
- @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
- String openid = getOpenId(request);
- List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
- if (null == taPersons || taPersons.size() != 1) {
- return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
- }
- TaPerson person = taPersons.get(0);
- try{
- IPage<TaRecommendCustomer>pg = new Page<>(pageNumber,pageSize);
- QueryWrapper<TaRecommendCustomer>queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("realty_consultant",person.getPersonId());
- queryWrapper.eq("report_recommend_status",CommConstant.REPORTED);
- queryWrapper.eq("status",CommConstant.CUSTOMER_REPORT);
- queryWrapper.orderByDesc("create_date");
- IPage<TaRecommendCustomer>result = taRecommendCustomerService.page(pg,queryWrapper);
- return ResponseBean.success(result);
- }catch (Exception e){
- e.printStackTrace();
- return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
- }
- }
-
- @GetMapping("/wx/customer/myCustomer")
- public ResponseBean getMyCustomer ( @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
- @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
- HttpServletRequest request){
- String openid = getOpenId(request);
- List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
- if (null == taPersons || taPersons.size() != 1) {
- return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
- }
- TaPerson person = taPersons.get(0);
-
- try{
- IPage<TaRecommendCustomer>pg = new Page<>(pageNumber,pageSize);
- QueryWrapper<TaRecommendCustomer>queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("realty_consultant",person.getPersonId());
- // queryWrapper.eq("report_recommend_status",CommConstant.REPORTED);
- queryWrapper.gt("status",CommConstant.STATUS_UNACCALIMED);
- queryWrapper.orderByDesc("create_date");
- IPage<TaRecommendCustomer>result = taRecommendCustomerService.page(pg,queryWrapper);
- return ResponseBean.success(result);
- }catch (Exception e){
- e.printStackTrace();
- return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
- }
- }
-
-
- @GetMapping("/wx/customer/myInviteAgent")
- public ResponseBean getMyInviteAgent (@RequestParam(value ="personId") String personId,
- @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
- @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
- try{
- IPage<TaRecommendCustomer>pg = new Page<>(pageNumber,pageSize);
- QueryWrapper<TaRecommendCustomer>queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("realty_consultant",personId);
- queryWrapper.eq("report_recommend_status",CommConstant.REPORTED);
- queryWrapper.orderByDesc("create_date");
- IPage<TaRecommendCustomer>result = taRecommendCustomerService.page(pg,queryWrapper);
- return ResponseBean.success(result);
- }catch (Exception e){
- e.printStackTrace();
- return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
- }
- }
-
-
- // 客户列表 公客/私客
- @GetMapping("/admin/customer/recommend")
- public ResponseBean getCustomerList (HttpServletRequest request,
- @RequestParam(value ="name",required = false) String name,
- @RequestParam(value ="tel",required = false) String tel,
- @RequestParam(value ="buildingId",required = false) String buildingId,
- @RequestParam(value ="consultName",required = false) String consultName,
- @RequestParam(value ="consultTel",required = false) String consultTel,
- @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
- @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
- @RequestParam(value ="entryType",required = false) String entryType,
- @RequestParam(value ="verifyStatus",required = false) String verifyStatus,
- @RequestParam(value = "sex",required = false)Integer sex,
- @RequestParam(value = "customerType") String customerType,// public 公 private 私
- @RequestParam(value = "status",required = false) Integer status){
- try{
-
- // TODO 目前如果是公客,就取当前操作人员的 buildingId
- // if ("public".equals(customerType)) {
- // Map<String,Object> map = JWTUtils.getUserIdAndOrgId(request);
- // String userId = (String) map.get("userId");
- // QueryWrapper<TaPersonBuilding> queryWrapper = new QueryWrapper<>();
- // queryWrapper.eq("user_id", userId);
- // queryWrapper.orderByDesc("create_date");
- // queryWrapper.last("limit 1");
- // TaPersonBuilding personBuilding = taPersonBuildingMapper.selectOne(queryWrapper);
- // buildingId = personBuilding.getBuildingId();
- // }
- return ResponseBean.success(taRecommendCustomerService.getCustomerList(status,pageNumber,pageSize,buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex, customerType, getOrgId(request),getTaPersonBuildingListByUserId(request)));
- }catch (Exception e){
- e.printStackTrace();
- return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
- }
- }
-
-
- //推荐客户列表
- @GetMapping("/admin/customer/recommend/recommender")
- public ResponseBean getRecCustomerList (HttpServletRequest request,
- @RequestParam(value ="name",required = false) String name,
- @RequestParam(value ="tel",required = false) String tel,
- @RequestParam(value ="buildingId",required = false) String buildingId,
- @RequestParam(value ="consultName",required = false) String consultName,
- @RequestParam(value ="consultTel",required = false) String consultTel,
- @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
- @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
- @RequestParam(value ="entryType",required = false) String entryType,
- @RequestParam(value ="verifyStatus",required = false) String verifyStatus,
- @RequestParam(value = "sex",required = false)Integer sex){
- try{
- return ResponseBean.success(taRecommendCustomerService.getRecCustomerList(pageNumber,pageSize,buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex, getOrgId(request),getTaPersonBuildingListByUserId(request)));
- }catch (Exception e){
- e.printStackTrace();
- return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
- }
- }
-
- //报备客户列表
- @GetMapping("/admin/customer/recommend/report")
- public ResponseBean getRepCustomerList (@RequestParam(value ="name",required = false) String name,
- @RequestParam(value ="tel",required = false) String tel,
- @RequestParam(value ="buildingId",required = false) String buildingId,
- @RequestParam(value ="consultName",required = false) String consultName,
- @RequestParam(value ="consultTel",required = false) String consultTel,
- @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
- @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
- @RequestParam(value ="entryType",required = false) String entryType,
- @RequestParam(value ="verifyStatus",required = false) String verifyStatus,
- @RequestParam(value = "sex",required = false)Integer sex, HttpServletRequest request){
- Integer orgid = getOrgId(request);
- try{
- return ResponseBean.success(taRecommendCustomerService.getRepCustomerList(pageNumber,pageSize,buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex, orgid,getTaPersonBuildingListByUserId(request)));
- }catch (Exception e){
- e.printStackTrace();
- return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
- }
- }
-
-
- /**
- * 经纪人列表
- * @param name
- * @param tel
- * @param pageNumber
- * @param pageSize
- * @return
- */
- @GetMapping("/admin/customer/agents")
- public ResponseBean getIndependentAgents (HttpServletRequest request,
- @RequestParam(value ="name",required = false) String name,
- @RequestParam(value ="tel",required = false) String tel,
- @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
- @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
- try{
- return ResponseBean.success(taRecommendCustomerService.getIndependentAgents(pageNumber,pageSize,name,tel, getOrgId(request)));
- }catch (Exception e){
- e.printStackTrace();
- return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
- }
- }
-
-
- @GetMapping("/admin/customer/recommend/{customerId}")
- public ResponseBean getCustomersIRecommended (@RequestParam int pageNumber, @RequestParam int pageSize, @PathVariable String customerId,HttpServletRequest request){
- Integer orgId = getOrgId(request);
- try{
- return ResponseBean.success(taRecommendCustomerService.getCustomersIRecommended(pageNumber,pageSize,customerId,orgId));
- }catch (Exception e){
- e.printStackTrace();
- return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
- }
- }
-
- @GetMapping("/wx/customer/recommend/mine")
- public ResponseBean getWxCustomersIRecommended (@RequestParam int pageNumber, @RequestParam int pageSize,HttpServletRequest request){
- Integer orgId =getOrgId(request);
- String openid = getOpenId(request);
- List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
- if (null == taPersons || taPersons.size() != 1) {
- return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
- }
- TaPerson person = taPersons.get(0);
- try{
- return ResponseBean.success(taRecommendCustomerService.getCustomersIRecommended(pageNumber,pageSize,person.getPersonId(),orgId));
- }catch (Exception e){
- e.printStackTrace();
- return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
- }
- }
-
-
-
- /**
- * 修改对象
- * @param taRecommendCustomer 实体对象
- * @return
- */
- @RequestMapping(value="/wx/customer/recommend/edit/{customerId}",method= RequestMethod.PUT)
- public ResponseBean taRecommendCustomerUpdateWx(@PathVariable String customerId,
- @RequestBody TaRecommendCustomer taRecommendCustomer){
- ResponseBean responseBean = new ResponseBean();
- taRecommendCustomer.setCustomerId(customerId);
- try {
- if (taRecommendCustomerService.updateById(taRecommendCustomer)){
- responseBean.addSuccess(taRecommendCustomer);
- }else {
- responseBean.addError("fail");
- }
- }catch (Exception e){
- e.printStackTrace();
- responseBean.addError(e.getMessage());
- }
- return responseBean;
- }
- /**
- * 修改对象
- * @param taRecommendCustomer 实体对象
- * @return
- */
- @RequestMapping(value="/admin/customer/recommend/edit/{id}",method= RequestMethod.PUT)
- public ResponseBean taRecommendCustomerUpdate(@PathVariable String id,
- @RequestBody TaRecommendCustomer taRecommendCustomer){
- ResponseBean responseBean = new ResponseBean();
- taRecommendCustomer.setCustomerId(id);
- try {
- if (taRecommendCustomerService.updateById(taRecommendCustomer)){
- responseBean.addSuccess(taRecommendCustomer);
- }else {
- responseBean.addError("fail");
- }
- }catch (Exception e){
- e.printStackTrace();
- responseBean.addError(e.getMessage());
- }
- return responseBean;
- }
-
- // /**
- // * 修改对象
- // * @param taRecommendCustomer 实体对象
- // * @return
- // */
- // @RequestMapping(value="/wx/customer/recommend/edit/{id}",method= RequestMethod.PUT)
- // public ResponseBean taWxRecommendCustomerUpdate(@PathVariable String id,
- // @RequestBody TaRecommendCustomer taRecommendCustomer){
- // ResponseBean responseBean = new ResponseBean();
- // taRecommendCustomer.setCustomerId(id);
- // try {
- // if (taRecommendCustomerService.updateById(taRecommendCustomer)){
- // responseBean.addSuccess(taRecommendCustomer);
- // }else {
- // responseBean.addError("fail");
- // }
- // }catch (Exception e){
- // e.printStackTrace();
- // responseBean.addError(e.getMessage());
- // }
- // return responseBean;
- // }
-
- @RequestMapping(value = "/wx/customer/recommend/get/{customerId}", method = RequestMethod.GET)
- public ResponseBean getSingleCustomer(@PathVariable(value = "customerId") String customerId) {
- ResponseBean responseBean = new ResponseBean();
- try {
- responseBean.addSuccess(taRecommendCustomerService.getById(customerId));
- }catch (Exception e){
- e.printStackTrace();
- responseBean.addError(e.getMessage());
- }
- return responseBean;
- }
-
-
- @RequestMapping(value = "/admin/customer/recommend/getById/{id}", method = RequestMethod.GET)
- public ResponseBean getRecommendCustomerById(@PathVariable(value = "id") String customerId) {
- ResponseBean responseBean = new ResponseBean();
- try {
- responseBean.addSuccess(taRecommendCustomerService.getCustomerById(customerId));
- }catch (Exception e){
- e.printStackTrace();
- responseBean.addError(e.getMessage());
- }
- return responseBean;
- }
-
-
- @GetMapping(value = "/admin/customer/recommend/get/{id}")
- public ResponseBean getCustomerDetail(@PathVariable String id,
- @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
- @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) {
- ResponseBean responseBean = new ResponseBean();
- try {
- responseBean.addSuccess(taRecommendCustomerService.getCustomerDetail(id,pageNumber,pageSize));
- }catch (Exception e){
- e.printStackTrace();
- responseBean.addError(e.getMessage());
- }
- return responseBean;
- }
-
- @GetMapping(value = "/admin/customer/recommend/public/get/{id}")
- public ResponseBean getPublicCustomerDetail(@PathVariable String id,
- @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
- @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) {
- ResponseBean responseBean = new ResponseBean();
- try {
- responseBean.addSuccess(taRecommendCustomerService.getPublicCustomerDetail(id,pageNumber,pageSize));
- }catch (Exception e){
- e.printStackTrace();
- responseBean.addError(e.getMessage());
- }
- return responseBean;
- }
-
- @GetMapping("/admin/customer/recommend/drift")
- public ResponseBean getDriftCustomerList (HttpServletRequest request,
- @RequestParam(value ="buildingId",defaultValue = "false") String buildingId,
- @RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber,
- @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
- try{
- return ResponseBean.success(taPersonService.getDriftCustomerList(pageNumber,pageSize,buildingId, getOrgId(request)));
- }catch (Exception e){
- e.printStackTrace();
- return ResponseBean.error(e.getMessage(),ResponseBean.ERROR_UNAVAILABLE);
- }
- }
-
- /**
- * 修改对象
- * @return
- */
- @RequestMapping(value="/admin/customer/recommend/verify/{id}",method= RequestMethod.PUT)
- public ResponseBean taRecommendCustomerVerify(@PathVariable String id,@RequestParam Integer verifyStatus, @RequestParam(required = false) String verifyRemark, HttpServletRequest request){
- if (null == verifyStatus) {
- return ResponseBean.error("审核结果非法", ResponseBean.ERROR_ILLEGAL_PARAMS);
- }
- Integer orgId = getOrgId(request);
- ResponseBean responseBean = new ResponseBean();
- try {
- TaRecommendCustomer taRecommendCustomer = taRecommendCustomerService.getById(id);
- if(null == taRecommendCustomer.getVerifyStatus() || 0 == taRecommendCustomer.getVerifyStatus().intValue()){ // taRecommendCustomer.getVerifyStatus().equals(CommConstant.VERIFY_READY)
- taRecommendCustomer.setVerifyStatus(verifyStatus);
- if(!StringUtils.isEmpty(verifyRemark)){
- taRecommendCustomer.setVerifyRemark(verifyRemark);
- if(CommConstant.CUSTOMER_REPORT.equals(taRecommendCustomer.getReportRecommendStatus())){
- taRecommendCustomer.setRealtyConsultant(taRecommendCustomer.getRecommendPerson());
- }
- }
-
- // 审核不通过的时候,移除置业顾问选择
- if (CommConstant.VERIFY_DISAGREE == verifyStatus) {
- taRecommendCustomer.setRealtyConsultant(null);
- }
-
- if (taRecommendCustomerService.updateById(taRecommendCustomer)){
-
- // 审核通过增加积分
- if (CommConstant.VERIFY_AGREE == verifyStatus) {
- applicationContext.publishEvent(new EventBus(taRecommendCustomer, EventBus.EventType.RecommendCustomer, orgId));
- }
-
- responseBean.addSuccess(taRecommendCustomer);
- }else {
- responseBean.addError("fail");
- }
- } else {
- responseBean.addSuccess("客户已审核");
- }
-
- }catch (Exception e){
- e.printStackTrace();
- responseBean.addError(e.getMessage());
- }
- return responseBean;
- }
-
- /**
- * 导出数据(推荐客户列表)
- */
- @GetMapping("/admin/customer/recommend/recommender/export")
- public void export(HttpServletRequest request, HttpServletResponse response) throws IOException {
- // response.setContentType("application/vnd.ms-excel");
- response.setContentType("application/octet-stream");
- response.setCharacterEncoding("utf-8");
- response.setHeader("Content-disposition", "attachment;filename=推荐客户.xlsx");
-
- Integer count = taRecommendCustomerService.getRecCustomerExportCount(getOrgId(request),getTaPersonBuildingListByUserId(request));
-
- Integer pageCode = 0;
- Integer pageSize = 100;
- // 总页数
- Integer pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
- // 设置读取的class
- ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), ExcelRecommendCustomer.class).registerWriteHandler(new CustomCellWriteHandler()).build();
- // 设置 sheet, 同一个sheet只需要设置一次
- WriteSheet writeSheet = EasyExcel.writerSheet("推荐客户").build();
- do {
- List<ExcelRecommendCustomer> recCustomerExport = taRecommendCustomerService.getRecCustomerExport(getOrgId(request), pageCode * pageSize, pageSize,getTaPersonBuildingListByUserId(request));
- excelWriter.write(recCustomerExport, writeSheet);
-
- pageCode ++;
- } while (pageCode <= pageCount);
-
- /// finish 会帮忙关闭流
- excelWriter.finish();
-
- }
-
-
- /**
- * 导出数据(报备客户)
- */
- @GetMapping("/admin/customer/recommend/report/export")
- public void reportExport(HttpServletRequest request,
- HttpServletResponse response,
- @RequestParam(value ="name",required = false) String name,
- @RequestParam(value ="tel",required = false) String tel,
- @RequestParam(value ="buildingId",required = false) String buildingId,
- @RequestParam(value ="consultName",required = false) String consultName,
- @RequestParam(value ="consultTel",required = false) String consultTel,
- @RequestParam(value ="entryType",required = false) String entryType,
- @RequestParam(value ="verifyStatus",required = false) String verifyStatus,
- @RequestParam(value = "sex",required = false)Integer sex) throws IOException {
- // response.setContentType("application/vnd.ms-excel");
- response.setContentType("application/octet-stream");
- response.setCharacterEncoding("utf-8");
- response.setHeader("Content-disposition", "attachment;filename=报备客户.xlsx");
-
- Integer count = taRecommendCustomerService.getRepCustomerReportCount(buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex,getOrgId(request));
-
- Integer pageCode = 0;
- Integer pageSize = 100;
- // 总页数
- Integer pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
- // 设置读取的class
- ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), ReporRecommendCustomer.class).registerWriteHandler(new CustomCellWriteHandler()).build();
- // 设置 sheet, 同一个sheet只需要设置一次
- WriteSheet writeSheet = EasyExcel.writerSheet("报备客户").build();
- List<ReporRecommendCustomer> recCustomerExport = null;
- do {
- recCustomerExport = taRecommendCustomerService.getRepCustomerReportExport(buildingId, name, tel, consultName, consultTel, entryType, verifyStatus, sex, getOrgId(request), pageCode * pageSize, pageSize);
- excelWriter.write(recCustomerExport, writeSheet);
-
- pageCode ++;
- } while (pageCode <= pageCount);
-
- /// finish 会帮忙关闭流
- excelWriter.finish();
-
- }
-
- /**
- * 导出数据(经纪人)
- */
- @GetMapping("/admin/customer/recommend/agents/export")
- public void agentsExport(HttpServletRequest request, HttpServletResponse response) throws IOException {
- // response.setContentType("application/vnd.ms-excel");
- response.setContentType("application/octet-stream");
- response.setCharacterEncoding("utf-8");
- response.setHeader("Content-disposition", "attachment;filename=经纪人.xlsx");
-
- Integer count = taRecommendCustomerService.getIndependentAgentsCount(getOrgId(request));
-
- Integer pageCode = 0;
- Integer pageSize = 100;
- // 总页数
- Integer pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
- // 设置读取的class
- ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), AgentsRecommendCustomer.class).registerWriteHandler(new CustomCellWriteHandler()).build();
- // 设置 sheet, 同一个sheet只需要设置一次
- WriteSheet writeSheet = EasyExcel.writerSheet("经纪人").build();
- List<AgentsRecommendCustomer> recCustomerExport = null;
- do {
- recCustomerExport = taRecommendCustomerService.getIndependentAgentsExport(getOrgId(request), pageCode * pageSize, pageSize);
- excelWriter.write(recCustomerExport, writeSheet);
-
- pageCode ++;
- } while (pageCode <= pageCount);
-
- /// finish 会帮忙关闭流
- excelWriter.finish();
-
- }
-
-
-
- // 客户列表 公客/私客
-
- /**
- * 导出数据 客户列表 公客/私客
- * @param request
- * @param response
- * @param name
- * @param tel
- * @param buildingId
- * @param consultName
- * @param consultTel
- * @param entryType
- * @param verifyStatus
- * @param sex
- * @param customerType
- * @param status
- * @throws IOException
- */
- @GetMapping("/admin/customer/recommend/export")
- public void getCustomerExportList (HttpServletRequest request,
- HttpServletResponse response,
- @RequestParam(value ="name",required = false) String name,
- @RequestParam(value ="tel",required = false) String tel,
- @RequestParam(value ="buildingId",required = false) String buildingId,
- @RequestParam(value ="consultName",required = false) String consultName,
- @RequestParam(value ="consultTel",required = false) String consultTel,
- @RequestParam(value ="entryType",required = false) String entryType,
- @RequestParam(value ="verifyStatus",required = false) String verifyStatus,
- @RequestParam(value = "sex",required = false)Integer sex,
- @RequestParam(value = "customerType") String customerType,
- @RequestParam(value = "status",required = false) Integer status) throws IOException { // public 公 private 私
-
- // response.setContentType("application/vnd.ms-excel");
- response.setContentType("application/octet-stream");
- response.setCharacterEncoding("utf-8");
- response.setHeader("Content-disposition", "attachment;filename=经纪人.xlsx");
-
- Integer orgId = getOrgId(request);
-
- Integer pageCode = 0;
- Integer pageSize = 100;
- // 总页数
- Integer pageCount = 0;
-
- if (CommConstant.CUTOMER_TYPE_PUBLIC.equals(customerType)) {
- /**
- * 公客
- */
-
- // 设置读取的class
- ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), PublicCustomerExport.class).registerWriteHandler(new CustomCellWriteHandler()).build();
- // 设置 sheet, 同一个sheet只需要设置一次
- WriteSheet writeSheet = EasyExcel.writerSheet("客户列表-公客").build();
-
- Integer count = taRecommendCustomerMapper.getPublicCustomerExportListCount(name, tel, entryType, verifyStatus, sex, orgId,consultTel);
- pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
- List<PublicCustomerExport> publicList = null;
- do {
- publicList = taRecommendCustomerMapper.getPublicCustomerExportList(pageCode * pageSize, pageSize, name, tel, entryType, verifyStatus, sex, orgId,consultTel);
- excelWriter.write(publicList, writeSheet);
-
- pageCode ++;
- } while (pageCode <= pageCount);
-
- // finish 会帮忙关闭流
- excelWriter.finish();
- } else {
- /**
- * 私客
- */
-
- // 设置读取的class
- ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), PrivateCustomerExport.class).registerWriteHandler(new CustomCellWriteHandler()).build();
- // 设置 sheet, 同一个sheet只需要设置一次
- WriteSheet writeSheet = EasyExcel.writerSheet("客户列表-私客").build();
-
- Integer count = taRecommendCustomerMapper.getCustomerExportListCount(buildingId, name, tel, consultName, consultTel, entryType, verifyStatus, sex, orgId,status);
- pageCount = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;
- List<PrivateCustomerExport> privateList = null;
- do {
- privateList = taRecommendCustomerMapper.getCustomerExportList(pageCode * pageSize, pageSize, buildingId, name, tel, consultName, consultTel, entryType, verifyStatus, sex, orgId,status);
- excelWriter.write(privateList, writeSheet);
-
- pageCode ++;
- } while (pageCode <= pageCount);
- // finish 会帮忙关闭流
- excelWriter.finish();
-
- }
-
-
- }
-
- /**
- * 查询判客工具下的我的客户人数集合
- * @param request
- * @return
- */
- @GetMapping("/wx/inventory/customer/statistics")
- @ApiOperation(value = "查询我的客户人数统计", notes = "查询我的客户人数统计")
- public ResponseBean getMyCustStatistics(HttpServletRequest request) {
- String openid = getOpenId(request);
- return taRecommendCustomerService.getMyCustStatistics(openid);
- }
-
- /**
- * 分页查询判客工具下的我的客户跟进人集合
- * 根据type区分 follow 跟进 clinch 成交
- * @param request
- * @return
- */
- @GetMapping("/wx/inventory/customer/statistics/{type}")
- @ApiOperation(value = "查询我的客户人数统计", notes = "查询我的客户人数统计")
- public ResponseBean getMyCustFollows(@PathVariable(value = "type") String type,
- @RequestParam(value = "pageNumber",defaultValue = "0") Integer pageNumber,
- @RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize,
- @RequestParam(value = "name",required = false) String name,
- @RequestParam(value = "phone",required = false) String phone,
- @RequestParam(value = "status",required = false) Integer status,
- @RequestParam(value = "startReportDate",required = false) String startReportDate,
- @RequestParam(value = "endReportDate",required = false) String endReportDate,
- @RequestParam(value = "startArrivalDate",required = false) String startArrivalDate,
- @RequestParam(value = "endArrivalDate",required = false) String endArrivalDate,
- HttpServletRequest request) {
- String openid = getOpenId(request);
- return taRecommendCustomerService.getMyCustFollowOrClinch(pageNumber,pageSize,openid,type,name,phone,status,startReportDate,endReportDate,startArrivalDate,endArrivalDate);
- }
-
- /**
- * 查询盘客工具下我的客户详情
- * @param request
- * @return
- */
- @GetMapping("/wx/inventory/customer/{customerId}")
- @ApiOperation(value = "查询客户详情", notes = "查询客户详情")
- public ResponseBean getMyCustDetail(@PathVariable(value = "customerId") String customerId,HttpServletRequest request) {
- String openid = getOpenId(request);
- return taRecommendCustomerService.getMyCustDetail(customerId,openid);
- }
-
- /**
- * 查询盘客工具下编辑基本信息
- * @param request
- * @return
- */
- @PutMapping("/wx/inventory/customer/{customerId}")
- @ApiOperation(value = "编辑客户信息", notes = "编辑客户信息")
- public ResponseBean updateMyCustDetail(@PathVariable(value = "customerId") String customerId,
- @RequestBody TaRecommendCustomer taRecommendCustomer, HttpServletRequest request) {
- String openid = getOpenId(request);
- taRecommendCustomer.setCustomerId(customerId);
- return taRecommendCustomerService.updateMyCust(taRecommendCustomer,openid);
- }
- }
|