package com.stylefeng.guns.modular.shunfeng.controller;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.baomidou.mybatisplus.plugins.Page;
|
import com.stylefeng.guns.core.base.controller.BaseController;
|
import com.stylefeng.guns.core.base.tips.ErrorTip;
|
import com.stylefeng.guns.core.beetl.ShiroExtUtil;
|
import com.stylefeng.guns.core.common.constant.factory.PageFactory;
|
import com.stylefeng.guns.core.log.LogObjectHolder;
|
import com.stylefeng.guns.core.shiro.ShiroUser;
|
import com.stylefeng.guns.modular.shunfeng.model.AppDriverRide;
|
import com.stylefeng.guns.modular.shunfeng.service.IAppDriverRideService;
|
import com.stylefeng.guns.modular.system.model.TCarBrand;
|
import com.stylefeng.guns.modular.system.model.TCompany;
|
import com.stylefeng.guns.modular.system.model.TUser;
|
import com.stylefeng.guns.modular.system.model.User;
|
import com.stylefeng.guns.modular.system.service.ITCarBrandService;
|
import com.stylefeng.guns.modular.system.service.ITCompanyService;
|
import com.stylefeng.guns.modular.system.service.ITUserService;
|
import com.stylefeng.guns.modular.system.service.IUserService;
|
import com.stylefeng.guns.modular.system.util.ResultUtil;
|
import com.stylefeng.guns.modular.system.util.qianyuntong.EmployeeUtil;
|
import com.stylefeng.guns.modular.system.util.qianyuntong.UserUtil;
|
import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTUserInfo;
|
import com.stylefeng.guns.modular.system.util.qianyuntong.model.SaveStaffNode;
|
import com.stylefeng.guns.modular.system.util.qianyuntong.model.SaveStaffNodeRequest;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Timer;
|
import java.util.TimerTask;
|
|
/**
|
* 顺风车司机控制器
|
* @Date 2020-04-27 10:56:28
|
*/
|
@Controller
|
@RequestMapping("/appDriverRide")
|
public class AppDriverRideController extends BaseController {
|
|
private String PREFIX = "/shunfeng/appDriverRide/";
|
|
@Autowired
|
private IAppDriverRideService appDriverRideService;
|
|
@Autowired
|
private ITUserService userService;
|
|
@Autowired
|
private IUserService sysUserService;
|
|
@Autowired
|
private ShiroExtUtil shiroExtUtil;
|
|
@Autowired
|
private ITCarBrandService carBrandService;
|
|
@Autowired
|
private ITCompanyService itCompanyService;
|
|
/**
|
* 跳转到顺风车司机首页
|
*/
|
@RequestMapping("")
|
public String index() {
|
return PREFIX + "appDriverRide.html";
|
}
|
/**
|
* 跳转到司机管理审核列表页面
|
*/
|
@RequestMapping("/auditList")
|
public String auditList() {
|
return PREFIX + "appDriverRide_auditList.html";
|
}
|
|
|
/**
|
* 跳转到添加顺风车司机
|
*/
|
@RequestMapping("/appDriverRide_add")
|
public String appDriverRideAdd() {
|
return PREFIX + "appDriverRide_add.html";
|
}
|
|
/**
|
* 跳转到修改顺风车司机
|
*/
|
@RequestMapping("/appDriverRide_update/{appDriverRideId}")
|
public String appDriverRideUpdate(@PathVariable Integer appDriverRideId, Model model) {
|
AppDriverRide appDriverRide = appDriverRideService.selectById(appDriverRideId);
|
model.addAttribute("item",appDriverRide);
|
TUser appUserInfo=userService.selectOne(new EntityWrapper<TUser>().eq("driverId",appDriverRideId));
|
model.addAttribute("user",appUserInfo);
|
List<TCarBrand> brands=carBrandService.selectList(null);
|
model.addAttribute("brands",brands);
|
return PREFIX + "appDriverRide_update.html";
|
}
|
/**
|
* 跳转到查看顺风车图片
|
*/
|
@RequestMapping("/appDriverRide_showPic/{appDriverRideId}")
|
public String appDriverRideShowPic(@PathVariable Integer appDriverRideId, Model model) {
|
AppDriverRide appDriverRide = appDriverRideService.selectById(appDriverRideId);
|
model.addAttribute("item",appDriverRide);
|
LogObjectHolder.me().set(appDriverRide);
|
return PREFIX + "appDriverRide_showPic.html";
|
}
|
/**
|
* 跳转到查看顺风车详情
|
*/
|
@RequestMapping("/appDriverRide_detail/{appDriverRideId}")
|
public String appDriverRideDetail(@PathVariable Integer appDriverRideId, Model model) {
|
AppDriverRide appDriverRide = appDriverRideService.selectById(appDriverRideId);
|
model.addAttribute("item",appDriverRide);
|
TUser appUserInfo=userService.selectOne(new EntityWrapper<TUser>().eq("driverId",appDriverRideId));
|
model.addAttribute("user",appUserInfo);
|
return PREFIX + "appDriverRide_detail.html";
|
}
|
/**
|
* 跳转到顺风车司机审核
|
*/
|
@RequestMapping("/appDriverRide_audit/{appDriverRideId}")
|
public String appDriverRideAudit(@PathVariable Integer appDriverRideId, Model model) {
|
AppDriverRide appDriverRide = appDriverRideService.selectById(appDriverRideId);
|
model.addAttribute("item",appDriverRide);
|
LogObjectHolder.me().set(appDriverRide);
|
return PREFIX + "appDriverRide_audit.html";
|
}
|
|
/**
|
* 获取顺风车司机列表
|
*/
|
@RequestMapping(value = "/list")
|
@ResponseBody
|
public Object list(AppDriverRide appDriverRide) {
|
Page<Map<String,Object>> page = new PageFactory<Map<String,Object>>().defaultPage();
|
List<Map<String, Object>> result = appDriverRideService.getAppDriverRide(appDriverRide,page);
|
page.setRecords(result);
|
return super.packForBT(page);
|
}
|
|
|
|
/**
|
* 新增顺风车司机
|
*/
|
@RequestMapping(value = "/add")
|
@ResponseBody
|
public Object add(AppDriverRide appDriverRide) {
|
appDriverRideService.insert(appDriverRide);
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 删除顺风车司机
|
*/
|
@RequestMapping(value = "/delete")
|
@ResponseBody
|
public Object delete(@RequestParam Integer appDriverRideId) {
|
appDriverRideService.deleteById(appDriverRideId);
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 修改顺风车司机 (顺风车司机审核)
|
*/
|
@RequestMapping(value = "/update")
|
@ResponseBody
|
public Object update(AppDriverRide appDriverRide,String certificationImg) {
|
AppDriverRide appDriverRide1=appDriverRideService.selectById(appDriverRide.getId());
|
TUser userInfo=userService.selectById(appDriverRide1.getUserId());
|
if(appDriverRide.getState()!=null && appDriverRide.getState()==2){//顺风车司机通过审核之后需要把id绑定到用户表中
|
userInfo.setIsDriverRide(1);//是否为顺风车司机(0否,1是)
|
userService.updateById(userInfo);
|
|
TCompany tCompany = itCompanyService.selectById(appDriverRide1.getCompanyId());
|
List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(userInfo.getPhone(), tCompany.getEnterCode());
|
Long empId = null;
|
Integer empnew = null;
|
if(null == userInfoByPhone || userInfoByPhone.size() == 0){
|
ShiroUser user = shiroExtUtil.getUser();
|
User user2 = sysUserService.selectById(user.getId());
|
SaveStaffNodeRequest request = new SaveStaffNodeRequest();
|
request.setMobile(user2.getPhone());
|
request.setEntercode(tCompany.getEnterCode());
|
request.setEmpName(userInfo.getName());
|
request.setEmpNickname(userInfo.getName());
|
request.setLoginNo(userInfo.getPhone());
|
request.setEmpSex(userInfo.getSex() == 1 ? "男" : "女");
|
request.setMphone(userInfo.getPhone());
|
request.setEmail(userInfo.getPhone() + "@qyt.com");
|
request.setDeptId(0);
|
request.setPositionId(1);
|
request.setSuperLevel(0);
|
request.setHideMobile(0);
|
ResultUtil<SaveStaffNode> resultUtil = EmployeeUtil.saveStaffNode(request);
|
if(200 != resultUtil.getStatus()){
|
return new ErrorTip(resultUtil.getStatus(), resultUtil.getMsg());
|
}
|
SaveStaffNode saveStaffNode = resultUtil.getData();
|
empId = saveStaffNode.getEmpId();
|
empnew = 1;
|
}else{
|
empId = userInfoByPhone.get(0).getEmpId();
|
empnew = 0;
|
}
|
|
appDriverRide.setEmpId(empId);
|
appDriverRide.setEntercode(tCompany.getEnterCode());
|
appDriverRide.setEnterId(Long.valueOf(tCompany.getEnterCode()));
|
appDriverRide.setEmpnew(empnew);
|
//编写异步延迟处理中台账号延迟创建的问题
|
if(0 == empId){
|
Timer timer = new Timer();
|
String finalEnterCode = tCompany.getEnterCode();
|
timer.schedule(new TimerTask() {
|
@Override
|
public void run() {
|
List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(userInfo.getPhone(), finalEnterCode);
|
if(null != userInfoByPhone && userInfoByPhone.size() > 0){
|
Long empId1 = userInfoByPhone.get(0).getEmpId();
|
appDriverRide.setEmpId(empId1);
|
appDriverRideService.updateById(appDriverRide);
|
}
|
}
|
},120*1000);
|
}
|
}else {
|
if(certificationImg!=null){
|
userInfo.setCertificationImg(certificationImg);
|
userService.updateById(userInfo);
|
}
|
}
|
appDriverRideService.updateById(appDriverRide);
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 顺风车司机详情
|
*/
|
@RequestMapping(value = "/detail/{appDriverRideId}")
|
@ResponseBody
|
public Object detail(@PathVariable("appDriverRideId") Integer appDriverRideId) {
|
return appDriverRideService.selectById(appDriverRideId);
|
}
|
}
|