From 85eab076207efee683efb6fd04b2ca48b24d797a Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 22 二月 2023 17:15:31 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java | 217 management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_add.html | 276 - management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_edit.html | 304 - management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TRegionController.java | 104 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java | 4 management/guns-admin/src/main/webapp/WEB-INF/view/system/tRegion/tRegion_add.html | 31 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderRefusalController.java | 118 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java | 2066 +-------- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java | 12 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TRechargeRecordMapper.xml | 24 management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderRefusal/tOrderRefusal_edit.html | 32 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TRechargeRecord.java | 167 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java | 185 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java | 6 management/guns-admin/src/main/webapp/WEB-INF/view/system/tRegion/tRegion.html | 38 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TAgentResp.java | 87 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TRechargeRecordMapper.java | 18 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRechargeRecordServiceImpl.java | 20 management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgent_edit.html | 35 management/guns-admin/src/main/webapp/static/modular/system/tAgent/tAgent.js | 237 + management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverStartAndStop.html | 30 management/guns-admin/src/main/webapp/WEB-INF/view/system/tBranchOffice/tBranchOffice_edit.html | 38 management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderRefusal/tOrderRefusal.html | 38 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TDriverResp.java | 75 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TDriverMapper.java | 86 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRegionServiceImpl.java | 44 management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverExceptionStartAndStop.html | 30 management/guns-admin/src/main/webapp/WEB-INF/view/system/tRegion/tRegion_edit.html | 31 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITRechargeRecordService.java | 16 management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderRefusal/tOrderRefusal_add.html | 32 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/PayStatusEnum.java | 50 management/guns-admin/src/main/webapp/static/modular/system/tOrderRefusal/tOrderRefusal.js | 101 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TRechargeRecordController.java | 104 management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgent_add.html | 79 management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver.js | 477 +- management/guns-admin/src/main/webapp/static/modular/system/tBranchOffice/tBranchOffice_info.js | 105 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAgent.java | 223 + management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAppUser.java | 2 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TRegion.java | 15 management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriverException.js | 230 + management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver_info.js | 104 management/guns-admin/src/main/webapp/static/modular/system/tRechargeRecord/tRechargeRecord.js | 106 management/guns-admin/src/main/webapp/static/modular/system/tRegion/tRegion_info.js | 98 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TRegionMapper.java | 6 management/guns-admin/src/main/webapp/static/modular/system/tRegion/tRegion.js | 102 management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverRechargeBalancePage.html | 24 management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecord.html | 38 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderRefusalServiceImpl.java | 20 management/guns-admin/src/main/webapp/static/modular/system/tAgent/tAgent_info.js | 104 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TBranchOffice.java | 205 + management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver.html | 68 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/UserTypeEnum.java | 50 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java | 2 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBranchOfficeController.java | 104 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java | 86 management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgentArea.html | 35 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java | 8 management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecord_edit.html | 35 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderRefusalService.java | 16 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderRefusalMapper.java | 16 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java | 266 + management/guns-admin/src/main/webapp/static/modular/system/tOrderRefusal/tOrderRefusal_info.js | 99 management/guns-admin/src/main/webapp/static/modular/system/tRechargeRecord/tRechargeRecord_info.js | 102 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TDriverMapper.xml | 308 - management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/taxi/TOrderTaxiController.java | 8 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITAgentService.java | 38 management/guns-admin/src/main/webapp/WEB-INF/view/system/tBranchOffice/tBranchOffice.html | 38 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderRefusalMapper.xml | 21 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TBranchOfficeServiceImpl.java | 20 management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgent.html | 68 management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverDetail.html | 168 management/guns-admin/src/main/webapp/WEB-INF/view/system/tBranchOffice/tBranchOffice_add.html | 38 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITBranchOfficeService.java | 16 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCoupon.java | 24 management/guns-admin/src/main/webapp/static/modular/system/tBranchOffice/tBranchOffice.js | 109 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java | 4 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverBackController.java | 1901 +++++++++ management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverException.html | 61 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TAgentMapper.xml | 24 management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecord_add.html | 35 management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgentDetail.html | 111 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TBranchOfficeMapper.xml | 27 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderRefusal.java | 127 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITRegionService.java | 12 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java | 2 management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUser.js | 3 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TAgentMapper.java | 18 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java | 50 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TDriver.java | 951 +--- management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverAudit.html | 151 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TBranchOfficeMapper.java | 18 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITDriverService.java | 87 92 files changed, 8,070 insertions(+), 3,849 deletions(-) diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java index 3ebfebd..2757940 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java @@ -471,18 +471,18 @@ public Object getDriverInfo(Integer driverId){ Map<String, Object> map = new HashMap<>(); TDriver tDriver = tDriverService.selectById(driverId); - TCar tCar = tCarService.selectById(tDriver.getCarId()); +// TCar tCar = tCarService.selectById(tDriver.getCarId()); TCarBrand tCarBrand = null; TCarModel tCarModel = null; - if(null != tCar){ - tCarBrand = carBrandService.selectById(tCar.getCarBrandId()); - tCarModel = carModelService.selectById(tCar.getCarModelId()); - } +// if(null != tCar){ +// tCarBrand = carBrandService.selectById(tCar.getCarBrandId()); +// tCarModel = carModelService.selectById(tCar.getCarModelId()); +// } Integer[] states = new Integer[]{2, 3, 4, 5, 6, 11}; Wrapper<TOrderTaxi> state4 = new EntityWrapper<TOrderTaxi>().in("state", states).eq("driverId", driverId).eq("isDelete", 1); List<TOrderTaxi> tOrderTaxis = tOrderTaxiService.selectList(state4); map.put("netcarDriver", tDriver); - map.put("netcar", tCar); +// map.put("netcar", tCar); map.put("carBrand", null != tCarBrand ? tCarBrand.getName() : ""); map.put("carModel", null != tCarModel ? tCarModel.getName() : ""); map.put("order", tOrderTaxis); diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java new file mode 100644 index 0000000..4e3dabe --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java @@ -0,0 +1,266 @@ +package com.stylefeng.guns.modular.system.controller.general; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.stylefeng.guns.core.base.controller.BaseController; +import com.stylefeng.guns.core.util.DateUtil; +import com.stylefeng.guns.modular.system.controller.resp.TAgentResp; +import com.stylefeng.guns.modular.system.controller.util.ExcelUtil; +import com.stylefeng.guns.modular.system.enums.OrderStateEnum; +import com.stylefeng.guns.modular.system.enums.PayStatusEnum; +import com.stylefeng.guns.modular.system.enums.UserTypeEnum; +import com.stylefeng.guns.modular.system.model.*; +import com.stylefeng.guns.modular.system.service.*; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.apache.poi.hdf.extractor.TC; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Controller; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.beans.factory.annotation.Autowired; +import com.stylefeng.guns.core.log.LogObjectHolder; +import org.springframework.web.bind.annotation.RequestParam; + +import javax.servlet.http.HttpServletResponse; +import java.io.OutputStream; +import java.math.BigDecimal; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 控制器 + * + * @author fengshuonan + * @Date 2023-02-20 09:18:08 + */ +@Controller +@RequestMapping("/tAgent") +public class TAgentController extends BaseController { + + private String PREFIX = "/system/tAgent/"; + + @Autowired + private ITAgentService tAgentService; + + @Autowired + private ITRegionService tRegionService; + + + /** + * 跳转到首页 + */ + @RequestMapping("") + public String index() { + return PREFIX + "tAgent.html"; + } + + /** + * 跳转到添加 + */ + @RequestMapping("/tAgent_add") + public String tAgentAdd() { + return PREFIX + "tAgent_add.html"; + } + + /** + * 跳转到修改 + */ + @RequestMapping("/tAgent_update/{tAgentId}") + public String tAgentUpdate(@PathVariable Integer tAgentId, Model model) { + TAgent tAgent = tAgentService.selectById(tAgentId); + model.addAttribute("item",tAgent); + LogObjectHolder.me().set(tAgent); + return PREFIX + "tAgent_edit.html"; + } + + /** + * 跳转详情页面 + */ + @RequestMapping("/agentDetail") + public String agentDetail(Integer agentId, Model model) { + tAgentService.detail(agentId,model); + return PREFIX + "tAgentDetail.html"; + } + + /** + * 跳转区域页面 + */ + @RequestMapping("/areaDetail") + public String areaDetail(Model model) { + List<TRegion> tRegions = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); + model.addAttribute("province",tRegions); + return PREFIX + "tAgentArea.html"; + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/list") + @ResponseBody + public Object list(String principal,String principalPhone,String createTime) { + EntityWrapper<TAgent> wrapper = tAgentService.getAgentWrapper(principal,principalPhone,createTime); + List<TAgent> tAgents = tAgentService.selectList(wrapper); + // 代理商列表数据封装(导出共用) + return tAgentService.getAgentResp(tAgents); + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/list-back") + @ResponseBody + public Object listBack(String condition) { + return tAgentService.selectList(null); + } + + /** + * 新增 + */ + @RequestMapping(value = "/add") + @ResponseBody + public Object add(TAgent tAgent) { + System.err.println(tAgent); + String[] split = tAgent.getAreaId().split("/"); + // 查询省市 + // 黑龙江省/大兴安岭地区 + // 702/852 + TRegion province = tRegionService.selectById(split[0]); + tAgent.setProvinceName(province.getName()); + tAgent.setProvinceCode(province.getCode()); + TRegion city = tRegionService.selectById(split[1]); + tAgent.setCityName(city.getName()); + tAgent.setCityCode(city.getCode()); + tAgentService.insert(tAgent); + return SUCCESS_TIP; + } + + /** + * 删除 + */ + @RequestMapping(value = "/delete") + @ResponseBody + public Object delete(@RequestParam Integer tAgentId) { + tAgentService.deleteById(tAgentId); + return SUCCESS_TIP; + } + + /** + * 修改用户状态 + */ + @RequestMapping(value = "/update-status") + @ResponseBody + public Object updateStatus(Integer id,Integer status) { + TAgent tAgent = tAgentService.selectById(id); + if(1 == status){ + tAgent.setStatus(2); + } + if(2 == status){ + tAgent.setStatus(1); + } + tAgentService.updateById(tAgent); + return SUCCESS_TIP; + } + + /** + * 修改 + */ + @RequestMapping(value = "/update") + @ResponseBody + public Object update(TAgent tAgent) { + tAgentService.updateById(tAgent); + return SUCCESS_TIP; + } + + /** + * 详情 + */ + @RequestMapping(value = "/detail/{tAgentId}") + @ResponseBody + public Object detail(@PathVariable("tAgentId") Integer tAgentId) { + return tAgentService.selectById(tAgentId); + } + + + @ApiOperation(value = "省市区查询",notes="省市区查询") + @RequestMapping(value = "/area") + @ResponseBody + public Object area() { + return tRegionService.getAreaList(); + } + + @ApiOperation(value = "省查询",notes="省查询") + @RequestMapping(value = "/areaProvince") + @ResponseBody + public Object areaProvince(Model model) { + return tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); + } + + @ApiOperation(value = "市区查询",notes="市区查询") + @RequestMapping(value = "/areaCity") + @ResponseBody + public Object areaCity(Integer parentId) { + return tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id",parentId)); + } + + + @ApiOperation(value = "导出代理商列表",notes="导出代理商列表") + @RequestMapping(value = "/export") + @ResponseBody + public void export(String principal,String principalPhone,String createTime, HttpServletResponse response) { + try { + Date date = new Date(); + DateFormat format = new SimpleDateFormat("yyyyMMdd"); + String time1 = format.format(date); + String fileName = "Agent"+time1+".xls"; + String[] title = new String[] {"时间","姓名","联系电话","代理区域","订单数量", + "有效订单","已发放优惠券","已使用优惠券","累计优惠券金额","司机充值","司机数","状态"}; + EntityWrapper<TAgent> wrapper = tAgentService.getAgentWrapper(principal,principalPhone,createTime); + // 是否异常 + List<TAgent> list = tAgentService.selectList(wrapper); + + List<TAgentResp> agentResp = tAgentService.getAgentResp(list); + + String[][] values = new String[agentResp.size()][]; + for (int i = 0; i < agentResp.size(); i++) { + TAgentResp d = agentResp.get(i); + values[i] = new String[title.length]; + values[i][0] = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(d.getCreateTime()); + values[i][1] = d.getPrincipal(); + values[i][2] = d.getPrincipalPhone(); + values[i][3] = d.getProvinceName()+d.getCityName(); + values[i][4] = String.valueOf(d.getOrderSum()); + values[i][5] = String.valueOf(d.getValidOrder()); + values[i][6] = String.valueOf(d.getIssuedCoupon()); + values[i][7] = String.valueOf(d.getUsedCoupon()); + values[i][8] = String.valueOf(d.getCouponPriceSum()); + values[i][9] = String.valueOf(d.getDriverRecharge() == null ? "0":d.getDriverRecharge()); + values[i][10] = String.valueOf(d.getDriverCount()); + Integer status1 = d.getStatus(); + if(1 == status1){ + values[i][11] = "正常"; + }else if(2 == status1){ + values[i][11] = "冻结"; + }else { + values[i][11] = "删除"; + } + } + HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook("Variance"+time1, title, values, null); + ExcelUtil.setResponseHeader(response, fileName); + OutputStream os = response.getOutputStream(); + wb.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java index 8d51fb1..db2eab3 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java @@ -180,6 +180,7 @@ Integer id, Integer status) { EntityWrapper<TAppUser> wrapper = tAppUserService.getUserListWrapper(createTime,nickname,phone,id,status); + wrapper.ne("is_exception",2); return tAppUserService.selectList(wrapper); } @@ -213,7 +214,7 @@ } /** - * 修改 + * 修改用户状态 */ @RequestMapping(value = "/update-status") @ResponseBody @@ -270,6 +271,7 @@ String[] title = new String[] {"用户ID","用户昵称","手机号","性别","头像","微信openid", "微信unionid","紧急联系人","紧急联系电话","账户余额","用户标签id","状态","添加时间"}; EntityWrapper<TAppUser> wrapper = tAppUserService.getUserListWrapper(createTime,nickname,phone,id,status); + wrapper.ne("is_exception",2); // 是否异常 List<TAppUser> list = tAppUserService.selectList(wrapper); diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBranchOfficeController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBranchOfficeController.java new file mode 100644 index 0000000..bebefe7 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBranchOfficeController.java @@ -0,0 +1,104 @@ +package com.stylefeng.guns.modular.system.controller.general; + +import com.stylefeng.guns.core.base.controller.BaseController; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.beans.factory.annotation.Autowired; +import com.stylefeng.guns.core.log.LogObjectHolder; +import org.springframework.web.bind.annotation.RequestParam; +import com.stylefeng.guns.modular.system.model.TBranchOffice; +import com.stylefeng.guns.modular.system.service.ITBranchOfficeService; + +/** + * 控制器 + * + * @author fengshuonan + * @Date 2023-02-21 11:17:18 + */ +@Controller +@RequestMapping("/tBranchOffice") +public class TBranchOfficeController extends BaseController { + + private String PREFIX = "/system/tBranchOffice/"; + + @Autowired + private ITBranchOfficeService tBranchOfficeService; + + /** + * 跳转到首页 + */ + @RequestMapping("") + public String index() { + return PREFIX + "tBranchOffice.html"; + } + + /** + * 跳转到添加 + */ + @RequestMapping("/tBranchOffice_add") + public String tBranchOfficeAdd() { + return PREFIX + "tBranchOffice_add.html"; + } + + /** + * 跳转到修改 + */ + @RequestMapping("/tBranchOffice_update/{tBranchOfficeId}") + public String tBranchOfficeUpdate(@PathVariable Integer tBranchOfficeId, Model model) { + TBranchOffice tBranchOffice = tBranchOfficeService.selectById(tBranchOfficeId); + model.addAttribute("item",tBranchOffice); + LogObjectHolder.me().set(tBranchOffice); + return PREFIX + "tBranchOffice_edit.html"; + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/list") + @ResponseBody + public Object list(String condition) { + return tBranchOfficeService.selectList(null); + } + + /** + * 新增 + */ + @RequestMapping(value = "/add") + @ResponseBody + public Object add(TBranchOffice tBranchOffice) { + tBranchOfficeService.insert(tBranchOffice); + return SUCCESS_TIP; + } + + /** + * 删除 + */ + @RequestMapping(value = "/delete") + @ResponseBody + public Object delete(@RequestParam Integer tBranchOfficeId) { + tBranchOfficeService.deleteById(tBranchOfficeId); + return SUCCESS_TIP; + } + + /** + * 修改 + */ + @RequestMapping(value = "/update") + @ResponseBody + public Object update(TBranchOffice tBranchOffice) { + tBranchOfficeService.updateById(tBranchOffice); + return SUCCESS_TIP; + } + + /** + * 详情 + */ + @RequestMapping(value = "/detail/{tBranchOfficeId}") + @ResponseBody + public Object detail(@PathVariable("tBranchOfficeId") Integer tBranchOfficeId) { + return tBranchOfficeService.selectById(tBranchOfficeId); + } +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java index cf3a42c..5039c59 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java @@ -474,7 +474,7 @@ //清除相对应的司机关联车辆ID List<TDriver> list = tDriverService.selectList(new EntityWrapper<TDriver>().eq("carId", tCarId)); for (TDriver obj : list){ - obj.setCarId(null); +// obj.setCarId(null); tDriverService.updateById(obj); } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverBackController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverBackController.java new file mode 100644 index 0000000..8928b8c --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverBackController.java @@ -0,0 +1,1901 @@ +package com.stylefeng.guns.modular.system.controller.general; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +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.common.constant.factory.PageFactory; +import com.stylefeng.guns.core.log.LogObjectHolder; +import com.stylefeng.guns.core.shiro.ShiroKit; +import com.stylefeng.guns.core.util.*; +import com.stylefeng.guns.modular.system.dao.DriverPunishMapper; +import com.stylefeng.guns.modular.system.dao.DriverTrainMapper; +import com.stylefeng.guns.modular.system.model.*; +import com.stylefeng.guns.modular.system.service.*; +import com.stylefeng.guns.modular.system.util.HttpRequestUtil; +import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil; +import com.stylefeng.guns.modular.system.util.PushURL; +import com.stylefeng.guns.modular.system.util.ResultUtil; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * 控制器 + * + * @author fengshuonan + * @Date 2023-02-20 09:07:06 + */ +@Controller +@RequestMapping("/back-tDriver") +public class TDriverBackController extends BaseController { + + /*private String PREFIX = "/system/tDriver/"; + + @Autowired + private ITDriverService tDriverService; + + @Autowired + private ITCompanyService tCompanyService; + + @Autowired + private ITDriverServiceService tDriverServiceService; + + @Autowired + private ITDriverLineService tDriverLineService; + + @Autowired + private ITLineService itLineService; + + @Autowired + private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; + + @Resource + private DriverTrainMapper driverTrainMapper; + + @Resource + private DriverPunishMapper driverPunishMapper; + + @Value("${pushMinistryOfTransport}") + private boolean pushMinistryOfTransport; + + + + *//** + * 跳转到司机审核列表首页 + *//* + @RequestMapping("") + public String index() { + return PREFIX + "tDriver.html"; + } + + *//** + * 跳转到审核通过司机首页 + *//* + @RequestMapping("/yesDriver") + public String yesDriver() { + return PREFIX + "yesDriver.html"; + } + + *//** + * 跳转到添加司机 + *//* + @RequestMapping("/tDriver_add") + public String tDriverAdd(Model model) { + List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2)); + model.addAttribute("companyList",companyList); + + Integer roleType = ShiroKit.getUser().getRoleType(); + model.addAttribute("roleType",roleType); + if (2 == roleType){ + List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>() + .eq("type", 3) + .eq("superiorId",ShiroKit.getUser().getObjectId()) + .notIn("state",1) + .notIn("flag",3)); + model.addAttribute("franchiseeList",franchiseeList); + }else{ + model.addAttribute("franchiseeList",null); + } + //查询当前用户所属分公司/加盟商 + model.addAttribute("objectName",tCompanyService.selectById(ShiroKit.getUser().getObjectId()).getName()); + + //查询线路列表 + List<TLine> lineList = itLineService.selectList(new EntityWrapper<TLine>().eq("state", 1)); + model.addAttribute("lineList",lineList); + return PREFIX + "tDriver_add.html"; + } + + *//** + * 跳转到修改审核司机 + *//* + @RequestMapping("/tDriver_immediately/{tDriverId}") + public String tDriver_immediately(@PathVariable Integer tDriverId, Model model) { + Map<String, Object> tDriver = tDriverService.getDriverById(tDriverId); + model.addAttribute("item",tDriver); + LogObjectHolder.me().set(tDriver); + return PREFIX + "tDriver_immediately.html"; + } + + *//** + * 跳转到选择车辆页面 + *//* + @RequestMapping("/tDriver_changeCar/{tDriverId}") + public String tDriver_changeCar(@PathVariable Integer tDriverId, Model model) { + model.addAttribute("tDriverId",tDriverId); + return PREFIX + "tDriver_changeCar.html"; + } + + *//** + * 跳转到冻结/解冻司机页面 + *//* + @RequestMapping("/tDriver_optDriver/{tDriverId}/{optType}") + public String tDriver_optDriver(@PathVariable Integer tDriverId,@PathVariable Integer optType, Model model) { + model.addAttribute("tDriverId",tDriverId); + model.addAttribute("optType",optType); + return PREFIX + "tDriver_optDriver.html"; + } + + *//** + * 跳转到查看司机详情 + *//* + @RequestMapping("/tDriver_look/{tDriverId}") + public String tDriver_look(@PathVariable Integer tDriverId, Model model) { + Map<String, Object> tDriver = tDriverService.getDriverById(tDriverId); + model.addAttribute("item",tDriver); + LogObjectHolder.me().set(tDriver); + return PREFIX + "tDriver_look.html"; + } + + *//** + * 跳转到修改司机 + *//* + @RequestMapping("/tDriver_update/{tDriverId}") + public String tDriverUpdate(@PathVariable Integer tDriverId, Model model) { + TDriver tDriver = tDriverService.selectById(tDriverId); + model.addAttribute("item",tDriver); + LogObjectHolder.me().set(tDriver); + + Integer roleType = ShiroKit.getUser().getRoleType(); + model.addAttribute("roleType",roleType); + model.addAttribute("objectName",tCompanyService.selectById(ShiroKit.getUser().getObjectId()).getName()); + + if (1 == roleType){ + List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2)); + model.addAttribute("companyList",companyList); + List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 3).eq("superiorId",tDriver.getCompanyId())); + model.addAttribute("franchiseeList",franchiseeList); + }else if (2 == roleType){ + List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 3).eq("superiorId",ShiroKit.getUser().getObjectId())); + model.addAttribute("franchiseeList",franchiseeList); + } + + //查询平台ID + TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1)); + //判断是平台司机还是加盟司机 + if ((SinataUtil.isEmpty(tDriver.getCompanyId()) || tDriver.getCompanyId() == 0 || tDriver.getCompanyId() == company.getId()) && (SinataUtil.isEmpty(tDriver.getFranchiseeId()) || tDriver.getFranchiseeId() == 0)){ + model.addAttribute("companyType",1); + }else{ + model.addAttribute("companyType",2); + } + + //获取经营业务 + List<TDriverService> serviceList = tDriverServiceService.selectList(new EntityWrapper<TDriverService>().eq("driverId", tDriverId)); + Integer one = 1; + Integer two = 1; + Integer three = 1; + Integer four = 1; + Integer five = 1; + Integer six = 1; + for (TDriverService obj : serviceList){ + if (obj.getType() == 1){ + one = 2; + } + if (obj.getType() == 2){ + two = 2; + } + if (obj.getType() == 3){ + three = 2; + } + if (obj.getType() == 4){ + four = 2; + } + if (obj.getType() == 5){ + five = 2; + } + if (obj.getType() == 6){ + six = 2; + } + } + model.addAttribute("one",one); + model.addAttribute("two",two); + model.addAttribute("three",three); + model.addAttribute("four",four); + model.addAttribute("five",five); + model.addAttribute("six",six); + + //查询线路列表 + List<TLine> lineList = itLineService.selectList(new EntityWrapper<TLine>().eq("state", 1)); + model.addAttribute("lineList",lineList); + //查询驾驶员已添加的线路列表 + List<Map<String, Object>> driverLineList = tDriverLineService.getDriverLineListByDriverId(tDriverId); + model.addAttribute("driverLineList",driverLineList); + return PREFIX + "tDriver_edit.html"; + } + + *//** + * 跳转到添加培训页 + * @param id + * @param model + * @return + *//* + @RequestMapping("/showTraining") + public String showTraining(Integer id, Model model){ + model.addAttribute("id", id); + return PREFIX + "training.html"; + } + + + *//** + * 保存培训数据 + * @param train + * @param driverId + * @return + *//* + @ResponseBody + @RequestMapping(value = "/saveTrain", method = RequestMethod.POST) + public ResultUtil saveTrain(String train, Integer driverId){ + if(ToolUtil.isEmpty(train)){ + return ResultUtil.error("请添加有效的培训记录"); + } + String[] split = train.split(","); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + try { + List<DriverTrain> update = new ArrayList<>(); + List<DriverTrain> add = new ArrayList<>(); + for(String s : split){ + String[] s1 = s.split("_"); + if(ToolUtil.isNotEmpty(s1[0])){//修改 + DriverTrain driverTrain = driverTrainMapper.selectById(s1[0]); + driverTrain.setDriverId(driverId); + driverTrain.setCourseName(s1[1]); + driverTrain.setCourseDate(sdf.parse(s1[2])); + driverTrain.setStartTime(s1[3]); + driverTrain.setStopTime(s1[4]); + driverTrain.setDuration(Integer.valueOf(s1[5])); + update.add(driverTrain); + }else{//添加 + DriverTrain driverTrain = new DriverTrain(); + driverTrain.setDriverId(driverId); + driverTrain.setCourseName(s1[1]); + driverTrain.setCourseDate(sdf.parse(s1[2])); + driverTrain.setStartTime(s1[3]); + driverTrain.setStopTime(s1[4]); + driverTrain.setDuration(Integer.valueOf(s1[5])); + add.add(driverTrain); + } + } + List<DriverTrain> driverTrains = driverTrainMapper.queryAllTrain(driverId); + for(DriverTrain driverTrain : driverTrains){ + boolean b = true; + for(String s : split){ + String[] s1 = s.split("_"); + if(ToolUtil.isNotEmpty(s1[0]) && driverTrain.getId() == Integer.valueOf(s1[0])){ + b = false; + break; + } + } + if(b){ + driverTrainMapper.deleteById(driverTrain.getId()); + new Thread(new Runnable() { + @Override + public void run() { + if(pushMinistryOfTransport){//上传数据 + pushMinistryOfTransportUtil.baseInfoDriverEducate(driverTrain.getId(), 3); + } + } + }).start(); + } + } + if(update.size() > 0){ + for(DriverTrain driverTrain : update){ + driverTrainMapper.updateById(driverTrain); + new Thread(new Runnable() { + @Override + public void run() { + if(pushMinistryOfTransport){//上传数据 + pushMinistryOfTransportUtil.baseInfoDriverEducate(driverTrain.getId(), 2); + } + } + }).start(); + } + } + if(add.size() > 0){ + for(DriverTrain driverTrain : add){ + driverTrainMapper.insert(driverTrain); + new Thread(new Runnable() { + @Override + public void run() { + if(pushMinistryOfTransport){//上传数据 + pushMinistryOfTransportUtil.baseInfoDriverEducate(driverTrain.getId(), 1); + } + } + }).start(); + } + } + + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + return ResultUtil.success(); + } + + *//** + * 获取司机的所有培训数据 + * @param driverId + * @return + *//* + @ResponseBody + @RequestMapping(value = "/queryAllTrain", method = RequestMethod.POST) + public ResultUtil queryAllTrain(Integer driverId){ + List<DriverTrain> driverTrains = driverTrainMapper.queryAllTrain(driverId); + return ResultUtil.success(driverTrains); + } + + + *//** + * 跳转到处罚页 + * @param id + * @param model + * @return + *//* + @RequestMapping("/showPunish") + public String showPunish(Integer id, Model model){ + model.addAttribute("id", id); + return PREFIX + "punish.html"; + } + + + *//** + * 保存处罚数据 + * @param punish + * @param driverId + * @return + *//* + @ResponseBody + @RequestMapping(value = "/savePunish", method = RequestMethod.POST) + public ResultUtil savePunish(String punish, Integer driverId){ + if(ToolUtil.isEmpty(punish)){ + return ResultUtil.error("请添加有效的培训记录"); + } + String[] split = punish.split(","); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + try { + List<DriverPunish> update = new ArrayList<>(); + List<DriverPunish> add = new ArrayList<>(); + for(String s : split){ + String[] s1 = s.split("_"); + if(ToolUtil.isNotEmpty(s1[0])){//修改 + DriverPunish driverPunish = driverPunishMapper.selectById(s1[0]); + driverPunish.setDriverId(driverId); + driverPunish.setPunishTime(sdf.parse(s1[1])); + driverPunish.setPunishReason(s1[2]); + driverPunish.setPunishReault(s1[3]); + update.add(driverPunish); + }else{//添加 + DriverPunish driverPunish = new DriverPunish(); + driverPunish.setDriverId(driverId); + driverPunish.setPunishTime(sdf.parse(s1[1])); + driverPunish.setPunishReason(s1[2]); + driverPunish.setPunishReault(s1[3]); + add.add(driverPunish); + } + } + List<DriverPunish> driverPunishes = driverPunishMapper.queryAllPunish(driverId); + for(DriverPunish driverTrain : driverPunishes){ + boolean b = true; + for(String s : split){ + String[] s1 = s.split("_"); + if(ToolUtil.isNotEmpty(s1[0]) && driverTrain.getId() == Integer.valueOf(s1[0])){ + b = false; + break; + } + } + if(b){ + driverTrainMapper.deleteById(driverTrain.getId()); + } + } + if(update.size() > 0){ + for(DriverPunish driverTrain : update){ + driverPunishMapper.updateById(driverTrain); + } + } + if(add.size() > 0){ + for(DriverPunish driverTrain : add){ + driverPunishMapper.insert(driverTrain); + new Thread(new Runnable() { + @Override + public void run() { + if(pushMinistryOfTransport){//上传数据 + pushMinistryOfTransportUtil.ratedDriverPunish(driverTrain.getId()); + } + } + }).start(); + } + } + + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + return ResultUtil.success(); + } + + + *//** + * 获取所有处罚数据 + * @param driverId + * @return + *//* + @ResponseBody + @RequestMapping(value = "/queryAllPunish", method = RequestMethod.POST) + public ResultUtil queryAllPunish(Integer driverId){ + List<DriverPunish> driverPunishes = driverPunishMapper.queryAllPunish(driverId); + return ResultUtil.success(driverPunishes); + } + + + *//** + * 根据分公司ID获取加盟商 + * @param oneId + * @return + *//* + @RequestMapping(value = "/oneChange") + @ResponseBody + public Object oneChange(@RequestParam Integer oneId) { + List<TCompany> list = new ArrayList<>(); + if (SinataUtil.isNotEmpty(oneId)){ + list = tCompanyService.selectList(new EntityWrapper<TCompany>() + .eq("type", 3) + .eq("superiorId", oneId) + .notIn("flag",3) + .notIn("state",1)); + } + return list; + } + + *//** + * 获取司机审核列表列表 + *//* + @RequestMapping(value = "/list") + @ResponseBody + public Object list(String insertTime, + String companyName, + String phone, + String account, + Integer addType, + Integer authState) { + String beginTime = null; + String endTime = null; + if (SinataUtil.isNotEmpty(insertTime)){ + String[] timeArray = insertTime.split(" - "); + beginTime = timeArray[0]; + endTime = timeArray[1]; + } + Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); + if (ShiroKit.getUser().getRoleType() != 1){ + page.setRecords(null); + }else{ + page.setRecords(tDriverService.getAuthDriverList(page,beginTime,endTime,companyName,phone,account,addType,authState)); + } + return super.packForBT(page); + } + + *//** + * 获取审核通过的司机列表 + *//* + @RequestMapping(value = "/listYesDriver") + @ResponseBody + public Object listYesDriver(String insertTime, + String companyName, + String phone, + String name, + Integer addType, + Integer authState) { + String beginTime = null; + String endTime = null; + if (SinataUtil.isNotEmpty(insertTime)){ + String[] timeArray = insertTime.split(" - "); + beginTime = timeArray[0]; + endTime = timeArray[1]; + } + Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); + page.setRecords(tDriverService.getDriverList(page,ShiroKit.getUser().getRoleType(),ShiroKit.getUser().getObjectId(),beginTime,endTime,companyName,phone,name,addType,authState)); + return super.packForBT(page); + } + + *//** + * 获取可被选择的车辆列表 + *//* + @RequestMapping(value = "/selectCarList/{tDriverId}") + @ResponseBody + public Object selectCarList(@PathVariable Integer tDriverId, + String carLicensePlate, + String brandName, + String modelName, + String color, + String serverStr) { + TDriver driver = tDriverService.selectById(tDriverId); + *//*String useCarIdStr = null; + //查询已被使用的车辆ID + if (SinataUtil.isNotEmpty(driver.getCarId())){ + useCarIdStr = tDriverService.getUseCarIdStr(driver.getCarId()); + }else{ + useCarIdStr = tDriverService.getUseCarIdStr(null); + }*//* + //2020-08-21:新需求,已被绑定的车辆可以被继续绑定 + Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); + page.setRecords(tDriverService.getCanSelectCarList(page,ShiroKit.getUser().getRoleType(),ShiroKit.getUser().getObjectId(),null,carLicensePlate,brandName,modelName,color,serverStr)); + return super.packForBT(page); + + } + + *//** + * 审核操作 1=通过 2=不通过 + *//* + @RequestMapping(value = "/authOpt") + @ResponseBody + public Object authOpt(Integer id,Integer authState) { + if (SinataUtil.isNotEmpty(id) && SinataUtil.isNotEmpty(authState)){ + TDriver tDriver = tDriverService.selectById(id); + Integer type = 0; + if (1 == authState){ + type = 5; + tDriver.setAuthState(2); + + new Thread(new Runnable() { + @Override + public void run() { + if(pushMinistryOfTransport){//上传数据 + pushMinistryOfTransportUtil.baseInfoCompanyStat(); + pushMinistryOfTransportUtil.baseInfoDriver(id); + pushMinistryOfTransportUtil.baseInfoDriverApp(id); + } + } + }).start(); + }else{ + type = 6; + tDriver.setAuthState(4); + } + + Map<String,String> map = new HashMap<>(); + map.put("uid", String.valueOf(tDriver.getId())); + map.put("type", String.valueOf(type)); + String result = HttpRequestUtil.postRequest(PushURL.driver_auth_url, map); + System.out.println("司机注册审核发送短信 :【driverId="+tDriver.getId().toString()+"】,调用接口:"+result); + + tDriverService.updateById(tDriver); + } + return SUCCESS_TIP; + } + + *//** + * 更换车辆操作 + *//* + @RequestMapping(value = "/selectCarOpt") + @ResponseBody + public Object selectCarOpt(Integer tDriverId,Integer carId) { + if (SinataUtil.isNotEmpty(tDriverId) && SinataUtil.isNotEmpty(carId)){ + TDriver tDriver = tDriverService.selectById(tDriverId); + tDriver.setCarId(carId); + tDriverService.updateById(tDriver); + } + return SUCCESS_TIP; + } + + *//** + * 新增司机审核列表 + *//* + @RequestMapping(value = "/add") + @ResponseBody + public Object add(TDriver tDriver,@RequestParam String serverBox,@RequestParam String lineStr,Integer roleType,Integer companyType,Integer oneId,Integer twoId,Integer franchiseeId) { + //判断登录账户是否重复 + int count = tDriverService.selectCount(new EntityWrapper<TDriver>().eq("phone", tDriver.getPhone()).in("authState", "1,2,3").ne("flag", 3)); + if (count > 0){ + return "error"; + } + if (1 == roleType){ //平台 + if (2 == companyType.intValue()){ + if (SinataUtil.isNotEmpty(oneId)){ + tDriver.setCompanyId(oneId); + } + if (SinataUtil.isNotEmpty(twoId)){ + tDriver.setFranchiseeId(twoId); + } + }else if (1 == companyType.intValue()){ + TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1)); + tDriver.setCompanyId(company.getId()); + tDriver.setFranchiseeId(franchiseeId); + } + tDriver.setAddType(2); + tDriver.setIsPlatCar(1); + tDriver.setAuthState(2); + }else if (2 == roleType){ //分公司 + if (SinataUtil.isNotEmpty(ShiroKit.getUser().getObjectId())){ + tDriver.setCompanyId(ShiroKit.getUser().getObjectId()); + } + if (SinataUtil.isNotEmpty(franchiseeId)){ + tDriver.setFranchiseeId(franchiseeId); + } + tDriver.setAddType(3); + tDriver.setIsPlatCar(2); + tDriver.setAuthState(1); + tDriver.setAddObjectId(ShiroKit.getUser().getObjectId()); + }else if (3 == roleType){ //加盟商 + TCompany tCompany = tCompanyService.selectById(ShiroKit.getUser().getObjectId()); + if (SinataUtil.isNotEmpty(tCompany)){ + tDriver.setCompanyId(tCompany.getSuperiorId()); + } + if (SinataUtil.isNotEmpty(ShiroKit.getUser().getObjectId())){ + tDriver.setFranchiseeId(ShiroKit.getUser().getObjectId()); + } + tDriver.setAddType(4); + tDriver.setIsPlatCar(2); + tDriver.setAuthState(1); + tDriver.setAddObjectId(ShiroKit.getUser().getObjectId()); + } + tDriver.setInsertTime(new Date()); + tDriver.setInsertUser(ShiroKit.getUser().getId()); +// tDriver.setPassword(MD5Util.encrypt(tDriver.getPassword())); + + tDriver.setPassword(ShiroKit.md5(tDriver.getPassword(), "SA;d5#")); + + tDriverService.insert(tDriver); + + //添加经营业务 + String[] serverArray = serverBox.split(","); + for (int i=0;i<serverArray.length;i++){ + TDriverService service = new TDriverService(); + service.setDriverId(tDriver.getId()); + service.setType(Integer.valueOf(serverArray[i])); + tDriverServiceService.insert(service); + + if (3 == Integer.valueOf(serverArray[i])){ + //添加线路 + if (SinataUtil.isNotEmpty(lineStr)){ + addLine(lineStr,tDriver.getId()); + } + } + } + + return SUCCESS_TIP; + } + + *//** + * 添加线路 + * @param subArr + * @param id + *//* + public void addLine(String subArr,Integer id){ + JSONArray jsonArray = JSON.parseArray(subArr); + int size = jsonArray.size(); + for (int i = 0; i < size; i++){ + JSONObject jsonObject = jsonArray.getJSONObject(i); + TDriverLine line = new TDriverLine(); + line.setCreateTime(new Date()); + line.setAddTime(jsonObject.getString("time")); + line.setLineId(jsonObject.getInteger("lineId")); + line.setDriverId(id); + tDriverLineService.insert(line); + } + } + + + *//** + * 删除司机审核列表 + *//* + @RequestMapping(value = "/delete") + @ResponseBody + public Object delete(@RequestParam Integer tDriverId) { + TDriver driver = tDriverService.selectById(tDriverId); + driver.setFlag("3"); + tDriverService.updateById(driver); + return SUCCESS_TIP; + } + *//** + * 操作司机状态 + *//* + @RequestMapping(value = "/optDriver") + @ResponseBody + public Object optDriver(@RequestParam Integer driverId,@RequestParam String remark,@RequestParam Integer optType) { + if (SinataUtil.isNotEmpty(driverId) && SinataUtil.isNotEmpty(optType)){ + TDriver tDriver = tDriverService.selectById(driverId); + if (1 == optType){ //解冻 + tDriver.setAuthState(2); + new Thread(new Runnable() { + @Override + public void run() { + if(pushMinistryOfTransport){//上传数据 + pushMinistryOfTransportUtil.baseInfoCompanyStat(); + pushMinistryOfTransportUtil.baseInfoDriver(driverId); + } + } + }).start(); + }else if (2 == optType){ //冻结 + tDriver.setAuthState(3); + new Thread(new Runnable() { + @Override + public void run() { + if(pushMinistryOfTransport){//上传数据 + pushMinistryOfTransportUtil.baseInfoCompanyStat(); + pushMinistryOfTransportUtil.baseInfoDriver(driverId); + } + } + }).start(); + } + tDriver.setRemark(remark); + tDriverService.updateById(tDriver); + } + return SUCCESS_TIP; + } + + *//** + * 修改司机审核列表 + *//* + @RequestMapping(value = "/update") + @ResponseBody + public Object update(TDriver tDriver,@RequestParam String serverBox,@RequestParam String lineStr,Integer roleType,Integer companyType,Integer oneId,Integer twoId,Integer franchiseeId) { + TDriver obj = tDriverService.selectById(tDriver.getId()); + if (!obj.getPhone().equals(tDriver.getPhone())){ + //判断登录账户是否重复 + int count = tDriverService.selectCount(new EntityWrapper<TDriver>().eq("phone", tDriver.getPhone()).in("authState", "1,2,3")); + if (count > 0){ + return "error"; + } + } + if (1 == roleType){ //平台 + if (2 == companyType.intValue()){ + if (SinataUtil.isNotEmpty(oneId)){ + tDriver.setCompanyId(oneId); + } + if (SinataUtil.isNotEmpty(twoId)){ + tDriver.setFranchiseeId(twoId); + } + }else if (1 == companyType.intValue()){ + TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1)); + tDriver.setCompanyId(company.getId()); + tDriver.setFranchiseeId(franchiseeId); + } + }else if (2 == roleType){ //分公司 + if (SinataUtil.isNotEmpty(ShiroKit.getUser().getObjectId())){ + tDriver.setCompanyId(ShiroKit.getUser().getObjectId()); + } + if (SinataUtil.isNotEmpty(franchiseeId)){ + tDriver.setFranchiseeId(franchiseeId); + } + }else if (3 == roleType){ //加盟商 + TCompany tCompany = tCompanyService.selectById(ShiroKit.getUser().getObjectId()); + if (SinataUtil.isNotEmpty(tCompany)){ + tDriver.setCompanyId(tCompany.getSuperiorId()); + } + if (SinataUtil.isNotEmpty(ShiroKit.getUser().getObjectId())){ + tDriver.setFranchiseeId(ShiroKit.getUser().getObjectId()); + } + } + tDriver.setUpdateTime(new Date()); + tDriver.setUpdateUser(ShiroKit.getUser().getId()); +// tDriver.setPassword(MD5Util.encrypt(tDriver.getPassword())); + tDriver.setPassword(ShiroKit.md5(tDriver.getPassword(), "SA;d5#")); + tDriverService.updateById(tDriver); + + //删除业务 + tDriverServiceService.delete(new EntityWrapper<TDriverService>().eq("driverId",tDriver.getId())); + + //删除线路 + tDriverLineService.delete(new EntityWrapper<TDriverLine>().eq("driverId",tDriver.getId())); + + //添加经营业务 + String[] serverArray = serverBox.split(","); + for (int i=0;i<serverArray.length;i++){ + TDriverService service = new TDriverService(); + service.setDriverId(tDriver.getId()); + service.setType(Integer.valueOf(serverArray[i])); + tDriverServiceService.insert(service); + + if (3 == Integer.valueOf(serverArray[i])){ + //添加线路 + if (SinataUtil.isNotEmpty(lineStr)){ + addLine(lineStr,tDriver.getId()); + } + } + } + + new Thread(new Runnable() { + @Override + public void run() { + if(pushMinistryOfTransport){//上传数据 + pushMinistryOfTransportUtil.baseInfoDriver(tDriver.getId()); + } + } + }).start(); + + return SUCCESS_TIP; + } + + *//** + * 下载模板 + * @param request + * @param response + *//* + @RequestMapping(value = "/uploadDriverModel") + public void uploadDriverModel(HttpServletRequest request, HttpServletResponse response) { + // 表格数据【封装】 + List<List<String>> dataList = new ArrayList<List<String>>(); + + String title = ""; + + // 首行【封装】 + List<String> shellList = new ArrayList<String>(); + if (ShiroKit.getUser().getRoleType() == 1){ + title = "平台导入司机模板"; + + shellList.add("司机名称"); + shellList.add("所属机构[平台司机/加盟司机]"); + shellList.add("所属分公司[提示:加盟司机选填]"); + shellList.add("所属加盟商[提示:加盟司机选填]"); + shellList.add("性别[男/女]"); + shellList.add("驾驶证号码"); + shellList.add("驾龄"); + shellList.add("身份证号"); + shellList.add("居住地址"); + shellList.add("出租车资格证号"); + shellList.add("工号[选填]"); + shellList.add("经营业务:专车[是/否]"); + shellList.add("经营业务:出租车[是/否]"); + shellList.add("经营业务:跨城出行[是/否]"); + shellList.add("经营业务:小件同城物流[是/否]"); + shellList.add("经营业务:小件跨城物流[是/否]"); + shellList.add("经营业务:包车[是/否]"); + shellList.add("登录账号[手机号]"); + shellList.add("登录密码[密码长度为6-18]"); + }else if (ShiroKit.getUser().getRoleType() == 2){ + title = "分公司导入司机模板"; + + shellList.add("司机名称"); + shellList.add("所属加盟商[选填]"); + shellList.add("性别[男/女]"); + shellList.add("驾驶证号码"); + shellList.add("驾龄"); + shellList.add("身份证号"); + shellList.add("居住地址"); + shellList.add("出租车资格证号"); + shellList.add("工号[选填]"); + shellList.add("经营业务:专车[是/否]"); + shellList.add("经营业务:出租车[是/否]"); + shellList.add("经营业务:跨城出行[是/否]"); + shellList.add("经营业务:小件同城物流[是/否]"); + shellList.add("经营业务:小件跨城物流[是/否]"); + shellList.add("经营业务:包车[是/否]"); + shellList.add("登录账号[手机号]"); + shellList.add("登录密码[密码长度为6-18]"); + }else if (ShiroKit.getUser().getRoleType() == 3){ + title = "加盟商导入司机模板"; + + shellList.add("司机名称"); + shellList.add("性别[男/女]"); + shellList.add("驾驶证号码"); + shellList.add("驾龄"); + shellList.add("身份证号"); + shellList.add("居住地址"); + shellList.add("出租车资格证号"); + shellList.add("工号[选填]"); + shellList.add("经营业务:专车[是/否]"); + shellList.add("经营业务:出租车[是/否]"); + shellList.add("经营业务:跨城出行[是/否]"); + shellList.add("经营业务:小件同城物流[是/否]"); + shellList.add("经营业务:小件跨城物流[是/否]"); + shellList.add("经营业务:包车[是/否]"); + shellList.add("登录账号[手机号]"); + shellList.add("登录密码[密码长度为6-18]"); + } + dataList.add(shellList); + + try { + // 调用工具类进行导出 + ExcelExportUtil.easySheet(title+DateUtil.formatDate(new Date(), "YYYYMMddHHmmss"), title, dataList, request, response); + } catch (Exception e) { + e.printStackTrace(); + } + } + + *//** + * 导入操作 + * @param request + * @return + *//* + @RequestMapping(value="/exportDriver",method = RequestMethod.POST) + @ResponseBody + public Object exportDriver(HttpServletRequest request){ + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + MultipartFile file = (MultipartFile) multipartRequest.getFile("myfile"); + try { + if (ShiroKit.getUser().getRoleType() == 1){ + Workbook book = WoUtil.ImportFile(file); + Sheet sh = book.getSheetAt(0); //获取到第一个表 + for (int i = 1; i <= sh.getLastRowNum(); i++) { + Row row = sh.getRow(i); + + Cell cell0 = row.getCell(0); //司机名称 + String zero = null; + if (SinataUtil.isNotEmpty(cell0)){ + zero = String.valueOf(cell0.getStringCellValue()).trim(); + } + + Cell cell1 = row.getCell(1); //所属机构[平台司机/加盟司机] + String one = null; + if (SinataUtil.isNotEmpty(cell1)){ + one = String.valueOf(cell1.getStringCellValue()).trim(); + } + + Cell cell2 = row.getCell(2); //所属分公司[提示:加盟司机选填] + String two = null; + if (SinataUtil.isNotEmpty(cell2)){ + two = String.valueOf(cell2.getStringCellValue()).trim(); + } + + Cell cell3 = row.getCell(3); //所属加盟商[提示:加盟司机选填] + String three = null; + if (SinataUtil.isNotEmpty(cell3)){ + three = String.valueOf(cell3.getStringCellValue()).trim(); + } + + Cell cell4 = row.getCell(4); //性别[男/女] + String four = null; + if (SinataUtil.isNotEmpty(cell4)){ + four = String.valueOf(cell4.getStringCellValue()).trim(); + } + + Cell cell5 = row.getCell(5); //驾驶证号码 + String five = null; + if (SinataUtil.isNotEmpty(cell5)){ + five = String.valueOf(cell5.getStringCellValue()).trim(); + } + + Cell cell6 = row.getCell(6); //驾龄 + String six = null; + if (SinataUtil.isNotEmpty(cell6)){ + six = String.valueOf(cell6.getStringCellValue()).trim(); + } + + Cell cell7 = row.getCell(7); //身份证号 + String seven = null; + if (SinataUtil.isNotEmpty(cell7)){ + seven = String.valueOf(cell7.getStringCellValue()).trim(); + } + + Cell cell8 = row.getCell(8); //居住地址 + String eight = null; + if (SinataUtil.isNotEmpty(cell8)){ + eight = String.valueOf(cell8.getStringCellValue()).trim(); + } + + Cell cell9 = row.getCell(9); //出租车资格证号 + String nine = null; + if (SinataUtil.isNotEmpty(cell9)){ + nine = String.valueOf(cell9.getStringCellValue()).trim(); + } + + Cell cell10 = row.getCell(10); //工号[选填] + String ten = null; + if (SinataUtil.isNotEmpty(cell10)){ + ten = String.valueOf(cell10.getStringCellValue()).trim(); + } + + Cell cell11 = row.getCell(11); //经营业务:专车[是/否] + String eleven = null; + if (SinataUtil.isNotEmpty(cell11)){ + eleven = String.valueOf(cell11.getStringCellValue()).trim(); + } + + Cell cell12 = row.getCell(12); //经营业务:专车[是/否] + String twelve = null; + if (SinataUtil.isNotEmpty(cell12)){ + twelve = String.valueOf(cell12.getStringCellValue()).trim(); + } + + Cell cell13 = row.getCell(13); //经营业务:跨城出行[是/否] + String thirteen = null; + if (SinataUtil.isNotEmpty(cell13)){ + thirteen = String.valueOf(cell13.getStringCellValue()).trim(); + } + + Cell cell14 = row.getCell(14); //经营业务:小件同城物流[是/否] + String fourteen = null; + if (SinataUtil.isNotEmpty(cell14)){ + fourteen = String.valueOf(cell14.getStringCellValue()).trim(); + } + + Cell cell15 = row.getCell(15); //经营业务:小件跨城物流[是/否] + String fifteen = null; + if (SinataUtil.isNotEmpty(cell15)){ + fifteen = String.valueOf(cell15.getStringCellValue()).trim(); + } + + Cell cell16 = row.getCell(16); //经营业务:包车[是/否] + String sixteen = null; + if (SinataUtil.isNotEmpty(cell16)){ + sixteen = String.valueOf(cell16.getStringCellValue()).trim(); + } + + Cell cell17 = row.getCell(17); //登录账号[手机号] + String seventeen = null; + if (SinataUtil.isNotEmpty(cell17)){ + seventeen = String.valueOf(cell17.getStringCellValue()).trim(); + } + + Cell cell18 = row.getCell(18); //登录密码[密码长度为6-18] + String eighteen = null; + if (SinataUtil.isNotEmpty(cell18)){ + eighteen = String.valueOf(cell18.getStringCellValue()).trim(); + } + + if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(one) || SinataUtil.isEmpty(four) + || SinataUtil.isEmpty(five) || SinataUtil.isEmpty(six) || SinataUtil.isEmpty(nine) + || SinataUtil.isEmpty(eleven) || SinataUtil.isEmpty(twelve) || SinataUtil.isEmpty(thirteen) + || SinataUtil.isEmpty(fourteen) || SinataUtil.isEmpty(fifteen) || SinataUtil.isEmpty(sixteen) + || SinataUtil.isEmpty(seventeen)|| SinataUtil.isEmpty(eighteen)){ + return new ErrorTip(500, "单元格不能为空"); + }else{ + //判断账号是否存在 + int count = tDriverService.selectCount(new EntityWrapper<TDriver>().eq("phone", seventeen).in("authState", "1,2,3").ne("flag", 3)); + if (count > 0){ + continue; + } + + //判断所属机构 + if (!one.equals("平台司机") && !one.equals("加盟司机")){ + return new ErrorTip(500, "所属机构内容不正确"); + } + //判断性别 + if (!four.equals("男") && !four.equals("女")){ + return new ErrorTip(500, "性别内容不正确"); + } + //判断经营业务【专车】 + if (!eleven.equals("是") && !eleven.equals("否")){ + return new ErrorTip(500, "经营业务【专车】内容不正确"); + } + //判断经营业务【出租车】 + if (!twelve.equals("是") && !twelve.equals("否")){ + return new ErrorTip(500, "经营业务【出租车】内容不正确"); + } + //判断经营业务【跨城出行】 + if (!thirteen.equals("是") && !thirteen.equals("否")){ + return new ErrorTip(500, "经营业务【跨城出行】内容不正确"); + } + //判断经营业务【小件同城物流】 + if (!fourteen.equals("是") && !fourteen.equals("否")){ + return new ErrorTip(500, "经营业务【小件同城物流】内容不正确"); + } + //判断经营业务【小件跨城物流】 + if (!fifteen.equals("是") && !fifteen.equals("否")){ + return new ErrorTip(500, "经营业务【小件跨城物流】内容不正确"); + } + //判断经营业务【包车】 + if (!sixteen.equals("是") && !sixteen.equals("否")){ + return new ErrorTip(500, "经营业务【包车】内容不正确"); + } + //判断驾龄 + if (!isInteger(six)){ + return new ErrorTip(500, "驾龄格式不正确"); + } + //判断手机号 + if (!isPhone(seventeen)){ + return new ErrorTip(500, "登录账号[手机号]格式不正确"); + } + //判断登录密码 + if (!isPassword(eighteen)){ + return new ErrorTip(500, "登录密码格式不正确"); + } + + //查找平台公司 + TCompany platCompany = itCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1).notIn("flag", "3").last(" limit 1")); + Integer companyId = platCompany.getId(); + Integer franchiseeId = 0; + if ("加盟司机".equals(one)){ + //判断所属分公司是否存在 + if (SinataUtil.isNotEmpty(two)){ + TCompany company = itCompanyService.selectOne(new EntityWrapper<TCompany>().eq("name", two).eq("type", 2).notIn("flag", "3").last(" limit 1")); + if (SinataUtil.isNotEmpty(company)){ + companyId = company.getId(); + //判断加盟商是否存在 + if (SinataUtil.isNotEmpty(three)){ + TCompany franchisee = itCompanyService.selectOne(new EntityWrapper<TCompany>().eq("superiorId",company.getId()).eq("name", three).eq("type", 3).notIn("flag", "3").last(" limit 1")); + if (SinataUtil.isNotEmpty(franchisee)){ + franchiseeId = franchisee.getId(); + } + } + } + } + } + TDriver driver = new TDriver(); + driver.setAccount(seventeen); + driver.setJobNumber(ten); + driver.setPhone(seventeen); + driver.setPassword(ShiroKit.md5(eighteen, "SA;d5#")); + driver.setName(zero); + if ("男".equals(four)){ + driver.setSex(1); + }else if ("女".equals(four)){ + driver.setSex(2); + } + driver.setIdCard(seven); + driver.setDriverAge(Integer.valueOf(six)); + driver.setDriveCard(five); + driver.setTaxiAptitudeCard(nine); + if ("平台司机".equals(one)){ + driver.setIsPlatCar(1); + }else if ("加盟司机".equals(one)){ + driver.setIsPlatCar(2); + } + driver.setCompanyId(companyId); + driver.setFranchiseeId(franchiseeId); + driver.setState(2); + driver.setAuthState(2); + driver.setFlag("1"); + driver.setInsertUser(ShiroKit.getUser().getId()); + driver.setInsertTime(new Date()); + driver.setAddType(2); + driver.setAddObjectId(ShiroKit.getUser().getObjectId()); + if(SinataUtil.isNotEmpty(eight)){ + driver.setDriverAddress(eight); + } + tDriverService.insert(driver); + + + //添加专车服务模式 + if ("是".equals(eleven)){ + TDriverService service = new TDriverService(); + service.setDriverId(driver.getId()); + service.setType(1); + itDriverServiceService.insert(service); + } + //添加出租车服务模式 + if ("是".equals(twelve)){ + TDriverService service = new TDriverService(); + service.setDriverId(driver.getId()); + service.setType(2); + itDriverServiceService.insert(service); + } + //添加跨城出行服务模式 + if ("是".equals(thirteen)){ + TDriverService service = new TDriverService(); + service.setDriverId(driver.getId()); + service.setType(3); + itDriverServiceService.insert(service); + } + //添加小件同城物流服务模式 + if ("是".equals(fourteen)){ + TDriverService service = new TDriverService(); + service.setDriverId(driver.getId()); + service.setType(4); + itDriverServiceService.insert(service); + } + //添加小件跨城物流服务模式 + if ("是".equals(fifteen)){ + TDriverService service = new TDriverService(); + service.setDriverId(driver.getId()); + service.setType(5); + itDriverServiceService.insert(service); + } + //添加包车服务模式 + if ("是".equals(sixteen)){ + TDriverService service = new TDriverService(); + service.setDriverId(driver.getId()); + service.setType(6); + itDriverServiceService.insert(service); + } + } + } + }else if (ShiroKit.getUser().getRoleType() == 2){ + Workbook book = WoUtil.ImportFile(file); + Sheet sh = book.getSheetAt(0); //获取到第一个表 + for (int i = 1; i <= sh.getLastRowNum(); i++) { + Row row = sh.getRow(i); + + Cell cell0 = row.getCell(0); //司机名称 + String zero = null; + if (SinataUtil.isNotEmpty(cell0)){ + zero = String.valueOf(cell0.getStringCellValue()).trim(); + } + + Cell cell1 = row.getCell(1); //所属加盟商[选填] + String one = null; + if (SinataUtil.isNotEmpty(cell1)){ + one = String.valueOf(cell1.getStringCellValue()).trim(); + } + + Cell cell2 = row.getCell(2); //性别[男/女] + String two = null; + if (SinataUtil.isNotEmpty(cell2)){ + two = String.valueOf(cell2.getStringCellValue()).trim(); + } + + Cell cell3 = row.getCell(3); //驾驶证号码 + String three = null; + if (SinataUtil.isNotEmpty(cell3)){ + three = String.valueOf(cell3.getStringCellValue()).trim(); + } + + Cell cell4 = row.getCell(4); //驾龄 + String four = null; + if (SinataUtil.isNotEmpty(cell4)){ + four = String.valueOf(cell4.getStringCellValue()).trim(); + } + + Cell cell5 = row.getCell(5); //身份证号 + String five = null; + if (SinataUtil.isNotEmpty(cell5)){ + five = String.valueOf(cell5.getStringCellValue()).trim(); + } + + Cell cell6 = row.getCell(6); //居住地址 + String six = null; + if (SinataUtil.isNotEmpty(cell6)){ + six = String.valueOf(cell6.getStringCellValue()).trim(); + } + + Cell cell7 = row.getCell(7); //出租车资格证号 + String seven = null; + if (SinataUtil.isNotEmpty(cell7)){ + seven = String.valueOf(cell7.getStringCellValue()).trim(); + } + + Cell cell8 = row.getCell(8); //工号[选填] + String eight = null; + if (SinataUtil.isNotEmpty(cell8)){ + eight = String.valueOf(cell8.getStringCellValue()).trim(); + } + + Cell cell9 = row.getCell(9); //经营业务:专车[是/否] + String nine = null; + if (SinataUtil.isNotEmpty(cell9)){ + nine = String.valueOf(cell9.getStringCellValue()).trim(); + } + + Cell cell10 = row.getCell(10); //经营业务:出租车[是/否] + String ten = null; + if (SinataUtil.isNotEmpty(cell10)){ + ten = String.valueOf(cell10.getStringCellValue()).trim(); + } + + Cell cell11 = row.getCell(11); //经营业务:跨城出行[是/否] + String eleven = null; + if (SinataUtil.isNotEmpty(cell11)){ + eleven = String.valueOf(cell11.getStringCellValue()).trim(); + } + + Cell cell12 = row.getCell(12); //经营业务:小件同城物流[是/否] + String twelve = null; + if (SinataUtil.isNotEmpty(cell12)){ + twelve = String.valueOf(cell12.getStringCellValue()).trim(); + } + + Cell cell13 = row.getCell(13); //经营业务:小件跨城物流[是/否] + String thirteen = null; + if (SinataUtil.isNotEmpty(cell13)){ + thirteen = String.valueOf(cell13.getStringCellValue()).trim(); + } + + Cell cell14 = row.getCell(14); //经营业务:包车[是/否] + String fourteen = null; + if (SinataUtil.isNotEmpty(cell14)){ + fourteen = String.valueOf(cell14.getStringCellValue()).trim(); + } + + Cell cell15 = row.getCell(15); //登录账号[手机号] + String fifteen = null; + if (SinataUtil.isNotEmpty(cell15)){ + fifteen = String.valueOf(cell15.getStringCellValue()).trim(); + } + + Cell cell16 = row.getCell(16); //登录密码[密码长度为6-18] + String sixteen = null; + if (SinataUtil.isNotEmpty(cell16)){ + sixteen = String.valueOf(cell16.getStringCellValue()).trim(); + } + if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(two) || SinataUtil.isEmpty(three) || SinataUtil.isEmpty(four) + || SinataUtil.isEmpty(five) || SinataUtil.isEmpty(seven) + || SinataUtil.isEmpty(nine) || SinataUtil.isEmpty(ten) + || SinataUtil.isEmpty(eleven) || SinataUtil.isEmpty(twelve) || SinataUtil.isEmpty(thirteen) + || SinataUtil.isEmpty(fourteen) || SinataUtil.isEmpty(fifteen) || SinataUtil.isEmpty(sixteen)){ + return new ErrorTip(500, "单元格不能为空"); + }else{ + //判断账号是否存在 + int count = tDriverService.selectCount(new EntityWrapper<TDriver>().eq("phone", fifteen).in("authState", "1,2,3").ne("flag", 3)); + if (count > 0){ + continue; + } + //判断性别 + if (!two.equals("男") && !two.equals("女")){ + return new ErrorTip(500, "性别内容不正确"); + } + //判断经营业务【专车】 + if (!nine.equals("是") && !nine.equals("否")){ + return new ErrorTip(500, "经营业务【专车】内容不正确"); + } + //判断经营业务【出租车】 + if (!ten.equals("是") && !ten.equals("否")){ + return new ErrorTip(500, "经营业务【出租车】内容不正确"); + } + //判断经营业务【跨城出行】 + if (!eleven.equals("是") && !eleven.equals("否")){ + return new ErrorTip(500, "经营业务【跨城出行】内容不正确"); + } + //判断经营业务【小件同城物流】 + if (!twelve.equals("是") && !twelve.equals("否")){ + return new ErrorTip(500, "经营业务【小件同城物流】内容不正确"); + } + //判断经营业务【小件跨城物流】 + if (!thirteen.equals("是") && !thirteen.equals("否")){ + return new ErrorTip(500, "经营业务【小件跨城物流】内容不正确"); + } + //判断经营业务【包车】 + if (!fourteen.equals("是") && !fourteen.equals("否")){ + return new ErrorTip(500, "经营业务【包车】内容不正确"); + } + //判断驾龄 + if (!isInteger(four)){ + return new ErrorTip(500, "驾龄格式不正确"); + } + //判断手机号 + if (!isPhone(fifteen)){ + return new ErrorTip(500, "登录账号[手机号]格式不正确"); + } + //判断登录密码 + if (!isPassword(sixteen)){ + return new ErrorTip(500, "登录密码格式不正确"); + } + //查找平台公司 + Integer companyId = ShiroKit.getUser().getObjectId(); + Integer franchiseeId = 0; + //判断所属分公司是否存在 + if (SinataUtil.isNotEmpty(one)){ + TCompany franchisee = itCompanyService.selectOne(new EntityWrapper<TCompany>().eq("superiorId",companyId).eq("name", one).eq("type", 3).notIn("flag", "3").last(" limit 1")); + if (SinataUtil.isNotEmpty(franchisee)){ + franchiseeId = franchisee.getId(); + } + } + + TDriver driver = new TDriver(); + driver.setAccount(fifteen); + driver.setJobNumber(eight); + driver.setPhone(fifteen); + driver.setPassword(ShiroKit.md5(sixteen, "SA;d5#")); + driver.setName(zero); + if ("男".equals(two)){ + driver.setSex(1); + }else if ("女".equals(two)){ + driver.setSex(2); + } + driver.setIdCard(five); + driver.setDriverAge(Integer.valueOf(four)); + driver.setDriveCard(three); + driver.setTaxiAptitudeCard(seven); + driver.setIsPlatCar(2); + driver.setCompanyId(companyId); + driver.setFranchiseeId(franchiseeId); + driver.setState(1); + driver.setAuthState(1); + driver.setFlag("1"); + driver.setInsertUser(ShiroKit.getUser().getId()); + driver.setInsertTime(new Date()); + driver.setAddType(3); + driver.setAddObjectId(ShiroKit.getUser().getObjectId()); + if (SinataUtil.isNotEmpty(six)){ + driver.setDriverAddress(six); + } + tDriverService.insert(driver); + + //添加专车服务模式 + if ("是".equals(nine)){ + TDriverService service = new TDriverService(); + service.setDriverId(driver.getId()); + service.setType(1); + itDriverServiceService.insert(service); + } + //添加出租车服务模式 + if ("是".equals(ten)){ + TDriverService service = new TDriverService(); + service.setDriverId(driver.getId()); + service.setType(2); + itDriverServiceService.insert(service); + } + //添加跨城出行服务模式 + if ("是".equals(eleven)){ + TDriverService service = new TDriverService(); + service.setDriverId(driver.getId()); + service.setType(3); + itDriverServiceService.insert(service); + } + //添加小件同城物流服务模式 + if ("是".equals(twelve)){ + TDriverService service = new TDriverService(); + service.setDriverId(driver.getId()); + service.setType(4); + itDriverServiceService.insert(service); + } + //添加小件跨城物流服务模式 + if ("是".equals(thirteen)){ + TDriverService service = new TDriverService(); + service.setDriverId(driver.getId()); + service.setType(5); + itDriverServiceService.insert(service); + } + //添加包车服务模式 + if ("是".equals(fourteen)){ + TDriverService service = new TDriverService(); + service.setDriverId(driver.getId()); + service.setType(6); + itDriverServiceService.insert(service); + } + + } + } + }else if (ShiroKit.getUser().getRoleType() == 3){ + Workbook book = WoUtil.ImportFile(file); + Sheet sh = book.getSheetAt(0); //获取到第一个表 + for (int i = 1; i <= sh.getLastRowNum(); i++) { + Row row = sh.getRow(i); + + Cell cell0 = row.getCell(0); //司机名称 + String zero = null; + if (SinataUtil.isNotEmpty(cell0)){ + zero = String.valueOf(cell0.getStringCellValue()).trim(); + } + + Cell cell2 = row.getCell(1); //性别[男/女] + String one = null; + if (SinataUtil.isNotEmpty(cell2)){ + one = String.valueOf(cell2.getStringCellValue()).trim(); + } + + Cell cell3 = row.getCell(2); //驾驶证号码 + String two = null; + if (SinataUtil.isNotEmpty(cell3)){ + two = String.valueOf(cell3.getStringCellValue()).trim(); + } + + Cell cell4 = row.getCell(3); //驾龄 + String three = null; + if (SinataUtil.isNotEmpty(cell4)){ + three = String.valueOf(cell4.getStringCellValue()).trim(); + } + + Cell cell5 = row.getCell(4); //身份证号 + String four = null; + if (SinataUtil.isNotEmpty(cell5)){ + four = String.valueOf(cell5.getStringCellValue()).trim(); + } + + Cell cell6 = row.getCell(5); //居住地址 + String five = null; + if (SinataUtil.isNotEmpty(cell6)){ + five = String.valueOf(cell6.getStringCellValue()).trim(); + } + + Cell cell7 = row.getCell(6); //出租车资格证号 + String six = null; + if (SinataUtil.isNotEmpty(cell7)){ + six = String.valueOf(cell7.getStringCellValue()).trim(); + } + + Cell cell8 = row.getCell(7); //工号[选填] + String seven = null; + if (SinataUtil.isNotEmpty(cell8)){ + seven = String.valueOf(cell8.getStringCellValue()).trim(); + } + + Cell cell9 = row.getCell(8); //经营业务:专车[是/否] + String eight = null; + if (SinataUtil.isNotEmpty(cell9)){ + eight = String.valueOf(cell9.getStringCellValue()).trim(); + } + + Cell cell10 = row.getCell(9); //经营业务:出租车[是/否] + String nine = null; + if (SinataUtil.isNotEmpty(cell10)){ + nine = String.valueOf(cell10.getStringCellValue()).trim(); + } + + Cell cell11 = row.getCell(10); //经营业务:跨城出行[是/否] + String ten = null; + if (SinataUtil.isNotEmpty(cell11)){ + ten = String.valueOf(cell11.getStringCellValue()).trim(); + } + + Cell cell12 = row.getCell(11); //经营业务:小件同城物流[是/否] + String eleven = null; + if (SinataUtil.isNotEmpty(cell12)){ + eleven = String.valueOf(cell12.getStringCellValue()).trim(); + } + + Cell cell13 = row.getCell(12); //经营业务:小件跨城物流[是/否] + String twelve = null; + if (SinataUtil.isNotEmpty(cell13)){ + twelve = String.valueOf(cell13.getStringCellValue()).trim(); + } + + Cell cell14 = row.getCell(13); //经营业务:包车[是/否] + String thirteen = null; + if (SinataUtil.isNotEmpty(cell14)){ + thirteen = String.valueOf(cell14.getStringCellValue()).trim(); + } + + Cell cell15 = row.getCell(14); //登录账号[手机号] + String fourteen = null; + if (SinataUtil.isNotEmpty(cell15)){ + fourteen = String.valueOf(cell15.getStringCellValue()).trim(); + } + + Cell cell16 = row.getCell(15); //登录密码[密码长度为6-18] + String fifteen = null; + if (SinataUtil.isNotEmpty(cell16)){ + fifteen = String.valueOf(cell16.getStringCellValue()).trim(); + } + if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(one) || SinataUtil.isEmpty(two) || SinataUtil.isEmpty(three) || SinataUtil.isEmpty(four) + || SinataUtil.isEmpty(six) || SinataUtil.isEmpty(eight) + || SinataUtil.isEmpty(nine) || SinataUtil.isEmpty(ten) + || SinataUtil.isEmpty(eleven) || SinataUtil.isEmpty(twelve) || SinataUtil.isEmpty(thirteen) + || SinataUtil.isEmpty(fourteen) || SinataUtil.isEmpty(fifteen) ){ + return new ErrorTip(500, "单元格不能为空"); + }else{ + //判断账号是否存在 + int count = tDriverService.selectCount(new EntityWrapper<TDriver>().eq("phone", fourteen).in("authState", "1,2,3").ne("flag", 3)); + if (count > 0){ + continue; + } + //判断性别 + if (!one.equals("男") && !one.equals("女")){ + return new ErrorTip(500, "性别内容不正确"); + } + //判断经营业务【专车】 + if (!eight.equals("是") && !eight.equals("否")){ + return new ErrorTip(500, "经营业务【专车】内容不正确"); + } + //判断经营业务【出租车】 + if (!nine.equals("是") && !nine.equals("否")){ + return new ErrorTip(500, "经营业务【出租车】内容不正确"); + } + //判断经营业务【跨城出行】 + if (!ten.equals("是") && !ten.equals("否")){ + return new ErrorTip(500, "经营业务【跨城出行】内容不正确"); + } + //判断经营业务【小件同城物流】 + if (!eleven.equals("是") && !eleven.equals("否")){ + return new ErrorTip(500, "经营业务【小件同城物流】内容不正确"); + } + //判断经营业务【小件跨城物流】 + if (!twelve.equals("是") && !twelve.equals("否")){ + return new ErrorTip(500, "经营业务【小件跨城物流】内容不正确"); + } + //判断经营业务【包车】 + if (!thirteen.equals("是") && !thirteen.equals("否")){ + return new ErrorTip(500, "经营业务【包车】内容不正确"); + } + //判断驾龄 + if (!isInteger(three)){ + return new ErrorTip(500, "驾龄格式不正确"); + } + //判断手机号 + if (!isPhone(fourteen)){ + return new ErrorTip(500, "登录账号[手机号]格式不正确"); + } + //判断登录密码 + if (!isPassword(fifteen)){ + return new ErrorTip(500, "登录密码格式不正确"); + } + //查找平台公司 + Integer companyId = 0; + Integer franchiseeId = 0; + TCompany franchisee = itCompanyService.selectById(ShiroKit.getUser().getObjectId()); + if (SinataUtil.isNotEmpty(franchisee)){ + companyId = franchisee.getSuperiorId(); + franchiseeId = franchisee.getId(); + } + if (companyId == 0 && franchiseeId == 0){ + return new ErrorTip(500, "当前登录账户上级分公司不能为空"); + } + + TDriver driver = new TDriver(); + driver.setAccount(fourteen); + driver.setJobNumber(seven); + driver.setPhone(fourteen); + driver.setPassword(ShiroKit.md5(fifteen, "SA;d5#")); + driver.setName(zero); + if ("男".equals(one)){ + driver.setSex(1); + }else if ("女".equals(one)){ + driver.setSex(2); + } + driver.setIdCard(four); + driver.setDriverAge(Integer.valueOf(three)); + driver.setDriveCard(two); + driver.setTaxiAptitudeCard(six); + driver.setIsPlatCar(2); + driver.setCompanyId(companyId); + driver.setFranchiseeId(franchiseeId); + driver.setState(1); + driver.setAuthState(1); + driver.setFlag("1"); + driver.setInsertUser(ShiroKit.getUser().getId()); + driver.setInsertTime(new Date()); + driver.setAddType(4); + driver.setAddObjectId(ShiroKit.getUser().getObjectId()); + if (SinataUtil.isNotEmpty(five)){ + driver.setDriverAddress(five); + } + tDriverService.insert(driver); + + //添加专车服务模式 + if ("是".equals(eight)){ + TDriverService service = new TDriverService(); + service.setDriverId(driver.getId()); + service.setType(1); + itDriverServiceService.insert(service); + } + //添加出租车服务模式 + if ("是".equals(nine)){ + TDriverService service = new TDriverService(); + service.setDriverId(driver.getId()); + service.setType(2); + itDriverServiceService.insert(service); + } + //添加跨城出行服务模式 + if ("是".equals(ten)){ + TDriverService service = new TDriverService(); + service.setDriverId(driver.getId()); + service.setType(3); + itDriverServiceService.insert(service); + } + //添加小件同城物流服务模式 + if ("是".equals(eleven)){ + TDriverService service = new TDriverService(); + service.setDriverId(driver.getId()); + service.setType(4); + itDriverServiceService.insert(service); + } + //添加小件跨城物流服务模式 + if ("是".equals(twelve)){ + TDriverService service = new TDriverService(); + service.setDriverId(driver.getId()); + service.setType(5); + itDriverServiceService.insert(service); + } + //添加包车服务模式 + if ("是".equals(thirteen)){ + TDriverService service = new TDriverService(); + service.setDriverId(driver.getId()); + service.setType(6); + itDriverServiceService.insert(service); + } + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return SUCCESS_TIP; + } + + + + + @Autowired + private ITCompanyService itCompanyService; + + @Autowired + private ITDriverServiceService itDriverServiceService; + + *//** + * 验证是否可以字符转为整数 + * @param str + * @return + *//* + public static boolean isInteger(String str) { + try{ + String reg = "^[0-9]\\d*$"; + boolean flag = str.matches(reg); + return flag; + }catch(NumberFormatException e) { + System.out.println("异常:\"" + str + "\"..."); + return false; + } + } + *//** + * 验证手机号格式是否正确 + * @param str + * @return + *//* + public static boolean isPhone(String str) { + try{ + String reg = "^1\\d{10}$"; + boolean flag = str.matches(reg); + return flag; + }catch(NumberFormatException e) { + System.out.println("异常:\"" + str + "\"..."); + return false; + } + } + *//** + * 验证密码长度是否正确 + * @param str + * @return + *//* + public static boolean isPassword(String str) { + try{ + String reg = "^.{6,18}$"; + boolean flag = str.matches(reg); + return flag; + }catch(NumberFormatException e) { + System.out.println("异常:\"" + str + "\"..."); + return false; + } + } + + *//** + * 导出司机信息 + *//* + @RequestMapping(value = "/outDriver") + public void outDriver(HttpServletRequest request, HttpServletResponse response) { + List<Map<String,Object>> listMap = tDriverService.getDriverListNoPage(ShiroKit.getUser().getRoleType(),ShiroKit.getUser().getObjectId()); + + // 表格数据【封装】 + List<List<String>> dataList = new ArrayList<>(); + + //第一行显示【封装】 + List<String> twoList = new ArrayList<String>(); + twoList.add("总计:"); + twoList.add(String.valueOf(listMap.size())+"条"); + dataList.add(twoList); + + // 列【封装】 + List<String> shellList = new ArrayList<String>(); + shellList.add("添加时间"); + shellList.add("姓名"); + shellList.add("登录账号【手机号】"); + shellList.add("性别"); + shellList.add("司机来源"); + shellList.add("所属分公司"); + shellList.add("所属加盟商"); + shellList.add("当前车辆"); + shellList.add("服务模式"); + shellList.add("关联线路"); + shellList.add("评分"); + shellList.add("历史接单数"); + shellList.add("历史订单总金额"); + shellList.add("当前钱包余额"); + shellList.add("钱包活动余额"); + shellList.add("钱包收入余额"); + shellList.add("状态"); + dataList.add(shellList); + + for (Map<String,Object> object : listMap){ + // 详细数据列【封装】 + shellList = new ArrayList<String>(); + if(SinataUtil.isNotEmpty(object.get("insertTime"))){ + shellList.add(DateUtil.formatDate(DateUtil.parse(object.get("insertTime").toString(),"YYYY-MM-dd HH:mm:ss.S"), "YYYY-MM-dd HH:mm:ss")); + }else{ + shellList.add("-"); + } + if(SinataUtil.isNotEmpty(object.get("name"))){ + shellList.add(object.get("name").toString()); + }else{ + shellList.add("-"); + } + if(SinataUtil.isNotEmpty(object.get("phone"))){ + shellList.add(object.get("phone").toString()); + }else{ + shellList.add("-"); + } + if(SinataUtil.isNotEmpty(object.get("sex"))){ + shellList.add(object.get("sex").toString() == "1"?"男":"女"); + }else{ + shellList.add("-"); + } + if(SinataUtil.isNotEmpty(object.get("addType"))){ + + shellList.add(object.get("addType").toString().equals("1")?"司机注册":(object.get("addType").toString().equals("2")?"平台添加":(object.get("addType").toString().equals("3")?"分公司添加":(object.get("addType").toString().equals("4")?"加盟商添加":"")))); + }else{ + shellList.add("-"); + } + if(SinataUtil.isNotEmpty(object.get("companyName"))){ + shellList.add(object.get("companyName").toString()); + }else{ + shellList.add("-"); + } + if(SinataUtil.isNotEmpty(object.get("franchiseeName"))){ + shellList.add(object.get("franchiseeName").toString()); + }else{ + shellList.add("-"); + } + if(SinataUtil.isNotEmpty(object.get("carLicensePlate"))){ + shellList.add(object.get("carLicensePlate").toString()); + }else{ + shellList.add("-"); + } + if(SinataUtil.isNotEmpty(object.get("serverStr"))){ + shellList.add(object.get("serverStr").toString()); + }else{ + shellList.add("-"); + } + if(SinataUtil.isNotEmpty(object.get("lineStr"))){ + shellList.add(object.get("lineStr").toString()); + }else{ + shellList.add("-"); + } + if(SinataUtil.isNotEmpty(object.get("evaluateNum"))){ + shellList.add(object.get("evaluateNum").toString()); + }else{ + shellList.add("0"); + } + if(SinataUtil.isNotEmpty(object.get("historyNum"))){ + shellList.add(object.get("historyNum").toString()); + }else{ + shellList.add("0"); + } + if(SinataUtil.isNotEmpty(object.get("historyMoney"))){ + shellList.add(object.get("historyMoney").toString()); + }else{ + shellList.add("0"); + } + if(SinataUtil.isNotEmpty(object.get("balance"))){ + shellList.add(object.get("balance").toString()); + }else{ + shellList.add("0"); + } + if(SinataUtil.isNotEmpty(object.get("laveActivityMoney"))){ + shellList.add(object.get("laveActivityMoney").toString()); + }else{ + shellList.add("0"); + } + if(SinataUtil.isNotEmpty(object.get("laveBusinessMoney"))){ + shellList.add(object.get("laveBusinessMoney").toString()); + }else{ + shellList.add("0"); + } + if(SinataUtil.isNotEmpty(object.get("authState"))){ + shellList.add(object.get("authState").toString().equals("1")?"待审核":(object.get("authState").toString().equals("2")?"正常":(object.get("authState").toString().equals("3")?"冻结":(object.get("authState").toString().equals("4")?"已拒绝":"")))); + + shellList.add(object.get("authState").toString()); + }else{ + shellList.add("-"); + } + dataList.add(shellList); + } + try { + // 调用工具类进行导出 + ExcelExportUtil.easySheet("司机信息导出记录"+DateUtil.formatDate(new Date(), "YYYYMMddHHmmss"), "司机信息导出记录", dataList,request, response); + } catch (Exception e) { + e.printStackTrace(); + } + }*/ + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java index 55adaa4..d49eb15 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java @@ -1,50 +1,45 @@ package com.stylefeng.guns.modular.system.controller.general; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; 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.common.constant.factory.PageFactory; import com.stylefeng.guns.core.shiro.ShiroKit; -import com.stylefeng.guns.core.util.*; -import com.stylefeng.guns.modular.system.dao.DriverPunishMapper; -import com.stylefeng.guns.modular.system.dao.DriverTrainMapper; -import com.stylefeng.guns.modular.system.model.*; -import com.stylefeng.guns.modular.system.service.*; -import com.stylefeng.guns.modular.system.util.HttpRequestUtil; -import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil; -import com.stylefeng.guns.modular.system.util.PushURL; -import com.stylefeng.guns.modular.system.util.ResultUtil; -import org.apache.commons.lang.time.DateUtils; -import org.apache.poi.hdf.extractor.TC; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.Workbook; -import org.springframework.beans.factory.annotation.Value; +import com.stylefeng.guns.core.shiro.ShiroUser; +import com.stylefeng.guns.modular.system.controller.resp.TDriverResp; +import com.stylefeng.guns.modular.system.controller.util.ExcelUtil; +import com.stylefeng.guns.modular.system.model.TAgent; +import com.stylefeng.guns.modular.system.model.TAppUser; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiOperation; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.*; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.beans.factory.annotation.Autowired; import com.stylefeng.guns.core.log.LogObjectHolder; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.bind.annotation.RequestParam; +import com.stylefeng.guns.modular.system.model.TDriver; +import com.stylefeng.guns.modular.system.service.ITDriverService; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.OutputStream; +import java.math.BigDecimal; import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.Date; +import java.util.List; +import java.util.Objects; /** - * 司机审核列表控制器 + * 控制器 * * @author fengshuonan - * @Date 2020-06-04 17:35:28 + * @Date 2023-02-20 09:07:06 */ @Controller @RequestMapping("/tDriver") @@ -55,34 +50,8 @@ @Autowired private ITDriverService tDriverService; - @Autowired - private ITCompanyService tCompanyService; - - @Autowired - private ITDriverServiceService tDriverServiceService; - - @Autowired - private ITDriverLineService tDriverLineService; - - @Autowired - private ITLineService itLineService; - - @Autowired - private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; - - @Resource - private DriverTrainMapper driverTrainMapper; - - @Resource - private DriverPunishMapper driverPunishMapper; - - @Value("${pushMinistryOfTransport}") - private boolean pushMinistryOfTransport; - - - /** - * 跳转到司机审核列表首页 + * 跳转到首页 */ @RequestMapping("") public String index() { @@ -90,1815 +59,340 @@ } /** - * 跳转到审核通过司机首页 - */ - @RequestMapping("/yesDriver") - public String yesDriver() { - return PREFIX + "yesDriver.html"; - } - - /** - * 跳转到添加司机 + * 跳转到添加 */ @RequestMapping("/tDriver_add") - public String tDriverAdd(Model model) { - List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2)); - model.addAttribute("companyList",companyList); - - Integer roleType = ShiroKit.getUser().getRoleType(); - model.addAttribute("roleType",roleType); - if (2 == roleType){ - List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>() - .eq("type", 3) - .eq("superiorId",ShiroKit.getUser().getObjectId()) - .notIn("state",1) - .notIn("flag",3)); - model.addAttribute("franchiseeList",franchiseeList); - }else{ - model.addAttribute("franchiseeList",null); - } - //查询当前用户所属分公司/加盟商 - model.addAttribute("objectName",tCompanyService.selectById(ShiroKit.getUser().getObjectId()).getName()); - - //查询线路列表 - List<TLine> lineList = itLineService.selectList(new EntityWrapper<TLine>().eq("state", 1)); - model.addAttribute("lineList",lineList); + public String tDriverAdd() { return PREFIX + "tDriver_add.html"; } /** - * 跳转到修改审核司机 - */ - @RequestMapping("/tDriver_immediately/{tDriverId}") - public String tDriver_immediately(@PathVariable Integer tDriverId, Model model) { - Map<String, Object> tDriver = tDriverService.getDriverById(tDriverId); - model.addAttribute("item",tDriver); - LogObjectHolder.me().set(tDriver); - return PREFIX + "tDriver_immediately.html"; - } - - /** - * 跳转到选择车辆页面 - */ - @RequestMapping("/tDriver_changeCar/{tDriverId}") - public String tDriver_changeCar(@PathVariable Integer tDriverId, Model model) { - model.addAttribute("tDriverId",tDriverId); - return PREFIX + "tDriver_changeCar.html"; - } - - /** - * 跳转到冻结/解冻司机页面 - */ - @RequestMapping("/tDriver_optDriver/{tDriverId}/{optType}") - public String tDriver_optDriver(@PathVariable Integer tDriverId,@PathVariable Integer optType, Model model) { - model.addAttribute("tDriverId",tDriverId); - model.addAttribute("optType",optType); - return PREFIX + "tDriver_optDriver.html"; - } - - /** - * 跳转到查看司机详情 - */ - @RequestMapping("/tDriver_look/{tDriverId}") - public String tDriver_look(@PathVariable Integer tDriverId, Model model) { - Map<String, Object> tDriver = tDriverService.getDriverById(tDriverId); - model.addAttribute("item",tDriver); - LogObjectHolder.me().set(tDriver); - return PREFIX + "tDriver_look.html"; - } - - /** - * 跳转到修改司机 + * 跳转到修改 */ @RequestMapping("/tDriver_update/{tDriverId}") public String tDriverUpdate(@PathVariable Integer tDriverId, Model model) { TDriver tDriver = tDriverService.selectById(tDriverId); model.addAttribute("item",tDriver); LogObjectHolder.me().set(tDriver); - - Integer roleType = ShiroKit.getUser().getRoleType(); - model.addAttribute("roleType",roleType); - model.addAttribute("objectName",tCompanyService.selectById(ShiroKit.getUser().getObjectId()).getName()); - - if (1 == roleType){ - List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2)); - model.addAttribute("companyList",companyList); - List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 3).eq("superiorId",tDriver.getCompanyId())); - model.addAttribute("franchiseeList",franchiseeList); - }else if (2 == roleType){ - List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 3).eq("superiorId",ShiroKit.getUser().getObjectId())); - model.addAttribute("franchiseeList",franchiseeList); - } - - //查询平台ID - TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1)); - //判断是平台司机还是加盟司机 - if ((SinataUtil.isEmpty(tDriver.getCompanyId()) || tDriver.getCompanyId() == 0 || tDriver.getCompanyId() == company.getId()) && (SinataUtil.isEmpty(tDriver.getFranchiseeId()) || tDriver.getFranchiseeId() == 0)){ - model.addAttribute("companyType",1); - }else{ - model.addAttribute("companyType",2); - } - - //获取经营业务 - List<TDriverService> serviceList = tDriverServiceService.selectList(new EntityWrapper<TDriverService>().eq("driverId", tDriverId)); - Integer one = 1; - Integer two = 1; - Integer three = 1; - Integer four = 1; - Integer five = 1; - Integer six = 1; - for (TDriverService obj : serviceList){ - if (obj.getType() == 1){ - one = 2; - } - if (obj.getType() == 2){ - two = 2; - } - if (obj.getType() == 3){ - three = 2; - } - if (obj.getType() == 4){ - four = 2; - } - if (obj.getType() == 5){ - five = 2; - } - if (obj.getType() == 6){ - six = 2; - } - } - model.addAttribute("one",one); - model.addAttribute("two",two); - model.addAttribute("three",three); - model.addAttribute("four",four); - model.addAttribute("five",five); - model.addAttribute("six",six); - - //查询线路列表 - List<TLine> lineList = itLineService.selectList(new EntityWrapper<TLine>().eq("state", 1)); - model.addAttribute("lineList",lineList); - //查询驾驶员已添加的线路列表 - List<Map<String, Object>> driverLineList = tDriverLineService.getDriverLineListByDriverId(tDriverId); - model.addAttribute("driverLineList",driverLineList); return PREFIX + "tDriver_edit.html"; } /** - * 跳转到添加培训页 - * @param id - * @param model + * 跳转冻结页面 * @return */ - @RequestMapping("/showTraining") - public String showTraining(Integer id, Model model){ - model.addAttribute("id", id); - return PREFIX + "training.html"; - } + @RequestMapping("/tDriver_start_and_stop") + public String tAppUserStartAndStop( Integer id, + Model model) { + TDriver tDriver = tDriverService.selectById(id); - - /** - * 保存培训数据 - * @param train - * @param driverId - * @return - */ - @ResponseBody - @RequestMapping(value = "/saveTrain", method = RequestMethod.POST) - public ResultUtil saveTrain(String train, Integer driverId){ - if(ToolUtil.isEmpty(train)){ - return ResultUtil.error("请添加有效的培训记录"); - } - String[] split = train.split(","); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - try { - List<DriverTrain> update = new ArrayList<>(); - List<DriverTrain> add = new ArrayList<>(); - for(String s : split){ - String[] s1 = s.split("_"); - if(ToolUtil.isNotEmpty(s1[0])){//修改 - DriverTrain driverTrain = driverTrainMapper.selectById(s1[0]); - driverTrain.setDriverId(driverId); - driverTrain.setCourseName(s1[1]); - driverTrain.setCourseDate(sdf.parse(s1[2])); - driverTrain.setStartTime(s1[3]); - driverTrain.setStopTime(s1[4]); - driverTrain.setDuration(Integer.valueOf(s1[5])); - update.add(driverTrain); - }else{//添加 - DriverTrain driverTrain = new DriverTrain(); - driverTrain.setDriverId(driverId); - driverTrain.setCourseName(s1[1]); - driverTrain.setCourseDate(sdf.parse(s1[2])); - driverTrain.setStartTime(s1[3]); - driverTrain.setStopTime(s1[4]); - driverTrain.setDuration(Integer.valueOf(s1[5])); - add.add(driverTrain); - } - } - List<DriverTrain> driverTrains = driverTrainMapper.queryAllTrain(driverId); - for(DriverTrain driverTrain : driverTrains){ - boolean b = true; - for(String s : split){ - String[] s1 = s.split("_"); - if(ToolUtil.isNotEmpty(s1[0]) && driverTrain.getId() == Integer.valueOf(s1[0])){ - b = false; - break; - } - } - if(b){ - driverTrainMapper.deleteById(driverTrain.getId()); - new Thread(new Runnable() { - @Override - public void run() { - if(pushMinistryOfTransport){//上传数据 - pushMinistryOfTransportUtil.baseInfoDriverEducate(driverTrain.getId(), 3); - } - } - }).start(); - } - } - if(update.size() > 0){ - for(DriverTrain driverTrain : update){ - driverTrainMapper.updateById(driverTrain); - new Thread(new Runnable() { - @Override - public void run() { - if(pushMinistryOfTransport){//上传数据 - pushMinistryOfTransportUtil.baseInfoDriverEducate(driverTrain.getId(), 2); - } - } - }).start(); - } - } - if(add.size() > 0){ - for(DriverTrain driverTrain : add){ - driverTrainMapper.insert(driverTrain); - new Thread(new Runnable() { - @Override - public void run() { - if(pushMinistryOfTransport){//上传数据 - pushMinistryOfTransportUtil.baseInfoDriverEducate(driverTrain.getId(), 1); - } - } - }).start(); - } - } - - }catch (Exception e){ - e.printStackTrace(); - return ResultUtil.runErr(); - } - return ResultUtil.success(); + model.addAttribute("id",id); + model.addAttribute("status",tDriver.getStatus()); + return PREFIX + "tDriverStartAndStop.html"; } /** - * 获取司机的所有培训数据 - * @param driverId + * 跳转充值页面 * @return */ - @ResponseBody - @RequestMapping(value = "/queryAllTrain", method = RequestMethod.POST) - public ResultUtil queryAllTrain(Integer driverId){ - List<DriverTrain> driverTrains = driverTrainMapper.queryAllTrain(driverId); - return ResultUtil.success(driverTrains); - } - - - /** - * 跳转到处罚页 - * @param id - * @param model - * @return - */ - @RequestMapping("/showPunish") - public String showPunish(Integer id, Model model){ - model.addAttribute("id", id); - return PREFIX + "punish.html"; - } - - - /** - * 保存处罚数据 - * @param punish - * @param driverId - * @return - */ - @ResponseBody - @RequestMapping(value = "/savePunish", method = RequestMethod.POST) - public ResultUtil savePunish(String punish, Integer driverId){ - if(ToolUtil.isEmpty(punish)){ - return ResultUtil.error("请添加有效的培训记录"); - } - String[] split = punish.split(","); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - try { - List<DriverPunish> update = new ArrayList<>(); - List<DriverPunish> add = new ArrayList<>(); - for(String s : split){ - String[] s1 = s.split("_"); - if(ToolUtil.isNotEmpty(s1[0])){//修改 - DriverPunish driverPunish = driverPunishMapper.selectById(s1[0]); - driverPunish.setDriverId(driverId); - driverPunish.setPunishTime(sdf.parse(s1[1])); - driverPunish.setPunishReason(s1[2]); - driverPunish.setPunishReault(s1[3]); - update.add(driverPunish); - }else{//添加 - DriverPunish driverPunish = new DriverPunish(); - driverPunish.setDriverId(driverId); - driverPunish.setPunishTime(sdf.parse(s1[1])); - driverPunish.setPunishReason(s1[2]); - driverPunish.setPunishReault(s1[3]); - add.add(driverPunish); - } - } - List<DriverPunish> driverPunishes = driverPunishMapper.queryAllPunish(driverId); - for(DriverPunish driverTrain : driverPunishes){ - boolean b = true; - for(String s : split){ - String[] s1 = s.split("_"); - if(ToolUtil.isNotEmpty(s1[0]) && driverTrain.getId() == Integer.valueOf(s1[0])){ - b = false; - break; - } - } - if(b){ - driverTrainMapper.deleteById(driverTrain.getId()); - } - } - if(update.size() > 0){ - for(DriverPunish driverTrain : update){ - driverPunishMapper.updateById(driverTrain); - } - } - if(add.size() > 0){ - for(DriverPunish driverTrain : add){ - driverPunishMapper.insert(driverTrain); - new Thread(new Runnable() { - @Override - public void run() { - if(pushMinistryOfTransport){//上传数据 - pushMinistryOfTransportUtil.ratedDriverPunish(driverTrain.getId()); - } - } - }).start(); - } - } - - }catch (Exception e){ - e.printStackTrace(); - return ResultUtil.runErr(); - } - return ResultUtil.success(); - } - - - /** - * 获取所有处罚数据 - * @param driverId - * @return - */ - @ResponseBody - @RequestMapping(value = "/queryAllPunish", method = RequestMethod.POST) - public ResultUtil queryAllPunish(Integer driverId){ - List<DriverPunish> driverPunishes = driverPunishMapper.queryAllPunish(driverId); - return ResultUtil.success(driverPunishes); - } - - - /** - * 根据分公司ID获取加盟商 - * @param oneId - * @return - */ - @RequestMapping(value = "/oneChange") - @ResponseBody - public Object oneChange(@RequestParam Integer oneId) { - List<TCompany> list = new ArrayList<>(); - if (SinataUtil.isNotEmpty(oneId)){ - list = tCompanyService.selectList(new EntityWrapper<TCompany>() - .eq("type", 3) - .eq("superiorId", oneId) - .notIn("flag",3) - .notIn("state",1)); - } - return list; + @RequestMapping("/rechargeBalancePage") + public String rechargeBalancePage( Integer id, + Model model) { + model.addAttribute("id",id); + return PREFIX + "tDriverRechargeBalancePage.html"; } /** - * 获取司机审核列表列表 + * 跳转异常页面 + * @return + */ + @RequestMapping("/tDriver_exception") + public String tDriverException(Model model) { + model.addAttribute("isException",2); + return PREFIX + "tDriverException.html"; + } + /** + * 跳转异常启用冻结页面 + * @return + */ + @RequestMapping("/tDriverException_start_and_stop") + public String tDriverExceptionStartAndStop(Integer id,Model model) { + TDriver tDriver = tDriverService.selectById(id); + model.addAttribute("id",id); + model.addAttribute("status",tDriver.getStatus()); + return PREFIX + "tDriverExceptionStartAndStop.html"; + } + + /** + * 跳转审核页面 + * @return + */ + @RequestMapping("/auditPage") + public String auditPage( Integer id, + Model model) { + tDriverService.auditPage(id,model); + return PREFIX + "tDriverAudit.html"; + } + + /** + * 跳转详情页面 + */ + @RequestMapping("/driverDetail") + public String driverDetail(Integer tDriverId, Model model) { + tDriverService.detail(tDriverId,model); + + return PREFIX + "tDriverDetail.html"; + } + + /** + * 获取列表 */ @RequestMapping(value = "/list") @ResponseBody - public Object list(String insertTime, - String companyName, - String phone, - String account, - Integer addType, - Integer authState) { - String beginTime = null; - String endTime = null; - if (SinataUtil.isNotEmpty(insertTime)){ - String[] timeArray = insertTime.split(" - "); - beginTime = timeArray[0]; - endTime = timeArray[1]; - } - Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); - if (ShiroKit.getUser().getRoleType() != 1){ - page.setRecords(null); - }else{ - page.setRecords(tDriverService.getAuthDriverList(page,beginTime,endTime,companyName,phone,account,addType,authState)); - } - return super.packForBT(page); + public Object list(String createTime,String phone,Integer status) { + EntityWrapper<TDriver> wrapper = tDriverService.getPageList(createTime,phone,status); + wrapper.ne("isException",2); + List<TDriver> tDrivers = tDriverService.selectList(wrapper); + return tDriverService.getTDriverResp(tDrivers); + } + /** + * 获取异常列表 + */ + @RequestMapping(value = "/exceptionList") + @ResponseBody + public Object exceptionList(String createTime,String phone,Integer status) { + EntityWrapper<TDriver> wrapper = tDriverService.getPageList(createTime,phone,status); + wrapper.eq("isException",2); + List<TDriver> tDrivers = tDriverService.selectList(wrapper); + return tDriverService.getTDriverResp(tDrivers); } /** - * 获取审核通过的司机列表 + * 获取列表 */ - @RequestMapping(value = "/listYesDriver") + @RequestMapping(value = "/list-back") @ResponseBody - public Object listYesDriver(String insertTime, - String companyName, - String phone, - String name, - Integer addType, - Integer authState) { - String beginTime = null; - String endTime = null; - if (SinataUtil.isNotEmpty(insertTime)){ - String[] timeArray = insertTime.split(" - "); - beginTime = timeArray[0]; - endTime = timeArray[1]; - } - Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); - page.setRecords(tDriverService.getDriverList(page,ShiroKit.getUser().getRoleType(),ShiroKit.getUser().getObjectId(),beginTime,endTime,companyName,phone,name,addType,authState)); - return super.packForBT(page); + public Object listBack(String condition) { + return tDriverService.selectList(null); } /** - * 获取可被选择的车辆列表 + * 审核 */ - @RequestMapping(value = "/selectCarList/{tDriverId}") + @RequestMapping(value = "/auditSubmit") @ResponseBody - public Object selectCarList(@PathVariable Integer tDriverId, - String carLicensePlate, - String brandName, - String modelName, - String color, - String serverStr) { - TDriver driver = tDriverService.selectById(tDriverId); - /*String useCarIdStr = null; - //查询已被使用的车辆ID - if (SinataUtil.isNotEmpty(driver.getCarId())){ - useCarIdStr = tDriverService.getUseCarIdStr(driver.getCarId()); - }else{ - useCarIdStr = tDriverService.getUseCarIdStr(null); - }*/ - //2020-08-21:新需求,已被绑定的车辆可以被继续绑定 - Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); - page.setRecords(tDriverService.getCanSelectCarList(page,ShiroKit.getUser().getRoleType(),ShiroKit.getUser().getObjectId(),null,carLicensePlate,brandName,modelName,color,serverStr)); - return super.packForBT(page); - - } - - /** - * 审核操作 1=通过 2=不通过 - */ - @RequestMapping(value = "/authOpt") - @ResponseBody - public Object authOpt(Integer id,Integer authState) { - if (SinataUtil.isNotEmpty(id) && SinataUtil.isNotEmpty(authState)){ - TDriver tDriver = tDriverService.selectById(id); - Integer type = 0; - if (1 == authState){ - type = 5; - tDriver.setAuthState(2); - - new Thread(new Runnable() { - @Override - public void run() { - if(pushMinistryOfTransport){//上传数据 - pushMinistryOfTransportUtil.baseInfoCompanyStat(); - pushMinistryOfTransportUtil.baseInfoDriver(id); - pushMinistryOfTransportUtil.baseInfoDriverApp(id); - } - } - }).start(); - }else{ - type = 6; - tDriver.setAuthState(4); - } - - Map<String,String> map = new HashMap<>(); - map.put("uid", String.valueOf(tDriver.getId())); - map.put("type", String.valueOf(type)); - String result = HttpRequestUtil.postRequest(PushURL.driver_auth_url, map); - System.out.println("司机注册审核发送短信 :【driverId="+tDriver.getId().toString()+"】,调用接口:"+result); - - tDriverService.updateById(tDriver); - } + public Object auditSubmit(Integer id,Integer approvalStatus,String approvalNotes) { + TDriver tDriver = tDriverService.selectById(id); + tDriver.setApprovalStatus(approvalStatus); + tDriver.setApprovalNotes(approvalNotes); + // 审核用户id + Subject subject = ShiroKit.getSubject(); + ShiroUser shiroUser = (ShiroUser)subject.getPrincipal(); + tDriver.setApprovalUserId(shiroUser.getId()); + tDriver.setApprovalTime(new Date()); + tDriverService.updateById(tDriver); return SUCCESS_TIP; } /** - * 更换车辆操作 - */ - @RequestMapping(value = "/selectCarOpt") - @ResponseBody - public Object selectCarOpt(Integer tDriverId,Integer carId) { - if (SinataUtil.isNotEmpty(tDriverId) && SinataUtil.isNotEmpty(carId)){ - TDriver tDriver = tDriverService.selectById(tDriverId); - tDriver.setCarId(carId); - tDriverService.updateById(tDriver); - } - return SUCCESS_TIP; - } - - /** - * 新增司机审核列表 + * 新增 */ @RequestMapping(value = "/add") @ResponseBody - public Object add(TDriver tDriver,@RequestParam String serverBox,@RequestParam String lineStr,Integer roleType,Integer companyType,Integer oneId,Integer twoId,Integer franchiseeId) { - //判断登录账户是否重复 - int count = tDriverService.selectCount(new EntityWrapper<TDriver>().eq("phone", tDriver.getPhone()).in("authState", "1,2,3").ne("flag", 3)); - if (count > 0){ - return "error"; - } - if (1 == roleType){ //平台 - if (2 == companyType.intValue()){ - if (SinataUtil.isNotEmpty(oneId)){ - tDriver.setCompanyId(oneId); - } - if (SinataUtil.isNotEmpty(twoId)){ - tDriver.setFranchiseeId(twoId); - } - }else if (1 == companyType.intValue()){ - TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1)); - tDriver.setCompanyId(company.getId()); - tDriver.setFranchiseeId(franchiseeId); - } - tDriver.setAddType(2); - tDriver.setIsPlatCar(1); - tDriver.setAuthState(2); - }else if (2 == roleType){ //分公司 - if (SinataUtil.isNotEmpty(ShiroKit.getUser().getObjectId())){ - tDriver.setCompanyId(ShiroKit.getUser().getObjectId()); - } - if (SinataUtil.isNotEmpty(franchiseeId)){ - tDriver.setFranchiseeId(franchiseeId); - } - tDriver.setAddType(3); - tDriver.setIsPlatCar(2); - tDriver.setAuthState(1); - tDriver.setAddObjectId(ShiroKit.getUser().getObjectId()); - }else if (3 == roleType){ //加盟商 - TCompany tCompany = tCompanyService.selectById(ShiroKit.getUser().getObjectId()); - if (SinataUtil.isNotEmpty(tCompany)){ - tDriver.setCompanyId(tCompany.getSuperiorId()); - } - if (SinataUtil.isNotEmpty(ShiroKit.getUser().getObjectId())){ - tDriver.setFranchiseeId(ShiroKit.getUser().getObjectId()); - } - tDriver.setAddType(4); - tDriver.setIsPlatCar(2); - tDriver.setAuthState(1); - tDriver.setAddObjectId(ShiroKit.getUser().getObjectId()); - } - tDriver.setInsertTime(new Date()); - tDriver.setInsertUser(ShiroKit.getUser().getId()); -// tDriver.setPassword(MD5Util.encrypt(tDriver.getPassword())); - - tDriver.setPassword(ShiroKit.md5(tDriver.getPassword(), "SA;d5#")); - + public Object add(TDriver tDriver) { tDriverService.insert(tDriver); - - //添加经营业务 - String[] serverArray = serverBox.split(","); - for (int i=0;i<serverArray.length;i++){ - TDriverService service = new TDriverService(); - service.setDriverId(tDriver.getId()); - service.setType(Integer.valueOf(serverArray[i])); - tDriverServiceService.insert(service); - - if (3 == Integer.valueOf(serverArray[i])){ - //添加线路 - if (SinataUtil.isNotEmpty(lineStr)){ - addLine(lineStr,tDriver.getId()); - } - } - } - return SUCCESS_TIP; } /** - * 添加线路 - * @param subArr - * @param id - */ - public void addLine(String subArr,Integer id){ - JSONArray jsonArray = JSON.parseArray(subArr); - int size = jsonArray.size(); - for (int i = 0; i < size; i++){ - JSONObject jsonObject = jsonArray.getJSONObject(i); - TDriverLine line = new TDriverLine(); - line.setCreateTime(new Date()); - line.setAddTime(jsonObject.getString("time")); - line.setLineId(jsonObject.getInteger("lineId")); - line.setDriverId(id); - tDriverLineService.insert(line); - } - } - - - /** - * 删除司机审核列表 + * 删除 */ @RequestMapping(value = "/delete") @ResponseBody public Object delete(@RequestParam Integer tDriverId) { - TDriver driver = tDriverService.selectById(tDriverId); - driver.setFlag("3"); - tDriverService.updateById(driver); - return SUCCESS_TIP; - } - /** - * 操作司机状态 - */ - @RequestMapping(value = "/optDriver") - @ResponseBody - public Object optDriver(@RequestParam Integer driverId,@RequestParam String remark,@RequestParam Integer optType) { - if (SinataUtil.isNotEmpty(driverId) && SinataUtil.isNotEmpty(optType)){ - TDriver tDriver = tDriverService.selectById(driverId); - if (1 == optType){ //解冻 - tDriver.setAuthState(2); - new Thread(new Runnable() { - @Override - public void run() { - if(pushMinistryOfTransport){//上传数据 - pushMinistryOfTransportUtil.baseInfoCompanyStat(); - pushMinistryOfTransportUtil.baseInfoDriver(driverId); - } - } - }).start(); - }else if (2 == optType){ //冻结 - tDriver.setAuthState(3); - new Thread(new Runnable() { - @Override - public void run() { - if(pushMinistryOfTransport){//上传数据 - pushMinistryOfTransportUtil.baseInfoCompanyStat(); - pushMinistryOfTransportUtil.baseInfoDriver(driverId); - } - } - }).start(); - } - tDriver.setRemark(remark); - tDriverService.updateById(tDriver); - } + tDriverService.deleteById(tDriverId); return SUCCESS_TIP; } /** - * 修改司机审核列表 + * 修改司机状态 + */ + @RequestMapping(value = "/update-status") + @ResponseBody + public Object updateStatus(Integer id,Integer status, + String remark) { + TDriver tDriver = tDriverService.selectById(id); + if(1 == status){ + tDriver.setStatus(2); + } + if(2 == status){ + tDriver.setStatus(1); + } + tDriver.setRemark(remark); + tDriverService.updateById(tDriver); + return SUCCESS_TIP; + } + + /** + * 充值余额 + */ + @ApiOperation(value = "充值余额") + @RequestMapping(value = "/recharge-balance") + @ResponseBody + public Object rechargeBalance(Integer id, String money) { + TDriver tDriver = tDriverService.selectById(id); + tDriver.setBackgroundBalance(new BigDecimal(money).add(tDriver.getBackgroundBalance())); + tDriverService.updateById(tDriver); + return SUCCESS_TIP; + } + + /** + * 修改 */ @RequestMapping(value = "/update") @ResponseBody - public Object update(TDriver tDriver,@RequestParam String serverBox,@RequestParam String lineStr,Integer roleType,Integer companyType,Integer oneId,Integer twoId,Integer franchiseeId) { - TDriver obj = tDriverService.selectById(tDriver.getId()); - if (!obj.getPhone().equals(tDriver.getPhone())){ - //判断登录账户是否重复 - int count = tDriverService.selectCount(new EntityWrapper<TDriver>().eq("phone", tDriver.getPhone()).in("authState", "1,2,3")); - if (count > 0){ - return "error"; - } - } - if (1 == roleType){ //平台 - if (2 == companyType.intValue()){ - if (SinataUtil.isNotEmpty(oneId)){ - tDriver.setCompanyId(oneId); - } - if (SinataUtil.isNotEmpty(twoId)){ - tDriver.setFranchiseeId(twoId); - } - }else if (1 == companyType.intValue()){ - TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1)); - tDriver.setCompanyId(company.getId()); - tDriver.setFranchiseeId(franchiseeId); - } - }else if (2 == roleType){ //分公司 - if (SinataUtil.isNotEmpty(ShiroKit.getUser().getObjectId())){ - tDriver.setCompanyId(ShiroKit.getUser().getObjectId()); - } - if (SinataUtil.isNotEmpty(franchiseeId)){ - tDriver.setFranchiseeId(franchiseeId); - } - }else if (3 == roleType){ //加盟商 - TCompany tCompany = tCompanyService.selectById(ShiroKit.getUser().getObjectId()); - if (SinataUtil.isNotEmpty(tCompany)){ - tDriver.setCompanyId(tCompany.getSuperiorId()); - } - if (SinataUtil.isNotEmpty(ShiroKit.getUser().getObjectId())){ - tDriver.setFranchiseeId(ShiroKit.getUser().getObjectId()); - } - } - tDriver.setUpdateTime(new Date()); - tDriver.setUpdateUser(ShiroKit.getUser().getId()); -// tDriver.setPassword(MD5Util.encrypt(tDriver.getPassword())); - tDriver.setPassword(ShiroKit.md5(tDriver.getPassword(), "SA;d5#")); + public Object update(TDriver tDriver) { tDriverService.updateById(tDriver); - - //删除业务 - tDriverServiceService.delete(new EntityWrapper<TDriverService>().eq("driverId",tDriver.getId())); - - //删除线路 - tDriverLineService.delete(new EntityWrapper<TDriverLine>().eq("driverId",tDriver.getId())); - - //添加经营业务 - String[] serverArray = serverBox.split(","); - for (int i=0;i<serverArray.length;i++){ - TDriverService service = new TDriverService(); - service.setDriverId(tDriver.getId()); - service.setType(Integer.valueOf(serverArray[i])); - tDriverServiceService.insert(service); - - if (3 == Integer.valueOf(serverArray[i])){ - //添加线路 - if (SinataUtil.isNotEmpty(lineStr)){ - addLine(lineStr,tDriver.getId()); - } - } - } - - new Thread(new Runnable() { - @Override - public void run() { - if(pushMinistryOfTransport){//上传数据 - pushMinistryOfTransportUtil.baseInfoDriver(tDriver.getId()); - } - } - }).start(); - return SUCCESS_TIP; } /** - * 下载模板 - * @param request - * @param response + * 详情 */ - @RequestMapping(value = "/uploadDriverModel") - public void uploadDriverModel(HttpServletRequest request, HttpServletResponse response) { - // 表格数据【封装】 - List<List<String>> dataList = new ArrayList<List<String>>(); - - String title = ""; - - // 首行【封装】 - List<String> shellList = new ArrayList<String>(); - if (ShiroKit.getUser().getRoleType() == 1){ - title = "平台导入司机模板"; - - shellList.add("司机名称"); - shellList.add("所属机构[平台司机/加盟司机]"); - shellList.add("所属分公司[提示:加盟司机选填]"); - shellList.add("所属加盟商[提示:加盟司机选填]"); - shellList.add("性别[男/女]"); - shellList.add("驾驶证号码"); - shellList.add("驾龄"); - shellList.add("身份证号"); - shellList.add("居住地址"); - shellList.add("出租车资格证号"); - shellList.add("工号[选填]"); - shellList.add("经营业务:专车[是/否]"); - shellList.add("经营业务:出租车[是/否]"); - shellList.add("经营业务:跨城出行[是/否]"); - shellList.add("经营业务:小件同城物流[是/否]"); - shellList.add("经营业务:小件跨城物流[是/否]"); - shellList.add("经营业务:包车[是/否]"); - shellList.add("登录账号[手机号]"); - shellList.add("登录密码[密码长度为6-18]"); - }else if (ShiroKit.getUser().getRoleType() == 2){ - title = "分公司导入司机模板"; - - shellList.add("司机名称"); - shellList.add("所属加盟商[选填]"); - shellList.add("性别[男/女]"); - shellList.add("驾驶证号码"); - shellList.add("驾龄"); - shellList.add("身份证号"); - shellList.add("居住地址"); - shellList.add("出租车资格证号"); - shellList.add("工号[选填]"); - shellList.add("经营业务:专车[是/否]"); - shellList.add("经营业务:出租车[是/否]"); - shellList.add("经营业务:跨城出行[是/否]"); - shellList.add("经营业务:小件同城物流[是/否]"); - shellList.add("经营业务:小件跨城物流[是/否]"); - shellList.add("经营业务:包车[是/否]"); - shellList.add("登录账号[手机号]"); - shellList.add("登录密码[密码长度为6-18]"); - }else if (ShiroKit.getUser().getRoleType() == 3){ - title = "加盟商导入司机模板"; - - shellList.add("司机名称"); - shellList.add("性别[男/女]"); - shellList.add("驾驶证号码"); - shellList.add("驾龄"); - shellList.add("身份证号"); - shellList.add("居住地址"); - shellList.add("出租车资格证号"); - shellList.add("工号[选填]"); - shellList.add("经营业务:专车[是/否]"); - shellList.add("经营业务:出租车[是/否]"); - shellList.add("经营业务:跨城出行[是/否]"); - shellList.add("经营业务:小件同城物流[是/否]"); - shellList.add("经营业务:小件跨城物流[是/否]"); - shellList.add("经营业务:包车[是/否]"); - shellList.add("登录账号[手机号]"); - shellList.add("登录密码[密码长度为6-18]"); - } - dataList.add(shellList); - - try { - // 调用工具类进行导出 - ExcelExportUtil.easySheet(title+DateUtil.formatDate(new Date(), "YYYYMMddHHmmss"), title, dataList, request, response); - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * 导入操作 - * @param request - * @return - */ - @RequestMapping(value="/exportDriver",method = RequestMethod.POST) + @RequestMapping(value = "/detail/{tDriverId}") @ResponseBody - public Object exportDriver(HttpServletRequest request){ - MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; - MultipartFile file = (MultipartFile) multipartRequest.getFile("myfile"); + public Object detail(@PathVariable("tDriverId") Integer tDriverId) { + return tDriverService.selectById(tDriverId); + } + + @ApiOperation(value = "导出司机列表",notes="导出司机列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + }) + @RequestMapping(value = "/export") + @ResponseBody + public void export(String createTime,String phone,Integer status,HttpServletResponse response) { try { - if (ShiroKit.getUser().getRoleType() == 1){ - Workbook book = WoUtil.ImportFile(file); - Sheet sh = book.getSheetAt(0); //获取到第一个表 - for (int i = 1; i <= sh.getLastRowNum(); i++) { - Row row = sh.getRow(i); + Date date = new Date(); + DateFormat format = new SimpleDateFormat("yyyyMMdd"); + String time1 = format.format(date); + String fileName = "DriverInfo"+time1+".xls"; + String[] title = new String[] {"编号","姓名","手机号","性别","驾驶证号码","身份证号码", + "身份证","所属代理商","所属分公司","钱包余额","累计订单量","当月订单量","积分","拒单次数","状态","添加时间"}; + EntityWrapper<TDriver> wrapper = tDriverService.getPageList(createTime,phone,status); + // 是否异常 + List<TDriver> list = tDriverService.selectList(wrapper); - Cell cell0 = row.getCell(0); //司机名称 - String zero = null; - if (SinataUtil.isNotEmpty(cell0)){ - zero = String.valueOf(cell0.getStringCellValue()).trim(); - } + List<TDriverResp> tDriverResp = tDriverService.getTDriverResp(list); - Cell cell1 = row.getCell(1); //所属机构[平台司机/加盟司机] - String one = null; - if (SinataUtil.isNotEmpty(cell1)){ - one = String.valueOf(cell1.getStringCellValue()).trim(); - } - - Cell cell2 = row.getCell(2); //所属分公司[提示:加盟司机选填] - String two = null; - if (SinataUtil.isNotEmpty(cell2)){ - two = String.valueOf(cell2.getStringCellValue()).trim(); - } - - Cell cell3 = row.getCell(3); //所属加盟商[提示:加盟司机选填] - String three = null; - if (SinataUtil.isNotEmpty(cell3)){ - three = String.valueOf(cell3.getStringCellValue()).trim(); - } - - Cell cell4 = row.getCell(4); //性别[男/女] - String four = null; - if (SinataUtil.isNotEmpty(cell4)){ - four = String.valueOf(cell4.getStringCellValue()).trim(); - } - - Cell cell5 = row.getCell(5); //驾驶证号码 - String five = null; - if (SinataUtil.isNotEmpty(cell5)){ - five = String.valueOf(cell5.getStringCellValue()).trim(); - } - - Cell cell6 = row.getCell(6); //驾龄 - String six = null; - if (SinataUtil.isNotEmpty(cell6)){ - six = String.valueOf(cell6.getStringCellValue()).trim(); - } - - Cell cell7 = row.getCell(7); //身份证号 - String seven = null; - if (SinataUtil.isNotEmpty(cell7)){ - seven = String.valueOf(cell7.getStringCellValue()).trim(); - } - - Cell cell8 = row.getCell(8); //居住地址 - String eight = null; - if (SinataUtil.isNotEmpty(cell8)){ - eight = String.valueOf(cell8.getStringCellValue()).trim(); - } - - Cell cell9 = row.getCell(9); //出租车资格证号 - String nine = null; - if (SinataUtil.isNotEmpty(cell9)){ - nine = String.valueOf(cell9.getStringCellValue()).trim(); - } - - Cell cell10 = row.getCell(10); //工号[选填] - String ten = null; - if (SinataUtil.isNotEmpty(cell10)){ - ten = String.valueOf(cell10.getStringCellValue()).trim(); - } - - Cell cell11 = row.getCell(11); //经营业务:专车[是/否] - String eleven = null; - if (SinataUtil.isNotEmpty(cell11)){ - eleven = String.valueOf(cell11.getStringCellValue()).trim(); - } - - Cell cell12 = row.getCell(12); //经营业务:专车[是/否] - String twelve = null; - if (SinataUtil.isNotEmpty(cell12)){ - twelve = String.valueOf(cell12.getStringCellValue()).trim(); - } - - Cell cell13 = row.getCell(13); //经营业务:跨城出行[是/否] - String thirteen = null; - if (SinataUtil.isNotEmpty(cell13)){ - thirteen = String.valueOf(cell13.getStringCellValue()).trim(); - } - - Cell cell14 = row.getCell(14); //经营业务:小件同城物流[是/否] - String fourteen = null; - if (SinataUtil.isNotEmpty(cell14)){ - fourteen = String.valueOf(cell14.getStringCellValue()).trim(); - } - - Cell cell15 = row.getCell(15); //经营业务:小件跨城物流[是/否] - String fifteen = null; - if (SinataUtil.isNotEmpty(cell15)){ - fifteen = String.valueOf(cell15.getStringCellValue()).trim(); - } - - Cell cell16 = row.getCell(16); //经营业务:包车[是/否] - String sixteen = null; - if (SinataUtil.isNotEmpty(cell16)){ - sixteen = String.valueOf(cell16.getStringCellValue()).trim(); - } - - Cell cell17 = row.getCell(17); //登录账号[手机号] - String seventeen = null; - if (SinataUtil.isNotEmpty(cell17)){ - seventeen = String.valueOf(cell17.getStringCellValue()).trim(); - } - - Cell cell18 = row.getCell(18); //登录密码[密码长度为6-18] - String eighteen = null; - if (SinataUtil.isNotEmpty(cell18)){ - eighteen = String.valueOf(cell18.getStringCellValue()).trim(); - } - - if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(one) || SinataUtil.isEmpty(four) - || SinataUtil.isEmpty(five) || SinataUtil.isEmpty(six) || SinataUtil.isEmpty(nine) - || SinataUtil.isEmpty(eleven) || SinataUtil.isEmpty(twelve) || SinataUtil.isEmpty(thirteen) - || SinataUtil.isEmpty(fourteen) || SinataUtil.isEmpty(fifteen) || SinataUtil.isEmpty(sixteen) - || SinataUtil.isEmpty(seventeen)|| SinataUtil.isEmpty(eighteen)){ - return new ErrorTip(500, "单元格不能为空"); - }else{ - //判断账号是否存在 - int count = tDriverService.selectCount(new EntityWrapper<TDriver>().eq("phone", seventeen).in("authState", "1,2,3").ne("flag", 3)); - if (count > 0){ - continue; - } - - //判断所属机构 - if (!one.equals("平台司机") && !one.equals("加盟司机")){ - return new ErrorTip(500, "所属机构内容不正确"); - } - //判断性别 - if (!four.equals("男") && !four.equals("女")){ - return new ErrorTip(500, "性别内容不正确"); - } - //判断经营业务【专车】 - if (!eleven.equals("是") && !eleven.equals("否")){ - return new ErrorTip(500, "经营业务【专车】内容不正确"); - } - //判断经营业务【出租车】 - if (!twelve.equals("是") && !twelve.equals("否")){ - return new ErrorTip(500, "经营业务【出租车】内容不正确"); - } - //判断经营业务【跨城出行】 - if (!thirteen.equals("是") && !thirteen.equals("否")){ - return new ErrorTip(500, "经营业务【跨城出行】内容不正确"); - } - //判断经营业务【小件同城物流】 - if (!fourteen.equals("是") && !fourteen.equals("否")){ - return new ErrorTip(500, "经营业务【小件同城物流】内容不正确"); - } - //判断经营业务【小件跨城物流】 - if (!fifteen.equals("是") && !fifteen.equals("否")){ - return new ErrorTip(500, "经营业务【小件跨城物流】内容不正确"); - } - //判断经营业务【包车】 - if (!sixteen.equals("是") && !sixteen.equals("否")){ - return new ErrorTip(500, "经营业务【包车】内容不正确"); - } - //判断驾龄 - if (!isInteger(six)){ - return new ErrorTip(500, "驾龄格式不正确"); - } - //判断手机号 - if (!isPhone(seventeen)){ - return new ErrorTip(500, "登录账号[手机号]格式不正确"); - } - //判断登录密码 - if (!isPassword(eighteen)){ - return new ErrorTip(500, "登录密码格式不正确"); - } - - //查找平台公司 - TCompany platCompany = itCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1).notIn("flag", "3").last(" limit 1")); - Integer companyId = platCompany.getId(); - Integer franchiseeId = 0; - if ("加盟司机".equals(one)){ - //判断所属分公司是否存在 - if (SinataUtil.isNotEmpty(two)){ - TCompany company = itCompanyService.selectOne(new EntityWrapper<TCompany>().eq("name", two).eq("type", 2).notIn("flag", "3").last(" limit 1")); - if (SinataUtil.isNotEmpty(company)){ - companyId = company.getId(); - //判断加盟商是否存在 - if (SinataUtil.isNotEmpty(three)){ - TCompany franchisee = itCompanyService.selectOne(new EntityWrapper<TCompany>().eq("superiorId",company.getId()).eq("name", three).eq("type", 3).notIn("flag", "3").last(" limit 1")); - if (SinataUtil.isNotEmpty(franchisee)){ - franchiseeId = franchisee.getId(); - } - } - } - } - } - TDriver driver = new TDriver(); - driver.setAccount(seventeen); - driver.setJobNumber(ten); - driver.setPhone(seventeen); - driver.setPassword(ShiroKit.md5(eighteen, "SA;d5#")); - driver.setName(zero); - if ("男".equals(four)){ - driver.setSex(1); - }else if ("女".equals(four)){ - driver.setSex(2); - } - driver.setIdCard(seven); - driver.setDriverAge(Integer.valueOf(six)); - driver.setDriveCard(five); - driver.setTaxiAptitudeCard(nine); - if ("平台司机".equals(one)){ - driver.setIsPlatCar(1); - }else if ("加盟司机".equals(one)){ - driver.setIsPlatCar(2); - } - driver.setCompanyId(companyId); - driver.setFranchiseeId(franchiseeId); - driver.setState(2); - driver.setAuthState(2); - driver.setFlag("1"); - driver.setInsertUser(ShiroKit.getUser().getId()); - driver.setInsertTime(new Date()); - driver.setAddType(2); - driver.setAddObjectId(ShiroKit.getUser().getObjectId()); - if(SinataUtil.isNotEmpty(eight)){ - driver.setDriverAddress(eight); - } - tDriverService.insert(driver); - - - //添加专车服务模式 - if ("是".equals(eleven)){ - TDriverService service = new TDriverService(); - service.setDriverId(driver.getId()); - service.setType(1); - itDriverServiceService.insert(service); - } - //添加出租车服务模式 - if ("是".equals(twelve)){ - TDriverService service = new TDriverService(); - service.setDriverId(driver.getId()); - service.setType(2); - itDriverServiceService.insert(service); - } - //添加跨城出行服务模式 - if ("是".equals(thirteen)){ - TDriverService service = new TDriverService(); - service.setDriverId(driver.getId()); - service.setType(3); - itDriverServiceService.insert(service); - } - //添加小件同城物流服务模式 - if ("是".equals(fourteen)){ - TDriverService service = new TDriverService(); - service.setDriverId(driver.getId()); - service.setType(4); - itDriverServiceService.insert(service); - } - //添加小件跨城物流服务模式 - if ("是".equals(fifteen)){ - TDriverService service = new TDriverService(); - service.setDriverId(driver.getId()); - service.setType(5); - itDriverServiceService.insert(service); - } - //添加包车服务模式 - if ("是".equals(sixteen)){ - TDriverService service = new TDriverService(); - service.setDriverId(driver.getId()); - service.setType(6); - itDriverServiceService.insert(service); - } - } + String[][] values = new String[tDriverResp.size()][]; + for (int i = 0; i < tDriverResp.size(); i++) { + TDriverResp d = tDriverResp.get(i); + values[i] = new String[title.length]; + values[i][0] = d.getCode(); + values[i][1] = d.getName(); + values[i][2] = d.getPhone(); + Integer sex = d.getSex(); + if(Objects.isNull(sex)){ + values[i][3] = "未知"; + }else if(1 == sex){ + values[i][3] = "男"; + }else if(2 == sex){ + values[i][3] = "女"; } - }else if (ShiroKit.getUser().getRoleType() == 2){ - Workbook book = WoUtil.ImportFile(file); - Sheet sh = book.getSheetAt(0); //获取到第一个表 - for (int i = 1; i <= sh.getLastRowNum(); i++) { - Row row = sh.getRow(i); - - Cell cell0 = row.getCell(0); //司机名称 - String zero = null; - if (SinataUtil.isNotEmpty(cell0)){ - zero = String.valueOf(cell0.getStringCellValue()).trim(); - } - - Cell cell1 = row.getCell(1); //所属加盟商[选填] - String one = null; - if (SinataUtil.isNotEmpty(cell1)){ - one = String.valueOf(cell1.getStringCellValue()).trim(); - } - - Cell cell2 = row.getCell(2); //性别[男/女] - String two = null; - if (SinataUtil.isNotEmpty(cell2)){ - two = String.valueOf(cell2.getStringCellValue()).trim(); - } - - Cell cell3 = row.getCell(3); //驾驶证号码 - String three = null; - if (SinataUtil.isNotEmpty(cell3)){ - three = String.valueOf(cell3.getStringCellValue()).trim(); - } - - Cell cell4 = row.getCell(4); //驾龄 - String four = null; - if (SinataUtil.isNotEmpty(cell4)){ - four = String.valueOf(cell4.getStringCellValue()).trim(); - } - - Cell cell5 = row.getCell(5); //身份证号 - String five = null; - if (SinataUtil.isNotEmpty(cell5)){ - five = String.valueOf(cell5.getStringCellValue()).trim(); - } - - Cell cell6 = row.getCell(6); //居住地址 - String six = null; - if (SinataUtil.isNotEmpty(cell6)){ - six = String.valueOf(cell6.getStringCellValue()).trim(); - } - - Cell cell7 = row.getCell(7); //出租车资格证号 - String seven = null; - if (SinataUtil.isNotEmpty(cell7)){ - seven = String.valueOf(cell7.getStringCellValue()).trim(); - } - - Cell cell8 = row.getCell(8); //工号[选填] - String eight = null; - if (SinataUtil.isNotEmpty(cell8)){ - eight = String.valueOf(cell8.getStringCellValue()).trim(); - } - - Cell cell9 = row.getCell(9); //经营业务:专车[是/否] - String nine = null; - if (SinataUtil.isNotEmpty(cell9)){ - nine = String.valueOf(cell9.getStringCellValue()).trim(); - } - - Cell cell10 = row.getCell(10); //经营业务:出租车[是/否] - String ten = null; - if (SinataUtil.isNotEmpty(cell10)){ - ten = String.valueOf(cell10.getStringCellValue()).trim(); - } - - Cell cell11 = row.getCell(11); //经营业务:跨城出行[是/否] - String eleven = null; - if (SinataUtil.isNotEmpty(cell11)){ - eleven = String.valueOf(cell11.getStringCellValue()).trim(); - } - - Cell cell12 = row.getCell(12); //经营业务:小件同城物流[是/否] - String twelve = null; - if (SinataUtil.isNotEmpty(cell12)){ - twelve = String.valueOf(cell12.getStringCellValue()).trim(); - } - - Cell cell13 = row.getCell(13); //经营业务:小件跨城物流[是/否] - String thirteen = null; - if (SinataUtil.isNotEmpty(cell13)){ - thirteen = String.valueOf(cell13.getStringCellValue()).trim(); - } - - Cell cell14 = row.getCell(14); //经营业务:包车[是/否] - String fourteen = null; - if (SinataUtil.isNotEmpty(cell14)){ - fourteen = String.valueOf(cell14.getStringCellValue()).trim(); - } - - Cell cell15 = row.getCell(15); //登录账号[手机号] - String fifteen = null; - if (SinataUtil.isNotEmpty(cell15)){ - fifteen = String.valueOf(cell15.getStringCellValue()).trim(); - } - - Cell cell16 = row.getCell(16); //登录密码[密码长度为6-18] - String sixteen = null; - if (SinataUtil.isNotEmpty(cell16)){ - sixteen = String.valueOf(cell16.getStringCellValue()).trim(); - } - if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(two) || SinataUtil.isEmpty(three) || SinataUtil.isEmpty(four) - || SinataUtil.isEmpty(five) || SinataUtil.isEmpty(seven) - || SinataUtil.isEmpty(nine) || SinataUtil.isEmpty(ten) - || SinataUtil.isEmpty(eleven) || SinataUtil.isEmpty(twelve) || SinataUtil.isEmpty(thirteen) - || SinataUtil.isEmpty(fourteen) || SinataUtil.isEmpty(fifteen) || SinataUtil.isEmpty(sixteen)){ - return new ErrorTip(500, "单元格不能为空"); - }else{ - //判断账号是否存在 - int count = tDriverService.selectCount(new EntityWrapper<TDriver>().eq("phone", fifteen).in("authState", "1,2,3").ne("flag", 3)); - if (count > 0){ - continue; - } - //判断性别 - if (!two.equals("男") && !two.equals("女")){ - return new ErrorTip(500, "性别内容不正确"); - } - //判断经营业务【专车】 - if (!nine.equals("是") && !nine.equals("否")){ - return new ErrorTip(500, "经营业务【专车】内容不正确"); - } - //判断经营业务【出租车】 - if (!ten.equals("是") && !ten.equals("否")){ - return new ErrorTip(500, "经营业务【出租车】内容不正确"); - } - //判断经营业务【跨城出行】 - if (!eleven.equals("是") && !eleven.equals("否")){ - return new ErrorTip(500, "经营业务【跨城出行】内容不正确"); - } - //判断经营业务【小件同城物流】 - if (!twelve.equals("是") && !twelve.equals("否")){ - return new ErrorTip(500, "经营业务【小件同城物流】内容不正确"); - } - //判断经营业务【小件跨城物流】 - if (!thirteen.equals("是") && !thirteen.equals("否")){ - return new ErrorTip(500, "经营业务【小件跨城物流】内容不正确"); - } - //判断经营业务【包车】 - if (!fourteen.equals("是") && !fourteen.equals("否")){ - return new ErrorTip(500, "经营业务【包车】内容不正确"); - } - //判断驾龄 - if (!isInteger(four)){ - return new ErrorTip(500, "驾龄格式不正确"); - } - //判断手机号 - if (!isPhone(fifteen)){ - return new ErrorTip(500, "登录账号[手机号]格式不正确"); - } - //判断登录密码 - if (!isPassword(sixteen)){ - return new ErrorTip(500, "登录密码格式不正确"); - } - //查找平台公司 - Integer companyId = ShiroKit.getUser().getObjectId(); - Integer franchiseeId = 0; - //判断所属分公司是否存在 - if (SinataUtil.isNotEmpty(one)){ - TCompany franchisee = itCompanyService.selectOne(new EntityWrapper<TCompany>().eq("superiorId",companyId).eq("name", one).eq("type", 3).notIn("flag", "3").last(" limit 1")); - if (SinataUtil.isNotEmpty(franchisee)){ - franchiseeId = franchisee.getId(); - } - } - - TDriver driver = new TDriver(); - driver.setAccount(fifteen); - driver.setJobNumber(eight); - driver.setPhone(fifteen); - driver.setPassword(ShiroKit.md5(sixteen, "SA;d5#")); - driver.setName(zero); - if ("男".equals(two)){ - driver.setSex(1); - }else if ("女".equals(two)){ - driver.setSex(2); - } - driver.setIdCard(five); - driver.setDriverAge(Integer.valueOf(four)); - driver.setDriveCard(three); - driver.setTaxiAptitudeCard(seven); - driver.setIsPlatCar(2); - driver.setCompanyId(companyId); - driver.setFranchiseeId(franchiseeId); - driver.setState(1); - driver.setAuthState(1); - driver.setFlag("1"); - driver.setInsertUser(ShiroKit.getUser().getId()); - driver.setInsertTime(new Date()); - driver.setAddType(3); - driver.setAddObjectId(ShiroKit.getUser().getObjectId()); - if (SinataUtil.isNotEmpty(six)){ - driver.setDriverAddress(six); - } - tDriverService.insert(driver); - - //添加专车服务模式 - if ("是".equals(nine)){ - TDriverService service = new TDriverService(); - service.setDriverId(driver.getId()); - service.setType(1); - itDriverServiceService.insert(service); - } - //添加出租车服务模式 - if ("是".equals(ten)){ - TDriverService service = new TDriverService(); - service.setDriverId(driver.getId()); - service.setType(2); - itDriverServiceService.insert(service); - } - //添加跨城出行服务模式 - if ("是".equals(eleven)){ - TDriverService service = new TDriverService(); - service.setDriverId(driver.getId()); - service.setType(3); - itDriverServiceService.insert(service); - } - //添加小件同城物流服务模式 - if ("是".equals(twelve)){ - TDriverService service = new TDriverService(); - service.setDriverId(driver.getId()); - service.setType(4); - itDriverServiceService.insert(service); - } - //添加小件跨城物流服务模式 - if ("是".equals(thirteen)){ - TDriverService service = new TDriverService(); - service.setDriverId(driver.getId()); - service.setType(5); - itDriverServiceService.insert(service); - } - //添加包车服务模式 - if ("是".equals(fourteen)){ - TDriverService service = new TDriverService(); - service.setDriverId(driver.getId()); - service.setType(6); - itDriverServiceService.insert(service); - } - - } + values[i][4] = d.getDriverLicenseNumber(); + values[i][5] = d.getIdcard(); + if(StringUtils.hasLength(d.getIdcardFront())){ + values[i][6] = "已上传"; + }else { + values[i][6] = "未上传"; } - }else if (ShiroKit.getUser().getRoleType() == 3){ - Workbook book = WoUtil.ImportFile(file); - Sheet sh = book.getSheetAt(0); //获取到第一个表 - for (int i = 1; i <= sh.getLastRowNum(); i++) { - Row row = sh.getRow(i); - - Cell cell0 = row.getCell(0); //司机名称 - String zero = null; - if (SinataUtil.isNotEmpty(cell0)){ - zero = String.valueOf(cell0.getStringCellValue()).trim(); - } - - Cell cell2 = row.getCell(1); //性别[男/女] - String one = null; - if (SinataUtil.isNotEmpty(cell2)){ - one = String.valueOf(cell2.getStringCellValue()).trim(); - } - - Cell cell3 = row.getCell(2); //驾驶证号码 - String two = null; - if (SinataUtil.isNotEmpty(cell3)){ - two = String.valueOf(cell3.getStringCellValue()).trim(); - } - - Cell cell4 = row.getCell(3); //驾龄 - String three = null; - if (SinataUtil.isNotEmpty(cell4)){ - three = String.valueOf(cell4.getStringCellValue()).trim(); - } - - Cell cell5 = row.getCell(4); //身份证号 - String four = null; - if (SinataUtil.isNotEmpty(cell5)){ - four = String.valueOf(cell5.getStringCellValue()).trim(); - } - - Cell cell6 = row.getCell(5); //居住地址 - String five = null; - if (SinataUtil.isNotEmpty(cell6)){ - five = String.valueOf(cell6.getStringCellValue()).trim(); - } - - Cell cell7 = row.getCell(6); //出租车资格证号 - String six = null; - if (SinataUtil.isNotEmpty(cell7)){ - six = String.valueOf(cell7.getStringCellValue()).trim(); - } - - Cell cell8 = row.getCell(7); //工号[选填] - String seven = null; - if (SinataUtil.isNotEmpty(cell8)){ - seven = String.valueOf(cell8.getStringCellValue()).trim(); - } - - Cell cell9 = row.getCell(8); //经营业务:专车[是/否] - String eight = null; - if (SinataUtil.isNotEmpty(cell9)){ - eight = String.valueOf(cell9.getStringCellValue()).trim(); - } - - Cell cell10 = row.getCell(9); //经营业务:出租车[是/否] - String nine = null; - if (SinataUtil.isNotEmpty(cell10)){ - nine = String.valueOf(cell10.getStringCellValue()).trim(); - } - - Cell cell11 = row.getCell(10); //经营业务:跨城出行[是/否] - String ten = null; - if (SinataUtil.isNotEmpty(cell11)){ - ten = String.valueOf(cell11.getStringCellValue()).trim(); - } - - Cell cell12 = row.getCell(11); //经营业务:小件同城物流[是/否] - String eleven = null; - if (SinataUtil.isNotEmpty(cell12)){ - eleven = String.valueOf(cell12.getStringCellValue()).trim(); - } - - Cell cell13 = row.getCell(12); //经营业务:小件跨城物流[是/否] - String twelve = null; - if (SinataUtil.isNotEmpty(cell13)){ - twelve = String.valueOf(cell13.getStringCellValue()).trim(); - } - - Cell cell14 = row.getCell(13); //经营业务:包车[是/否] - String thirteen = null; - if (SinataUtil.isNotEmpty(cell14)){ - thirteen = String.valueOf(cell14.getStringCellValue()).trim(); - } - - Cell cell15 = row.getCell(14); //登录账号[手机号] - String fourteen = null; - if (SinataUtil.isNotEmpty(cell15)){ - fourteen = String.valueOf(cell15.getStringCellValue()).trim(); - } - - Cell cell16 = row.getCell(15); //登录密码[密码长度为6-18] - String fifteen = null; - if (SinataUtil.isNotEmpty(cell16)){ - fifteen = String.valueOf(cell16.getStringCellValue()).trim(); - } - if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(one) || SinataUtil.isEmpty(two) || SinataUtil.isEmpty(three) || SinataUtil.isEmpty(four) - || SinataUtil.isEmpty(six) || SinataUtil.isEmpty(eight) - || SinataUtil.isEmpty(nine) || SinataUtil.isEmpty(ten) - || SinataUtil.isEmpty(eleven) || SinataUtil.isEmpty(twelve) || SinataUtil.isEmpty(thirteen) - || SinataUtil.isEmpty(fourteen) || SinataUtil.isEmpty(fifteen) ){ - return new ErrorTip(500, "单元格不能为空"); - }else{ - //判断账号是否存在 - int count = tDriverService.selectCount(new EntityWrapper<TDriver>().eq("phone", fourteen).in("authState", "1,2,3").ne("flag", 3)); - if (count > 0){ - continue; - } - //判断性别 - if (!one.equals("男") && !one.equals("女")){ - return new ErrorTip(500, "性别内容不正确"); - } - //判断经营业务【专车】 - if (!eight.equals("是") && !eight.equals("否")){ - return new ErrorTip(500, "经营业务【专车】内容不正确"); - } - //判断经营业务【出租车】 - if (!nine.equals("是") && !nine.equals("否")){ - return new ErrorTip(500, "经营业务【出租车】内容不正确"); - } - //判断经营业务【跨城出行】 - if (!ten.equals("是") && !ten.equals("否")){ - return new ErrorTip(500, "经营业务【跨城出行】内容不正确"); - } - //判断经营业务【小件同城物流】 - if (!eleven.equals("是") && !eleven.equals("否")){ - return new ErrorTip(500, "经营业务【小件同城物流】内容不正确"); - } - //判断经营业务【小件跨城物流】 - if (!twelve.equals("是") && !twelve.equals("否")){ - return new ErrorTip(500, "经营业务【小件跨城物流】内容不正确"); - } - //判断经营业务【包车】 - if (!thirteen.equals("是") && !thirteen.equals("否")){ - return new ErrorTip(500, "经营业务【包车】内容不正确"); - } - //判断驾龄 - if (!isInteger(three)){ - return new ErrorTip(500, "驾龄格式不正确"); - } - //判断手机号 - if (!isPhone(fourteen)){ - return new ErrorTip(500, "登录账号[手机号]格式不正确"); - } - //判断登录密码 - if (!isPassword(fifteen)){ - return new ErrorTip(500, "登录密码格式不正确"); - } - //查找平台公司 - Integer companyId = 0; - Integer franchiseeId = 0; - TCompany franchisee = itCompanyService.selectById(ShiroKit.getUser().getObjectId()); - if (SinataUtil.isNotEmpty(franchisee)){ - companyId = franchisee.getSuperiorId(); - franchiseeId = franchisee.getId(); - } - if (companyId == 0 && franchiseeId == 0){ - return new ErrorTip(500, "当前登录账户上级分公司不能为空"); - } - - TDriver driver = new TDriver(); - driver.setAccount(fourteen); - driver.setJobNumber(seven); - driver.setPhone(fourteen); - driver.setPassword(ShiroKit.md5(fifteen, "SA;d5#")); - driver.setName(zero); - if ("男".equals(one)){ - driver.setSex(1); - }else if ("女".equals(one)){ - driver.setSex(2); - } - driver.setIdCard(four); - driver.setDriverAge(Integer.valueOf(three)); - driver.setDriveCard(two); - driver.setTaxiAptitudeCard(six); - driver.setIsPlatCar(2); - driver.setCompanyId(companyId); - driver.setFranchiseeId(franchiseeId); - driver.setState(1); - driver.setAuthState(1); - driver.setFlag("1"); - driver.setInsertUser(ShiroKit.getUser().getId()); - driver.setInsertTime(new Date()); - driver.setAddType(4); - driver.setAddObjectId(ShiroKit.getUser().getObjectId()); - if (SinataUtil.isNotEmpty(five)){ - driver.setDriverAddress(five); - } - tDriverService.insert(driver); - - //添加专车服务模式 - if ("是".equals(eight)){ - TDriverService service = new TDriverService(); - service.setDriverId(driver.getId()); - service.setType(1); - itDriverServiceService.insert(service); - } - //添加出租车服务模式 - if ("是".equals(nine)){ - TDriverService service = new TDriverService(); - service.setDriverId(driver.getId()); - service.setType(2); - itDriverServiceService.insert(service); - } - //添加跨城出行服务模式 - if ("是".equals(ten)){ - TDriverService service = new TDriverService(); - service.setDriverId(driver.getId()); - service.setType(3); - itDriverServiceService.insert(service); - } - //添加小件同城物流服务模式 - if ("是".equals(eleven)){ - TDriverService service = new TDriverService(); - service.setDriverId(driver.getId()); - service.setType(4); - itDriverServiceService.insert(service); - } - //添加小件跨城物流服务模式 - if ("是".equals(twelve)){ - TDriverService service = new TDriverService(); - service.setDriverId(driver.getId()); - service.setType(5); - itDriverServiceService.insert(service); - } - //添加包车服务模式 - if ("是".equals(thirteen)){ - TDriverService service = new TDriverService(); - service.setDriverId(driver.getId()); - service.setType(6); - itDriverServiceService.insert(service); - } - } + values[i][7] = d.getAgentName(); + values[i][8] = d.getBranchName(); + values[i][9] = String.valueOf(d.getBalance()); + values[i][10] = String.valueOf(d.getCumulativeOrderCount()); + values[i][11] = String.valueOf(d.getMonthOrderCount()); + values[i][12] = String.valueOf(d.getIntegral()); + values[i][13] = String.valueOf(d.getRefusalCount()); + Integer status1 = d.getStatus(); + if(1 == status1){ + values[i][14] = "正常"; + }else if(2 == status1){ + values[i][14] = "冻结"; + }else { + values[i][14] = "删除"; } + values[i][15] = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(d.getCreateTime()); } - } catch (Exception e) { - e.printStackTrace(); - } - return SUCCESS_TIP; - } - - - - - @Autowired - private ITCompanyService itCompanyService; - - @Autowired - private ITDriverServiceService itDriverServiceService; - - /** - * 验证是否可以字符转为整数 - * @param str - * @return - */ - public static boolean isInteger(String str) { - try{ - String reg = "^[0-9]\\d*$"; - boolean flag = str.matches(reg); - return flag; - }catch(NumberFormatException e) { - System.out.println("异常:\"" + str + "\"..."); - return false; - } - } - /** - * 验证手机号格式是否正确 - * @param str - * @return - */ - public static boolean isPhone(String str) { - try{ - String reg = "^1\\d{10}$"; - boolean flag = str.matches(reg); - return flag; - }catch(NumberFormatException e) { - System.out.println("异常:\"" + str + "\"..."); - return false; - } - } - /** - * 验证密码长度是否正确 - * @param str - * @return - */ - public static boolean isPassword(String str) { - try{ - String reg = "^.{6,18}$"; - boolean flag = str.matches(reg); - return flag; - }catch(NumberFormatException e) { - System.out.println("异常:\"" + str + "\"..."); - return false; - } - } - - /** - * 导出司机信息 - */ - @RequestMapping(value = "/outDriver") - public void outDriver(HttpServletRequest request, HttpServletResponse response) { - List<Map<String,Object>> listMap = tDriverService.getDriverListNoPage(ShiroKit.getUser().getRoleType(),ShiroKit.getUser().getObjectId()); - - // 表格数据【封装】 - List<List<String>> dataList = new ArrayList<>(); - - //第一行显示【封装】 - List<String> twoList = new ArrayList<String>(); - twoList.add("总计:"); - twoList.add(String.valueOf(listMap.size())+"条"); - dataList.add(twoList); - - // 列【封装】 - List<String> shellList = new ArrayList<String>(); - shellList.add("添加时间"); - shellList.add("姓名"); - shellList.add("登录账号【手机号】"); - shellList.add("性别"); - shellList.add("司机来源"); - shellList.add("所属分公司"); - shellList.add("所属加盟商"); - shellList.add("当前车辆"); - shellList.add("服务模式"); - shellList.add("关联线路"); - shellList.add("评分"); - shellList.add("历史接单数"); - shellList.add("历史订单总金额"); - shellList.add("当前钱包余额"); - shellList.add("钱包活动余额"); - shellList.add("钱包收入余额"); - shellList.add("状态"); - dataList.add(shellList); - - for (Map<String,Object> object : listMap){ - // 详细数据列【封装】 - shellList = new ArrayList<String>(); - if(SinataUtil.isNotEmpty(object.get("insertTime"))){ - shellList.add(DateUtil.formatDate(DateUtil.parse(object.get("insertTime").toString(),"YYYY-MM-dd HH:mm:ss.S"), "YYYY-MM-dd HH:mm:ss")); - }else{ - shellList.add("-"); - } - if(SinataUtil.isNotEmpty(object.get("name"))){ - shellList.add(object.get("name").toString()); - }else{ - shellList.add("-"); - } - if(SinataUtil.isNotEmpty(object.get("phone"))){ - shellList.add(object.get("phone").toString()); - }else{ - shellList.add("-"); - } - if(SinataUtil.isNotEmpty(object.get("sex"))){ - shellList.add(object.get("sex").toString() == "1"?"男":"女"); - }else{ - shellList.add("-"); - } - if(SinataUtil.isNotEmpty(object.get("addType"))){ - - shellList.add(object.get("addType").toString().equals("1")?"司机注册":(object.get("addType").toString().equals("2")?"平台添加":(object.get("addType").toString().equals("3")?"分公司添加":(object.get("addType").toString().equals("4")?"加盟商添加":"")))); - }else{ - shellList.add("-"); - } - if(SinataUtil.isNotEmpty(object.get("companyName"))){ - shellList.add(object.get("companyName").toString()); - }else{ - shellList.add("-"); - } - if(SinataUtil.isNotEmpty(object.get("franchiseeName"))){ - shellList.add(object.get("franchiseeName").toString()); - }else{ - shellList.add("-"); - } - if(SinataUtil.isNotEmpty(object.get("carLicensePlate"))){ - shellList.add(object.get("carLicensePlate").toString()); - }else{ - shellList.add("-"); - } - if(SinataUtil.isNotEmpty(object.get("serverStr"))){ - shellList.add(object.get("serverStr").toString()); - }else{ - shellList.add("-"); - } - if(SinataUtil.isNotEmpty(object.get("lineStr"))){ - shellList.add(object.get("lineStr").toString()); - }else{ - shellList.add("-"); - } - if(SinataUtil.isNotEmpty(object.get("evaluateNum"))){ - shellList.add(object.get("evaluateNum").toString()); - }else{ - shellList.add("0"); - } - if(SinataUtil.isNotEmpty(object.get("historyNum"))){ - shellList.add(object.get("historyNum").toString()); - }else{ - shellList.add("0"); - } - if(SinataUtil.isNotEmpty(object.get("historyMoney"))){ - shellList.add(object.get("historyMoney").toString()); - }else{ - shellList.add("0"); - } - if(SinataUtil.isNotEmpty(object.get("balance"))){ - shellList.add(object.get("balance").toString()); - }else{ - shellList.add("0"); - } - if(SinataUtil.isNotEmpty(object.get("laveActivityMoney"))){ - shellList.add(object.get("laveActivityMoney").toString()); - }else{ - shellList.add("0"); - } - if(SinataUtil.isNotEmpty(object.get("laveBusinessMoney"))){ - shellList.add(object.get("laveBusinessMoney").toString()); - }else{ - shellList.add("0"); - } - if(SinataUtil.isNotEmpty(object.get("authState"))){ - shellList.add(object.get("authState").toString().equals("1")?"待审核":(object.get("authState").toString().equals("2")?"正常":(object.get("authState").toString().equals("3")?"冻结":(object.get("authState").toString().equals("4")?"已拒绝":"")))); - - shellList.add(object.get("authState").toString()); - }else{ - shellList.add("-"); - } - dataList.add(shellList); - } - try { - // 调用工具类进行导出 - ExcelExportUtil.easySheet("司机信息导出记录"+DateUtil.formatDate(new Date(), "YYYYMMddHHmmss"), "司机信息导出记录", dataList,request, response); + HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook("Variance"+time1, title, values, null); + ExcelUtil.setResponseHeader(response, fileName); + OutputStream os = response.getOutputStream(); + wb.write(os); + os.flush(); + os.close(); } catch (Exception e) { e.printStackTrace(); } } + @ApiOperation(value = "导出司机异常列表",notes="导出司机异常列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + }) + @RequestMapping(value = "/export-exception") + @ResponseBody + public void exportException(String createTime,String phone,Integer status,HttpServletResponse response) { + try { + Date date = new Date(); + DateFormat format = new SimpleDateFormat("yyyyMMdd"); + String time1 = format.format(date); + String fileName = "DriverExceptionInfo"+time1+".xls"; + String[] title = new String[] {"编号","姓名","手机号","性别","驾驶证号码","身份证号码", + "身份证","累计订单量","当月订单量","积分","连续未上线(天)","状态","添加时间"}; + EntityWrapper<TDriver> wrapper = tDriverService.getPageList(createTime,phone,status); + wrapper.eq("isException",2); + // 是否异常 + List<TDriver> list = tDriverService.selectList(wrapper); + + List<TDriverResp> tDriverResp = tDriverService.getTDriverResp(list); + + String[][] values = new String[tDriverResp.size()][]; + for (int i = 0; i < tDriverResp.size(); i++) { + TDriverResp d = tDriverResp.get(i); + values[i] = new String[title.length]; + values[i][0] = d.getCode(); + values[i][1] = d.getName(); + values[i][2] = d.getPhone(); + Integer sex = d.getSex(); + if(Objects.isNull(sex)){ + values[i][3] = "未知"; + }else if(1 == sex){ + values[i][3] = "男"; + }else if(2 == sex){ + values[i][3] = "女"; + } + values[i][4] = d.getDriverLicenseNumber(); + values[i][5] = d.getIdcard(); + if(StringUtils.hasLength(d.getIdcardFront())){ + values[i][6] = "已上传"; + }else { + values[i][6] = "未上传"; + } + values[i][7] = String.valueOf(d.getCumulativeOrderCount()); + values[i][8] = String.valueOf(d.getMonthOrderCount()); + values[i][9] = String.valueOf(d.getIntegral()); + values[i][10] = String.valueOf(Objects.isNull(d.getNotOnlineCount())?0:d.getNotOnlineCount()); + values[i][11] = "异常"; + values[i][12] = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(d.getCreateTime()); + } + HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook("Variance"+time1, title, values, null); + ExcelUtil.setResponseHeader(response, fileName); + OutputStream os = response.getOutputStream(); + wb.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderRefusalController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderRefusalController.java new file mode 100644 index 0000000..54abb53 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderRefusalController.java @@ -0,0 +1,118 @@ +package com.stylefeng.guns.modular.system.controller.general; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.stylefeng.guns.core.base.controller.BaseController; +import org.springframework.stereotype.Controller; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.beans.factory.annotation.Autowired; +import com.stylefeng.guns.core.log.LogObjectHolder; +import org.springframework.web.bind.annotation.RequestParam; +import com.stylefeng.guns.modular.system.model.TOrderRefusal; +import com.stylefeng.guns.modular.system.service.ITOrderRefusalService; + +/** + * 控制器 + * + * @author fengshuonan + * @Date 2023-02-21 17:54:07 + */ +@Controller +@RequestMapping("/tOrderRefusal") +public class TOrderRefusalController extends BaseController { + + private String PREFIX = "/system/tOrderRefusal/"; + + @Autowired + private ITOrderRefusalService tOrderRefusalService; + + /** + * 跳转到首页 + */ + @RequestMapping("") + public String index() { + return PREFIX + "tOrderRefusal.html"; + } + + /** + * 跳转到添加 + */ + @RequestMapping("/tOrderRefusal_add") + public String tOrderRefusalAdd() { + return PREFIX + "tOrderRefusal_add.html"; + } + + /** + * 跳转到修改 + */ + @RequestMapping("/tOrderRefusal_update/{tOrderRefusalId}") + public String tOrderRefusalUpdate(@PathVariable Integer tOrderRefusalId, Model model) { + TOrderRefusal tOrderRefusal = tOrderRefusalService.selectById(tOrderRefusalId); + model.addAttribute("item",tOrderRefusal); + LogObjectHolder.me().set(tOrderRefusal); + return PREFIX + "tOrderRefusal_edit.html"; + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/list") + @ResponseBody + public Object list(String condition) { + EntityWrapper<TOrderRefusal> wrapper = new EntityWrapper<>(); + if(StringUtils.hasLength(condition)){ + wrapper.eq("order_id",condition); + } + return tOrderRefusalService.selectList(wrapper); + } + /** + * 获取列表 + */ + @RequestMapping(value = "/list-back") + @ResponseBody + public Object listBack(String condition) { + return tOrderRefusalService.selectList(null); + } + + /** + * 新增 + */ + @RequestMapping(value = "/add") + @ResponseBody + public Object add(TOrderRefusal tOrderRefusal) { + tOrderRefusalService.insert(tOrderRefusal); + return SUCCESS_TIP; + } + + /** + * 删除 + */ + @RequestMapping(value = "/delete") + @ResponseBody + public Object delete(@RequestParam Integer tOrderRefusalId) { + tOrderRefusalService.deleteById(tOrderRefusalId); + return SUCCESS_TIP; + } + + /** + * 修改 + */ + @RequestMapping(value = "/update") + @ResponseBody + public Object update(TOrderRefusal tOrderRefusal) { + tOrderRefusalService.updateById(tOrderRefusal); + return SUCCESS_TIP; + } + + /** + * 详情 + */ + @RequestMapping(value = "/detail/{tOrderRefusalId}") + @ResponseBody + public Object detail(@PathVariable("tOrderRefusalId") Integer tOrderRefusalId) { + return tOrderRefusalService.selectById(tOrderRefusalId); + } +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TRechargeRecordController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TRechargeRecordController.java new file mode 100644 index 0000000..ad74cff --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TRechargeRecordController.java @@ -0,0 +1,104 @@ +package com.stylefeng.guns.modular.system.controller.general; + +import com.stylefeng.guns.core.base.controller.BaseController; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.beans.factory.annotation.Autowired; +import com.stylefeng.guns.core.log.LogObjectHolder; +import org.springframework.web.bind.annotation.RequestParam; +import com.stylefeng.guns.modular.system.model.TRechargeRecord; +import com.stylefeng.guns.modular.system.service.ITRechargeRecordService; + +/** + * 控制器 + * + * @author fengshuonan + * @Date 2023-02-20 11:49:58 + */ +@Controller +@RequestMapping("/tRechargeRecord") +public class TRechargeRecordController extends BaseController { + + private String PREFIX = "/system/tRechargeRecord/"; + + @Autowired + private ITRechargeRecordService tRechargeRecordService; + + /** + * 跳转到首页 + */ + @RequestMapping("") + public String index() { + return PREFIX + "tRechargeRecord.html"; + } + + /** + * 跳转到添加 + */ + @RequestMapping("/tRechargeRecord_add") + public String tRechargeRecordAdd() { + return PREFIX + "tRechargeRecord_add.html"; + } + + /** + * 跳转到修改 + */ + @RequestMapping("/tRechargeRecord_update/{tRechargeRecordId}") + public String tRechargeRecordUpdate(@PathVariable Integer tRechargeRecordId, Model model) { + TRechargeRecord tRechargeRecord = tRechargeRecordService.selectById(tRechargeRecordId); + model.addAttribute("item",tRechargeRecord); + LogObjectHolder.me().set(tRechargeRecord); + return PREFIX + "tRechargeRecord_edit.html"; + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/list") + @ResponseBody + public Object list(String condition) { + return tRechargeRecordService.selectList(null); + } + + /** + * 新增 + */ + @RequestMapping(value = "/add") + @ResponseBody + public Object add(TRechargeRecord tRechargeRecord) { + tRechargeRecordService.insert(tRechargeRecord); + return SUCCESS_TIP; + } + + /** + * 删除 + */ + @RequestMapping(value = "/delete") + @ResponseBody + public Object delete(@RequestParam Integer tRechargeRecordId) { + tRechargeRecordService.deleteById(tRechargeRecordId); + return SUCCESS_TIP; + } + + /** + * 修改 + */ + @RequestMapping(value = "/update") + @ResponseBody + public Object update(TRechargeRecord tRechargeRecord) { + tRechargeRecordService.updateById(tRechargeRecord); + return SUCCESS_TIP; + } + + /** + * 详情 + */ + @RequestMapping(value = "/detail/{tRechargeRecordId}") + @ResponseBody + public Object detail(@PathVariable("tRechargeRecordId") Integer tRechargeRecordId) { + return tRechargeRecordService.selectById(tRechargeRecordId); + } +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TRegionController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TRegionController.java new file mode 100644 index 0000000..52c7e94 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TRegionController.java @@ -0,0 +1,104 @@ +package com.stylefeng.guns.modular.system.controller.general; + +import com.stylefeng.guns.core.base.controller.BaseController; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.beans.factory.annotation.Autowired; +import com.stylefeng.guns.core.log.LogObjectHolder; +import org.springframework.web.bind.annotation.RequestParam; +import com.stylefeng.guns.modular.system.model.TRegion; +import com.stylefeng.guns.modular.system.service.ITRegionService; + +/** + * 控制器 + * + * @author fengshuonan + * @Date 2023-02-20 14:21:02 + */ +@Controller +@RequestMapping("/tRegion") +public class TRegionController extends BaseController { + + private String PREFIX = "/system/tRegion/"; + + @Autowired + private ITRegionService tRegionService; + + /** + * 跳转到首页 + */ + @RequestMapping("") + public String index() { + return PREFIX + "tRegion.html"; + } + + /** + * 跳转到添加 + */ + @RequestMapping("/tRegion_add") + public String tRegionAdd() { + return PREFIX + "tRegion_add.html"; + } + + /** + * 跳转到修改 + */ + @RequestMapping("/tRegion_update/{tRegionId}") + public String tRegionUpdate(@PathVariable Integer tRegionId, Model model) { + TRegion tRegion = tRegionService.selectById(tRegionId); + model.addAttribute("item",tRegion); + LogObjectHolder.me().set(tRegion); + return PREFIX + "tRegion_edit.html"; + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/list") + @ResponseBody + public Object list(String condition) { + return tRegionService.selectList(null); + } + + /** + * 新增 + */ + @RequestMapping(value = "/add") + @ResponseBody + public Object add(TRegion tRegion) { + tRegionService.insert(tRegion); + return SUCCESS_TIP; + } + + /** + * 删除 + */ + @RequestMapping(value = "/delete") + @ResponseBody + public Object delete(@RequestParam Integer tRegionId) { + tRegionService.deleteById(tRegionId); + return SUCCESS_TIP; + } + + /** + * 修改 + */ + @RequestMapping(value = "/update") + @ResponseBody + public Object update(TRegion tRegion) { + tRegionService.updateById(tRegion); + return SUCCESS_TIP; + } + + /** + * 详情 + */ + @RequestMapping(value = "/detail/{tRegionId}") + @ResponseBody + public Object detail(@PathVariable("tRegionId") Integer tRegionId) { + return tRegionService.selectById(tRegionId); + } +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TAgentResp.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TAgentResp.java new file mode 100644 index 0000000..4cf55c7 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TAgentResp.java @@ -0,0 +1,87 @@ +package com.stylefeng.guns.modular.system.controller.resp; + +import com.stylefeng.guns.modular.system.model.TAgent; +import com.stylefeng.guns.modular.system.model.TOrder; +import io.swagger.annotations.ApiModelProperty; + +import java.math.BigDecimal; + +public class TAgentResp extends TAgent { + + @ApiModelProperty(value = "订单数量") + private Integer orderSum; + + @ApiModelProperty(value = "有效订单") + private Integer validOrder; + + @ApiModelProperty(value = "已发放优惠券") + private Integer issuedCoupon; + + @ApiModelProperty(value = "已使用优惠券") + private Integer usedCoupon; + + @ApiModelProperty(value = "累计优惠券金额") + private BigDecimal couponPriceSum; + + @ApiModelProperty(value = "司机充值") + private BigDecimal driverRecharge; + + @ApiModelProperty(value = "司机数") + private Integer driverCount; + + public Integer getOrderSum() { + return orderSum; + } + + public void setOrderSum(Integer orderSum) { + this.orderSum = orderSum; + } + + public Integer getValidOrder() { + return validOrder; + } + + public void setValidOrder(Integer validOrder) { + this.validOrder = validOrder; + } + + public Integer getIssuedCoupon() { + return issuedCoupon; + } + + public void setIssuedCoupon(Integer issuedCoupon) { + this.issuedCoupon = issuedCoupon; + } + + public Integer getUsedCoupon() { + return usedCoupon; + } + + public void setUsedCoupon(Integer usedCoupon) { + this.usedCoupon = usedCoupon; + } + + public BigDecimal getCouponPriceSum() { + return couponPriceSum; + } + + public void setCouponPriceSum(BigDecimal couponPriceSum) { + this.couponPriceSum = couponPriceSum; + } + + public BigDecimal getDriverRecharge() { + return driverRecharge; + } + + public void setDriverRecharge(BigDecimal driverRecharge) { + this.driverRecharge = driverRecharge; + } + + public Integer getDriverCount() { + return driverCount; + } + + public void setDriverCount(Integer driverCount) { + this.driverCount = driverCount; + } +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TDriverResp.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TDriverResp.java new file mode 100644 index 0000000..cc7c340 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TDriverResp.java @@ -0,0 +1,75 @@ +package com.stylefeng.guns.modular.system.controller.resp; + +import com.stylefeng.guns.modular.system.model.TDriver; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModelProperty; + +public class TDriverResp extends TDriver { + + //所属代理商 + @ApiModelProperty(value = "所属代理商") + private String agentName; + //所属分公司 + @ApiModelProperty(value = "所属分公司") + private String branchName; + //累计订单量 + @ApiModelProperty(value = "累计订单量") + private Integer cumulativeOrderCount; + //当月订单量 + @ApiModelProperty(value = "当月订单量") + private Integer monthOrderCount; + //拒单次数 + @ApiModelProperty(value = "拒单次数") + private Integer refusalCount; + + @ApiModelProperty(value = "连续未上线天数") + private Integer notOnlineCount; + + public Integer getNotOnlineCount() { + return notOnlineCount; + } + + public void setNotOnlineCount(Integer notOnlineCount) { + this.notOnlineCount = notOnlineCount; + } + + public String getAgentName() { + return agentName; + } + + public void setAgentName(String agentName) { + this.agentName = agentName; + } + + public String getBranchName() { + return branchName; + } + + public void setBranchName(String branchName) { + this.branchName = branchName; + } + + public Integer getCumulativeOrderCount() { + return cumulativeOrderCount; + } + + public void setCumulativeOrderCount(Integer cumulativeOrderCount) { + this.cumulativeOrderCount = cumulativeOrderCount; + } + + public Integer getMonthOrderCount() { + return monthOrderCount; + } + + public void setMonthOrderCount(Integer monthOrderCount) { + this.monthOrderCount = monthOrderCount; + } + + public Integer getRefusalCount() { + return refusalCount; + } + + public void setRefusalCount(Integer refusalCount) { + this.refusalCount = refusalCount; + } +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java index 882c620..ae12e92 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java @@ -225,7 +225,7 @@ lineShiftDriverMapper.updateById(lineShiftDriver); if(lineShiftDriver.getLaveSeat() >= lineShiftDriver.getTotalSeat()){ TDriver driver = tDriverService.selectById(orderCrossCity.getDriverId()); - driver.setState(2); +// driver.setState(2); tDriverService.updateById(driver); } } @@ -252,8 +252,8 @@ if(income.getUserType() == 2){//处理司机的收入 TDriver driver = tDriverService.selectById(income.getObjectId()); driver.setBalance(driver.getBalance().subtract(new BigDecimal(income.getMoney()))); - driver.setLaveBusinessMoney(new BigDecimal(driver.getLaveBusinessMoney()).subtract(new BigDecimal(income.getMoney())).doubleValue()); - driver.setBusinessMoney(new BigDecimal(driver.getBusinessMoney()).subtract(new BigDecimal(income.getMoney())).doubleValue()); +// driver.setLaveBusinessMoney(new BigDecimal(driver.getLaveBusinessMoney()).subtract(new BigDecimal(income.getMoney())).doubleValue()); +// driver.setBusinessMoney(new BigDecimal(driver.getBusinessMoney()).subtract(new BigDecimal(income.getMoney())).doubleValue()); tDriverService.updateById(driver); } Income income1 = new Income(); diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java index 5c006b4..73c1e6f 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.java @@ -157,8 +157,8 @@ if(income.getUserType() == 2){//处理司机的收入 TDriver driver = tDriverService.selectById(income.getObjectId()); driver.setBalance(driver.getBalance().subtract(new BigDecimal(income.getMoney()))); - driver.setLaveBusinessMoney(new BigDecimal(driver.getLaveBusinessMoney()).subtract(new BigDecimal(income.getMoney())).doubleValue()); - driver.setBusinessMoney(new BigDecimal(driver.getBusinessMoney()).subtract(new BigDecimal(income.getMoney())).doubleValue()); +// driver.setLaveBusinessMoney(new BigDecimal(driver.getLaveBusinessMoney()).subtract(new BigDecimal(income.getMoney())).doubleValue()); +// driver.setBusinessMoney(new BigDecimal(driver.getBusinessMoney()).subtract(new BigDecimal(income.getMoney())).doubleValue()); tDriverService.updateById(driver); } Income income1 = new Income(); diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java index c01ce17..afd7565 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java @@ -177,7 +177,7 @@ //修改之前司机状态 -- 空闲 if(null != tOrderPrivateCar.getDriverId()){ TDriver driver = tDriverService.selectById(tOrderPrivateCar.getDriverId()); - driver.setState(2); +// driver.setState(2); tDriverService.updateById(driver); } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java index f21ab1b..bc41214 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java @@ -304,7 +304,7 @@ //修改司机状态"空闲" TDriver driver = itDriverService.selectById(tReassign.getOriginalDriverId()); - driver.setState(2); +// driver.setState(2); itDriverService.updateById(driver); //添加取消记录 @@ -404,7 +404,7 @@ lineShiftDriverMapper.updateById(lineShiftDriver); if(lineShiftDriver.getLaveSeat() >= lineShiftDriver.getTotalSeat()){ TDriver driver = itDriverService.selectById(tReassign.getOriginalDriverId()); - driver.setState(2); +// driver.setState(2); itDriverService.updateById(driver); } @@ -437,8 +437,8 @@ if(income.getUserType() == 2){//处理司机的收入 TDriver driver = itDriverService.selectById(income.getObjectId()); driver.setBalance(driver.getBalance().subtract(new BigDecimal(income.getMoney()))); - driver.setLaveBusinessMoney(new BigDecimal(driver.getLaveBusinessMoney()).subtract(new BigDecimal(income.getMoney())).doubleValue()); - driver.setBusinessMoney(new BigDecimal(driver.getBusinessMoney()).subtract(new BigDecimal(income.getMoney())).doubleValue()); +// driver.setLaveBusinessMoney(new BigDecimal(driver.getLaveBusinessMoney()).subtract(new BigDecimal(income.getMoney())).doubleValue()); +// driver.setBusinessMoney(new BigDecimal(driver.getBusinessMoney()).subtract(new BigDecimal(income.getMoney())).doubleValue()); itDriverService.updateById(driver); } Income income1 = new Income(); @@ -554,8 +554,8 @@ if(income.getUserType() == 2){//处理司机的收入 TDriver driver = itDriverService.selectById(income.getObjectId()); driver.setBalance(driver.getBalance().subtract(new BigDecimal(income.getMoney()))); - driver.setLaveBusinessMoney(new BigDecimal(driver.getLaveBusinessMoney()).subtract(new BigDecimal(income.getMoney())).doubleValue()); - driver.setBusinessMoney(new BigDecimal(driver.getBusinessMoney()).subtract(new BigDecimal(income.getMoney())).doubleValue()); +// driver.setLaveBusinessMoney(new BigDecimal(driver.getLaveBusinessMoney()).subtract(new BigDecimal(income.getMoney())).doubleValue()); +// driver.setBusinessMoney(new BigDecimal(driver.getBusinessMoney()).subtract(new BigDecimal(income.getMoney())).doubleValue()); itDriverService.updateById(driver); } Income income1 = new Income(); @@ -601,23 +601,23 @@ //修改之前司机状态 -- 空闲 TDriver oldDriver = itDriverService.selectById(tReassign.getOriginalDriverId()); - oldDriver.setState(2); +// oldDriver.setState(2); itDriverService.updateById(oldDriver); //查找司机对象 TDriver nowDriver = itDriverService.selectById(driverId); - nowDriver.setState(3); +// nowDriver.setState(3); itDriverService.updateById(nowDriver); //修改专车订单 tOrderPrivateCar.setState(tOrderPrivateCar.getOldState()); tOrderPrivateCar.setDriverId(driverId); - tOrderPrivateCar.setCarId(nowDriver.getCarId()); +// tOrderPrivateCar.setCarId(nowDriver.getCarId()); itOrderPrivateCarService.updateById(tOrderPrivateCar); //修改专车改派订单 tReassign.setNowDriverId(driverId); - tReassign.setNowCarId(nowDriver.getCarId()); +// tReassign.setNowCarId(nowDriver.getCarId()); tReassign.setState(3); tReassign.setCompleteTime(new Date()); tReassignService.updateById(tReassign); @@ -663,7 +663,7 @@ lineShiftDriver.setLaveSeatNumber(seat); lineShiftDriverMapper.updateById(lineShiftDriver); if(lineShiftDriver.getLaveSeat() >= lineShiftDriver.getTotalSeat()){ - oldDriver.setState(2); +// oldDriver.setState(2); itDriverService.updateById(oldDriver); } @@ -689,16 +689,16 @@ lineShiftDriver1.setLaveSeatNumber(seat2); lineShiftDriverMapper.updateById(lineShiftDriver1); TDriver driver = itDriverService.selectById(driverId); - if(driver.getState() == 1){ + /*if(driver.getState() == 1){ return ResultUtil.error("司机还未上班呢"); } if(driver.getState() == 2){ driver.setState(3); - } + }*/ //修改订单数据 tOrderCrossCity.setDriverId(driverId); - tOrderCrossCity.setCarId(driver.getCarId()); +// tOrderCrossCity.setCarId(driver.getCarId()); tOrderCrossCity.setSeatNumber(seat1); tOrderCrossCity.setState(tOrderCrossCity.getOldState()); tOrderCrossCity.setLineShiftDriverId(lineShiftDriver1.getId()); @@ -713,7 +713,7 @@ //修改专车改派订单 tReassign.setNowDriverId(driverId); - tReassign.setNowCarId(driver.getCarId()); +// tReassign.setNowCarId(driver.getCarId()); tReassign.setState(3); tReassign.setCompleteTime(new Date()); tReassignService.updateById(tReassign); @@ -725,12 +725,12 @@ income.setObjectId(driverId); incomeService.updateById(income); - oldDriver.setBusinessMoney(oldDriver.getBusinessMoney() - income.getMoney()); - oldDriver.setLaveBusinessMoney(oldDriver.getLaveBusinessMoney() - income.getMoney()); +// oldDriver.setBusinessMoney(oldDriver.getBusinessMoney() - income.getMoney()); +// oldDriver.setLaveBusinessMoney(oldDriver.getLaveBusinessMoney() - income.getMoney()); oldDriver.setBalance(oldDriver.getBalance().subtract(new BigDecimal(income.getMoney()))); - driver.setBusinessMoney(driver.getBusinessMoney() + income.getMoney()); - driver.setLaveBusinessMoney(driver.getLaveBusinessMoney() + income.getMoney()); +// driver.setBusinessMoney(driver.getBusinessMoney() + income.getMoney()); +// driver.setLaveBusinessMoney(driver.getLaveBusinessMoney() + income.getMoney()); driver.setBalance(driver.getBalance().add(new BigDecimal(income.getMoney()))); } @@ -760,11 +760,11 @@ //修改专车订单 tOrderLogistics.setState(tOrderLogistics.getOldState()); tOrderLogistics.setDriverId(driverId); - tOrderLogistics.setCarId(nowDriver.getCarId()); +// tOrderLogistics.setCarId(nowDriver.getCarId()); orderLogisticsService.updateById(tOrderLogistics); tReassign.setNowDriverId(driverId); - tReassign.setNowCarId(nowDriver.getCarId()); +// tReassign.setNowCarId(nowDriver.getCarId()); tReassign.setState(3); tReassign.setCompleteTime(new Date()); tReassignService.updateById(tReassign); @@ -776,14 +776,14 @@ TDriver driver = itDriverService.selectById(tReassign.getOriginalDriverId()); driver.setBalance(driver.getBalance().subtract(new BigDecimal(income.getMoney()))); - driver.setBusinessMoney(driver.getBusinessMoney() - income.getMoney()); - driver.setLaveBusinessMoney(driver.getLaveBusinessMoney() - income.getMoney()); +// driver.setBusinessMoney(driver.getBusinessMoney() - income.getMoney()); +// driver.setLaveBusinessMoney(driver.getLaveBusinessMoney() - income.getMoney()); itDriverService.updateById(driver); driver = itDriverService.selectById(driverId); driver.setBalance(driver.getBalance().add(new BigDecimal(income.getMoney()))); - driver.setBusinessMoney(driver.getBusinessMoney() + income.getMoney()); - driver.setLaveBusinessMoney(driver.getLaveBusinessMoney() + income.getMoney()); +// driver.setBusinessMoney(driver.getBusinessMoney() + income.getMoney()); +// driver.setLaveBusinessMoney(driver.getLaveBusinessMoney() + income.getMoney()); itDriverService.updateById(driver); } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java index 1fa9b8b..59d69f4 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java @@ -342,7 +342,7 @@ itCompanyService.updateById(company); //设置该分公司下的所有司机状态 - itDriverService.updateCompanyDriverState(3,company.getId()); +// itDriverService.updateCompanyDriverState(3,company.getId()); }else if (user.getRoleType() == 3){ //查询加盟商 @@ -351,7 +351,7 @@ itCompanyService.updateById(franchisee); //设置该加盟商下的所有司机状态 - itDriverService.updateFranchiseeDriverState(3,franchisee.getId()); +// itDriverService.updateFranchiseeDriverState(3,franchisee.getId()); } return SUCCESS_TIP; } @@ -378,7 +378,7 @@ itCompanyService.updateById(company); //设置该分公司下的所有司机状态 - itDriverService.updateCompanyDriverState(2,company.getId()); +// itDriverService.updateCompanyDriverState(2,company.getId()); }else if (user.getRoleType() == 3){ //查询加盟商 @@ -387,7 +387,7 @@ itCompanyService.updateById(franchisee); //设置该加盟商下的所有司机状态 - itDriverService.updateFranchiseeDriverState(2,franchisee.getId()); +// itDriverService.updateFranchiseeDriverState(2,franchisee.getId()); } return SUCCESS_TIP; } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/taxi/TOrderTaxiController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/taxi/TOrderTaxiController.java index c721350..e845f33 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/taxi/TOrderTaxiController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/taxi/TOrderTaxiController.java @@ -208,18 +208,18 @@ //修改之前司机状态 -- 空闲 TDriver oldDriver = tDriverService.selectById(tOrderTaxi.getDriverId()); - oldDriver.setState(2); +// oldDriver.setState(2); tDriverService.updateById(oldDriver); //查找司机对象 TDriver nowDriver = tDriverService.selectById(driverId); - nowDriver.setState(3); +// nowDriver.setState(3); tDriverService.updateById(nowDriver); //修改出租车订单 tOrderTaxi.setState(tOrderTaxi.getOldState()); tOrderTaxi.setDriverId(driverId); - tOrderTaxi.setCarId(nowDriver.getCarId()); +// tOrderTaxi.setCarId(nowDriver.getCarId()); tOrderTaxiService.updateById(tOrderTaxi); //增加推送 @@ -241,7 +241,7 @@ //修改之前司机状态 -- 空闲 TDriver driver = tDriverService.selectById(tOrderTaxi.getDriverId()); - driver.setState(2); +// driver.setState(2); tDriverService.updateById(driver); tOrderTaxi.setState(10); diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TAgentMapper.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TAgentMapper.java new file mode 100644 index 0000000..d19fe8d --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TAgentMapper.java @@ -0,0 +1,18 @@ +package com.stylefeng.guns.modular.system.dao; + +import com.stylefeng.guns.modular.system.model.TAgent; +import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 代理商 Mapper 接口 + * </p> + * + * @author stylefeng + * @since 2023-02-20 + */ +@Mapper +public interface TAgentMapper extends BaseMapper<TAgent> { + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TBranchOfficeMapper.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TBranchOfficeMapper.java new file mode 100644 index 0000000..21b9c3a --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TBranchOfficeMapper.java @@ -0,0 +1,18 @@ +package com.stylefeng.guns.modular.system.dao; + +import com.stylefeng.guns.modular.system.model.TBranchOffice; +import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 分公司 Mapper 接口 + * </p> + * + * @author stylefeng + * @since 2023-02-21 + */ +@Mapper +public interface TBranchOfficeMapper extends BaseMapper<TBranchOffice> { + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TDriverMapper.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TDriverMapper.java index 792fb27..d7a9712 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TDriverMapper.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TDriverMapper.java @@ -1,94 +1,18 @@ package com.stylefeng.guns.modular.system.dao; -import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.modular.system.model.TDriver; import com.baomidou.mybatisplus.mapper.BaseMapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; -import java.util.Map; +import org.apache.ibatis.annotations.Mapper; /** * <p> - * 司机表 Mapper 接口 + * 司机基础信息 Mapper 接口 * </p> * - * @author 吕雪 - * @since 2020-06-04 + * @author stylefeng + * @since 2023-02-20 */ +@Mapper public interface TDriverMapper extends BaseMapper<TDriver> { - - /** - * 根据条件查询待审核司机列表 - * @return - */ - List<Map<String,Object>> getAuthDriverList(@Param("page") Page<Map<String, Object>> page, - @Param("beginTime") String beginTime, - @Param("endTime") String endTime, - @Param("companyName") String companyName, - @Param("phone") String phone, - @Param("account") String account, - @Param("addType") Integer addType, - @Param("authState") Integer authState); - - /** - * 根据用户ID获取用户详情 - * @param driverId - * @return - */ - Map<String,Object> getDriverById(@Param("driverId") Integer driverId); - - /** - * 根据审核通过的司机列表 - * @return - */ - List<Map<String,Object>> getDriverList(@Param("page") Page<Map<String, Object>> page, - @Param("roleType") Integer roleType, - @Param("nowUserId") Integer nowUserId, - @Param("beginTime") String beginTime, - @Param("endTime") String endTime, - @Param("companyName") String companyName, - @Param("phone") String phone, - @Param("name") String name, - @Param("addType") Integer addType, - @Param("authState") Integer authState); - - /** - * 查询已被使用的车辆ID - * @return - */ - String getUseCarIdStr(@Param("carId") Integer carId); - - /** - * 查询当前可被选择的车辆列表 - * @return - */ - List<Map<String,Object>> getCanSelectCarList(@Param("page") Page<Map<String, Object>> page, - @Param("roleType") Integer roleType, - @Param("nowUserId") Integer nowUserId, - @Param("carIdStr") String carIdStr, - @Param("carLicensePlate") String carLicensePlate, - @Param("brandName") String brandName, - @Param("modelName") String modelName, - @Param("color") String color, - @Param("serverStr") String serverStr); - - /** - * 修改分公司司机的状态 - */ - void updateCompanyDriverState( @Param("authState") Integer authState, @Param("companyId") Integer companyId); - - /** - * 修改加盟商司机的状态 - */ - void updateFranchiseeDriverState( @Param("authState") Integer authState, @Param("franchiseeId") Integer franchiseeId); - - /** - * 根据审核通过的司机列表无分页 - * @return - * @return - */ - List<Map<String,Object>> getDriverListNoPage(@Param("roleType") Integer roleType, - @Param("nowUserId") Integer nowUserId); } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderRefusalMapper.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderRefusalMapper.java new file mode 100644 index 0000000..2cbe428 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderRefusalMapper.java @@ -0,0 +1,16 @@ +package com.stylefeng.guns.modular.system.dao; + +import com.stylefeng.guns.modular.system.model.TOrderRefusal; +import com.baomidou.mybatisplus.mapper.BaseMapper; + +/** + * <p> + * 拒单记录 Mapper 接口 + * </p> + * + * @author stylefeng + * @since 2023-02-21 + */ +public interface TOrderRefusalMapper extends BaseMapper<TOrderRefusal> { + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TRechargeRecordMapper.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TRechargeRecordMapper.java new file mode 100644 index 0000000..47d2618 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TRechargeRecordMapper.java @@ -0,0 +1,18 @@ +package com.stylefeng.guns.modular.system.dao; + +import com.stylefeng.guns.modular.system.model.TRechargeRecord; +import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 充值记录 Mapper 接口 + * </p> + * + * @author stylefeng + * @since 2023-02-20 + */ +@Mapper +public interface TRechargeRecordMapper extends BaseMapper<TRechargeRecord> { + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TRegionMapper.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TRegionMapper.java index 358db98..2d210a9 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TRegionMapper.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TRegionMapper.java @@ -2,15 +2,17 @@ import com.stylefeng.guns.modular.system.model.TRegion; import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; /** * <p> * 省市区三级联动 Mapper 接口 * </p> * - * @author 吕雪 - * @since 2020-06-02 + * @author stylefeng + * @since 2023-02-20 */ +@Mapper public interface TRegionMapper extends BaseMapper<TRegion> { } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TAgentMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TAgentMapper.xml new file mode 100644 index 0000000..bbf6aa3 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TAgentMapper.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.stylefeng.guns.modular.system.dao.TAgentMapper"> + + <!-- 通用查询映射结果 --> + <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TAgent"> + <id column="id" property="id" /> + <result column="principal" property="principal" /> + <result column="principalPhone" property="principalPhone" /> + <result column="email" property="email" /> + <result column="provinceCode" property="provinceCode" /> + <result column="provinceName" property="provinceName" /> + <result column="cityCode" property="cityCode" /> + <result column="cityName" property="cityName" /> + <result column="status" property="status" /> + <result column="createTime" property="createTime" /> + </resultMap> + + <!-- 通用查询结果列 --> + <sql id="Base_Column_List"> + id, principal, principalPhone, email, provinceCode, provinceName, cityCode, cityName, status, createTime + </sql> + +</mapper> diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TBranchOfficeMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TBranchOfficeMapper.xml new file mode 100644 index 0000000..7f3eef2 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TBranchOfficeMapper.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.stylefeng.guns.modular.system.dao.TBranchOfficeMapper"> + + <!-- 通用查询映射结果 --> + <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TBranchOffice"> + <id column="id" property="id" /> + <result column="agentId" property="agentId" /> + <result column="principal" property="principal" /> + <result column="principalPhone" property="principalPhone" /> + <result column="email" property="email" /> + <result column="provinceCode" property="provinceCode" /> + <result column="provinceName" property="provinceName" /> + <result column="cityCode" property="cityCode" /> + <result column="cityName" property="cityName" /> + <result column="districtCode" property="districtCode" /> + <result column="districtName" property="districtName" /> + <result column="status" property="status" /> + <result column="createTime" property="createTime" /> + </resultMap> + + <!-- 通用查询结果列 --> + <sql id="Base_Column_List"> + id, agentId, principal, principalPhone, email, provinceCode, provinceName, cityCode, cityName, districtCode, districtName, status, createTime + </sql> + +</mapper> diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TDriverMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TDriverMapper.xml index de77126..361c01f 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TDriverMapper.xml +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TDriverMapper.xml @@ -5,298 +5,38 @@ <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TDriver"> <id column="id" property="id" /> - <result column="account" property="account" /> - <result column="jobNumber" property="jobNumber" /> + <result column="code" property="code" /> + <result column="name" property="name" /> + <result column="avatar" property="avatar" /> <result column="phone" property="phone" /> <result column="password" property="password" /> - <result column="name" property="name" /> <result column="sex" property="sex" /> - <result column="idCard" property="idCard" /> - <result column="companyId" property="companyId" /> - <result column="headImgUrl" property="headImgUrl" /> - <result column="faceImgUrl" property="faceImgUrl" /> - <result column="idCardImgUrl1" property="idCardImgUrl1" /> - <result column="idCardImgUrl2" property="idCardImgUrl2" /> - <result column="placeOfEmployment" property="placeOfEmployment" /> - <result column="birthday" property="birthday" /> - <result column="bankCardNumber" property="bankCardNumber" /> - <result column="driverNationality" property="driverNationality" /> - <result column="driverNation" property="driverNation" /> - <result column="driverMaritalStatus" property="driverMaritalStatus" /> - <result column="driverLanguageLevel" property="driverLanguageLevel" /> - <result column="driverEducation" property="driverEducation" /> - <result column="driverCensus" property="driverCensus" /> - <result column="driverAddress" property="driverAddress" /> - <result column="driverContactAddress" property="driverContactAddress" /> - <result column="driverAge" property="driverAge" /> - <result column="driveCard" property="driveCard" /> - <result column="driveCardImgUrl" property="driveCardImgUrl" /> - <result column="driverType" property="driverType" /> - <result column="getDriverLicenseDate" property="getDriverLicenseDate" /> - <result column="driverLicenseOn" property="driverLicenseOn" /> - <result column="driverLicenseOff" property="driverLicenseOff" /> - <result column="taxiDriver" property="taxiDriver" /> - <result column="taxiAptitudeCard" property="taxiAptitudeCard" /> - <result column="networkCarlssueImg" property="networkCarlssueImg" /> - <result column="networkCarlssueOrganization" property="networkCarlssueOrganization" /> - <result column="networkCarlssueDate" property="networkCarlssueDate" /> - <result column="getNetworkCarProofDate" property="getNetworkCarProofDate" /> - <result column="networkCarProofOn" property="networkCarProofOn" /> - <result column="networkCarProofOff" property="networkCarProofOff" /> - <result column="registerDate" property="registerDate" /> - <result column="fullTimeDriver" property="fullTimeDriver" /> - <result column="inDriverBlacklist" property="inDriverBlacklist" /> - <result column="commercialType" property="commercialType" /> - <result column="contractCompany" property="contractCompany" /> - <result column="contractOn" property="contractOn" /> - <result column="contractOff" property="contractOff" /> + <result column="source" property="source" /> <result column="emergencyContact" property="emergencyContact" /> - <result column="emergencyContactPhone" property="emergencyContactPhone" /> - <result column="emergencyContactAddress" property="emergencyContactAddress" /> - <result column="remark" property="remark" /> - <result column="isPlatCar" property="isPlatCar" /> - <result column="carId" property="carId" /> - <result column="authState" property="authState" /> - <result column="state" property="state" /> - <result column="flag" property="flag" /> - <result column="insertTime" property="insertTime" /> - <result column="insertUser" property="insertUser" /> - <result column="updateTime" property="updateTime" /> - <result column="updateUser" property="updateUser" /> - <result column="addType" property="addType" /> - <result column="laveBusinessMoney" property="laveBusinessMoney"/> - <result column="businessMoney" property="businessMoney"/> + <result column="emergencyPhone" property="emergencyPhone" /> + <result column="driverLicenseNumber" property="driverLicenseNumber" /> + <result column="driverLicense" property="driverLicense" /> + <result column="idcard" property="idcard" /> + <result column="idcardFront" property="idcardFront" /> + <result column="idcardBack" property="idcardBack" /> + <result column="inviterType" property="inviterType" /> + <result column="inviterId" property="inviterId" /> + <result column="agentId" property="agentId" /> + <result column="branchOfficeId" property="branchOfficeId" /> + <result column="balance" property="balance" /> + <result column="approvalStatus" property="approvalStatus" /> + <result column="approvalNotes" property="approvalNotes" /> + <result column="approvalUserId" property="approvalUserId" /> + <result column="approvalTime" property="approvalTime" /> + <result column="serverStatus" property="serverStatus" /> + <result column="integral" property="integral" /> + <result column="status" property="status" /> + <result column="createTime" property="createTime" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> - id, account, jobNumber, phone, password, name, sex, idCard, companyId, headImgUrl, faceImgUrl, idCardImgUrl1, idCardImgUrl2, placeOfEmployment, birthday, bankCardNumber, driverNationality, driverNation, driverMaritalStatus, driverLanguageLevel, driverEducation, driverCensus, driverAddress, driverContactAddress, licenseCode, licenselImgUrl, driverAge, driveCard, driveCardImgUrl, driverType, getDriverLicenseDate, driverLicenseOn, driverLicenseOff, taxiDriver, taxiAptitudeCard, networkCarlssueImg, networkCarlssueOrganization, networkCarlssueDate, getNetworkCarProofDate, networkCarProofOn, networkCarProofOff, registerDate, fullTimeDriver, inDriverBlacklist, commercialType, contractCompany, contractOn, contractOff, emergencyContact, emergencyContactPhone, emergencyContactAddress, remark, isPlatCar, carId, authState, state, flag, insertTime, insertUser, updateTime, updateUser, addType + id, code, name, avatar, phone, password, sex, source, emergencyContact, emergencyPhone, driverLicenseNumber, driverLicense, idcard, idcardFront, idcardBack, inviterType, inviterId, agentId, branchOfficeId, balance, approvalStatus, approvalNotes, approvalUserId, approvalTime, serverStatus, integral, status, createTime </sql> - - <!--根据条件查询待审核司机列表--> - <select id="getAuthDriverList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> - SELECT * FROM (SELECT cc1.`name` as companyName,cc2.`name` as franchiseeName,ds.serverStr,dd.* from t_driver as dd - LEFT JOIN (select * from t_company where type = 2 and flag != 3) as cc1 on cc1.id = dd.companyId - LEFT JOIN (select * from t_company where type = 3 and flag != 3) as cc2 on cc2.id = dd.franchiseeId - LEFT JOIN ( - SELECT - GROUP_CONCAT(case when type = 1 then '专车' - when type = 2 then '出租车' - when type = 3 then '跨城出行' - when type = 4 then '小件物流-同城' - when type = 5 then '小件物流-跨城' - when type = 6 then '包车' - else '' end ) as serverStr,driverId from t_driver_service GROUP BY driverId) as ds on ds.driverId = dd.id - ) as o - <where> - FIND_IN_SET(o.authState,'1,4') and o.flag != 3 - <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''"> - AND (o.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) - </if> - <if test="companyName != null and companyName != ''"> - and (o.companyName LIKE CONCAT('%',#{companyName},'%') or o.franchiseeName LIKE CONCAT('%',#{companyName},'%')) - </if> - <if test="phone != null and phone != ''"> - and o.phone LIKE CONCAT('%',#{phone},'%') - </if> - <if test="account != null and account != ''"> - and o.account LIKE CONCAT('%',#{account},'%') - </if> - <if test="addType != null and addType != ''"> - and o.addType = #{addType} - </if> - <if test="authState != null and authState != ''"> - and o.authState = #{authState} - </if> - </where> - order by o.id desc - </select> - - <!--根据用户ID获取用户详情--> - <select id="getDriverById" resultType="map"> - SELECT cc.`name` as companyName,ds.serverStr, - case when dd.addType = 1 then '司机注册' when dd.addType = 2 then '平台添加' when dd.addType = 3 then '分公司添加' when dd.addType = 4 then '加盟商添加' else '' end as addTypeStr, - case when dd.sex = 1 then '男' when dd.sex = 2 then '女' else '' end as sexStr, - case when dd.authState = 1 then '待审核' when dd.authState = 2 then '正常' when dd.authState = 3 then '冻结' when dd.authState = 4 then '已拒绝' end as authStateStr, - dd.* from t_driver as dd - LEFT JOIN (select * from t_company where flag != 3) as cc on cc.id = dd.companyId - LEFT JOIN ( - SELECT - GROUP_CONCAT(case when type = 1 then '专车' - when type = 2 then '出租车' - when type = 3 then '跨城出行' - when type = 4 then '小件物流-同城' - when type = 5 then '小件物流-跨城' - when type = 6 then '包车' - else '' end SEPARATOR '、') as serverStr,driverId from t_driver_service GROUP BY driverId) as ds on ds.driverId = dd.id - where dd.id = #{driverId} - </select> - - <!--根据审核通过的司机列表--> - <select id="getDriverList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> - SELECT * FROM (SELECT cc1.`name` as companyName,cc2.`name` as franchiseeName,ci.carLicensePlate,ds.serverStr,IFNULL(oe.evaluateNum,0) as evaluateNum, - (IFNULL(ot1.taxiNum, 0) + IFNULL(ot3.num, 0) + IFNULL(ot5.num, 0) + IFNULL(ot7.num, 0)) as historyNum,(IFNULL(ot2.taxiMoney, 0)+ IFNULL(ot4.money, 0) + IFNULL(ot6.money, 0) + IFNULL(ot8.money, 0)) as historyMoney,dd.* from t_driver as dd - LEFT JOIN (select * from t_company where type = 2 and flag != 3) as cc1 on cc1.id = dd.companyId - LEFT JOIN (select * from t_company where type = 3 and flag != 3) as cc2 on cc2.id = dd.franchiseeId - LEFT JOIN (select * from t_car where state = 1) as ci on ci.id = dd.carId - LEFT JOIN ( - SELECT - GROUP_CONCAT(case when type = 1 then '专车' - when type = 2 then '出租车' - when type = 3 then '跨城出行' - when type = 4 then '小件物流-同城' - when type = 5 then '小件物流-跨城' - when type = 6 then '包车' - else '' end ) as serverStr,driverId from t_driver_service GROUP BY driverId) as ds on ds.driverId = dd.id - LEFT JOIN (SELECT IFNULL(SUM(fraction)/COUNT(id),0) as evaluateNum,driverId FROM t_order_evaluate GROUP BY driverId) as oe on oe.driverId = dd.id - LEFT JOIN (SELECT COUNT(id) as taxiNum,driverId FROM t_order_taxi where FIND_IN_SET(state,'7,8,9') GROUP BY driverId) as ot1 on ot1.driverId = dd.id - LEFT JOIN (SELECT SUM(orderMoney) as taxiMoney,driverId FROM t_order_taxi where FIND_IN_SET(state,'7,8,9') GROUP BY driverId) as ot2 on ot2.driverId = dd.id - LEFT JOIN (SELECT COUNT(id) as num,driverId FROM t_order_private_car where FIND_IN_SET(state,'7,8,9') GROUP BY driverId) as ot3 on ot3.driverId = dd.id - LEFT JOIN (SELECT SUM(orderMoney) as money,driverId FROM t_order_private_car where FIND_IN_SET(state,'7,8,9') GROUP BY driverId) as ot4 on ot4.driverId = dd.id - LEFT JOIN (SELECT COUNT(id) as num,driverId FROM t_order_cross_city where FIND_IN_SET(state,'6,8,9') GROUP BY driverId) as ot5 on ot5.driverId = dd.id - LEFT JOIN (SELECT SUM(orderMoney) as money,driverId FROM t_order_cross_city where FIND_IN_SET(state,'6,8,9') GROUP BY driverId) as ot6 on ot6.driverId = dd.id - LEFT JOIN (SELECT COUNT(id) as num,driverId FROM t_order_logistics where FIND_IN_SET(state,'6,9') GROUP BY driverId) as ot7 on ot7.driverId = dd.id - LEFT JOIN (SELECT SUM(orderMoney) as money,driverId FROM t_order_logistics where FIND_IN_SET(state,'6,9') GROUP BY driverId) as ot8 on ot8.driverId = dd.id) as o - <where> - o.flag != 3 - <if test="roleType != null and roleType != '' and roleType == 1"> - and FIND_IN_SET(o.authState,'2,3') - </if> - <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''"> - AND (o.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) - </if> - <if test="companyName != null and companyName != ''"> - and (o.companyName LIKE CONCAT('%',#{companyName},'%') or o.franchiseeName LIKE CONCAT('%',#{companyName},'%')) - </if> - <if test="phone != null and phone != ''"> - and o.phone LIKE CONCAT('%',#{phone},'%') - </if> - <if test="name != null and name != ''"> - and o.name LIKE CONCAT('%',#{name},'%') - </if> - <if test="addType != null and addType != ''"> - and o.addType = #{addType} - </if> - <if test="authState != null and authState != ''"> - and o.authState = #{authState} - </if> - <if test="roleType != null and roleType != '' and roleType == 2"> - and (o.companyId = #{nowUserId} or FIND_IN_SET(o.franchiseeId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where superiorId = #{nowUserId} GROUP BY superiorId))) - </if> - <if test="roleType != null and roleType != '' and roleType == 3"> - and o.franchiseeId = #{nowUserId} - </if> - </where> - order by o.id desc - </select> - - <!--查询已被使用的车辆ID--> - <select id="getUseCarIdStr" resultType="java.lang.String"> - SELECT GROUP_CONCAT(dd.carId) as carIdStr from t_driver as dd where dd.authState = 2 and dd.flag != 3 - <if test="carId != null and carId != '' and carId != 0"> - and dd.carId != #{carId} - </if> - </select> - - <!--查询当前可被选择的车辆列表--> - <select id="getCanSelectCarList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> - SELECT * FROM (SELECT cm.`name` as modelName,cb.`name` as brandName,ds.serverStr,ci.* from t_car as ci - LEFT JOIN (select * from t_car_model where state = 1) as cm on cm.id = ci.carModelId - LEFT JOIN (select * from t_car_brand where state = 1) as cb on cb.id = ci.carBrandId - LEFT JOIN ( - SELECT - GROUP_CONCAT(case when type = 1 then '专车' - when type = 2 then '出租车' - when type = 3 then '跨城出行' - when type = 4 then '小件物流-同城' - when type = 5 then '小件物流-跨城' - when type = 6 then '包车' - else '' end ) as serverStr,carId from t_car_service GROUP BY carId) as ds on ds.carId = ci.id) as o - <where> - o.state = 1 - <if test="carIdStr != null and carIdStr != ''"> - and not FIND_IN_SET(o.id,#{carIdStr}) - </if> - <if test="carLicensePlate != null and carLicensePlate != ''"> - and o.carLicensePlate LIKE CONCAT('%',#{carLicensePlate},'%') - </if> - <if test="brandName != null and brandName != ''"> - and o.brandName LIKE CONCAT('%',#{brandName},'%') - </if> - <if test="modelName != null and modelName != ''"> - and o.modelName LIKE CONCAT('%',#{modelName},'%') - </if> - <if test="color != null and color != ''"> - and o.carColor LIKE CONCAT('%',#{color},'%') - </if> - <if test="serverStr != null and serverStr != ''"> - and o.serverStr LIKE CONCAT('%',#{serverStr},'%') - </if> - <if test="roleType != null and roleType != '' and roleType == 2"> - and (o.companyId = #{nowUserId} or FIND_IN_SET(o.franchiseeId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where type = 3 and superiorId = #{nowUserId} GROUP BY superiorId))) - </if> - <if test="roleType != null and roleType != '' and roleType == 3"> - and o.franchiseeId = #{nowUserId} - </if> - </where> - order by o.id desc - </select> - - <!--修改分公司司机的状态--> - <update id="updateCompanyDriverState" parameterType="java.lang.Integer"> - update t_driver - <set> - <if test="authState != null"> authState = #{authState} </if> - </set> - where companyId = #{companyId} and (franchiseeId = 0 or franchiseeId is null) - </update> - - <!--修改加盟商司机的状态--> - <update id="updateFranchiseeDriverState" parameterType="java.lang.Integer"> - update t_driver - <set> - <if test="authState != null"> authState = #{authState} </if> - </set> - where franchiseeId = #{franchiseeId} - </update> - - <!--根据审核通过的司机列表无分页--> - <select id="getDriverListNoPage" resultType="map"> - SELECT * FROM (SELECT cc1.`name` as companyName,cc2.`name` as franchiseeName,ci.carLicensePlate,ds.serverStr,IFNULL(oe.evaluateNum,0) as evaluateNum, - (IFNULL(ot1.taxiNum, 0) + IFNULL(ot3.num, 0) + IFNULL(ot5.num, 0)) as historyNum,(IFNULL(ot2.taxiMoney, 0)+ IFNULL(ot4.money, 0) + IFNULL(ot6.money, 0)) as historyMoney,dd.* from t_driver as dd - LEFT JOIN (select * from t_company where type = 2 and flag != 3) as cc1 on cc1.id = dd.companyId - LEFT JOIN (select * from t_company where type = 3 and flag != 3) as cc2 on cc2.id = dd.franchiseeId - LEFT JOIN (select * from t_car where state = 1) as ci on ci.id = dd.carId - LEFT JOIN ( - SELECT - GROUP_CONCAT(case when type = 1 then '专车' - when type = 2 then '出租车' - when type = 3 then '跨城出行' - when type = 4 then '小件物流-同城' - when type = 5 then '小件物流-跨城' - when type = 6 then '包车' - else '' end ) as serverStr,driverId from t_driver_service GROUP BY driverId) as ds on ds.driverId = dd.id - LEFT JOIN (SELECT IFNULL(SUM(fraction)/COUNT(id),0) as evaluateNum,driverId FROM t_order_evaluate GROUP BY driverId) as oe on oe.driverId = dd.id - LEFT JOIN (SELECT COUNT(id) as taxiNum,driverId FROM t_order_taxi where FIND_IN_SET(state,'7,8,9') GROUP BY driverId) as ot1 on ot1.driverId = dd.id - LEFT JOIN (SELECT SUM(orderMoney) as taxiMoney,driverId FROM t_order_taxi where FIND_IN_SET(state,'8,9') GROUP BY driverId) as ot2 on ot2.driverId = dd.id - LEFT JOIN (SELECT COUNT(id) as num,driverId FROM t_order_private_car where FIND_IN_SET(state,'7,8,9') GROUP BY driverId) as ot3 on ot3.driverId = dd.id - LEFT JOIN (SELECT SUM(orderMoney) as money,driverId FROM t_order_private_car where FIND_IN_SET(state,'7,8,9') GROUP BY driverId) as ot4 on ot4.driverId = dd.id - LEFT JOIN (SELECT COUNT(id) as num,driverId FROM t_order_cross_city where FIND_IN_SET(state,'6,7,8') GROUP BY driverId) as ot5 on ot5.driverId = dd.id - LEFT JOIN (SELECT SUM(orderMoney) as money,driverId FROM t_order_cross_city where FIND_IN_SET(state,'6,7,8') GROUP BY driverId) as ot6 on ot6.driverId = dd.id - ) as o - <where> - o.flag != 3 - <if test="roleType != null and roleType != '' and roleType == 1"> - and FIND_IN_SET(o.authState,'2,3') - </if> - <if test="roleType != null and roleType != '' and roleType == 2"> - and (o.companyId = #{nowUserId} or FIND_IN_SET(o.franchiseeId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where superiorId = #{nowUserId} GROUP BY superiorId))) - </if> - <if test="roleType != null and roleType != '' and roleType == 3"> - and o.franchiseeId = #{nowUserId} - </if> - </where> - order by o.id desc - </select> </mapper> diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderRefusalMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderRefusalMapper.xml new file mode 100644 index 0000000..d840a27 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderRefusalMapper.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.stylefeng.guns.modular.system.dao.TOrderRefusalMapper"> + + <!-- 通用查询映射结果 --> + <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TOrderRefusal"> + <id column="id" property="id" /> + <result column="order_id" property="orderId" /> + <result column="driver_id" property="driverId" /> + <result column="startAddress" property="startAddress" /> + <result column="endAddress" property="endAddress" /> + <result column="code" property="code" /> + <result column="createTime" property="createTime" /> + </resultMap> + + <!-- 通用查询结果列 --> + <sql id="Base_Column_List"> + id, order_id, driver_id, startAddress, endAddress, code, createTime + </sql> + +</mapper> diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TRechargeRecordMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TRechargeRecordMapper.xml new file mode 100644 index 0000000..97e6cf3 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TRechargeRecordMapper.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.stylefeng.guns.modular.system.dao.TRechargeRecordMapper"> + + <!-- 通用查询映射结果 --> + <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TRechargeRecord"> + <id column="id" property="id" /> + <result column="type" property="type" /> + <result column="userId" property="userId" /> + <result column="code" property="code" /> + <result column="amount" property="amount" /> + <result column="payType" property="payType" /> + <result column="payTime" property="payTime" /> + <result column="payStatus" property="payStatus" /> + <result column="orderNumber" property="orderNumber" /> + <result column="createTime" property="createTime" /> + </resultMap> + + <!-- 通用查询结果列 --> + <sql id="Base_Column_List"> + id, type, userId, code, amount, payType, payTime, payStatus, orderNumber, createTime + </sql> + +</mapper> diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/PayStatusEnum.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/PayStatusEnum.java new file mode 100644 index 0000000..72ae536 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/PayStatusEnum.java @@ -0,0 +1,50 @@ +package com.stylefeng.guns.modular.system.enums; + + + +/** + * @Description 充值记录状态枚举 + * @Author xiaochen + * @Date 2023/02/15 9:42 + */ +public enum PayStatusEnum { + + TO_BE_PAID(1, "待支付"), + FINISH(2, "已完成"); + + private String desc; + + + private int code; + + + PayStatusEnum(int code, String desc) { + this.code = code; + this.desc = desc; + } + + public String getDesc() { + return desc; + } + + public int getCode() { + return code; + } + + /** + * 通过code获取枚举 + * + * @param code + * @return + */ + public static PayStatusEnum fromCode(Integer code) { + PayStatusEnum[] resultTypes = PayStatusEnum.values(); + for (PayStatusEnum resultType : resultTypes) { + if (code.equals(resultType.getCode())) { + return resultType; + } + } + return null; + } + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/UserTypeEnum.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/UserTypeEnum.java new file mode 100644 index 0000000..c45eb25 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/UserTypeEnum.java @@ -0,0 +1,50 @@ +package com.stylefeng.guns.modular.system.enums; + + + +/** + * @Description 用户司机枚举 + * @Author xiaochen + * @Date 2023/02/15 9:42 + */ +public enum UserTypeEnum { + + USER(1, "用户"), + DRIVER(2, "司机"); + + private String desc; + + + private int code; + + + UserTypeEnum(int code, String desc) { + this.code = code; + this.desc = desc; + } + + public String getDesc() { + return desc; + } + + public int getCode() { + return code; + } + + /** + * 通过code获取枚举 + * + * @param code + * @return + */ + public static UserTypeEnum fromCode(Integer code) { + UserTypeEnum[] resultTypes = UserTypeEnum.values(); + for (UserTypeEnum resultType : resultTypes) { + if (code.equals(resultType.getCode())) { + return resultType; + } + } + return null; + } + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAgent.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAgent.java new file mode 100644 index 0000000..1cedeb9 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAgent.java @@ -0,0 +1,223 @@ +package com.stylefeng.guns.modular.system.model; + +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.enums.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableName; +import io.swagger.annotations.ApiModelProperty; + +import java.io.Serializable; + +/** + * <p> + * 代理商 + * </p> + * + * @author stylefeng + * @since 2023-02-20 + */ +@TableName("t_agent") +public class TAgent extends Model<TAgent> { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 负责人姓名 + */ + private String principal; + /** + * 负责人电话 + */ + private String principalPhone; + /** + * 邮箱 + */ + private String email; + /** + * 代理区域省编号 + */ + private String provinceCode; + /** + * 代理区域省名称 + */ + private String provinceName; + /** + * 代理区域市编号 + */ + private String cityCode; + /** + * 代理区域市名称 + */ + private String cityName; + /** + * 状态(1=正常,2=冻结,3=删除) + */ + private Integer status; + /** + * 添加时间 + */ + private Date createTime; + + /** + * 开户银行 + */ + @TableField(value = "bankDeposit") + @ApiModelProperty(value = "开户银行") + private String bankDeposit; + + /** + * 银行账户 + */ + @TableField(value = "bankAccount") + @ApiModelProperty(value = "银行账户") + private String bankAccount; + + + @TableField(exist = false) + @ApiModelProperty(value = "区域") + private String area; + + @TableField(exist = false) + @ApiModelProperty(value = "区域id") + private String areaId; + + public String getAreaId() { + return areaId; + } + + public void setAreaId(String areaId) { + this.areaId = areaId; + } + + public String getBankDeposit() { + return bankDeposit; + } + + public void setBankDeposit(String bankDeposit) { + this.bankDeposit = bankDeposit; + } + + public String getBankAccount() { + return bankAccount; + } + + public void setBankAccount(String bankAccount) { + this.bankAccount = bankAccount; + } + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getPrincipal() { + return principal; + } + + public void setPrincipal(String principal) { + this.principal = principal; + } + + public String getPrincipalPhone() { + return principalPhone; + } + + public void setPrincipalPhone(String principalPhone) { + this.principalPhone = principalPhone; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getProvinceCode() { + return provinceCode; + } + + public void setProvinceCode(String provinceCode) { + this.provinceCode = provinceCode; + } + + public String getProvinceName() { + return provinceName; + } + + public void setProvinceName(String provinceName) { + this.provinceName = provinceName; + } + + public String getCityCode() { + return cityCode; + } + + public void setCityCode(String cityCode) { + this.cityCode = cityCode; + } + + public String getCityName() { + return cityName; + } + + public void setCityName(String cityName) { + this.cityName = cityName; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + @Override + protected Serializable pkVal() { + return this.id; + } + + @Override + public String toString() { + return "TAgent{" + + "id=" + id + + ", principal=" + principal + + ", principalPhone=" + principalPhone + + ", email=" + email + + ", provinceCode=" + provinceCode + + ", provinceName=" + provinceName + + ", cityCode=" + cityCode + + ", cityName=" + cityName + + ", status=" + status + + ", createTime=" + createTime + + "}"; + } +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAppUser.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAppUser.java index 1a8df42..a53ccae 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAppUser.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAppUser.java @@ -78,7 +78,7 @@ private Date createTime; /** - * 是否异常 1正常 0异常 + * 是否异常 1正常 2异常 */ @TableField(value = "is_exception") private Integer isException; diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TBranchOffice.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TBranchOffice.java new file mode 100644 index 0000000..324c224 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TBranchOffice.java @@ -0,0 +1,205 @@ +package com.stylefeng.guns.modular.system.model; + +import com.baomidou.mybatisplus.enums.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableName; +import java.io.Serializable; + +/** + * <p> + * 分公司 + * </p> + * + * @author stylefeng + * @since 2023-02-21 + */ +@TableName("t_branch_office") +public class TBranchOffice extends Model<TBranchOffice> { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 代理商id + */ + private Integer agentId; + /** + * 负责人姓名 + */ + private String principal; + /** + * 负责人电话 + */ + private String principalPhone; + /** + * 邮箱 + */ + private String email; + /** + * 代理区域省编号 + */ + private String provinceCode; + /** + * 代理区域省名称 + */ + private String provinceName; + /** + * 代理区域市编号 + */ + private String cityCode; + /** + * 代理区域市名称 + */ + private String cityName; + /** + * 代理区域区编号 + */ + private String districtCode; + /** + * 代理区域区名称 + */ + private String districtName; + /** + * 状态(1=正常,2=冻结,3=删除) + */ + private Integer status; + /** + * 添加时间 + */ + private Date createTime; + + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getAgentId() { + return agentId; + } + + public void setAgentId(Integer agentId) { + this.agentId = agentId; + } + + public String getPrincipal() { + return principal; + } + + public void setPrincipal(String principal) { + this.principal = principal; + } + + public String getPrincipalPhone() { + return principalPhone; + } + + public void setPrincipalPhone(String principalPhone) { + this.principalPhone = principalPhone; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getProvinceCode() { + return provinceCode; + } + + public void setProvinceCode(String provinceCode) { + this.provinceCode = provinceCode; + } + + public String getProvinceName() { + return provinceName; + } + + public void setProvinceName(String provinceName) { + this.provinceName = provinceName; + } + + public String getCityCode() { + return cityCode; + } + + public void setCityCode(String cityCode) { + this.cityCode = cityCode; + } + + public String getCityName() { + return cityName; + } + + public void setCityName(String cityName) { + this.cityName = cityName; + } + + public String getDistrictCode() { + return districtCode; + } + + public void setDistrictCode(String districtCode) { + this.districtCode = districtCode; + } + + public String getDistrictName() { + return districtName; + } + + public void setDistrictName(String districtName) { + this.districtName = districtName; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + @Override + protected Serializable pkVal() { + return this.id; + } + + @Override + public String toString() { + return "TBranchOffice{" + + "id=" + id + + ", agentId=" + agentId + + ", principal=" + principal + + ", principalPhone=" + principalPhone + + ", email=" + email + + ", provinceCode=" + provinceCode + + ", provinceName=" + provinceName + + ", cityCode=" + cityCode + + ", cityName=" + cityName + + ", districtCode=" + districtCode + + ", districtName=" + districtName + + ", status=" + status + + ", createTime=" + createTime + + "}"; + } +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCoupon.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCoupon.java index 760504b..1d04f01 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCoupon.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCoupon.java @@ -39,6 +39,14 @@ @TableField("user_id") private Integer userId; + @ApiModelProperty(value = "代理商id") + @TableField("agentId") + private Integer agentId; + + @ApiModelProperty(value = "分公司id") + @TableField("branchOfficeId") + private Integer branchOfficeId; + @ApiModelProperty(value = "优惠券名称") @TableField("coupon_name") private String couponName; @@ -79,6 +87,22 @@ @TableField("coupon_state") private Integer couponState; + public Integer getAgentId() { + return agentId; + } + + public void setAgentId(Integer agentId) { + this.agentId = agentId; + } + + public Integer getBranchOfficeId() { + return branchOfficeId; + } + + public void setBranchOfficeId(Integer branchOfficeId) { + this.branchOfficeId = branchOfficeId; + } + public Integer getCouponState() { return couponState; } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TDriver.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TDriver.java index 211bdef..778bd4f 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TDriver.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TDriver.java @@ -2,37 +2,46 @@ import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.enums.IdType; - import java.math.BigDecimal; import java.util.Date; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotations.TableName; +import io.swagger.annotations.ApiModelProperty; +import org.springframework.beans.factory.annotation.Value; + import java.io.Serializable; /** * <p> - * 司机表 + * 司机基础信息 * </p> * - * @author 吕雪 - * @since 2020-06-04 + * @author stylefeng + * @since 2023-02-20 */ @TableName("t_driver") public class TDriver extends Model<TDriver> { private static final long serialVersionUID = 1L; + /** + * 主键 + */ @TableId(value = "id", type = IdType.AUTO) private Integer id; /** - * 登录账号 + * 编号 */ - private String account; + private String code; /** - * 工号 + * 姓名 */ - private String jobNumber; + private String name; + /** + * 头像 + */ + private String avatar; /** * 手机号 */ @@ -42,173 +51,13 @@ */ private String password; /** - * 姓名 - */ - private String name; - /** - * 性别(1=男,2=女) + * 性别(1=男,2=女) */ private Integer sex; /** - * 身份证号 + * 来源(1=) */ - private String idCard; - /** - * 公司id - */ - private Integer companyId; - /** - * 加盟商ID - */ - private Integer franchiseeId; - /** - * 头像照片 - */ - private String headImgUrl; - /** - * 人脸识别照片 - */ - private String faceImgUrl; - /** - * 身份证正面照片 - */ - private String idCardImgUrl1; - /** - * 身份证背面照片 - */ - private String idCardImgUrl2; - /** - * 网约车司机注册地行政区域 - */ - private String placeOfEmployment; - /** - * 生日 - */ - private Date birthday; - /** - * 银行卡号 - */ - private String bankCardNumber; - /** - * 国籍 - */ - private String driverNationality; - /** - * 民族 - */ - private String driverNation; - /** - * 婚姻状况(1:未婚,2:已婚,3:离异) - */ - private Integer driverMaritalStatus; - /** - * 外语能力 - */ - private String driverLanguageLevel; - /** - * 学历 - */ - private String driverEducation; - /** - * 户口登记机关名称 - */ - private String driverCensus; - /** - * 户口地址或常住地址 - */ - private String driverAddress; - /** - * 通信地址 - */ - private String driverContactAddress; - /** - * 驾龄 - */ - private Integer driverAge; - /** - * 驾驶证号 - */ - private String driveCard; - /** - * 驾驶证照片 - */ - private String driveCardImgUrl; - /** - * 准驾车型 - */ - private String driverType; - /** - * 初次领取驾驶证日期 - */ - private Date getDriverLicenseDate; - /** - * 驾驶证有效期限起 - */ - private Date driverLicenseOn; - /** - * 驾驶证有效期限止 - */ - private Date driverLicenseOff; - /** - * 是否巡游出租车驾驶员(0:否,1:是) - */ - private Integer taxiDriver; - /** - * 出租车资格证号 - */ - private String taxiAptitudeCard; - /** - * 网约车资格证照片 - */ - private String networkCarlssueImg; - /** - * 网络预约出租车驾驶员证发证机构 - */ - private String networkCarlssueOrganization; - /** - * 资格证发证日期 - */ - private Date networkCarlssueDate; - /** - * 初次认领资格证日期 - */ - private Date getNetworkCarProofDate; - /** - * 资格证有效起始日期 - */ - private Date networkCarProofOn; - /** - * 资格证有效截至日期 - */ - private Date networkCarProofOff; - /** - * 报备日期 - */ - private Date registerDate; - /** - * 是否专职驾驶员(0:否,1:是) - */ - private Integer fullTimeDriver; - /** - * 是否在驾驶员黑名单内(0:否,1:是) - */ - private Integer inDriverBlacklist; - /** - * 服务类型(1:网络预约出租汽车,2:巡游出租汽车,3:私人小客车合乘) - */ - private Integer commercialType; - /** - * 驾驶员合同签署公司 - */ - private String contractCompany; - /** - * 合同有效期起 - */ - private Date contractOn; - /** - * 合同有效期止 - */ - private Date contractOff; + private Integer source; /** * 紧急联系人 */ @@ -216,89 +65,185 @@ /** * 紧急联系电话 */ - private String emergencyContactPhone; + private String emergencyPhone; /** - * 紧急联系地址 + * 驾驶证号码 */ - private String emergencyContactAddress; + private String driverLicenseNumber; /** - * 备注 + * 驾驶证照片 */ - private String remark; + private String driverLicense; /** - * 是否是平台车辆(1=是,2=否) + * 身份证号码 */ - private Integer isPlatCar; + private String idcard; /** - * 司机管理车辆id + * 身份证正面照 */ - private Integer carId; + private String idcardFront; /** - * 状态(1=待审核,2=正常,3=冻结,4=拒绝) + * 身份证背面照 */ - private Integer authState; + private String idcardBack; /** - * 司机状态(1=离线,2=空闲,3=服务中) + * 邀约人类型(1=用户,2=司机) */ - private Integer state; + private Integer inviterType; /** - * 1:创建,2:修改,3:删除 + * 邀约人id */ - private String flag; + private Integer inviterId; /** - * 添加时间 + * 代理商id */ - private Date insertTime; - private Integer insertUser; - private Date updateTime; - private Integer updateUser; + private Integer agentId; /** - * 司机来源方式 1=司机注册 2=平台添加 3=分公司添加 4=加盟商添加 + * 分公司id */ - private Integer addType; + private Integer branchOfficeId; /** - * 余额 + * 账户余额 */ private BigDecimal balance; /** - * 业务总收入 - * @return + * 审核状态(1=待审核,2=已同意,3=已拒绝) */ - @TableField("businessMoney") - private Double businessMoney; + private Integer approvalStatus; /** - * 剩余未提现业务总收入 - * @return + * 审核注释 */ - @TableField("laveBusinessMoney") - private Double laveBusinessMoney; + private String approvalNotes; /** - * 添加司机的分公司/加盟商ID + * 审核用户id */ - private Integer addObjectId; + private Integer approvalUserId; + /** + * 审核时间 + */ + private Date approvalTime; + /** + * 服务状态(1=空闲,2=服务中) + */ + private Integer serverStatus; + /** + * 剩余积分 + */ + private Integer integral; + /** + * 状态(1=正常,2=冻结,3=删除) + */ + private Integer status; + /** + * 添加时间 + */ + private Date createTime; - public BigDecimal getBalance() { - return balance; + @ApiModelProperty(value = "后台充值余额") + private BigDecimal backgroundBalance; + @ApiModelProperty(value = "启用冻结理由") + private String remark; + + /** + * 是否异常 1正常 2异常 + */ + @TableField(value = "isException") + private Integer isException; + + @ApiModelProperty(value = "加盟区域省编号") + private String provinceCode; + @ApiModelProperty(value = "加盟区域省名称") + private String provinceName; + @ApiModelProperty(value = "加盟区域市编号") + private String cityCode; + @ApiModelProperty(value = "加盟区域市名称") + private String cityName; + @ApiModelProperty(value = "加盟区域区编号") + private String areaCode; + @ApiModelProperty(value = "加盟区域区名称") + private String areaName; + + @ApiModelProperty(value = "驾驶证初次领证时间") + private Date firstCertificateTime; + + public Date getFirstCertificateTime() { + return firstCertificateTime; } - public void setBalance(BigDecimal balance) { - this.balance = balance; + public void setFirstCertificateTime(Date firstCertificateTime) { + this.firstCertificateTime = firstCertificateTime; } - public Integer getAddObjectId() { - return addObjectId; + public String getProvinceCode() { + return provinceCode; } - public void setAddObjectId(Integer addObjectId) { - this.addObjectId = addObjectId; + public void setProvinceCode(String provinceCode) { + this.provinceCode = provinceCode; } - public Integer getFranchiseeId() { - return franchiseeId; + public String getProvinceName() { + return provinceName; } - public void setFranchiseeId(Integer franchiseeId) { - this.franchiseeId = franchiseeId; + public void setProvinceName(String provinceName) { + this.provinceName = provinceName; + } + + public String getCityCode() { + return cityCode; + } + + public void setCityCode(String cityCode) { + this.cityCode = cityCode; + } + + public String getCityName() { + return cityName; + } + + public void setCityName(String cityName) { + this.cityName = cityName; + } + + public String getAreaCode() { + return areaCode; + } + + public void setAreaCode(String areaCode) { + this.areaCode = areaCode; + } + + public String getAreaName() { + return areaName; + } + + public void setAreaName(String areaName) { + this.areaName = areaName; + } + + public Integer getIsException() { + return isException; + } + + public void setIsException(Integer isException) { + this.isException = isException; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public BigDecimal getBackgroundBalance() { + return backgroundBalance; + } + + public void setBackgroundBalance(BigDecimal backgroundBalance) { + this.backgroundBalance = backgroundBalance; } public Integer getId() { @@ -309,20 +254,28 @@ this.id = id; } - public String getAccount() { - return account; + public String getCode() { + return code; } - public void setAccount(String account) { - this.account = account; + public void setCode(String code) { + this.code = code; } - public String getJobNumber() { - return jobNumber; + public String getName() { + return name; } - public void setJobNumber(String jobNumber) { - this.jobNumber = jobNumber; + public void setName(String name) { + this.name = name; + } + + public String getAvatar() { + return avatar; + } + + public void setAvatar(String avatar) { + this.avatar = avatar; } public String getPhone() { @@ -341,14 +294,6 @@ this.password = password; } - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - public Integer getSex() { return sex; } @@ -357,316 +302,12 @@ this.sex = sex; } - public String getIdCard() { - return idCard; + public Integer getSource() { + return source; } - public void setIdCard(String idCard) { - this.idCard = idCard; - } - - public Integer getCompanyId() { - return companyId; - } - - public void setCompanyId(Integer companyId) { - this.companyId = companyId; - } - - public String getHeadImgUrl() { - return headImgUrl; - } - - public void setHeadImgUrl(String headImgUrl) { - this.headImgUrl = headImgUrl; - } - - public String getFaceImgUrl() { - return faceImgUrl; - } - - public void setFaceImgUrl(String faceImgUrl) { - this.faceImgUrl = faceImgUrl; - } - - public String getIdCardImgUrl1() { - return idCardImgUrl1; - } - - public void setIdCardImgUrl1(String idCardImgUrl1) { - this.idCardImgUrl1 = idCardImgUrl1; - } - - public String getIdCardImgUrl2() { - return idCardImgUrl2; - } - - public void setIdCardImgUrl2(String idCardImgUrl2) { - this.idCardImgUrl2 = idCardImgUrl2; - } - - public String getPlaceOfEmployment() { - return placeOfEmployment; - } - - public void setPlaceOfEmployment(String placeOfEmployment) { - this.placeOfEmployment = placeOfEmployment; - } - - public Date getBirthday() { - return birthday; - } - - public void setBirthday(Date birthday) { - this.birthday = birthday; - } - - public String getBankCardNumber() { - return bankCardNumber; - } - - public void setBankCardNumber(String bankCardNumber) { - this.bankCardNumber = bankCardNumber; - } - - public String getDriverNationality() { - return driverNationality; - } - - public void setDriverNationality(String driverNationality) { - this.driverNationality = driverNationality; - } - - public String getDriverNation() { - return driverNation; - } - - public void setDriverNation(String driverNation) { - this.driverNation = driverNation; - } - - public Integer getDriverMaritalStatus() { - return driverMaritalStatus; - } - - public void setDriverMaritalStatus(Integer driverMaritalStatus) { - this.driverMaritalStatus = driverMaritalStatus; - } - - public String getDriverLanguageLevel() { - return driverLanguageLevel; - } - - public void setDriverLanguageLevel(String driverLanguageLevel) { - this.driverLanguageLevel = driverLanguageLevel; - } - - public String getDriverEducation() { - return driverEducation; - } - - public void setDriverEducation(String driverEducation) { - this.driverEducation = driverEducation; - } - - public String getDriverCensus() { - return driverCensus; - } - - public void setDriverCensus(String driverCensus) { - this.driverCensus = driverCensus; - } - - public String getDriverAddress() { - return driverAddress; - } - - public void setDriverAddress(String driverAddress) { - this.driverAddress = driverAddress; - } - - public String getDriverContactAddress() { - return driverContactAddress; - } - - public void setDriverContactAddress(String driverContactAddress) { - this.driverContactAddress = driverContactAddress; - } - - public Integer getDriverAge() { - return driverAge; - } - - public void setDriverAge(Integer driverAge) { - this.driverAge = driverAge; - } - - public String getDriveCard() { - return driveCard; - } - - public void setDriveCard(String driveCard) { - this.driveCard = driveCard; - } - - public String getDriveCardImgUrl() { - return driveCardImgUrl; - } - - public void setDriveCardImgUrl(String driveCardImgUrl) { - this.driveCardImgUrl = driveCardImgUrl; - } - - public String getDriverType() { - return driverType; - } - - public void setDriverType(String driverType) { - this.driverType = driverType; - } - - public Date getGetDriverLicenseDate() { - return getDriverLicenseDate; - } - - public void setGetDriverLicenseDate(Date getDriverLicenseDate) { - this.getDriverLicenseDate = getDriverLicenseDate; - } - - public Date getDriverLicenseOn() { - return driverLicenseOn; - } - - public void setDriverLicenseOn(Date driverLicenseOn) { - this.driverLicenseOn = driverLicenseOn; - } - - public Date getDriverLicenseOff() { - return driverLicenseOff; - } - - public void setDriverLicenseOff(Date driverLicenseOff) { - this.driverLicenseOff = driverLicenseOff; - } - - public Integer getTaxiDriver() { - return taxiDriver; - } - - public void setTaxiDriver(Integer taxiDriver) { - this.taxiDriver = taxiDriver; - } - - public String getTaxiAptitudeCard() { - return taxiAptitudeCard; - } - - public void setTaxiAptitudeCard(String taxiAptitudeCard) { - this.taxiAptitudeCard = taxiAptitudeCard; - } - - public String getNetworkCarlssueImg() { - return networkCarlssueImg; - } - - public void setNetworkCarlssueImg(String networkCarlssueImg) { - this.networkCarlssueImg = networkCarlssueImg; - } - - public String getNetworkCarlssueOrganization() { - return networkCarlssueOrganization; - } - - public void setNetworkCarlssueOrganization(String networkCarlssueOrganization) { - this.networkCarlssueOrganization = networkCarlssueOrganization; - } - - public Date getNetworkCarlssueDate() { - return networkCarlssueDate; - } - - public void setNetworkCarlssueDate(Date networkCarlssueDate) { - this.networkCarlssueDate = networkCarlssueDate; - } - - public Date getGetNetworkCarProofDate() { - return getNetworkCarProofDate; - } - - public void setGetNetworkCarProofDate(Date getNetworkCarProofDate) { - this.getNetworkCarProofDate = getNetworkCarProofDate; - } - - public Date getNetworkCarProofOn() { - return networkCarProofOn; - } - - public void setNetworkCarProofOn(Date networkCarProofOn) { - this.networkCarProofOn = networkCarProofOn; - } - - public Date getNetworkCarProofOff() { - return networkCarProofOff; - } - - public void setNetworkCarProofOff(Date networkCarProofOff) { - this.networkCarProofOff = networkCarProofOff; - } - - public Date getRegisterDate() { - return registerDate; - } - - public void setRegisterDate(Date registerDate) { - this.registerDate = registerDate; - } - - public Integer getFullTimeDriver() { - return fullTimeDriver; - } - - public void setFullTimeDriver(Integer fullTimeDriver) { - this.fullTimeDriver = fullTimeDriver; - } - - public Integer getInDriverBlacklist() { - return inDriverBlacklist; - } - - public void setInDriverBlacklist(Integer inDriverBlacklist) { - this.inDriverBlacklist = inDriverBlacklist; - } - - public Integer getCommercialType() { - return commercialType; - } - - public void setCommercialType(Integer commercialType) { - this.commercialType = commercialType; - } - - public String getContractCompany() { - return contractCompany; - } - - public void setContractCompany(String contractCompany) { - this.contractCompany = contractCompany; - } - - public Date getContractOn() { - return contractOn; - } - - public void setContractOn(Date contractOn) { - this.contractOn = contractOn; - } - - public Date getContractOff() { - return contractOff; - } - - public void setContractOff(Date contractOff) { - this.contractOff = contractOff; + public void setSource(Integer source) { + this.source = source; } public String getEmergencyContact() { @@ -677,124 +318,156 @@ this.emergencyContact = emergencyContact; } - public String getEmergencyContactPhone() { - return emergencyContactPhone; + public String getEmergencyPhone() { + return emergencyPhone; } - public void setEmergencyContactPhone(String emergencyContactPhone) { - this.emergencyContactPhone = emergencyContactPhone; + public void setEmergencyPhone(String emergencyPhone) { + this.emergencyPhone = emergencyPhone; } - public String getEmergencyContactAddress() { - return emergencyContactAddress; + public String getDriverLicenseNumber() { + return driverLicenseNumber; } - public void setEmergencyContactAddress(String emergencyContactAddress) { - this.emergencyContactAddress = emergencyContactAddress; + public void setDriverLicenseNumber(String driverLicenseNumber) { + this.driverLicenseNumber = driverLicenseNumber; } - public String getRemark() { - return remark; + public String getDriverLicense() { + return driverLicense; } - public void setRemark(String remark) { - this.remark = remark; + public void setDriverLicense(String driverLicense) { + this.driverLicense = driverLicense; } - public Integer getIsPlatCar() { - return isPlatCar; + public String getIdcard() { + return idcard; } - public void setIsPlatCar(Integer isPlatCar) { - this.isPlatCar = isPlatCar; + public void setIdcard(String idcard) { + this.idcard = idcard; } - public Integer getCarId() { - return carId; + public String getIdcardFront() { + return idcardFront; } - public void setCarId(Integer carId) { - this.carId = carId; + public void setIdcardFront(String idcardFront) { + this.idcardFront = idcardFront; } - public Integer getAuthState() { - return authState; + public String getIdcardBack() { + return idcardBack; } - public void setAuthState(Integer authState) { - this.authState = authState; + public void setIdcardBack(String idcardBack) { + this.idcardBack = idcardBack; } - public Integer getState() { - return state; + public Integer getInviterType() { + return inviterType; } - public void setState(Integer state) { - this.state = state; + public void setInviterType(Integer inviterType) { + this.inviterType = inviterType; } - public String getFlag() { - return flag; + public Integer getInviterId() { + return inviterId; } - public void setFlag(String flag) { - this.flag = flag; + public void setInviterId(Integer inviterId) { + this.inviterId = inviterId; } - public Date getInsertTime() { - return insertTime; + public Integer getAgentId() { + return agentId; } - public void setInsertTime(Date insertTime) { - this.insertTime = insertTime; + public void setAgentId(Integer agentId) { + this.agentId = agentId; } - public Integer getInsertUser() { - return insertUser; + public Integer getBranchOfficeId() { + return branchOfficeId; } - public void setInsertUser(Integer insertUser) { - this.insertUser = insertUser; + public void setBranchOfficeId(Integer branchOfficeId) { + this.branchOfficeId = branchOfficeId; } - public Date getUpdateTime() { - return updateTime; + public BigDecimal getBalance() { + return balance; } - public void setUpdateTime(Date updateTime) { - this.updateTime = updateTime; + public void setBalance(BigDecimal balance) { + this.balance = balance; } - public Integer getUpdateUser() { - return updateUser; + public Integer getApprovalStatus() { + return approvalStatus; } - public void setUpdateUser(Integer updateUser) { - this.updateUser = updateUser; + public void setApprovalStatus(Integer approvalStatus) { + this.approvalStatus = approvalStatus; } - public Integer getAddType() { - return addType; + public String getApprovalNotes() { + return approvalNotes; } - public void setAddType(Integer addType) { - this.addType = addType; + public void setApprovalNotes(String approvalNotes) { + this.approvalNotes = approvalNotes; } - public Double getLaveBusinessMoney() { - return laveBusinessMoney; + public Integer getApprovalUserId() { + return approvalUserId; } - public void setLaveBusinessMoney(Double laveBusinessMoney) { - this.laveBusinessMoney = laveBusinessMoney; + public void setApprovalUserId(Integer approvalUserId) { + this.approvalUserId = approvalUserId; } - public Double getBusinessMoney() { - return businessMoney; + public Date getApprovalTime() { + return approvalTime; } - public void setBusinessMoney(Double businessMoney) { - this.businessMoney = businessMoney; + public void setApprovalTime(Date approvalTime) { + this.approvalTime = approvalTime; + } + + public Integer getServerStatus() { + return serverStatus; + } + + public void setServerStatus(Integer serverStatus) { + this.serverStatus = serverStatus; + } + + public Integer getIntegral() { + return integral; + } + + public void setIntegral(Integer integral) { + this.integral = integral; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; } @Override @@ -806,65 +479,33 @@ public String toString() { return "TDriver{" + "id=" + id + - ", account=" + account + - ", jobNumber=" + jobNumber + + ", code=" + code + + ", name=" + name + + ", avatar=" + avatar + ", phone=" + phone + ", password=" + password + - ", name=" + name + ", sex=" + sex + - ", idCard=" + idCard + - ", companyId=" + companyId + - ", headImgUrl=" + headImgUrl + - ", faceImgUrl=" + faceImgUrl + - ", idCardImgUrl1=" + idCardImgUrl1 + - ", idCardImgUrl2=" + idCardImgUrl2 + - ", placeOfEmployment=" + placeOfEmployment + - ", birthday=" + birthday + - ", bankCardNumber=" + bankCardNumber + - ", driverNationality=" + driverNationality + - ", driverNation=" + driverNation + - ", driverMaritalStatus=" + driverMaritalStatus + - ", driverLanguageLevel=" + driverLanguageLevel + - ", driverEducation=" + driverEducation + - ", driverCensus=" + driverCensus + - ", driverAddress=" + driverAddress + - ", driverContactAddress=" + driverContactAddress + - ", driverAge=" + driverAge + - ", driveCard=" + driveCard + - ", driveCardImgUrl=" + driveCardImgUrl + - ", driverType=" + driverType + - ", getDriverLicenseDate=" + getDriverLicenseDate + - ", driverLicenseOn=" + driverLicenseOn + - ", driverLicenseOff=" + driverLicenseOff + - ", taxiDriver=" + taxiDriver + - ", taxiAptitudeCard=" + taxiAptitudeCard + - ", networkCarlssueImg=" + networkCarlssueImg + - ", networkCarlssueOrganization=" + networkCarlssueOrganization + - ", networkCarlssueDate=" + networkCarlssueDate + - ", getNetworkCarProofDate=" + getNetworkCarProofDate + - ", networkCarProofOn=" + networkCarProofOn + - ", networkCarProofOff=" + networkCarProofOff + - ", registerDate=" + registerDate + - ", fullTimeDriver=" + fullTimeDriver + - ", inDriverBlacklist=" + inDriverBlacklist + - ", commercialType=" + commercialType + - ", contractCompany=" + contractCompany + - ", contractOn=" + contractOn + - ", contractOff=" + contractOff + + ", source=" + source + ", emergencyContact=" + emergencyContact + - ", emergencyContactPhone=" + emergencyContactPhone + - ", emergencyContactAddress=" + emergencyContactAddress + - ", remark=" + remark + - ", isPlatCar=" + isPlatCar + - ", carId=" + carId + - ", authState=" + authState + - ", state=" + state + - ", flag=" + flag + - ", insertTime=" + insertTime + - ", insertUser=" + insertUser + - ", updateTime=" + updateTime + - ", updateUser=" + updateUser + - ", addType=" + addType + + ", emergencyPhone=" + emergencyPhone + + ", driverLicenseNumber=" + driverLicenseNumber + + ", driverLicense=" + driverLicense + + ", idcard=" + idcard + + ", idcardFront=" + idcardFront + + ", idcardBack=" + idcardBack + + ", inviterType=" + inviterType + + ", inviterId=" + inviterId + + ", agentId=" + agentId + + ", branchOfficeId=" + branchOfficeId + + ", balance=" + balance + + ", approvalStatus=" + approvalStatus + + ", approvalNotes=" + approvalNotes + + ", approvalUserId=" + approvalUserId + + ", approvalTime=" + approvalTime + + ", serverStatus=" + serverStatus + + ", integral=" + integral + + ", status=" + status + + ", createTime=" + createTime + "}"; } } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderRefusal.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderRefusal.java new file mode 100644 index 0000000..ad3fa85 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderRefusal.java @@ -0,0 +1,127 @@ +package com.stylefeng.guns.modular.system.model; + +import com.baomidou.mybatisplus.enums.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableName; +import java.io.Serializable; + +/** + * <p> + * 拒单记录 + * </p> + * + * @author stylefeng + * @since 2023-02-21 + */ +@TableName("t_order_refusal") +public class TOrderRefusal extends Model<TOrderRefusal> { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 订单id + */ + @TableField("order_id") + private Integer orderId; + /** + * 司机id + */ + @TableField("driver_id") + private Integer driverId; + /** + * 起点地址 + */ + private String startAddress; + /** + * 终点地址 + */ + private String endAddress; + /** + * 编号 + */ + private String code; + /** + * 添加时间 + */ + private Date createTime; + + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getOrderId() { + return orderId; + } + + public void setOrderId(Integer orderId) { + this.orderId = orderId; + } + + public Integer getDriverId() { + return driverId; + } + + public void setDriverId(Integer driverId) { + this.driverId = driverId; + } + + public String getStartAddress() { + return startAddress; + } + + public void setStartAddress(String startAddress) { + this.startAddress = startAddress; + } + + public String getEndAddress() { + return endAddress; + } + + public void setEndAddress(String endAddress) { + this.endAddress = endAddress; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + @Override + protected Serializable pkVal() { + return this.id; + } + + @Override + public String toString() { + return "TOrderRefusal{" + + "id=" + id + + ", orderId=" + orderId + + ", driverId=" + driverId + + ", startAddress=" + startAddress + + ", endAddress=" + endAddress + + ", code=" + code + + ", createTime=" + createTime + + "}"; + } +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TRechargeRecord.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TRechargeRecord.java new file mode 100644 index 0000000..e39acc1 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TRechargeRecord.java @@ -0,0 +1,167 @@ +package com.stylefeng.guns.modular.system.model; + +import com.baomidou.mybatisplus.enums.IdType; +import java.math.BigDecimal; +import java.util.Date; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableName; +import java.io.Serializable; + +/** + * <p> + * 充值记录 + * </p> + * + * @author stylefeng + * @since 2023-02-20 + */ +@TableName("t_recharge_record") +public class TRechargeRecord extends Model<TRechargeRecord> { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 数据类型(1=用户,2=司机) + */ + private Integer type; + /** + * 用户id + */ + private Integer userId; + /** + * 流水号 + */ + private String code; + /** + * 充值金额 + */ + private BigDecimal amount; + /** + * 支付方式(1=微信) + */ + private Integer payType; + /** + * 完成支付时间 + */ + private Date payTime; + /** + * 支付状态(1=待支付,2=已完成) + */ + private Integer payStatus; + /** + * 第三方流水号 + */ + private String orderNumber; + /** + * 添加时间 + */ + private Date createTime; + + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public BigDecimal getAmount() { + return amount; + } + + public void setAmount(BigDecimal amount) { + this.amount = amount; + } + + public Integer getPayType() { + return payType; + } + + public void setPayType(Integer payType) { + this.payType = payType; + } + + public Date getPayTime() { + return payTime; + } + + public void setPayTime(Date payTime) { + this.payTime = payTime; + } + + public Integer getPayStatus() { + return payStatus; + } + + public void setPayStatus(Integer payStatus) { + this.payStatus = payStatus; + } + + public String getOrderNumber() { + return orderNumber; + } + + public void setOrderNumber(String orderNumber) { + this.orderNumber = orderNumber; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + @Override + protected Serializable pkVal() { + return this.id; + } + + @Override + public String toString() { + return "TRechargeRecord{" + + "id=" + id + + ", type=" + type + + ", userId=" + userId + + ", code=" + code + + ", amount=" + amount + + ", payType=" + payType + + ", payTime=" + payTime + + ", payStatus=" + payStatus + + ", orderNumber=" + orderNumber + + ", createTime=" + createTime + + "}"; + } +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TRegion.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TRegion.java index 6ff4628..e0d4d1f 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TRegion.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TRegion.java @@ -6,14 +6,15 @@ import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotations.TableName; import java.io.Serializable; +import java.util.List; /** * <p> * 省市区三级联动 * </p> * - * @author 吕雪 - * @since 2020-06-02 + * @author stylefeng + * @since 2023-02-20 */ @TableName("t_region") public class TRegion extends Model<TRegion> { @@ -41,6 +42,16 @@ */ private String english; + @TableField(exist = false) + private List<TRegion> children; + + public List<TRegion> getChildren() { + return children; + } + + public void setChildren(List<TRegion> children) { + this.children = children; + } public Integer getId() { return id; diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITAgentService.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITAgentService.java new file mode 100644 index 0000000..1499b4a --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITAgentService.java @@ -0,0 +1,38 @@ +package com.stylefeng.guns.modular.system.service; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.stylefeng.guns.modular.system.controller.resp.TAgentResp; +import com.stylefeng.guns.modular.system.model.TAgent; +import com.baomidou.mybatisplus.service.IService; +import org.springframework.ui.Model; + +import java.util.List; + +/** + * <p> + * 代理商 服务类 + * </p> + * + * @author stylefeng + * @since 2023-02-20 + */ +public interface ITAgentService extends IService<TAgent> { + + /** + * 获取代理商查询wrapper + * @param principal + * @param principalPhone + * @param createTime + * @return + */ + EntityWrapper<TAgent> getAgentWrapper(String principal, String principalPhone, String createTime); + + /** + * 代理商查看详情 + * @param agentId + * @param model + */ + void detail(Integer agentId, Model model); + + List<TAgentResp> getAgentResp(List<TAgent> tAgents); +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITBranchOfficeService.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITBranchOfficeService.java new file mode 100644 index 0000000..d07d5fc --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITBranchOfficeService.java @@ -0,0 +1,16 @@ +package com.stylefeng.guns.modular.system.service; + +import com.stylefeng.guns.modular.system.model.TBranchOffice; +import com.baomidou.mybatisplus.service.IService; + +/** + * <p> + * 分公司 服务类 + * </p> + * + * @author stylefeng + * @since 2023-02-21 + */ +public interface ITBranchOfficeService extends IService<TBranchOffice> { + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITDriverService.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITDriverService.java index 385fd22..0da500f 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITDriverService.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITDriverService.java @@ -1,94 +1,51 @@ package com.stylefeng.guns.modular.system.service; -import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.stylefeng.guns.modular.system.controller.resp.TDriverResp; import com.stylefeng.guns.modular.system.model.TDriver; import com.baomidou.mybatisplus.service.IService; -import org.apache.ibatis.annotations.Param; +import org.springframework.ui.Model; import java.util.List; -import java.util.Map; /** * <p> - * 司机表 服务类 + * 司机基础信息 服务类 * </p> * - * @author 吕雪 - * @since 2020-06-04 + * @author stylefeng + * @since 2023-02-20 */ public interface ITDriverService extends IService<TDriver> { /** - * 根据条件查询待审核司机列表 + * 获取司机分页列表 + * @param createTime + * @param phone + * @param status * @return */ - List<Map<String,Object>> getAuthDriverList(@Param("page") Page<Map<String, Object>> page, - @Param("beginTime") String beginTime, - @Param("endTime") String endTime, - @Param("companyName") String companyName, - @Param("phone") String phone, - @Param("account") String account, - @Param("addType") Integer addType, - @Param("authState") Integer authState); + EntityWrapper<TDriver> getPageList(String createTime, String phone, Integer status); /** - * 根据用户ID获取用户详情 - * @param driverId + * 封装司机放回resp + * @param tDrivers * @return */ - Map<String,Object> getDriverById(@Param("driverId") Integer driverId); + List<TDriverResp> getTDriverResp(List<TDriver> tDrivers); /** - * 根据审核通过的司机列表 - * @return + * 跳转审核页面 + * @param id + * @param model */ - List<Map<String,Object>> getDriverList(@Param("page") Page<Map<String, Object>> page, - @Param("roleType") Integer roleType, - @Param("nowUserId") Integer nowUserId, - @Param("beginTime") String beginTime, - @Param("endTime") String endTime, - @Param("companyName") String companyName, - @Param("phone") String phone, - @Param("name") String name, - @Param("addType") Integer addType, - @Param("authState") Integer authState); + void auditPage(Integer id, Model model); /** - * 查询已被使用的车辆ID - * @return + * 跳转详情页面 + * @param tDriverId + * @param model */ - String getUseCarIdStr(@Param("carId") Integer carId); - - /** - * 查询当前可被选择的车辆列表 - * @return - */ - List<Map<String,Object>> getCanSelectCarList(@Param("page") Page<Map<String, Object>> page, - @Param("roleType") Integer roleType, - @Param("nowUserId") Integer nowUserId, - @Param("carIdStr") String carIdStr, - @Param("carLicensePlate") String carLicensePlate, - @Param("brandName") String brandName, - @Param("modelName") String modelName, - @Param("color") String color, - @Param("serverStr") String serverStr); - - /** - * 修改分公司司机的状态 - */ - void updateCompanyDriverState( @Param("authState") Integer authState, @Param("companyId") Integer companyId); - - /** - * 修改加盟商司机的状态 - */ - void updateFranchiseeDriverState( @Param("authState") Integer authState, @Param("franchiseeId") Integer franchiseeId); - - /** - * 根据审核通过的司机列表无分页 - * @return - * @return - */ - List<Map<String,Object>> getDriverListNoPage(@Param("roleType") Integer roleType, - @Param("nowUserId") Integer nowUserId); + void detail(Integer tDriverId, Model model); } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderRefusalService.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderRefusalService.java new file mode 100644 index 0000000..4200f88 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderRefusalService.java @@ -0,0 +1,16 @@ +package com.stylefeng.guns.modular.system.service; + +import com.stylefeng.guns.modular.system.model.TOrderRefusal; +import com.baomidou.mybatisplus.service.IService; + +/** + * <p> + * 拒单记录 服务类 + * </p> + * + * @author stylefeng + * @since 2023-02-21 + */ +public interface ITOrderRefusalService extends IService<TOrderRefusal> { + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITRechargeRecordService.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITRechargeRecordService.java new file mode 100644 index 0000000..b65c02d --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITRechargeRecordService.java @@ -0,0 +1,16 @@ +package com.stylefeng.guns.modular.system.service; + +import com.stylefeng.guns.modular.system.model.TRechargeRecord; +import com.baomidou.mybatisplus.service.IService; + +/** + * <p> + * 充值记录 服务类 + * </p> + * + * @author stylefeng + * @since 2023-02-20 + */ +public interface ITRechargeRecordService extends IService<TRechargeRecord> { + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITRegionService.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITRegionService.java index 4230d25..d5b4aef 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITRegionService.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITRegionService.java @@ -3,14 +3,22 @@ import com.stylefeng.guns.modular.system.model.TRegion; import com.baomidou.mybatisplus.service.IService; +import java.util.List; + /** * <p> * 省市区三级联动 服务类 * </p> * - * @author 吕雪 - * @since 2020-06-02 + * @author stylefeng + * @since 2023-02-20 */ public interface ITRegionService extends IService<TRegion> { + /** + * 得到省市区三级联动数据 + * @return + */ + List<TRegion> getAreaList(); + } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java new file mode 100644 index 0000000..3ba7242 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java @@ -0,0 +1,185 @@ +package com.stylefeng.guns.modular.system.service.impl; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.stylefeng.guns.core.util.DateUtil; +import com.stylefeng.guns.modular.system.controller.resp.TAgentResp; +import com.stylefeng.guns.modular.system.dao.*; +import com.stylefeng.guns.modular.system.enums.OrderStateEnum; +import com.stylefeng.guns.modular.system.enums.PayStatusEnum; +import com.stylefeng.guns.modular.system.enums.UserTypeEnum; +import com.stylefeng.guns.modular.system.model.*; +import com.stylefeng.guns.modular.system.service.ITAgentService; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.ui.Model; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; + +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +/** + * <p> + * 代理商 服务实现类 + * </p> + * + * @author stylefeng + * @since 2023-02-20 + */ +@Service +public class TAgentServiceImpl extends ServiceImpl<TAgentMapper, TAgent> implements ITAgentService { + + + @Autowired + private TAgentMapper tAgentMapper; + + @Autowired + private TOrderMapper tOrderMapper; + + @Autowired + private TCouponMapper tCouponMapper; + + @Autowired + private TDriverMapper tDriverMapper; + + @Autowired + private TRechargeRecordMapper tRechargeRecordMapper; + + @Override + public EntityWrapper<TAgent> getAgentWrapper(String principal, String principalPhone, String createTime) { + EntityWrapper<TAgent> wrapper = new EntityWrapper<>(); + // 昵称 + if(StringUtils.hasLength(principal)){ + wrapper.like("principal",principal); + } + // 手机号 + if(StringUtils.hasLength(principalPhone)){ + wrapper.like("principalPhone",principalPhone); + } + // 开始,结束时间 + if(StringUtils.hasLength(createTime)){ + String[] split = createTime.split(" - "); + Date startTime = DateUtil.getDate_str4(split[0]); + Date endTime = DateUtil.getDate_str4(split[1]); + wrapper.between("createTime",startTime,endTime); + } + return wrapper; + } + + @Override + public void detail(Integer agentId, Model model) { + // 查询代理商用户信息 + TAgent tAgent = tAgentMapper.selectById(agentId); + model.addAttribute("createTime",DateUtil.formatDate(tAgent.getCreateTime())); + + model.addAttribute("startTimeToEndTime",new SimpleDateFormat("yyyy-MM-dd").format(tAgent.getCreateTime()).replace("-",".") + "-" + + new SimpleDateFormat("yyyy-MM-dd").format(new Date()).replace("-",".")); + + model.addAttribute("principal",tAgent.getPrincipal()); + model.addAttribute("principalPhone",tAgent.getPrincipalPhone()); + model.addAttribute("email",tAgent.getEmail()); + model.addAttribute("area",tAgent.getProvinceName()+tAgent.getCityName()); + // 订单信息 + // 订单总量 + List<TOrder> orderList = tOrderMapper.selectList(new EntityWrapper<TOrder>().eq("agentId",tAgent.getId())); + model.addAttribute("orderSum",orderList.size()); + // 过滤已完成和待评价订单,且支付金额在14元以上 + List<TOrder> orders = orderList.stream().filter(order -> (order.getState().equals(OrderStateEnum.FINISH.getCode()) || order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode())) + && 0 < order.getPayMoney().compareTo(new BigDecimal("14")) && order.getAgentId().equals(tAgent.getId())).collect(Collectors.toList()); + model.addAttribute("validOrder",orders.size()); + // 过滤已使用优惠券 + List<TOrder> usedCoupon = orderList.stream().filter(order -> (order.getState().equals(OrderStateEnum.FINISH.getCode()) || order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode())) + && Objects.nonNull(order.getCouponId()) && order.getAgentId().equals(tAgent.getId())).collect(Collectors.toList()); + model.addAttribute("usedCoupon",usedCoupon.size()); + // 已使用优惠券金额求和,已使用优惠券id + List<Integer> usedCouponId = usedCoupon.stream().map(TOrder::getCouponId).collect(Collectors.toList()); + // 查询已使用优惠券金额求和 + List<TCoupon> tCoupons1 = tCouponMapper.selectList(new EntityWrapper<TCoupon>().in("id", usedCouponId)); + if(CollectionUtils.isEmpty(tCoupons1)){ + model.addAttribute("couponPriceSum", BigDecimal.ZERO); + }else { + tCoupons1.stream().map(TCoupon::getCouponPreferentialAmount).reduce(BigDecimal::add).ifPresent(bigDecimal -> model.addAttribute("couponPriceSum", bigDecimal)); + } + // 优惠券信息 + // 过滤代理商发放的优惠券 + List<TCoupon> tCoupons = tCouponMapper.selectList(new EntityWrapper<TCoupon>().eq("agentId", tAgent.getId())); + model.addAttribute("issuedCoupon",tCoupons.size()); + // 司机信息 + // 司机数 + List<TDriver> drivers = tDriverMapper.selectList(new EntityWrapper<TDriver>().eq("agentId", tAgent.getId())); + model.addAttribute("driverCount",drivers.size()); + // 司机充值计算 + List<Integer> driverIds = drivers.stream().map(TDriver::getId).collect(Collectors.toList()); + List<TRechargeRecord> tRechargeRecords = tRechargeRecordMapper.selectList(new EntityWrapper<TRechargeRecord>().in("userId", driverIds) + .eq("type", UserTypeEnum.DRIVER.getCode()) + .eq("payStatus", PayStatusEnum.FINISH.getCode())); + if(CollectionUtils.isEmpty(tRechargeRecords)){ + model.addAttribute("driverRecharge",BigDecimal.ZERO); + }else { + tRechargeRecords.stream().map(TRechargeRecord::getAmount).reduce(BigDecimal::add).ifPresent(record->model.addAttribute("driverRecharge",record)); + } + } + + @Override + public List<TAgentResp> getAgentResp(List<TAgent> tAgents) { + // 查询订单 + List<TOrder> tOrders = tOrderMapper.selectList(new EntityWrapper<TOrder>()); + // 查询优惠券 + List<TCoupon> tCoupons = tCouponMapper.selectList(new EntityWrapper<TCoupon>()); + // 查询司机信息 + List<TDriver> tDrivers = tDriverMapper.selectList(new EntityWrapper<TDriver>()); + + List<TAgentResp> tAgentRespList = new ArrayList<>(tAgents.size()); + + for (TAgent tAgent : tAgents) { + TAgentResp tAgentResp = new TAgentResp(); + BeanUtils.copyProperties(tAgent,tAgentResp); + + tAgentResp.setArea(tAgent.getProvinceName()+tAgent.getCityName()); + + if(!CollectionUtils.isEmpty(tOrders)){ + // 订单总量 + List<TOrder> orderList = tOrders.stream().filter(order -> order.getAgentId().equals(tAgent.getId())).collect(Collectors.toList()); + tAgentResp.setOrderSum(orderList.size()); + // 过滤已完成和待评价订单,且支付金额在14元以上 + List<TOrder> orders = tOrders.stream().filter(order -> (order.getState().equals(OrderStateEnum.FINISH.getCode()) || order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode())) + && 0 < order.getPayMoney().compareTo(new BigDecimal("14")) && order.getAgentId().equals(tAgent.getId())).collect(Collectors.toList()); + tAgentResp.setValidOrder(orders.size()); + // 过滤已使用优惠券 + List<TOrder> usedCoupon = tOrders.stream().filter(order -> (order.getState().equals(OrderStateEnum.FINISH.getCode()) || order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode())) + && Objects.nonNull(order.getCouponId()) && order.getAgentId().equals(tAgent.getId())).collect(Collectors.toList()); + tAgentResp.setUsedCoupon(usedCoupon.size()); + // 已使用优惠券金额求和,已使用优惠券id + List<Integer> usedCouponId = usedCoupon.stream().map(TOrder::getCouponId).collect(Collectors.toList()); + // 查询已使用优惠券金额求和 + List<TCoupon> tCoupons1 = tCouponMapper.selectList(new EntityWrapper<TCoupon>().in("id", usedCouponId)); + tCoupons1.stream().map(TCoupon::getCouponPreferentialAmount).reduce(BigDecimal::add).ifPresent(tAgentResp::setCouponPriceSum); + } + + if(!CollectionUtils.isEmpty(tCoupons)){ + // 过滤代理商发放的优惠券 + List<TCoupon> coupons = tCoupons.stream().filter(coupon -> coupon.getAgentId().equals(tAgent.getId())).collect(Collectors.toList()); + tAgentResp.setIssuedCoupon(coupons.size()); + } + + if(!CollectionUtils.isEmpty(tDrivers)){ + // 司机数 + List<TDriver> drivers = tDrivers.stream().filter(driver -> driver.getAgentId().equals(tAgent.getId())).collect(Collectors.toList()); + tAgentResp.setDriverCount(drivers.size()); + // 司机充值计算 + List<Integer> driverIds = drivers.stream().map(TDriver::getId).collect(Collectors.toList()); + List<TRechargeRecord> tRechargeRecords = tRechargeRecordMapper.selectList(new EntityWrapper<TRechargeRecord>().in("userId", driverIds) + .eq("type", UserTypeEnum.DRIVER.getCode()) + .eq("payStatus", PayStatusEnum.FINISH.getCode())); + tRechargeRecords.stream().map(TRechargeRecord::getAmount).reduce(BigDecimal::add).ifPresent(tAgentResp::setDriverRecharge); + } + + tAgentRespList.add(tAgentResp); + } + return tAgentRespList; + } +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TBranchOfficeServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TBranchOfficeServiceImpl.java new file mode 100644 index 0000000..98aed9f --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TBranchOfficeServiceImpl.java @@ -0,0 +1,20 @@ +package com.stylefeng.guns.modular.system.service.impl; + +import com.stylefeng.guns.modular.system.model.TBranchOffice; +import com.stylefeng.guns.modular.system.dao.TBranchOfficeMapper; +import com.stylefeng.guns.modular.system.service.ITBranchOfficeService; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 分公司 服务实现类 + * </p> + * + * @author stylefeng + * @since 2023-02-21 + */ +@Service +public class TBranchOfficeServiceImpl extends ServiceImpl<TBranchOfficeMapper, TBranchOffice> implements ITBranchOfficeService { + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java index a47b5e0..9d0bbb6 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.java @@ -1,64 +1,209 @@ package com.stylefeng.guns.modular.system.service.impl; -import com.baomidou.mybatisplus.plugins.Page; -import com.stylefeng.guns.modular.system.model.TDriver; -import com.stylefeng.guns.modular.system.dao.TDriverMapper; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.stylefeng.guns.core.util.DateUtil; +import com.stylefeng.guns.modular.system.controller.resp.TDriverResp; +import com.stylefeng.guns.modular.system.dao.*; +import com.stylefeng.guns.modular.system.enums.OrderStateEnum; +import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.ITDriverService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.ui.Model; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.Period; +import java.time.ZoneId; +import java.util.ArrayList; +import java.util.Date; import java.util.List; -import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; /** * <p> - * 司机表 服务实现类 + * 司机基础信息 服务实现类 * </p> * - * @author 吕雪 - * @since 2020-06-04 + * @author stylefeng + * @since 2023-02-20 */ @Service public class TDriverServiceImpl extends ServiceImpl<TDriverMapper, TDriver> implements ITDriverService { + + @Autowired + private TAgentMapper tAgentMapper; + @Autowired + private TBranchOfficeMapper tBranchOfficeMapper; + @Autowired + private TOrderMapper tOrderMapper; + @Autowired + private TDriverMapper tDriverMapper; + @Autowired + private TAppUserMapper tAppUserMapper; + @Override - public List<Map<String, Object>> getAuthDriverList(Page<Map<String, Object>> page, String beginTime, String endTime, String companyName, String phone, String account, Integer addType, Integer authState) { - return this.baseMapper.getAuthDriverList(page, beginTime, endTime, companyName, phone, account, addType, authState); + public EntityWrapper<TDriver> getPageList(String createTime, String phone, Integer status) { + EntityWrapper<TDriver> wrapper = new EntityWrapper<>(); + // 手机号 + if(StringUtils.hasLength(phone)){ + wrapper.like("phone",phone); + } + // 状态 + if(Objects.nonNull(status)){ + wrapper.eq("status",status); + } + // 开始,结束时间 + if(StringUtils.hasLength(createTime)){ + String[] split = createTime.split(" - "); + Date startTime = DateUtil.getDate_str4(split[0]); + Date endTime = DateUtil.getDate_str4(split[1]); + wrapper.between("createTime",startTime,endTime); + } + wrapper.orderBy(true,"approvalStatus"); + return wrapper; } @Override - public Map<String, Object> getDriverById(Integer driverId) { - return this.baseMapper.getDriverById(driverId); + public List<TDriverResp> getTDriverResp(List<TDriver> tDrivers) { + List<TDriverResp> tDriverRespList = new ArrayList<>(tDrivers.size()); + + List<TOrder> tOrders = tOrderMapper.selectList(new EntityWrapper<TOrder>()); + + String monthDate = new SimpleDateFormat("yyyyMM").format(new Date()); + + for (TDriver tDriver : tDrivers) { + TDriverResp tDriverResp = new TDriverResp(); + BeanUtils.copyProperties(tDriver,tDriverResp); + + // 设置余额 + tDriverResp.setBalance(tDriver.getBackgroundBalance().add(tDriver.getBalance())); + + // 所属代理商 + TAgent tAgent = tAgentMapper.selectById(tDriver.getAgentId()); + if(Objects.nonNull(tAgent)){ + tDriverResp.setAgentName(tAgent.getPrincipal()); + } + //所属分公司 + TBranchOffice tBranchOffice = tBranchOfficeMapper.selectById(tDriver.getBranchOfficeId()); + if(Objects.nonNull(tBranchOffice)){ + tDriverResp.setBranchName(tBranchOffice.getPrincipal()); + } + //累计订单量 + List<TOrder> cumulativeOrderCount = tOrders.stream().filter(order -> order.getDriverId().equals(tDriver.getId()) + && order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode()) && order.getState().equals(OrderStateEnum.FINISH.getCode())).collect(Collectors.toList()); + tDriverResp.setCumulativeOrderCount(cumulativeOrderCount.size()); + //当月订单量 + List<TOrder> monthOrderCount = tOrders.stream().filter(order -> order.getDriverId().equals(tDriver.getId()) + && order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode()) && order.getState().equals(OrderStateEnum.FINISH.getCode()) + && new SimpleDateFormat("yyyyMM").format(order.getCreateTime()).equals(monthDate)).collect(Collectors.toList()); + tDriverResp.setMonthOrderCount(monthOrderCount.size()); + // TODO 拒单次数 + List<TOrder> refusalCount = tOrders.stream().filter(order -> order.getDriverId().equals(tDriver.getId()) + && order.getState().equals(OrderStateEnum.CANCELED.getCode())).collect(Collectors.toList()); + tDriverResp.setRefusalCount(refusalCount.size()); + + tDriverRespList.add(tDriverResp); + } + return tDriverRespList; } @Override - public List<Map<String, Object>> getDriverList(Page<Map<String, Object>> page, Integer roleType,Integer nowUserId,String beginTime, String endTime, String companyName, String phone, String name, Integer addType, Integer authState) { - return this.baseMapper.getDriverList(page,roleType,nowUserId, beginTime, endTime, companyName, phone, name, addType, authState); + public void auditPage(Integer id, Model model) { + + TDriver tDriver = tDriverMapper.selectById(id); + + model.addAttribute("id",tDriver.getId()); + model.addAttribute("code",tDriver.getCode()); + model.addAttribute("name",tDriver.getName()); + model.addAttribute("phone",tDriver.getPhone()); + model.addAttribute("sex",tDriver.getSex()); + model.addAttribute("driverLicenseNumber",tDriver.getDriverLicenseNumber()); + model.addAttribute("driverLicense",tDriver.getDriverLicense()); + model.addAttribute("idcard",tDriver.getIdcard()); + model.addAttribute("idcardFront",tDriver.getIdcardFront()); + model.addAttribute("idcardBack",tDriver.getIdcardBack()); + model.addAttribute("emergencyContact",tDriver.getEmergencyContact()); + model.addAttribute("emergencyPhone",tDriver.getEmergencyPhone()); + model.addAttribute("provinceName",tDriver.getProvinceName()); + model.addAttribute("cityName",tDriver.getCityName()); + model.addAttribute("areaName",tDriver.getAreaName()); + model.addAttribute("createTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tDriver.getCreateTime())); + + // 计算驾龄 + ZoneId zoneId = ZoneId.systemDefault(); + LocalDate firstTime = tDriver.getFirstCertificateTime().toInstant().atZone(zoneId).toLocalDate(); + LocalDate now = tDriver.getFirstCertificateTime().toInstant().atZone(zoneId).toLocalDate(); + Period period = Period.between(firstTime, now); + model.addAttribute("drivingExperience",period.getYears()); + + List<TOrder> tOrders = tOrderMapper.selectList(new EntityWrapper<TOrder>()); + + String monthDate = new SimpleDateFormat("yyyyMM").format(new Date()); + + // 设置余额 + tDriver.setBalance(tDriver.getBackgroundBalance().add(tDriver.getBalance())); + + // 所属代理商 + TAgent tAgent = tAgentMapper.selectById(tDriver.getAgentId()); + if(Objects.nonNull(tAgent)){ + model.addAttribute("agentName",tAgent.getPrincipal()); + }else { + model.addAttribute("agentName",""); + } + //所属分公司 + TBranchOffice tBranchOffice = tBranchOfficeMapper.selectById(tDriver.getBranchOfficeId()); + if(Objects.nonNull(tBranchOffice)){ + model.addAttribute("principal",tBranchOffice.getPrincipal()); + }else { + model.addAttribute("principal",""); + } + + // 查询邀请人 + if(1 == tDriver.getInviterType()){ + TAppUser tAppUser = tAppUserMapper.selectById(tDriver.getInviterId()); + model.addAttribute("inviterName",tAppUser.getNickname()); + model.addAttribute("inviterPhone",tAppUser.getPhone()); + }else if(2 == tDriver.getInviterType()){ + TDriver tDriver1 = tDriverMapper.selectById(tDriver.getInviterId()); + model.addAttribute("inviterName",tDriver1.getName()); + model.addAttribute("inviterPhone",tDriver1.getPhone()); + }else { + model.addAttribute("inviterName",""); + model.addAttribute("inviterPhone",""); + } + + if(!CollectionUtils.isEmpty(tOrders)){ + //累计订单量 + List<TOrder> cumulativeOrderCount = tOrders.stream().filter(order -> order.getDriverId().equals(tDriver.getId()) + && order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode()) && order.getState().equals(OrderStateEnum.FINISH.getCode())).collect(Collectors.toList()); + model.addAttribute("cumulativeOrderCount",cumulativeOrderCount.size()); + //当月订单量 + List<TOrder> monthOrderCount = tOrders.stream().filter(order -> order.getDriverId().equals(tDriver.getId()) + && order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode()) && order.getState().equals(OrderStateEnum.FINISH.getCode()) + && new SimpleDateFormat("yyyyMM").format(order.getCreateTime()).equals(monthDate)).collect(Collectors.toList()); + model.addAttribute("monthOrderCount",monthOrderCount.size()); + // TODO 拒单次数 + List<TOrder> refusalCount = tOrders.stream().filter(order -> order.getDriverId().equals(tDriver.getId()) + && order.getState().equals(OrderStateEnum.CANCELED.getCode())).collect(Collectors.toList()); + model.addAttribute("refusalCount",refusalCount.size()); + }else { + model.addAttribute("cumulativeOrderCount",""); + model.addAttribute("monthOrderCount",""); + model.addAttribute("refusalCount",""); + } } @Override - public String getUseCarIdStr(Integer carId) { - return this.baseMapper.getUseCarIdStr(carId); + public void detail(Integer tDriverId, Model model) { + auditPage(tDriverId,model); + // TODO 查询司机 + TDriver tDriver = tDriverMapper.selectById(tDriverId); } - - @Override - public List<Map<String, Object>> getCanSelectCarList(Page<Map<String, Object>> page, Integer roleType, Integer nowUserId, String carIdStr, String carLicensePlate, String brandName, String modelName, String color, String serverStr) { - return this.baseMapper.getCanSelectCarList(page, roleType, nowUserId, carIdStr, carLicensePlate, brandName, modelName, color, serverStr); - } - - @Override - public void updateCompanyDriverState(Integer authState, Integer companyId) { - this.baseMapper.updateCompanyDriverState(authState, companyId); - } - - @Override - public void updateFranchiseeDriverState(Integer authState, Integer franchiseeId) { - this.baseMapper.updateFranchiseeDriverState(authState, franchiseeId); - } - - @Override - public List<Map<String, Object>> getDriverListNoPage(Integer roleType, Integer nowUserId) { - return this.baseMapper.getDriverListNoPage(roleType, nowUserId); - } - } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderRefusalServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderRefusalServiceImpl.java new file mode 100644 index 0000000..45cdda5 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderRefusalServiceImpl.java @@ -0,0 +1,20 @@ +package com.stylefeng.guns.modular.system.service.impl; + +import com.stylefeng.guns.modular.system.model.TOrderRefusal; +import com.stylefeng.guns.modular.system.dao.TOrderRefusalMapper; +import com.stylefeng.guns.modular.system.service.ITOrderRefusalService; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 拒单记录 服务实现类 + * </p> + * + * @author stylefeng + * @since 2023-02-21 + */ +@Service +public class TOrderRefusalServiceImpl extends ServiceImpl<TOrderRefusalMapper, TOrderRefusal> implements ITOrderRefusalService { + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRechargeRecordServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRechargeRecordServiceImpl.java new file mode 100644 index 0000000..f765eb2 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRechargeRecordServiceImpl.java @@ -0,0 +1,20 @@ +package com.stylefeng.guns.modular.system.service.impl; + +import com.stylefeng.guns.modular.system.model.TRechargeRecord; +import com.stylefeng.guns.modular.system.dao.TRechargeRecordMapper; +import com.stylefeng.guns.modular.system.service.ITRechargeRecordService; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 充值记录 服务实现类 + * </p> + * + * @author stylefeng + * @since 2023-02-20 + */ +@Service +public class TRechargeRecordServiceImpl extends ServiceImpl<TRechargeRecordMapper, TRechargeRecord> implements ITRechargeRecordService { + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRegionServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRegionServiceImpl.java index 4820c3c..27624bb 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRegionServiceImpl.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRegionServiceImpl.java @@ -1,20 +1,60 @@ package com.stylefeng.guns.modular.system.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.stylefeng.guns.modular.system.model.TRegion; import com.stylefeng.guns.modular.system.dao.TRegionMapper; import com.stylefeng.guns.modular.system.service.ITRegionService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.stream.Collectors; /** * <p> * 省市区三级联动 服务实现类 * </p> * - * @author 吕雪 - * @since 2020-06-02 + * @author stylefeng + * @since 2023-02-20 */ @Service public class TRegionServiceImpl extends ServiceImpl<TRegionMapper, TRegion> implements ITRegionService { + @Autowired + private TRegionMapper tRegionMapper; + + @Override + public List<TRegion> getAreaList() { + // 查询所有区域 + List<TRegion> tRegions = tRegionMapper.selectList(new EntityWrapper<TRegion>()); + if (CollectionUtils.isEmpty(tRegions)){ + return Lists.newArrayList(); + } + // 过滤顶级 + List<TRegion> parent = tRegions.stream().filter(region -> region.getParentId().equals(0)).collect(Collectors.toList()); + // 再进行递归组装 + getChildren(tRegions, parent); + return parent; + } + + /** + * 递归封装层级 + * @param tRegions + * @param parentList + */ + private void getChildren(List<TRegion> tRegions, List<TRegion> parentList) { + parentList.stream().forEach(parent -> { + List<TRegion> children = tRegions.stream(). + filter(salesTierVO -> salesTierVO.getParentId().equals(parent.getId())) + .collect(Collectors.toList()); + parent.setChildren(children); + if (!CollectionUtils.isEmpty(children)) { + getChildren(tRegions, children); + } + }); + } } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java index 8ba6338..d4da5aa 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java @@ -350,7 +350,7 @@ Map<String, String> file = new HashMap<>(); file.put("path", "/tmp"); file.put("fileName", fileName); - file.put("url", tDriver.getHeadImgUrl()); +// file.put("url", tDriver.getHeadImgUrl()); file.put("newFilePath", "/swapfiles"); String result_ = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_ftp + "/uploadAndMoveFile", file); System.out.println("上传图片文件:" + result_); @@ -359,7 +359,7 @@ Map<String, String> file1 = new HashMap<>(); file1.put("path", "/tmp"); file1.put("fileName", fileName1); - file1.put("url", tDriver.getDriveCardImgUrl()); +// file1.put("url", tDriver.getDriveCardImgUrl()); file1.put("newFilePath", "/swapfiles"); String result1_ = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_ftp + "/uploadAndMoveFile", file1); System.out.println("上传图片文件:" + result1_); @@ -369,42 +369,42 @@ jsonObject.put("DriverName", tDriver.getName());//机动车驾驶员姓名 jsonObject.put("DriverPhone", tDriver.getPhone());//驾驶员手机号 jsonObject.put("DriverGender", (tDriver.getSex() == 1 ? "男" : "女"));//驾驶员性别 - jsonObject.put("DriverBirthday", tDriver.getBirthday());//出生日期YYYYMMDD - jsonObject.put("DriverNationality", tDriver.getDriverNationality());//国籍 - jsonObject.put("DriverNation", tDriver.getDriverNation());//驾驶员民族 - jsonObject.put("DriverMaritalStatus", (tDriver.getDriverMaritalStatus() == 1 ? "未婚" : tDriver.getDriverMaritalStatus() == 2 ? "已婚" : "离异"));//驾驶员婚姻状况(未婚,已婚,离异) - jsonObject.put("DriverLanguageLevel", tDriver.getDriverLanguageLevel());//驾驶员外语能力 - jsonObject.put("DriverEducation", tDriver.getDriverEducation());//驾驶员学历 - jsonObject.put("DriverCensus", tDriver.getDriverCensus());//户口登记机关名称 - jsonObject.put("DriverAddress", tDriver.getDriverAddress());//户口住址或长住地址 - jsonObject.put("DriverContactAddress", tDriver.getDriverContactAddress());//驾驶员通信地址 - jsonObject.put("PhotoId", fileName);//驾驶员照片文件编号 - jsonObject.put("LicenseId", tDriver.getDriveCard());//机动车驾驶证号 - jsonObject.put("LicensePhotoId", fileName1);//机动车驾驶证扫描件文件编号 - jsonObject.put("DriverType", tDriver.getDriverType());//准驾车型 - jsonObject.put("GetDriverLicenseDate", tDriver.getGetDriverLicenseDate());//初次领取驾驶证日期YYYYMMDD - jsonObject.put("DriverLicenseOn", tDriver.getDriverLicenseOn());//驾驶证有效期限起YYYYMMDD - jsonObject.put("DriverLicenseOff", tDriver.getDriverLicenseOff());//驾驶证有效期限止YYYYMMDD - jsonObject.put("TaxiDriver", tDriver.getTaxiDriver() == 0 ? 2 : 1);//是否巡游出租汽车驾驶员(1:是,2:否) - jsonObject.put("CertificateNo", tDriver.getTaxiAptitudeCard());//网络预约出租汽车驾驶员资格证号 - jsonObject.put("NetworkCarIssueOrganization", tDriver.getNetworkCarlssueOrganization());//网络预约出租汽车驾驶员证发证机构 - jsonObject.put("NetworkCarIssueDate", tDriver.getNetworkCarlssueDate());//资格证发证日期YYYYMMDD - jsonObject.put("GetNetworkCarProofDate", tDriver.getGetNetworkCarProofDate());//初次领取资格证日期YYYYMMDD - jsonObject.put("NetworkCarProofOn", tDriver.getNetworkCarProofOn());//资格证有效起始日期YYYYMMDD - jsonObject.put("NetworkCarProofOff", tDriver.getNetworkCarProofOff());//资格证有截止日期YYYYMMDD - jsonObject.put("RegisterDate", tDriver.getRegisterDate());//报备日期(驾驶员信息向服务所在地出租车行政主管部门报备日期) - jsonObject.put("FullTimeDriver", tDriver.getFullTimeDriver());//是否专职驾驶员(1:是,0:否) - jsonObject.put("InDriverBlacklist", tDriver.getInDriverBlacklist());//是否在驾驶员黑名单内(1:是,0:否) - jsonObject.put("CommercialType", tDriver.getCommercialType());//服务类型(1:网络预约出租汽车,2:巡游出租汽车,3:私人小客车合乘) - jsonObject.put("ContractCompany", tDriver.getContractCompany());//驾驶员合同签署公司 - jsonObject.put("ContractOn", tDriver.getContractOn());//合同有效期起YYYYMMDD - jsonObject.put("ContractOff", tDriver.getContractOff());//合同有效期止YYYYMMDD - jsonObject.put("EmergencyContact", tDriver.getEmergencyContact());//紧急情况联系人 - jsonObject.put("EmergencyContactPhone", tDriver.getEmergencyContactPhone());//紧急情况联系人电话 - jsonObject.put("EmergencyContactAddress", tDriver.getEmergencyContactAddress());//紧急情况联系人通信地址 - - jsonObject.put("State", tDriver.getAuthState() == 2 ? 0 : 1);//状态(0:有效,1:失效) - jsonObject.put("Flag", tDriver.getFlag());//操作标识(1:新增,2:更新,3:删除) +// jsonObject.put("DriverBirthday", tDriver.getBirthday());//出生日期YYYYMMDD +// jsonObject.put("DriverNationality", tDriver.getDriverNationality());//国籍 +// jsonObject.put("DriverNation", tDriver.getDriverNation());//驾驶员民族 +// jsonObject.put("DriverMaritalStatus", (tDriver.getDriverMaritalStatus() == 1 ? "未婚" : tDriver.getDriverMaritalStatus() == 2 ? "已婚" : "离异"));//驾驶员婚姻状况(未婚,已婚,离异) +// jsonObject.put("DriverLanguageLevel", tDriver.getDriverLanguageLevel());//驾驶员外语能力 +// jsonObject.put("DriverEducation", tDriver.getDriverEducation());//驾驶员学历 +// jsonObject.put("DriverCensus", tDriver.getDriverCensus());//户口登记机关名称 +// jsonObject.put("DriverAddress", tDriver.getDriverAddress());//户口住址或长住地址 +// jsonObject.put("DriverContactAddress", tDriver.getDriverContactAddress());//驾驶员通信地址 +// jsonObject.put("PhotoId", fileName);//驾驶员照片文件编号 +// jsonObject.put("LicenseId", tDriver.getDriveCard());//机动车驾驶证号 +// jsonObject.put("LicensePhotoId", fileName1);//机动车驾驶证扫描件文件编号 +// jsonObject.put("DriverType", tDriver.getDriverType());//准驾车型 +// jsonObject.put("GetDriverLicenseDate", tDriver.getGetDriverLicenseDate());//初次领取驾驶证日期YYYYMMDD +// jsonObject.put("DriverLicenseOn", tDriver.getDriverLicenseOn());//驾驶证有效期限起YYYYMMDD +// jsonObject.put("DriverLicenseOff", tDriver.getDriverLicenseOff());//驾驶证有效期限止YYYYMMDD +// jsonObject.put("TaxiDriver", tDriver.getTaxiDriver() == 0 ? 2 : 1);//是否巡游出租汽车驾驶员(1:是,2:否) +// jsonObject.put("CertificateNo", tDriver.getTaxiAptitudeCard());//网络预约出租汽车驾驶员资格证号 +// jsonObject.put("NetworkCarIssueOrganization", tDriver.getNetworkCarlssueOrganization());//网络预约出租汽车驾驶员证发证机构 +// jsonObject.put("NetworkCarIssueDate", tDriver.getNetworkCarlssueDate());//资格证发证日期YYYYMMDD +// jsonObject.put("GetNetworkCarProofDate", tDriver.getGetNetworkCarProofDate());//初次领取资格证日期YYYYMMDD +// jsonObject.put("NetworkCarProofOn", tDriver.getNetworkCarProofOn());//资格证有效起始日期YYYYMMDD +// jsonObject.put("NetworkCarProofOff", tDriver.getNetworkCarProofOff());//资格证有截止日期YYYYMMDD +// jsonObject.put("RegisterDate", tDriver.getRegisterDate());//报备日期(驾驶员信息向服务所在地出租车行政主管部门报备日期) +// jsonObject.put("FullTimeDriver", tDriver.getFullTimeDriver());//是否专职驾驶员(1:是,0:否) +// jsonObject.put("InDriverBlacklist", tDriver.getInDriverBlacklist());//是否在驾驶员黑名单内(1:是,0:否) +// jsonObject.put("CommercialType", tDriver.getCommercialType());//服务类型(1:网络预约出租汽车,2:巡游出租汽车,3:私人小客车合乘) +// jsonObject.put("ContractCompany", tDriver.getContractCompany());//驾驶员合同签署公司 +// jsonObject.put("ContractOn", tDriver.getContractOn());//合同有效期起YYYYMMDD +// jsonObject.put("ContractOff", tDriver.getContractOff());//合同有效期止YYYYMMDD +// jsonObject.put("EmergencyContact", tDriver.getEmergencyContact());//紧急情况联系人 +// jsonObject.put("EmergencyContactPhone", tDriver.getEmergencyContactPhone());//紧急情况联系人电话 +// jsonObject.put("EmergencyContactAddress", tDriver.getEmergencyContactAddress());//紧急情况联系人通信地址 +// +// jsonObject.put("State", tDriver.getAuthState() == 2 ? 0 : 1);//状态(0:有效,1:失效) +// jsonObject.put("Flag", tDriver.getFlag());//操作标识(1:新增,2:更新,3:删除) jsonObject.put("UpdateTime", new Date()); Map<String, String> map = new HashMap<>(); map.put("baseInfoDriver", jsonObject.toJSONString()); @@ -423,7 +423,7 @@ TDriver driver = driverService.selectById(driverTrain.getDriverId()); JSONObject jsonObject = new JSONObject(); jsonObject.put("Address", 450204);//注册地行政区划代码 - jsonObject.put("LicenseId", driver.getDriveCard());//机动车驾驶证号 +// jsonObject.put("LicenseId", driver.getDriveCard());//机动车驾驶证号 jsonObject.put("CourseName", driverTrain.getCourseName());//驾驶员培训课程名称 jsonObject.put("CourseDate", driverTrain.getCourseDate());//培训课程日期YYYYMMDD jsonObject.put("StartTime", driverTrain.getStartTime());//培训开始时间 @@ -447,7 +447,7 @@ TVersionManagement type = versionManagementService.selectOne(new EntityWrapper<TVersionManagement>().eq("type", 2).orderBy("insertTime desc limit 0, 1")); JSONObject jsonObject = new JSONObject(); jsonObject.put("Address", 450204);//注册地行政区划代码 - jsonObject.put("LicenseId", tDriver.getDriveCard());//机动车驾驶证号 +// jsonObject.put("LicenseId", tDriver.getDriveCard());//机动车驾驶证号 jsonObject.put("DriverPhone", tDriver.getPhone());//驾驶员手机号 jsonObject.put("NetType", phoneExp(tDriver.getPhone()));//手机运营商(1:中国联通,2:中国移动,3:中国电信,4:其他) jsonObject.put("AppVersion", type.getVersion());//使用APP版本号 @@ -489,7 +489,7 @@ ); JSONObject jsonObject = new JSONObject(); jsonObject.put("Address", 450204);//注册地行政区划代码 - jsonObject.put("LicenseId", tDriver.getDriveCard());//机动车驾驶证号 +// jsonObject.put("LicenseId", tDriver.getDriveCard());//机动车驾驶证号 jsonObject.put("Cycle", s.getTime());//统计周期(统计周期按月,内容填写统计月份YYYYMM) jsonObject.put("OrderCount", i);//完成订单次数 jsonObject.put("TrafficViolationCount", 0);//交通违章次数 @@ -524,7 +524,7 @@ jsonObject.put("OrderTime", tOrderPrivateCar.getOrderNum());//订单时间YYYYMMDDhhmmss jsonObject.put("CancelTime", query.getInsertTime());//订单撤销时间YYYYMMDDhhmmss jsonObject.put("Operator", "3");//撤销发起方(1:乘客,2:驾驶员,3:平台公司) - jsonObject.put("CancelTypeCode", null != driver ? driver.getDriveCard() : "");//机动车驾驶证编号 +// jsonObject.put("CancelTypeCode", null != driver ? driver.getDriveCard() : "");//机动车驾驶证编号 jsonObject.put("CancelReason", query.getReason());//撤销或违约原因 Map<String, String> map = new HashMap<>(); map.put("orderCancel", jsonObject.toJSONString()); @@ -559,7 +559,7 @@ DriverPunish driverPunish = driverPunishMapper.selectById(id); TDriver driver = driverService.selectById(driverPunish.getDriverId()); JSONObject jsonObject = new JSONObject(); - jsonObject.put("LicenseId", driver.getDriveCard());//机动车驾驶证编号 +// jsonObject.put("LicenseId", driver.getDriveCard());//机动车驾驶证编号 jsonObject.put("PunishTime", driverPunish.getPunishTime());//处罚时间YYYYMMDDhhmms jsonObject.put("PunishReason", driverPunish.getPunishReason());//处罚原因 jsonObject.put("PunishReault", driverPunish.getPunishReault());//处罚结果 diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgent.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgent.html new file mode 100644 index 0000000..ba18273 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgent.html @@ -0,0 +1,68 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>管理</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <div class="row"> + <div class="col-sm-2"> + <#NameCon id="principal" name="姓名" /> + </div> + <div class="col-sm-2"> + <#NameCon id="principalPhone" name="联系电话" /> + </div> + <div class="col-sm-3"> + <#TimeCon id="createTime" name="时间" /> + </div> + <!--<div class="col-sm-1"> + <select class="input-group" id="status" style="width: 80px;height: 33px" name="status"> + <option value="">状态</option> + <option value="1">正常</option> + <option value="2">冻结</option> + <option value="3">已删除</option> + </select> + </div>--> + <div class="col-sm-3"> + <#button name="搜索" icon="fa-search" clickFun="TAgent.search()"/> + <#button name="重置" icon="fa-trash" clickFun="TAgent.resetSearch()" space="true"/> + </div> + <div class="col-sm-3"> + <button type="button" class="btn btn-primary " onclick="TAgent.export()" id="export"> + <i class="fa "></i> 导出 + </button> + @if(shiro.hasPermission("/tAgent/add")){ + <#button name="添加" icon="fa-plus" clickFun="TAgent.openAddTAgent()"/> + @} + </div> + </div> + <!--<div class="hidden-xs" id="TAgentTableToolbar" role="group"> + @if(shiro.hasPermission("/tAgent/add")){ + <#button name="添加" icon="fa-plus" clickFun="TAgent.openAddTAgent()"/> + @} + @if(shiro.hasPermission("/tAgent/update")){ + <#button name="修改" icon="fa-edit" clickFun="TAgent.openTAgentDetail()" space="true"/> + @} + @if(shiro.hasPermission("/tAgent/delete")){ + <#button name="删除" icon="fa-remove" clickFun="TAgent.delete()" space="true"/> + @} + </div>--> + <#table id="TAgentTable"/> + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tAgent/tAgent.js"></script> +<script type="text/javascript"> + laydate.render({ + elem: '#createTime', + type: 'date', + range: true + }); +</script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgentArea.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgentArea.html new file mode 100644 index 0000000..b3989b7 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgentArea.html @@ -0,0 +1,35 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12" style="height: 100px;"> + <div class="col-sm-6 control-label"> + <label class="col-sm-1" style="width: 20px;">省:</label> + <select class="input-group col-sm-2 " onclick="TAgent.areaProvince()" id="province" style="width: 200px;height: 33px" name="province"> + <option value="">请选择省</option> + @for(i in province){ + <option id="${i.id}" value="${i.name}">${i.name}</option> + @} + </select> + </div> + <div class="col-sm-6 control-label"> + <label class="col-sm-1" style="width: 20px;">市:</label> + <select class="input-group col-sm-2" id="city" style="width: 200px;height: 33px" name="city"> + </select> + </div> + </div> + <div class="hidden-xs" id="TAppUserTableToolbar" role="group" style="margin-left:300px"> + <#button name="取消" icon="fa-plus" clickFun="TAgentInfoDlg.close()" /> + <#button name="确定" icon="fa-plus" clickFun="TAgent.submitArea()"/> + </div> + + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tAgent/tAgent.js"></script> +<script src="${ctxPath}/static/modular/system/tAgent/tAgent_info.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgentDetail.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgentDetail.html new file mode 100644 index 0000000..54c7024 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgentDetail.html @@ -0,0 +1,111 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>管理</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <hr/> + <div class="initialLevel col-sm-12 control-label form-group" > + <div style="background-color: gray;height: 35px;line-height: 35px"> + <label style="color: #0C0C0C">代理商资料</label> + </div> + </div> + <hr/> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >负责人姓名:</label> + <label>${principal}</label> + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label">添加时间:</label> + <label>${createTime}</label> + </div> + </div> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >邮箱:</label> + <label>${email}</label> + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label">代理区域:</label> + <label>${area}</label> + </div> + </div> + + <hr/> + <div class="initialLevel col-sm-12 control-label form-group" > + <div style="background-color: gray;height: 35px;line-height: 35px"> + <label style="color: #0C0C0C">基本信息</label> + </div> + </div> + <hr/> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >统计时间:</label> + <span>${startTimeToEndTime}</span> + </div> + </div> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >累计订单量:</label> + <label>${orderSum}</label>单 + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label">累计优惠券金额:</label> + <label>${couponPriceSum}</label>元 + </div> + </div> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >有效订单:</label> + <label>${validOrder}</label>单 + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label">累计发放司机金额:</label> + <label>${driverRecharge}</label>元 + </div> + </div> + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >已发放优惠券:</label> + <label>${issuedCoupon}</label>张 + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label">司机数量:</label> + <label>${driverCount}</label>人 + </div> + </div> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >已使用优惠券:</label> + <label>${usedCoupon}</label>张 + </div> + </div> + + + + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tAgent/tAgent.js"></script> +<script type="text/javascript"> + laydate.render({ + elem: '#createTime', + type: 'date', + range: true + }); +</script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgent_add.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgent_add.html new file mode 100644 index 0000000..a86a8cf --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgent_add.html @@ -0,0 +1,79 @@ +@layout("/common/_container.html"){ +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal"> + + <div class="row"> + <input hidden id="areaId" value="areaId"> + <div class="col-sm-12"> + <div class="form-group"> + <label class="col-sm-3 control-label">负责人姓名:</label> + <div class="col-sm-6"> + <input class="form-control" id="principal" name="principal" type="text"> + </div> + </div> + <div class="hr-line-dashed"></div> + </div> + <div class="col-sm-12"> + <div class="form-group"> + <label class="col-sm-3 control-label">联系电话:</label> + <div class="col-sm-6"> + <input class="form-control" id="principalPhone" name="principalPhone" type="text"> + </div> + </div> + <div class="hr-line-dashed"></div> + </div> + <div class="col-sm-12"> + <div class="form-group"> + <label class="col-sm-3 control-label">邮箱:</label> + <div class="col-sm-6"> + <input class="form-control" id="email" name="email" type="text"> + </div> + </div> + <div class="hr-line-dashed"></div> + </div> + + <div class="col-sm-12"> + <div class="form-group"> + <label class="col-sm-3 control-label">代理区域:</label> + <div class="col-sm-6"> + <input class="form-control" id="area" onclick="TAgent.area()" name="area" type="text" placeholder="请选择"> + </div> + </div> + <div class="hr-line-dashed"></div> + </div> + + <div class="col-sm-12"> + <div class="form-group"> + <label class="col-sm-3 control-label">开户银行:</label> + <div class="col-sm-6"> + <input class="form-control" id="bankDeposit" name="bankDeposit" type="text"> + </div> + </div> + <div class="hr-line-dashed"></div> + </div> + + <div class="col-sm-12"> + <div class="form-group"> + <label class="col-sm-3 control-label">银行账户:</label> + <div class="col-sm-6"> + <input class="form-control" id="bankAccount" name="bankAccount" type="text"> + </div> + </div> + <div class="hr-line-dashed"></div> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10" style="text-align: center"> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TAgentInfoDlg.addSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TAgentInfoDlg.close()"/> + </div> + </div> + </div> + + </div> +</div> +<script src="${ctxPath}/static/modular/system/tAgent/tAgent_info.js"></script> +<script src="${ctxPath}/static/modular/system/tAgent/tAgent.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgent_edit.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgent_edit.html new file mode 100644 index 0000000..dee3299 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgent_edit.html @@ -0,0 +1,35 @@ +@layout("/common/_container.html"){ +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal"> + + <div class="row"> + <div class="col-sm-6 b-r"> + <#input id="id" name="主键" value="${item.id}" underline="true"/> + <#input id="principal" name="负责人姓名" value="${item.principal}" underline="true"/> + <#input id="principalPhone" name="负责人电话" value="${item.principalPhone}" underline="true"/> + <#input id="email" name="邮箱" value="${item.email}" underline="true"/> + <#input id="provinceCode" name="代理区域省编号" value="${item.provinceCode}" /> + </div> + + <div class="col-sm-6"> + <#input id="provinceName" name="代理区域省名称" value="${item.provinceName}" underline="true"/> + <#input id="cityCode" name="代理区域市编号" value="${item.cityCode}" underline="true"/> + <#input id="cityName" name="代理区域市名称" value="${item.cityName}" underline="true"/> + <#input id="status" name="状态(1=正常,2=冻结,3=删除)" value="${item.status}" underline="true"/> + <#input id="createTime" name="添加时间" value="${item.createTime}" /> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10"> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TAgentInfoDlg.editSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TAgentInfoDlg.close()"/> + </div> + </div> + </div> + + </div> +</div> +<script src="${ctxPath}/static/modular/system/tAgent/tAgent_info.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBranchOffice/tBranchOffice.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBranchOffice/tBranchOffice.html new file mode 100644 index 0000000..532cb64 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBranchOffice/tBranchOffice.html @@ -0,0 +1,38 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>管理</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <div class="row"> + <div class="col-sm-3"> + <#NameCon id="condition" name="名称" /> + </div> + <div class="col-sm-3"> + <#button name="搜索" icon="fa-search" clickFun="TBranchOffice.search()"/> + </div> + </div> + <div class="hidden-xs" id="TBranchOfficeTableToolbar" role="group"> + @if(shiro.hasPermission("/tBranchOffice/add")){ + <#button name="添加" icon="fa-plus" clickFun="TBranchOffice.openAddTBranchOffice()"/> + @} + @if(shiro.hasPermission("/tBranchOffice/update")){ + <#button name="修改" icon="fa-edit" clickFun="TBranchOffice.openTBranchOfficeDetail()" space="true"/> + @} + @if(shiro.hasPermission("/tBranchOffice/delete")){ + <#button name="删除" icon="fa-remove" clickFun="TBranchOffice.delete()" space="true"/> + @} + </div> + <#table id="TBranchOfficeTable"/> + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tBranchOffice/tBranchOffice.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBranchOffice/tBranchOffice_add.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBranchOffice/tBranchOffice_add.html new file mode 100644 index 0000000..c0a72b0 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBranchOffice/tBranchOffice_add.html @@ -0,0 +1,38 @@ +@layout("/common/_container.html"){ +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal"> + + <div class="row"> + <div class="col-sm-6 b-r"> + <#input id="id" name="主键" underline="true"/> + <#input id="agentId" name="代理商id" underline="true"/> + <#input id="principal" name="负责人姓名" underline="true"/> + <#input id="principalPhone" name="负责人电话" underline="true"/> + <#input id="email" name="邮箱" underline="true"/> + <#input id="provinceCode" name="代理区域省编号" underline="true"/> + <#input id="provinceName" name="代理区域省名称"/> + </div> + + <div class="col-sm-6"> + <#input id="cityCode" name="代理区域市编号" underline="true"/> + <#input id="cityName" name="代理区域市名称" underline="true"/> + <#input id="districtCode" name="代理区域区编号" underline="true"/> + <#input id="districtName" name="代理区域区名称" underline="true"/> + <#input id="status" name="状态(1=正常,2=冻结,3=删除)" underline="true"/> + <#input id="createTime" name="添加时间" underline="true"/> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10"> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TBranchOfficeInfoDlg.addSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TBranchOfficeInfoDlg.close()"/> + </div> + </div> + </div> + + </div> +</div> +<script src="${ctxPath}/static/modular/system/tBranchOffice/tBranchOffice_info.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBranchOffice/tBranchOffice_edit.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBranchOffice/tBranchOffice_edit.html new file mode 100644 index 0000000..37e8aa5 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBranchOffice/tBranchOffice_edit.html @@ -0,0 +1,38 @@ +@layout("/common/_container.html"){ +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal"> + + <div class="row"> + <div class="col-sm-6 b-r"> + <#input id="id" name="主键" value="${item.id}" underline="true"/> + <#input id="agentId" name="代理商id" value="${item.agentId}" underline="true"/> + <#input id="principal" name="负责人姓名" value="${item.principal}" underline="true"/> + <#input id="principalPhone" name="负责人电话" value="${item.principalPhone}" underline="true"/> + <#input id="email" name="邮箱" value="${item.email}" underline="true"/> + <#input id="provinceCode" name="代理区域省编号" value="${item.provinceCode}" underline="true"/> + <#input id="provinceName" name="代理区域省名称" value="${item.provinceName}" /> + </div> + + <div class="col-sm-6"> + <#input id="cityCode" name="代理区域市编号" value="${item.cityCode}" underline="true"/> + <#input id="cityName" name="代理区域市名称" value="${item.cityName}" underline="true"/> + <#input id="districtCode" name="代理区域区编号" value="${item.districtCode}" underline="true"/> + <#input id="districtName" name="代理区域区名称" value="${item.districtName}" underline="true"/> + <#input id="status" name="状态(1=正常,2=冻结,3=删除)" value="${item.status}" underline="true"/> + <#input id="createTime" name="添加时间" value="${item.createTime}" /> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10"> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TBranchOfficeInfoDlg.editSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TBranchOfficeInfoDlg.close()"/> + </div> + </div> + </div> + + </div> +</div> +<script src="${ctxPath}/static/modular/system/tBranchOffice/tBranchOffice_info.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver.html index cedbd84..188d0cd 100644 --- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver.html +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver.html @@ -3,56 +3,58 @@ <div class="col-sm-12"> <div class="ibox float-e-margins"> <div class="ibox-title"> - <h5>司机审核列表管理</h5> + <h5>管理</h5> </div> <div class="ibox-content"> <div class="row row-lg"> <div class="col-sm-12"> <div class="row"> <div class="col-sm-3"> - <#TimeCon id="insertTime" name="注册时间" isTime="false"/> - </div> - <div class="col-sm-3"> - <#NameCon id="companyName" name="所属分公司/加盟商" /> + <#TimeCon id="createTime" name="时间" /> </div> <div class="col-sm-3"> <#NameCon id="phone" name="手机号" /> </div> - <div class="col-sm-3"> - <#NameCon id="account" name="账号" /> - </div> - <div class="col-sm-3"> - <#SelectCon id="addType" name="司机来源" > - <option value="">全部</option> - <option value="1">司机注册</option> - <option value="2">平台添加</option> - <option value="3">分公司添加</option> - <option value="4">加盟商添加</option> - </#SelectCon> - </div> - <div class="col-sm-3"> - <#SelectCon id="authState" name="状态" > - <option value="">全部</option> - <option value="1">待审核</option> - <option value="4">已拒绝</option> - </#SelectCon> + <div class="col-sm-1"> + <select class="input-group" id="status" style="width: 80px;height: 33px" name="status"> + <option value="">状态</option> + <option value="1">正常</option> + <option value="2">冻结</option> + </select> </div> <div class="col-sm-3"> <#button name="搜索" icon="fa-search" clickFun="TDriver.search()"/> <#button name="重置" icon="fa-trash" clickFun="TDriver.resetSearch()" space="true"/> </div> + <div class="col-sm-3"> + <button type="button" class="btn btn-primary " onclick="TDriver.auditPage()" id="audit"> + <i class="fa "></i> 立即审核 + </button> + <button type="button" class="btn btn-primary " onclick="TDriver.export()" id="export"> + <i class="fa "></i> 导出 + </button> + <button type="button" class="btn btn-primary " onclick="TDriverException.tDriverException()" id="driverException"> + <i class="fa "></i> 异常 + </button> + <button type="button" class="btn btn-primary " onclick="TDriver.rechargeBalancePage()" id="recharge"> + <i class="fa "></i> 充值 + </button> + @if(shiro.hasPermission("/tAgent/add")){ + <#button name="添加" icon="fa-plus" clickFun="TDriver.openAddTDriver()"/> + @} + </div> </div> - <div class="hidden-xs" id="TDriverTableToolbar" role="group"> - @if(shiro.hasPermission("/tDriver/immediately")){ - <#button name="立即审核" icon="fa-plus" clickFun="TDriver.immediately()"/> + <!--<div class="hidden-xs" id="TDriverTableToolbar" role="group"> + @if(shiro.hasPermission("/tDriver/add")){ + <#button name="添加" icon="fa-plus" clickFun="TDriver.openAddTDriver()"/> @} - @if(shiro.hasPermission("/tDriver/look")){ - <#button name="查看详情" icon="fa-edit" clickFun="TDriver.look()" space="true"/> + @if(shiro.hasPermission("/tDriver/update")){ + <#button name="修改" icon="fa-edit" clickFun="TDriver.openTDriverDetail()" space="true"/> @} @if(shiro.hasPermission("/tDriver/delete")){ <#button name="删除" icon="fa-remove" clickFun="TDriver.delete()" space="true"/> @} - </div> + </div>--> <#table id="TDriverTable"/> </div> </div> @@ -61,10 +63,12 @@ </div> </div> <script src="${ctxPath}/static/modular/system/tDriver/tDriver.js"></script> -<script> +<script src="${ctxPath}/static/modular/system/tDriver/tDriverException.js"></script> +<script type="text/javascript"> laydate.render({ - elem: '#insertTime' - ,range: true + elem: '#createTime', + type: 'date', + range: true }); </script> @} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverAudit.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverAudit.html new file mode 100644 index 0000000..161689d --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverAudit.html @@ -0,0 +1,151 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>管理</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <input hidden id="id" value="${id}"> + + <hr/> + <div class="initialLevel col-sm-12 control-label form-group" > + <div style="background-color: gray;height: 35px;line-height: 35px"> + <label style="color: #0C0C0C">司机资料</label> + </div> + </div> + <hr/> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >姓名:</label> + <label>${name}</label> + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label">头像:</label> + <img src="https://lmg.jj20.com/up/allimg/1114/040221103339/210402103339-7-1200.jpg" /> + </div> + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label">紧急联系人:</label> + <label>${emergencyContact}</label> + </div> + </div> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >手机号:</label> + <label>${phone}</label> + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label">紧急联系人电话:</label> + <label>${emergencyPhone}</label> + </div> + </div> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >性别:</label> + @if(sex==1){ + <label>男</label> + @} + @if(sex==2){ + <label>女</label> + @} + @if(sex==3){ + <label>未知</label> + @} + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label">邀请人:</label> + <label>${phone}</label> + </div> + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label">电话:</label> + <label>${phone}</label> + </div> + </div> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >驾驶证号码:</label> + <label>${driverLicenseNumber}</label> + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label">驾龄:</label> + <label>${driverLicenseNumber}</label> + </div> + </div> + + <hr/> + <div class="initialLevel col-sm-12 control-label form-group" > + <div style="background-color: gray;height: 35px;line-height: 35px"> + <label style="color: #0C0C0C">认证资料</label> + </div> + </div> + <hr/> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >驾驶证照片:</label> + <img src="https://lmg.jj20.com/up/allimg/1114/040221103339/210402103339-7-1200.jpg" /> + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label">身份证照片:</label> + <img src="https://lmg.jj20.com/up/allimg/1114/040221103339/210402103339-7-1200.jpg" /> + </div> + </div> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >身份证号码:</label> + <label>${idcard}</label> + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label">加盟城市:</label> + <label>${cityName}</label> + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label">服务区域:</label> + <label>${areaName}</label> + </div> + </div> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >审核结果:</label> + <select class="input-group col-sm-6" id="approvalStatus" style="width: 180px;height: 30px" name="approvalStatus"> + <option value="">请选择审核结果</option> + <option value="2">审核通过</option> + <option value="3">审核不通过</option> + </select> + </div> + </div> + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-2 control-label form-group" > + <textarea id="approvalNotes" placeholder="请输入原因" class="control-label" style="width: 280px;height: 100px"></textarea> + </div> + </div> + + <div class="hidden-xs" id="TDriverTableToolbar" role="group" style="text-align: center"> + <#button name="取消" icon="fa-plus" clickFun="TDriverInfoDlg.close()" /> + <#button name="确定" icon="fa-plus" clickFun="TDriver.auditSubmit()"/> + </div> + + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tDriver/tDriver.js"></script> +<script src="${ctxPath}/static/modular/system/tDriver/tDriver_info.js"></script> +<script type="text/javascript"> + laydate.render({ + elem: '#createTime', + type: 'date', + range: true + }); +</script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverDetail.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverDetail.html new file mode 100644 index 0000000..a4a6e19 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverDetail.html @@ -0,0 +1,168 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>管理</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <input hidden id="driverId" value="${id}"> + + <hr/> + <div class="initialLevel col-sm-12 control-label form-group" > + <div style="background-color: gray;height: 35px;line-height: 35px"> + <label style="color: #0C0C0C">司机详情</label> + </div> + </div> + <hr/> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >注册时间:</label> + <label>${createTime}</label> + </div> + </div> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >姓名:</label> + <label>${name}</label> + </div> + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >手机号:</label> + <label>${phone}</label> + </div> + </div> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label">紧急联系人姓名:</label> + <label>${emergencyContact}</label> + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label">紧急联系人电话:</label> + <label>${emergencyPhone}</label> + </div> + </div> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label">服务区域:</label> + <label>${cityName}</label> + <label>${areaName}</label> + </div> + </div> + + <hr/> + <div class="initialLevel col-sm-12 control-label form-group" > + <div style="background-color: gray;height: 35px;line-height: 35px"> + <label style="color: #0C0C0C">认证资料</label> + </div> + </div> + <hr/> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >身份证正面照:</label> + <img src="https://lmg.jj20.com/up/allimg/1114/040221103339/210402103339-7-1200.jpg" /> + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label">身份证背面照:</label> + <img src="https://lmg.jj20.com/up/allimg/1114/040221103339/210402103339-7-1200.jpg" /> + </div> + </div> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >姓名:</label> + <label>${name}</label> + </div> + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >身份证号码:</label> + <label>${idcard}</label> + </div> + </div> + + <hr/> + <div class="initialLevel col-sm-12 control-label form-group" > + <div style="background-color: gray;height: 35px;line-height: 35px"> + <label style="color: #0C0C0C">历史记录</label> + </div> + </div> + <hr/> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label" >累计订单:</label> + <label>${name}</label> + </div> + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >邀约用户人数:</label> + <label>${idcard}</label> + </div> + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >累计获得佣金:</label> + <label>${idcard}</label> + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label" >当前积分:</label> + <label>${idcard}</label> + </div> + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label" >代驾次数:</label> + <label>${idcard}</label> + </div> + </div> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div class="initialLevel col-sm-2 control-label form-group" > + <label class="control-label" >累计获得收入:</label> + <label>${name}</label> + </div> + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >钱包余额:</label> + <label>${idcard}</label> + </div> + <div class="initialLevel col-sm-3 control-label form-group" > + <label class="control-label" >评论分数:</label> + <label>${idcard}</label> + </div> + </div> + + <div class="initialLevel col-sm-12 control-label form-group" > + <div style="background-color: gray;height: 35px;line-height: 35px"> + <label style="color: #0C0C0C">拒单记录</label> + </div> + </div> + <hr/> + + <!--拒单记录表--> + <#table id="TOrderRefusalTable"/> + <div class="hidden-xs" id="TDriverTableToolbar" role="group" style="text-align: center"> + <#button name="取消" icon="fa-plus" clickFun="TDriverInfoDlg.close()" /> + </div> + + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tDriver/tDriver.js"></script> +<script src="${ctxPath}/static/modular/system/tDriver/tDriver_info.js"></script> +<script src="${ctxPath}/static/modular/system/tOrderRefusal/tOrderRefusal.js"></script> +<script type="text/javascript"> + /*$(function () { + var queryData = {}; + queryData['condition'] = $("#driverId").val();; + TOrderRefusal.table.refresh({query: queryData}); + });*/ + laydate.render({ + elem: '#createTime', + type: 'date', + range: true + }); +</script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverException.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverException.html new file mode 100644 index 0000000..ee34855 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverException.html @@ -0,0 +1,61 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>管理</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <div class="row"> + <div class="col-sm-3"> + <#TimeCon id="createTime" name="时间" /> + </div> + <div class="col-sm-3"> + <#NameCon id="phone" name="手机号" /> + </div> + <div class="col-sm-1"> + <select class="input-group" id="status" style="width: 80px;height: 33px" name="status"> + <option value="">状态</option> + <option value="1">正常</option> + <option value="2">冻结</option> + </select> + </div> + <div class="col-sm-3"> + <#button name="搜索" icon="fa-search" clickFun="TDriverException.search()"/> + <#button name="重置" icon="fa-trash" clickFun="TDriverException.resetSearch()" space="true"/> + </div> + <div class="col-sm-3"> + <button type="button" class="btn btn-primary " onclick="TDriverException.export()" id="export"> + <i class="fa "></i> 导出 + </button> + </div> + </div> + <!--<div class="hidden-xs" id="TDriverTableToolbar" role="group"> + @if(shiro.hasPermission("/tDriver/add")){ + <#button name="添加" icon="fa-plus" clickFun="TDriver.openAddTDriver()"/> + @} + @if(shiro.hasPermission("/tDriver/update")){ + <#button name="修改" icon="fa-edit" clickFun="TDriver.openTDriverDetail()" space="true"/> + @} + @if(shiro.hasPermission("/tDriver/delete")){ + <#button name="删除" icon="fa-remove" clickFun="TDriver.delete()" space="true"/> + @} + </div>--> + <#table id="TDriverExceptionTable"/> + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tDriver/tDriverException.js"></script> +<script type="text/javascript"> + laydate.render({ + elem: '#createTime', + type: 'date', + range: true + }); +</script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverExceptionStartAndStop.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverExceptionStartAndStop.html new file mode 100644 index 0000000..d78c074 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverExceptionStartAndStop.html @@ -0,0 +1,30 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <input hidden id="id" value="${id}"> + <input hidden id="status" value="${status}"> + <div class="col-lg-3"> + @if(status==1){ + 冻结理由:<textarea id="stopRemark" placeholder="请输入冻结理由" style="width: 681px; height: 249px;"></textarea> + @} + @if(status==2){ + 解冻理由:<textarea id="startRemark" placeholder="请输入解冻理由" style="width: 681px; height: 249px;"></textarea> + @} + </div> + <div class="hidden-xs" id="TDriverTableToolbar" role="group" style="margin-left:300px"> + <#button name="取消" icon="fa-plus" clickFun="TDriverInfoDlg.closeException()" /> + <#button name="确定" icon="fa-plus" clickFun="TDriverException.updateStatus()"/> + </div> + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tDriver/tDriverException.js"></script> +<script src="${ctxPath}/static/modular/system/tDriver/tDriver_info.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverRechargeBalancePage.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverRechargeBalancePage.html new file mode 100644 index 0000000..a99393e --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverRechargeBalancePage.html @@ -0,0 +1,24 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <input hidden id="id" value="${id}"> + <div class="col-sm-12" style="text-align: center;height: 60px"> + 充值余额:<input id="backgroundBalance" placeholder="请输入充值金额" style="width: 300px; height: 30px;" required/> + </div> + <div class="hidden-xs" id="TAppUserTableToolbar" role="group" style="text-align: center"> + <#button name="取消" icon="fa-plus" clickFun="TDriverInfoDlg.close()" /> + <#button name="确定" icon="fa-plus" clickFun="TDriver.rechargeBalance()"/> + </div> + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tDriver/tDriver.js"></script> +<script src="${ctxPath}/static/modular/system/tDriver/tDriver_info.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverStartAndStop.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverStartAndStop.html new file mode 100644 index 0000000..818fdfb --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverStartAndStop.html @@ -0,0 +1,30 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <input hidden id="id" value="${id}"> + <input hidden id="status" value="${status}"> + <div class="col-lg-3"> + @if(status==1){ + 冻结理由:<textarea id="stopRemark" placeholder="请输入冻结理由" style="width: 681px; height: 249px;"></textarea> + @} + @if(status==2){ + 解冻理由:<textarea id="startRemark" placeholder="请输入解冻理由" style="width: 681px; height: 249px;"></textarea> + @} + </div> + <div class="hidden-xs" id="TDriverTableToolbar" role="group" style="margin-left:300px"> + <#button name="取消" icon="fa-plus" clickFun="TDriverInfoDlg.close()" /> + <#button name="确定" icon="fa-plus" clickFun="TDriver.updateStatus()"/> + </div> + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tDriver/tDriver.js"></script> +<script src="${ctxPath}/static/modular/system/tDriver/tDriver_info.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_add.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_add.html index 84b7d6f..615e008 100644 --- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_add.html +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_add.html @@ -1,257 +1,53 @@ @layout("/common/_container.html"){ <div class="ibox float-e-margins"> <div class="ibox-content"> - <div class="form-horizontal" id="yesDriverInfoForm"> - <input type="hidden" id="roleType" name="roleType" value="${roleType}"> + <div class="form-horizontal"> + <div class="row"> - <div class="col-sm-10"> - <#input id="name" name="司机姓名" /> - - <div class="form-group"> - <label class="col-sm-3 control-label">所属机构:</label> - <div class="col-sm-9" style="display: flex;align-items: center;"> - @if(roleType == 1){ - <div class="radio radio-info radio-inline"> - <input type="radio" id="companyType1" value="1" name="companyType" checked="" onclick="YesDriverInfoDlg.companyTypeClick(1)"> - <label for="companyType1"> 平台司机 </label> - </div> - <div class="radio radio-success radio-inline"> - <input type="radio" id="companyTyp2" value="2" name="companyType" onclick="YesDriverInfoDlg.companyTypeClick(2)"> - <label for="companyTyp2"> 加盟司机 </label> - </div> - <select class="form-control companyDiv" id="oneId" onchange="YesDriverInfoDlg.oneChange(this)" style="width: 200px;display: none;" > - <option value="">选择所属分公司</option> - @for(obj in companyList!){ - <option value="${obj.id}">${obj.name}</option> - @} - </select> - <select class="form-control companyDiv" id="twoId" style="width: 200px;margin-left: 30px;display: none;"> - <option value="">选择所属加盟商</option> - </select> - @}else if(roleType == 2){ - <span class="control-label">${objectName!}</span> - <select class="form-control" id="franchiseeId" style="width: 200px;margin-left: 30px;"> - <option value="">选择所属加盟商</option> - @for(obj in franchiseeList!){ - <option value="${obj.id}">${obj.name}</option> - @} - </select> - @}else if(roleType == 3){ - <span class="control-label">${objectName!}</span> - @} - </div> - </div> - - <#avatar id="headImgUrl" name="头像:" /> - <#avatar id="faceImgUrl" name="人脸识别照片:" /> - <!--<#input id="phone" name="手机号" />--> - <div class="form-group"> - <label class="col-sm-3 control-label">性别:</label> - <div class="col-sm-9" style="display: flex;align-items: center;"> - <div class="radio radio-info radio-inline"> - <input type="radio" id="sex1" value="1" name="sex" checked="" > - <label for="sex1"> 男 </label> - </div> - <div class="radio radio-success radio-inline"> - <input type="radio" id="sex2" value="2" name="sex" > - <label for="sex2"> 女 </label> - </div> - </div> - </div> - <#input id="driveCard" name="驾驶证号码"/> - <#avatar id="driveCardImgUrl" name="驾驶证照片:" /> - <#input id="driverAge" name="驾龄" /> - <#input id="idCard" name="身份证号" /> - <#input id="driverAddress" name="居住地址" /> - <#input id="taxiAptitudeCard" name="出租车资格证号" /> - <#avatar id="networkCarlssueImg" name="网约车资格证照片:" /> - <#input id="jobNumber" name="工号(选填)" /> - <div class="form-group"> - <fieldset> - <label class="col-sm-3 control-label">经营业务:</label> - <div class="col-sm-9"> - <div class="checkbox checkbox-success checkbox-inline"> - <input type="checkbox" name="serverBox" id="serverBox1" value="1"> - <label for="serverBox1"> 专车 </label> - </div> - <div class="checkbox checkbox-success checkbox-inline"> - <input type="checkbox" name="serverBox" id="serverBox2" value="2"> - <label for="serverBox2"> 出租车 </label> - </div> - <div class="checkbox checkbox-success checkbox-inline"> - <input type="checkbox" name="serverBox" id="serverBox3" value="3" onclick="YesDriverInfoDlg.checkBox()" > - <label for="serverBox3"> 跨城出行 </label> - </div> - <div class="checkbox checkbox-success checkbox-inline"> - <input type="checkbox" name="serverBox" id="serverBox4" value="4"> - <label for="serverBox4"> 小件物流-同城 </label> - </div> - <div class="checkbox checkbox-success checkbox-inline"> - <input type="checkbox" name="serverBox" id="serverBox5" value="5"> - <label for="serverBox5"> 小件物流-跨城 </label> - </div> - <div class="checkbox checkbox-success checkbox-inline"> - <input type="checkbox" name="serverBox" id="serverBox6" value="6"> - <label for="serverBox6"> 包车 </label> - </div> - </div> - </fieldset> - </div> - <div id="lineDiv" style="display: none;"> - <div class="form-group"> - <label class="col-sm-3 control-label">关联线路:</label> - <div class="col-sm-3"> - <select class="form-control" id="selectLineId"> - <option value="">选择关联线路</option> - @for(obj in lineList){ - <option value="${obj.id}">${obj.name}</option> - @} - </select> - </div> - <div class="col-sm-2"> - <#button btnCss="info" name="添加" id="ensure" icon="fa-check" clickFun="YesDriverInfoDlg.addLine()"/> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">已添加线路</label> - <div class="col-sm-9"> - <div style="height: 200px; border: 1px solid #e5e6e7;overflow-y: auto;"> - <table class="table table-striped table-bordered table-hover table-condensed"> - <thead> - <tr> - <th style="width: 300px;text-align: center;">关联时间</th> - <th style="width: 300px;text-align: center;">线路名称</th> - <th style="width: 100px;text-align: center;">操作</th> - </tr> - </thead> - <tbody id="line"> - - </tbody> - </table> - </div> - </div> - </div> + <div class="col-sm-6 b-r"> + <#input id="id" name="主键" underline="true"/> + <#input id="code" name="编号" underline="true"/> + <#input id="name" name="姓名" underline="true"/> + <#input id="avatar" name="头像" underline="true"/> + <#input id="phone" name="手机号" underline="true"/> + <#input id="password" name="密码" underline="true"/> + <#input id="sex" name="性别(1=男,2=女)" underline="true"/> + <#input id="source" name="来源(1=)" underline="true"/> + <#input id="emergencyContact" name="紧急联系人" underline="true"/> + <#input id="emergencyPhone" name="紧急联系电话" underline="true"/> + <#input id="driverLicenseNumber" name="驾驶证号码" underline="true"/> + <#input id="driverLicense" name="驾驶证照片" underline="true"/> + <#input id="idcard" name="身份证号码" underline="true"/> + <#input id="idcardFront" name="身份证正面照"/> </div> - - <#input id="phone" name="登录账号【手机号】" /> - <#input id="password" name="密码" type="password"/> - <#input id="rePassword" name="确认密码" type="password"/> - - <#input id="driverNationality" name="国籍"/> - <#input id="driverNation" name="民族"/> - <div class="form-group"> - <label class="col-sm-3 control-label">婚姻状况:</label> - <div class="col-sm-3"> - <select class="form-control" id="driverMaritalStatus"> - <option value="1">已婚</option> - <option value="2">未婚</option> - <option value="3">离异</option> - </select> - </div> - </div> - <#input id="driverLanguageLevel" name="外语能力"/> - <#input id="driverEducation" name="学历"/> - <#input id="driverCensus" name="户口登记机关名称"/> - <#input id="driverAddress" name="户口地址"/> - <#input id="driverContactAddress" name="通信地址"/> - <#input id="getDriverLicenseDate" name="初次领取驾驶证日期"/> - <#input id="driverLicenseOn" name="驾驶证有效期限起"/> - <#input id="driverLicenseOff" name="驾驶证有效期限止"/> - <div class="form-group"> - <label class="col-sm-3 control-label">是否巡游出租车驾驶员:</label> - <div class="col-sm-3"> - <select class="form-control" id="taxiDriver"> - <option value="0">否</option> - <option value="1">是</option> - </select> - </div> - </div> - <#input id="networkCarlssueOrganization" name="网络预约出租车驾驶员证发证机构"/> - <#input id="networkCarlssueDate" name="资格证发证日期"/> - <#input id="getNetworkCarProofDate" name="初次认领资格证日期"/> - <#input id="networkCarProofOn" name="资格证有效起始日期"/> - <#input id="networkCarProofOff" name="资格证有效截至日期"/> - <#input id="registerDate" name="报备日期"/> - <div class="form-group"> - <label class="col-sm-3 control-label">是否是专职驾驶员:</label> - <div class="col-sm-3"> - <select class="form-control" id="fullTimeDriver"> - <option value="0">否</option> - <option value="1">是</option> - </select> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">是否在驾驶员黑名单内:</label> - <div class="col-sm-3"> - <select class="form-control" id="inDriverBlacklist"> - <option value="0">否</option> - <option value="1">是</option> - </select> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">服务类型:</label> - <div class="col-sm-3"> - <select class="form-control" id="commercialType"> - <option value="1">网络预约出租汽车</option> - <option value="2">巡游出租汽车</option> - <option value="3">私人小客车合乘</option> - </select> - </div> - </div> - <#input id="contractCompany" name="驾驶员合同签署公司"/> - <#input id="contractOn" name="合同有效期起"/> - <#input id="contractOff" name="合同有效期止"/> - <#input id="emergencyContact" name="紧急联系人"/> - <#input id="emergencyContactPhone" name="紧急联系电话"/> - <#input id="emergencyContactAddress" name="紧急联系地址"/> + <div class="col-sm-6"> + <#input id="idcardBack" name="身份证背面照" underline="true"/> + <#input id="inviterType" name="邀约人类型(1=用户,2=司机)" underline="true"/> + <#input id="inviterId" name="邀约人id" underline="true"/> + <#input id="agentId" name="代理商id" underline="true"/> + <#input id="branchOfficeId" name="分公司id" underline="true"/> + <#input id="balance" name="账户余额" underline="true"/> + <#input id="approvalStatus" name="审核状态(1=待审核,2=已同意,3=已拒绝)" underline="true"/> + <#input id="approvalNotes" name="审核注释" underline="true"/> + <#input id="approvalUserId" name="审核用户id" underline="true"/> + <#input id="approvalTime" name="审核时间" underline="true"/> + <#input id="serverStatus" name="服务状态(1=空闲,2=服务中)" underline="true"/> + <#input id="integral" name="剩余积分" underline="true"/> + <#input id="status" name="状态(1=正常,2=冻结,3=删除)" underline="true"/> + <#input id="createTime" name="添加时间" underline="true"/> </div> </div> <div class="row btn-group-m-t"> - <div class="col-sm-10 col-sm-offset-5"> - <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="YesDriverInfoDlg.addSubmit()"/> - <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="YesDriverInfoDlg.close()"/> + <div class="col-sm-10"> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TDriverInfoDlg.addSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TDriverInfoDlg.close()"/> </div> </div> </div> </div> </div> -<script src="${ctxPath}/static/modular/system/tDriver/yesDriver_info.js"></script> - -<script> - laydate.render({ - elem: '#getDriverLicenseDate' - }); - laydate.render({ - elem: '#driverLicenseOn' - }); - laydate.render({ - elem: '#driverLicenseOff' - }); - laydate.render({ - elem: '#networkCarlssueDate' - }); - laydate.render({ - elem: '#getNetworkCarProofDate' - }); - laydate.render({ - elem: '#networkCarProofOn' - }); - laydate.render({ - elem: '#networkCarProofOff' - }); - laydate.render({ - elem: '#contractOn' - }); - laydate.render({ - elem: '#contractOff' - }); - laydate.render({ - elem: '#registerDate' - }); -</script> +<script src="${ctxPath}/static/modular/system/tDriver/tDriver_info.js"></script> @} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_edit.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_edit.html index fff2374..4ca8c12 100644 --- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_edit.html +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_edit.html @@ -1,283 +1,53 @@ @layout("/common/_container.html"){ <div class="ibox float-e-margins"> <div class="ibox-content"> - <div class="form-horizontal" id="yesDriverInfoForm"> - <input type="hidden" id="id" name="id" value="${item.id}"> - <input type="hidden" id="roleType" name="roleType" value="${roleType}"> + <div class="form-horizontal"> + <div class="row"> - <div class="col-sm-11"> - <#input id="name" name="司机姓名" value="${item.name}"/> + <div class="col-sm-6 b-r"> + <#input id="id" name="主键" value="${item.id}" underline="true"/> + <#input id="code" name="编号" value="${item.code}" underline="true"/> + <#input id="name" name="姓名" value="${item.name}" underline="true"/> + <#input id="avatar" name="头像" value="${item.avatar}" underline="true"/> + <#input id="phone" name="手机号" value="${item.phone}" underline="true"/> + <#input id="password" name="密码" value="${item.password}" underline="true"/> + <#input id="sex" name="性别(1=男,2=女)" value="${item.sex}" underline="true"/> + <#input id="source" name="来源(1=)" value="${item.source}" underline="true"/> + <#input id="emergencyContact" name="紧急联系人" value="${item.emergencyContact}" underline="true"/> + <#input id="emergencyPhone" name="紧急联系电话" value="${item.emergencyPhone}" underline="true"/> + <#input id="driverLicenseNumber" name="驾驶证号码" value="${item.driverLicenseNumber}" underline="true"/> + <#input id="driverLicense" name="驾驶证照片" value="${item.driverLicense}" underline="true"/> + <#input id="idcard" name="身份证号码" value="${item.idcard}" underline="true"/> + <#input id="idcardFront" name="身份证正面照" value="${item.idcardFront}" /> + </div> - <div class="form-group"> - <label class="col-sm-3 control-label">所属机构:</label> - <div class="col-sm-9" style="display: flex;align-items: center;"> - @if(roleType == 1){ - <div class="radio radio-info radio-inline"> - <input type="radio" id="companyType1" value="1" name="companyType" ${1 == companyType ? 'checked=checked' : ''} onclick="YesDriverInfoDlg.companyTypeClick(1)"> - <label for="companyType1"> 平台司机 </label> - </div> - <div class="radio radio-success radio-inline"> - <input type="radio" id="companyTyp2" value="2" name="companyType" ${2 == companyType ? 'checked=checked' : ''} onclick="YesDriverInfoDlg.companyTypeClick(2)"> - <label for="companyTyp2"> 加盟司机 </label> - </div> - <select class="form-control companyDiv" id="oneId" onchange="YesDriverInfoDlg.oneChange(this)" style="width: 200px"> - <option value="">选择所属分公司</option> - @for(obj in companyList!){ - <option value="${obj.id}" ${obj.id == item.companyId ? 'selected=selected' : ''}>${obj.name}</option> - @} - </select> - <select class="form-control companyDiv" id="twoId" style="width: 200px;margin-left: 30px;"> - <option value="">选择所属加盟商</option> - @for(obj in franchiseeList!){ - <option value="${obj.id}" ${obj.id == item.franchiseeId ? 'selected=selected' : ''}>${obj.name}</option> - @} - </select> - @}else if(roleType == 2){ - <span class="control-label">${objectName!}</span> - <select class="form-control" id="franchiseeId" style="width: 200px;margin-left: 30px;"> - <option value="">选择所属加盟商</option> - @for(obj in franchiseeList!){ - <option value="${obj.id}" ${obj.id == item.franchiseeId ? 'selected=selected' : ''}>${obj.name}</option> - @} - </select> - @}else if(roleType == 3){ - <span class="control-label">${objectName!}</span> - @} - </div> - </div> - - <#avatar id="headImgUrl" name="头像:" avatarImg="${item.headImgUrl}"/> - <#avatar id="faceImgUrl" name="人脸识别照片:" avatarImg="${item.faceImgUrl}"/> - <!--<#input id="phone" name="手机号" value="${item.phone}"/>--> - <div class="form-group"> - <label class="col-sm-3 control-label">性别:</label> - <div class="col-sm-9" style="display: flex;align-items: center;"> - <div class="radio radio-info radio-inline"> - <input type="radio" id="sex1" value="1" name="sex" ${1 == item.sex ? 'checked=checked' : ''} > - <label for="sex1"> 男 </label> - </div> - <div class="radio radio-success radio-inline"> - <input type="radio" id="sex2" value="2" name="sex" ${2 == item.sex ? 'checked=checked' : ''} > - <label for="sex2"> 女 </label> - </div> - </div> - </div> - <#input id="driveCard" name="驾驶证号码" value="${item.driveCard}"/> - <#avatar id="driveCardImgUrl" name="驾驶证照片:" avatarImg="${item.driveCardImgUrl}"/> - <#input id="driverAge" name="驾龄" value="${item.driverAge}"/> - <#input id="idCard" name="身份证号" value="${item.idCard}"/> - <#input id="driverAddress" name="居住地址" value="${item.driverAddress}"/> - <#input id="taxiAptitudeCard" name="出租车资格证号" value="${item.taxiAptitudeCard}"/> - <#input id="jobNumber" name="工号(选填)" value="${item.jobNumber}"/> - <div class="form-group"> - <fieldset> - <label class="col-sm-3 control-label">经营业务:</label> - <div class="col-sm-9"> - <div class="checkbox checkbox-success checkbox-inline"> - <input type="checkbox" name="serverBox" id="serverBox1" value="1" ${2 == one ? 'checked=checked' : ''}> - <label for="serverBox1"> 专车 </label> - </div> - <div class="checkbox checkbox-success checkbox-inline"> - <input type="checkbox" name="serverBox" id="serverBox2" value="2" ${2 == two ? 'checked=checked' : ''}> - <label for="serverBox2"> 出租车 </label> - </div> - <div class="checkbox checkbox-success checkbox-inline"> - <input type="checkbox" name="serverBox" id="serverBox3" value="3" ${2 == three ? 'checked=checked' : ''} onclick="YesDriverInfoDlg.checkBox()" > - <label for="serverBox3"> 跨城出行 </label> - </div> - <div class="checkbox checkbox-success checkbox-inline"> - <input type="checkbox" name="serverBox" id="serverBox4" value="4" ${2 == four ? 'checked=checked' : ''}> - <label for="serverBox4"> 小件物流-同城 </label> - </div> - <div class="checkbox checkbox-success checkbox-inline"> - <input type="checkbox" name="serverBox" id="serverBox5" value="5" ${2 == five ? 'checked=checked' : ''}> - <label for="serverBox5"> 小件物流-跨城 </label> - </div> - <div class="checkbox checkbox-success checkbox-inline"> - <input type="checkbox" name="serverBox" id="serverBox6" value="6" ${2 == six ? 'checked=checked' : ''}> - <label for="serverBox6"> 包车 </label> - </div> - </div> - </fieldset> - </div> - - <div id="lineDiv" style="display: none;"> - <div class="form-group"> - <label class="col-sm-3 control-label">关联线路:</label> - <div class="col-sm-3"> - <select class="form-control" id="selectLineId"> - <option value="">选择关联线路</option> - @for(obj in lineList){ - <option value="${obj.id}">${obj.name}</option> - @} - </select> - </div> - <div class="col-sm-2"> - <#button btnCss="info" name="添加" id="ensure" icon="fa-check" clickFun="YesDriverInfoDlg.addLine()"/> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">已添加线路</label> - <div class="col-sm-9"> - <div style="height: 200px; border: 1px solid #e5e6e7;overflow-y: auto;"> - <table class="table table-striped table-bordered table-hover table-condensed"> - <thead> - <tr> - <th style="width: 300px;">关联时间</th> - <th style="width: 300px;">项目名称</th> - <th style="width: 100px;">操作</th> - </tr> - </thead> - <tbody id="line"> - @for(line in driverLineList!){ - <tr class="lineClass"> - <td><input type="hidden" id="lineId" name="lineId" value="${line.lineId}"> - <input type="hidden" id="time" name="time" value="${line.addTime}">${line.addTime}</td> - <td>${line.lineName}</td> - <td><button onclick="deleteSub(this)">移除</button></td> - </tr> - @} - </tbody> - </table> - </div> - </div> - </div> - </div> - - <#input id="phone" name="登录账号【手机号】" value="${item.phone}"/> - <#input id="password" name="密码" type="password" /> - <#input id="rePassword" name="确认密码" type="password" /> - - <#input id="driverNationality" name="国籍" value="${item.driverNationality}"/> - <#input id="driverNation" name="民族" value="${item.driverNation}"/> - <div class="form-group"> - <label class="col-sm-3 control-label">婚姻状况:</label> - <div class="col-sm-3"> - <select class="form-control" id="driverMaritalStatus"> - <option value="1" ${item.driverMaritalStatus == 1 ? 'selected' : ''}>已婚</option> - <option value="2" ${item.driverMaritalStatus == 2 ? 'selected' : ''}>未婚</option> - <option value="3" ${item.driverMaritalStatus == 3 ? 'selected' : ''}>离异</option> - </select> - </div> - </div> - <#input id="driverLanguageLevel" name="外语能力" value="${item.driverLanguageLevel}"/> - <#input id="driverEducation" name="学历" value="${item.driverEducation}"/> - <#input id="driverCensus" name="户口登记机关名称" value="${item.driverCensus}"/> - <#input id="driverAddress" name="户口地址" value="${item.driverAddress}"/> - <#input id="driverContactAddress" name="通信地址" value="${item.driverContactAddress}"/> - <#input id="getDriverLicenseDate" name="初次领取驾驶证日期" value="${item.getDriverLicenseDate}"/> - <#input id="driverLicenseOn" name="驾驶证有效期限起" value="${item.driverLicenseOn}"/> - <#input id="driverLicenseOff" name="驾驶证有效期限止" value="${item.driverLicenseOff}"/> - <div class="form-group"> - <label class="col-sm-3 control-label">是否巡游出租车驾驶员:</label> - <div class="col-sm-3"> - <select class="form-control" id="taxiDriver"> - <option value="0" ${item.taxiDriver == 0 ? 'selected' : ''}>否</option> - <option value="1" ${item.taxiDriver == 1 ? 'selected' : ''}>是</option> - </select> - </div> - </div> - <#input id="networkCarlssueOrganization" name="网络预约出租车驾驶员证发证机构" value="${item.networkCarlssueOrganization}"/> - <#input id="networkCarlssueDate" name="资格证发证日期" value="${item.networkCarlssueDate}"/> - <#input id="getNetworkCarProofDate" name="初次认领资格证日期" value="${item.getNetworkCarProofDate}"/> - <#input id="networkCarProofOn" name="资格证有效起始日期" value="${item.networkCarProofOn}"/> - <#input id="networkCarProofOff" name="资格证有效截至日期" value="${item.networkCarProofOff}"/> - <#input id="registerDate" name="报备日期" value="${item.registerDate}"/> - <div class="form-group"> - <label class="col-sm-3 control-label">是否是专职驾驶员:</label> - <div class="col-sm-3"> - <select class="form-control" id="fullTimeDriver"> - <option value="0" ${item.fullTimeDriver == 0 ? 'selected' : ''}>否</option> - <option value="1" ${item.fullTimeDriver == 1 ? 'selected' : ''}>是</option> - </select> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">是否在驾驶员黑名单内:</label> - <div class="col-sm-3"> - <select class="form-control" id="inDriverBlacklist"> - <option value="0" ${item.inDriverBlacklist == 0 ? 'selected' : ''}>否</option> - <option value="1" ${item.inDriverBlacklist == 1 ? 'selected' : ''}>是</option> - </select> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">服务类型:</label> - <div class="col-sm-3"> - <select class="form-control" id="commercialType"> - <option value="1" ${item.commercialType == 1 ? 'selected' : ''}>网络预约出租汽车</option> - <option value="2" ${item.commercialType == 2 ? 'selected' : ''}>巡游出租汽车</option> - <option value="3" ${item.commercialType == 3 ? 'selected' : ''}>私人小客车合乘</option> - </select> - </div> - </div> - <#input id="contractCompany" name="驾驶员合同签署公司" value="${item.contractCompany}"/> - <#input id="contractOn" name="合同有效期起" value="${item.contractOn}"/> - <#input id="contractOff" name="合同有效期止" value="${item.contractOff}"/> - <#input id="emergencyContact" name="紧急联系人" value="${item.emergencyContact}"/> - <#input id="emergencyContactPhone" name="紧急联系电话" value="${item.emergencyContactPhone}"/> - <#input id="emergencyContactAddress" name="紧急联系地址" value="${item.emergencyContactAddress}"/> - - + <div class="col-sm-6"> + <#input id="idcardBack" name="身份证背面照" value="${item.idcardBack}" underline="true"/> + <#input id="inviterType" name="邀约人类型(1=用户,2=司机)" value="${item.inviterType}" underline="true"/> + <#input id="inviterId" name="邀约人id" value="${item.inviterId}" underline="true"/> + <#input id="agentId" name="代理商id" value="${item.agentId}" underline="true"/> + <#input id="branchOfficeId" name="分公司id" value="${item.branchOfficeId}" underline="true"/> + <#input id="balance" name="账户余额" value="${item.balance}" underline="true"/> + <#input id="approvalStatus" name="审核状态(1=待审核,2=已同意,3=已拒绝)" value="${item.approvalStatus}" underline="true"/> + <#input id="approvalNotes" name="审核注释" value="${item.approvalNotes}" underline="true"/> + <#input id="approvalUserId" name="审核用户id" value="${item.approvalUserId}" underline="true"/> + <#input id="approvalTime" name="审核时间" value="${item.approvalTime}" underline="true"/> + <#input id="serverStatus" name="服务状态(1=空闲,2=服务中)" value="${item.serverStatus}" underline="true"/> + <#input id="integral" name="剩余积分" value="${item.integral}" underline="true"/> + <#input id="status" name="状态(1=正常,2=冻结,3=删除)" value="${item.status}" underline="true"/> + <#input id="createTime" name="添加时间" value="${item.createTime}" /> </div> </div> <div class="row btn-group-m-t"> - <div class="col-sm-10 col-sm-offset-5"> - <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="YesDriverInfoDlg.editSubmit()"/> - <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="YesDriverInfoDlg.close()"/> + <div class="col-sm-10"> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TDriverInfoDlg.editSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TDriverInfoDlg.close()"/> </div> </div> </div> </div> </div> -<script src="${ctxPath}/static/modular/system/tDriver/yesDriver_info.js"></script> -<script type="application/javascript"> - laydate.render({ - elem: '#getDriverLicenseDate' - }); - laydate.render({ - elem: '#driverLicenseOn' - }); - laydate.render({ - elem: '#driverLicenseOff' - }); - laydate.render({ - elem: '#networkCarlssueDate' - }); - laydate.render({ - elem: '#getNetworkCarProofDate' - }); - laydate.render({ - elem: '#networkCarProofOn' - }); - laydate.render({ - elem: '#networkCarProofOff' - }); - laydate.render({ - elem: '#contractOn' - }); - laydate.render({ - elem: '#contractOff' - }); - laydate.render({ - elem: '#registerDate' - }); - - $(function() { - var serverBox3 = $('#serverBox3').prop('checked'); - if (serverBox3){ - $("#lineDiv").show(); - } else { - $("#lineDiv").hide(); - } - var companyType = $("input[name='companyType']:checked").val(); - if (1 == companyType){ - $(".companyDiv").hide(); - } else if (2 == companyType){ - $(".companyDiv").show(); - } - }); -</script> +<script src="${ctxPath}/static/modular/system/tDriver/tDriver_info.js"></script> @} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderRefusal/tOrderRefusal.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderRefusal/tOrderRefusal.html new file mode 100644 index 0000000..19642c0 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderRefusal/tOrderRefusal.html @@ -0,0 +1,38 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>管理</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <div class="row"> + <div class="col-sm-3"> + <#NameCon id="condition" name="名称" /> + </div> + <div class="col-sm-3"> + <#button name="搜索" icon="fa-search" clickFun="TOrderRefusal.search()"/> + </div> + </div> + <div class="hidden-xs" id="TOrderRefusalTableToolbar" role="group"> + @if(shiro.hasPermission("/tOrderRefusal/add")){ + <#button name="添加" icon="fa-plus" clickFun="TOrderRefusal.openAddTOrderRefusal()"/> + @} + @if(shiro.hasPermission("/tOrderRefusal/update")){ + <#button name="修改" icon="fa-edit" clickFun="TOrderRefusal.openTOrderRefusalDetail()" space="true"/> + @} + @if(shiro.hasPermission("/tOrderRefusal/delete")){ + <#button name="删除" icon="fa-remove" clickFun="TOrderRefusal.delete()" space="true"/> + @} + </div> + <#table id="TOrderRefusalTable"/> + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tOrderRefusal/tOrderRefusal.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderRefusal/tOrderRefusal_add.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderRefusal/tOrderRefusal_add.html new file mode 100644 index 0000000..d498b73 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderRefusal/tOrderRefusal_add.html @@ -0,0 +1,32 @@ +@layout("/common/_container.html"){ +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal"> + + <div class="row"> + <div class="col-sm-6 b-r"> + <#input id="id" name="" underline="true"/> + <#input id="orderId" name="订单id" underline="true"/> + <#input id="driverId" name="司机id" underline="true"/> + <#input id="startAddress" name="起点地址"/> + </div> + + <div class="col-sm-6"> + <#input id="endAddress" name="终点地址" underline="true"/> + <#input id="code" name="编号" underline="true"/> + <#input id="createTime" name="添加时间" underline="true"/> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10"> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TOrderRefusalInfoDlg.addSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TOrderRefusalInfoDlg.close()"/> + </div> + </div> + </div> + + </div> +</div> +<script src="${ctxPath}/static/modular/system/tOrderRefusal/tOrderRefusal_info.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderRefusal/tOrderRefusal_edit.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderRefusal/tOrderRefusal_edit.html new file mode 100644 index 0000000..bcfea24 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderRefusal/tOrderRefusal_edit.html @@ -0,0 +1,32 @@ +@layout("/common/_container.html"){ +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal"> + + <div class="row"> + <div class="col-sm-6 b-r"> + <#input id="id" name="" value="${item.id}" underline="true"/> + <#input id="orderId" name="订单id" value="${item.orderId}" underline="true"/> + <#input id="driverId" name="司机id" value="${item.driverId}" underline="true"/> + <#input id="startAddress" name="起点地址" value="${item.startAddress}" /> + </div> + + <div class="col-sm-6"> + <#input id="endAddress" name="终点地址" value="${item.endAddress}" underline="true"/> + <#input id="code" name="编号" value="${item.code}" underline="true"/> + <#input id="createTime" name="添加时间" value="${item.createTime}" /> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10"> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TOrderRefusalInfoDlg.editSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TOrderRefusalInfoDlg.close()"/> + </div> + </div> + </div> + + </div> +</div> +<script src="${ctxPath}/static/modular/system/tOrderRefusal/tOrderRefusal_info.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecord.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecord.html new file mode 100644 index 0000000..0726fce --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecord.html @@ -0,0 +1,38 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>管理</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <div class="row"> + <div class="col-sm-3"> + <#NameCon id="condition" name="名称" /> + </div> + <div class="col-sm-3"> + <#button name="搜索" icon="fa-search" clickFun="TRechargeRecord.search()"/> + </div> + </div> + <div class="hidden-xs" id="TRechargeRecordTableToolbar" role="group"> + @if(shiro.hasPermission("/tRechargeRecord/add")){ + <#button name="添加" icon="fa-plus" clickFun="TRechargeRecord.openAddTRechargeRecord()"/> + @} + @if(shiro.hasPermission("/tRechargeRecord/update")){ + <#button name="修改" icon="fa-edit" clickFun="TRechargeRecord.openTRechargeRecordDetail()" space="true"/> + @} + @if(shiro.hasPermission("/tRechargeRecord/delete")){ + <#button name="删除" icon="fa-remove" clickFun="TRechargeRecord.delete()" space="true"/> + @} + </div> + <#table id="TRechargeRecordTable"/> + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tRechargeRecord/tRechargeRecord.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecord_add.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecord_add.html new file mode 100644 index 0000000..f3b4742 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecord_add.html @@ -0,0 +1,35 @@ +@layout("/common/_container.html"){ +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal"> + + <div class="row"> + <div class="col-sm-6 b-r"> + <#input id="id" name="主键" underline="true"/> + <#input id="type" name="数据类型(1=用户,2=司机)" underline="true"/> + <#input id="userId" name="用户id" underline="true"/> + <#input id="code" name="流水号" underline="true"/> + <#input id="amount" name="充值金额"/> + </div> + + <div class="col-sm-6"> + <#input id="payType" name="支付方式(1=微信)" underline="true"/> + <#input id="payTime" name="完成支付时间" underline="true"/> + <#input id="payStatus" name="支付状态(1=待支付,2=已完成)" underline="true"/> + <#input id="orderNumber" name="第三方流水号" underline="true"/> + <#input id="createTime" name="添加时间" underline="true"/> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10"> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TRechargeRecordInfoDlg.addSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TRechargeRecordInfoDlg.close()"/> + </div> + </div> + </div> + + </div> +</div> +<script src="${ctxPath}/static/modular/system/tRechargeRecord/tRechargeRecord_info.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecord_edit.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecord_edit.html new file mode 100644 index 0000000..07501a4 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecord_edit.html @@ -0,0 +1,35 @@ +@layout("/common/_container.html"){ +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal"> + + <div class="row"> + <div class="col-sm-6 b-r"> + <#input id="id" name="主键" value="${item.id}" underline="true"/> + <#input id="type" name="数据类型(1=用户,2=司机)" value="${item.type}" underline="true"/> + <#input id="userId" name="用户id" value="${item.userId}" underline="true"/> + <#input id="code" name="流水号" value="${item.code}" underline="true"/> + <#input id="amount" name="充值金额" value="${item.amount}" /> + </div> + + <div class="col-sm-6"> + <#input id="payType" name="支付方式(1=微信)" value="${item.payType}" underline="true"/> + <#input id="payTime" name="完成支付时间" value="${item.payTime}" underline="true"/> + <#input id="payStatus" name="支付状态(1=待支付,2=已完成)" value="${item.payStatus}" underline="true"/> + <#input id="orderNumber" name="第三方流水号" value="${item.orderNumber}" underline="true"/> + <#input id="createTime" name="添加时间" value="${item.createTime}" /> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10"> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TRechargeRecordInfoDlg.editSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TRechargeRecordInfoDlg.close()"/> + </div> + </div> + </div> + + </div> +</div> +<script src="${ctxPath}/static/modular/system/tRechargeRecord/tRechargeRecord_info.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRegion/tRegion.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRegion/tRegion.html new file mode 100644 index 0000000..a8f1d0f --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRegion/tRegion.html @@ -0,0 +1,38 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>管理</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <div class="row"> + <div class="col-sm-3"> + <#NameCon id="condition" name="名称" /> + </div> + <div class="col-sm-3"> + <#button name="搜索" icon="fa-search" clickFun="TRegion.search()"/> + </div> + </div> + <div class="hidden-xs" id="TRegionTableToolbar" role="group"> + @if(shiro.hasPermission("/tRegion/add")){ + <#button name="添加" icon="fa-plus" clickFun="TRegion.openAddTRegion()"/> + @} + @if(shiro.hasPermission("/tRegion/update")){ + <#button name="修改" icon="fa-edit" clickFun="TRegion.openTRegionDetail()" space="true"/> + @} + @if(shiro.hasPermission("/tRegion/delete")){ + <#button name="删除" icon="fa-remove" clickFun="TRegion.delete()" space="true"/> + @} + </div> + <#table id="TRegionTable"/> + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tRegion/tRegion.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRegion/tRegion_add.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRegion/tRegion_add.html new file mode 100644 index 0000000..6357933 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRegion/tRegion_add.html @@ -0,0 +1,31 @@ +@layout("/common/_container.html"){ +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal"> + + <div class="row"> + <div class="col-sm-6 b-r"> + <#input id="id" name="主键ID" underline="true"/> + <#input id="name" name="城市名称" underline="true"/> + <#input id="code" name=""/> + </div> + + <div class="col-sm-6"> + <#input id="citycode" name="" underline="true"/> + <#input id="parentId" name="父级ID" underline="true"/> + <#input id="english" name="英文名称" underline="true"/> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10"> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TRegionInfoDlg.addSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TRegionInfoDlg.close()"/> + </div> + </div> + </div> + + </div> +</div> +<script src="${ctxPath}/static/modular/system/tRegion/tRegion_info.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRegion/tRegion_edit.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRegion/tRegion_edit.html new file mode 100644 index 0000000..e7f1656 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRegion/tRegion_edit.html @@ -0,0 +1,31 @@ +@layout("/common/_container.html"){ +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal"> + + <div class="row"> + <div class="col-sm-6 b-r"> + <#input id="id" name="主键ID" value="${item.id}" underline="true"/> + <#input id="name" name="城市名称" value="${item.name}" underline="true"/> + <#input id="code" name="" value="${item.code}" /> + </div> + + <div class="col-sm-6"> + <#input id="citycode" name="" value="${item.citycode}" underline="true"/> + <#input id="parentId" name="父级ID" value="${item.parentId}" underline="true"/> + <#input id="english" name="英文名称" value="${item.english}" /> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10"> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TRegionInfoDlg.editSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TRegionInfoDlg.close()"/> + </div> + </div> + </div> + + </div> +</div> +<script src="${ctxPath}/static/modular/system/tRegion/tRegion_info.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tAgent/tAgent.js b/management/guns-admin/src/main/webapp/static/modular/system/tAgent/tAgent.js new file mode 100644 index 0000000..da37990 --- /dev/null +++ b/management/guns-admin/src/main/webapp/static/modular/system/tAgent/tAgent.js @@ -0,0 +1,237 @@ +/** + * 管理初始化 + */ +var TAgent = { + id: "TAgentTable", //表格id + seItem: null, //选中的条目 + table: null, + layerIndex: -1 +}; + +/** + * 初始化表格的列 + */ +TAgent.initColumn = function () { + return [ + {field: 'selectItem', radio: true}, + {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'}, + {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'}, + {title: '姓名', field: 'principal', visible: true, align: 'center', valign: 'middle'}, + {title: '联系电话', field: 'principalPhone', visible: true, align: 'center', valign: 'middle'}, + {title: '代理区域', field: 'area', visible: true, align: 'center', valign: 'middle'}, + {title: '订单数量', field: 'orderSum', visible: true, align: 'center', valign: 'middle'}, + {title: '有效订单', field: 'validOrder', visible: true, align: 'center', valign: 'middle'}, + {title: '已发放优惠券', field: 'issuedCoupon', visible: true, align: 'center', valign: 'middle'}, + {title: '已使用优惠券', field: 'usedCoupon', visible: true, align: 'center', valign: 'middle'}, + {title: '累计优惠券金额', field: 'couponPriceSum', visible: true, align: 'center', valign: 'middle'}, + {title: '司机充值', field: 'driverRecharge', visible: true, align: 'center', valign: 'middle'}, + {title: '司机数', field: 'driverCount', visible: true, align: 'center', valign: 'middle'}, + {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + if (row.status === 1){ + return '<span>正常</span>' + }else if (row.status === 2){ + return '<span>冻结</span>' + }else if (row.status === 3){ + return '<span>已删除</span>' + } + }}, + {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, + formatter: function (value, row) { + if (row.status === 1){ + return '<a href="#" onclick="TAgent.updateStatus('+row.id+','+row.status+')" style="color:red">停用</a>' +' ' + + '<a href="#" onclick="TAgent.searchTAgentDetail('+row.id+')" style="color:green">详情</a>' + }else if (row.status === 2){ + return '<a href="#" onclick="TAgent.updateStatus('+row.id+','+row.status+')" style="color:green">解冻</a>' +' ' + + '<a href="#" onclick="TAgent.searchTAgentDetail('+row.id+')" style="color:green">详情</a>' + } + } + } + ]; +}; + +/** + * 检查是否选中 + */ +TAgent.check = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length == 0){ + Feng.info("请先选中表格中的某一记录!"); + return false; + }else{ + TAgent.seItem = selected[0]; + return true; + } +}; + +/** + * 点击添加 + */ +TAgent.openAddTAgent = function () { + var index = layer.open({ + type: 2, + title: '添加', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tAgent/tAgent_add' + }); + this.layerIndex = index; +}; + +/** + * 提交启用冻结 + */ +TAgent.updateStatus = function (id,status) { + var ajax = new $ax(Feng.ctxPath + "/tAgent/update-status?id="+id+'&status='+status, function (data) { + Feng.success("修改成功!"); + TAgent.table.refresh(); + }, function (data) { + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + // ajax.set("id",$("#id").val()); + // ajax.set("status",$("#status").val()); + ajax.start(); +}; + +/** + * 打开查看详情(使用中) + */ +TAgent.searchTAgentDetail = function (id) { + var index = layer.open({ + type: 2, + title: '详情', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tAgent/agentDetail?agentId=' + id + }); + this.layerIndex = index; +}; + +/** + * 打开查看详情 + */ +TAgent.openTAgentDetail = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '详情', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tAgent/tAgent_update/' + TAgent.seItem.id + }); + this.layerIndex = index; + } +}; + +/** + * 打开区域选择页面 + */ +TAgent.area = function () { + var index = layer.open({ + type: 2, + title: '区域选择', + area: ['800px', '270px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tAgent/areaDetail' + }); + this.layerIndex = index; +} + +/** + * 查询市区 + */ +TAgent.areaProvince = function () { + var province = document.getElementById('province'); + var index= province.selectedIndex ; + var id = province.options[index].id; + var ajax = new $ax(Feng.ctxPath + "/tAgent/areaCity?parentId="+id, function (data) { + var opts=document.getElementById('city').options; + opts.length=0;// 这一句是清空原有列表项 + for(var i=0,n=data.length;i<n;i++){ + var data1=data[i]; + var opt=new Option(data1.name,data1.id,true,true); + opts.add(opt); + } + }, function (data) { + Feng.error("查询失败!" + data.responseJSON.message + "!"); + }); + ajax.start(); +} +/** + * 选择省市 + */ +TAgent.submitArea = function () { + var province = document.getElementById('province'); + var provinceIndex= province.selectedIndex ; + var provinceName = province.options[provinceIndex].value; + var provinceId = province.options[provinceIndex].id; + var city = document.getElementById('city'); + var cityIndex= city.selectedIndex ; + var cityId = city.options[cityIndex].value; + var cityName = city.options[cityIndex].innerText; + parent.$("#area").val(provinceName+'/'+cityName) + parent.$("#areaId").val(provinceId+'/'+cityId) + TAgentInfoDlg.close(); +} + + +/** + * 删除 + */ +TAgent.delete = function () { + if (this.check()) { + var ajax = new $ax(Feng.ctxPath + "/tAgent/delete", function (data) { + Feng.success("删除成功!"); + TAgent.table.refresh(); + }, function (data) { + Feng.error("删除失败!" + data.responseJSON.message + "!"); + }); + ajax.set("tAgentId",this.seItem.id); + ajax.start(); + } +}; + +/** + * 代理商信息导出 + */ +TAgent.export=function(){ + var principal=$("#principal").val(); + var principalPhone = $("#principalPhone").val(); + var createTime = $("#createTime").val(); + window.location.href=Feng.ctxPath + "/tAgent/export?principal="+principal + +"&principalPhone="+principalPhone + +"&createTime="+createTime + ; +} + +/** + * 查询列表 + */ +TAgent.search = function () { + var queryData = {}; + queryData['principal'] = $("#principal").val(); + queryData['principalPhone'] = $("#principalPhone").val(); + queryData['createTime'] = $("#createTime").val(); + TAgent.table.refresh({query: queryData}); +}; + +/** + * 重置 + */ +TAgent.resetSearch = function (){ + $("#principal").val(''); + $("#principalPhone").val(''); + $("#createTime").val(''); + TAgent.search(); +} + +$(function () { + var defaultColunms = TAgent.initColumn(); + var table = new BSTable(TAgent.id, "/tAgent/list", defaultColunms); + table.setPaginationType("client"); + TAgent.table = table.init(); +}); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tAgent/tAgent_info.js b/management/guns-admin/src/main/webapp/static/modular/system/tAgent/tAgent_info.js new file mode 100644 index 0000000..3b61693 --- /dev/null +++ b/management/guns-admin/src/main/webapp/static/modular/system/tAgent/tAgent_info.js @@ -0,0 +1,104 @@ +/** + * 初始化详情对话框 + */ +var TAgentInfoDlg = { + tAgentInfoData : {} +}; + +/** + * 清除数据 + */ +TAgentInfoDlg.clearData = function() { + this.tAgentInfoData = {}; +} + +/** + * 设置对话框中的数据 + * + * @param key 数据的名称 + * @param val 数据的具体值 + */ +TAgentInfoDlg.set = function(key, val) { + this.tAgentInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; + return this; +} + +/** + * 设置对话框中的数据 + * + * @param key 数据的名称 + * @param val 数据的具体值 + */ +TAgentInfoDlg.get = function(key) { + return $("#" + key).val(); +} + +/** + * 关闭此对话框 + */ +TAgentInfoDlg.close = function() { + parent.layer.close(window.parent.TAgent.layerIndex); +} + +/** + * 收集数据 + */ +TAgentInfoDlg.collectData = function() { + this + .set('id') + .set('principal') + .set('principalPhone') + .set('email') + .set('provinceCode') + .set('provinceName') + .set('cityCode') + .set('cityName') + .set('status') + .set('area') + .set('areaId') + .set('createTime'); +} + +/** + * 提交添加 + */ +TAgentInfoDlg.addSubmit = function() { + + this.clearData(); + this.collectData(); + + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tAgent/add", function(data){ + Feng.success("添加成功!"); + window.parent.TAgent.table.refresh(); + TAgentInfoDlg.close(); + },function(data){ + Feng.error("添加失败!" + data.responseJSON.message + "!"); + }); + ajax.set(this.tAgentInfoData); + ajax.start(); +} + +/** + * 提交修改 + */ +TAgentInfoDlg.editSubmit = function() { + + this.clearData(); + this.collectData(); + + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tAgent/update", function(data){ + Feng.success("修改成功!"); + window.parent.TAgent.table.refresh(); + TAgentInfoDlg.close(); + },function(data){ + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set(this.tAgentInfoData); + ajax.start(); +} + +$(function() { + +}); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUser.js b/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUser.js index f3a2634..5722d7d 100644 --- a/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUser.js +++ b/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUser.js @@ -41,6 +41,8 @@ return '<span>正常</span>' }else if (row.status === 2){ return '<span>冻结</span>' + }else if (row.status === 3){ + return '<span>已删除</span>' } } }, @@ -146,7 +148,6 @@ */ TAppUser.updateStatus = function () { var ajax = new $ax(Feng.ctxPath + "/tAppUser/update-status", function (data) { - console.log(111111) Feng.success("修改成功!"); TAppUserInfoDlg.close(); parent.TAppUser.table.refresh(); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tBranchOffice/tBranchOffice.js b/management/guns-admin/src/main/webapp/static/modular/system/tBranchOffice/tBranchOffice.js new file mode 100644 index 0000000..5914920 --- /dev/null +++ b/management/guns-admin/src/main/webapp/static/modular/system/tBranchOffice/tBranchOffice.js @@ -0,0 +1,109 @@ +/** + * 管理初始化 + */ +var TBranchOffice = { + id: "TBranchOfficeTable", //表格id + seItem: null, //选中的条目 + table: null, + layerIndex: -1 +}; + +/** + * 初始化表格的列 + */ +TBranchOffice.initColumn = function () { + return [ + {field: 'selectItem', radio: true}, + {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'}, + {title: '代理商id', field: 'agentId', visible: true, align: 'center', valign: 'middle'}, + {title: '负责人姓名', field: 'principal', visible: true, align: 'center', valign: 'middle'}, + {title: '负责人电话', field: 'principalPhone', visible: true, align: 'center', valign: 'middle'}, + {title: '邮箱', field: 'email', visible: true, align: 'center', valign: 'middle'}, + {title: '代理区域省编号', field: 'provinceCode', visible: true, align: 'center', valign: 'middle'}, + {title: '代理区域省名称', field: 'provinceName', visible: true, align: 'center', valign: 'middle'}, + {title: '代理区域市编号', field: 'cityCode', visible: true, align: 'center', valign: 'middle'}, + {title: '代理区域市名称', field: 'cityName', visible: true, align: 'center', valign: 'middle'}, + {title: '代理区域区编号', field: 'districtCode', visible: true, align: 'center', valign: 'middle'}, + {title: '代理区域区名称', field: 'districtName', visible: true, align: 'center', valign: 'middle'}, + {title: '状态(1=正常,2=冻结,3=删除)', field: 'status', visible: true, align: 'center', valign: 'middle'}, + {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'} + ]; +}; + +/** + * 检查是否选中 + */ +TBranchOffice.check = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length == 0){ + Feng.info("请先选中表格中的某一记录!"); + return false; + }else{ + TBranchOffice.seItem = selected[0]; + return true; + } +}; + +/** + * 点击添加 + */ +TBranchOffice.openAddTBranchOffice = function () { + var index = layer.open({ + type: 2, + title: '添加', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tBranchOffice/tBranchOffice_add' + }); + this.layerIndex = index; +}; + +/** + * 打开查看详情 + */ +TBranchOffice.openTBranchOfficeDetail = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '详情', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tBranchOffice/tBranchOffice_update/' + TBranchOffice.seItem.id + }); + this.layerIndex = index; + } +}; + +/** + * 删除 + */ +TBranchOffice.delete = function () { + if (this.check()) { + var ajax = new $ax(Feng.ctxPath + "/tBranchOffice/delete", function (data) { + Feng.success("删除成功!"); + TBranchOffice.table.refresh(); + }, function (data) { + Feng.error("删除失败!" + data.responseJSON.message + "!"); + }); + ajax.set("tBranchOfficeId",this.seItem.id); + ajax.start(); + } +}; + +/** + * 查询列表 + */ +TBranchOffice.search = function () { + var queryData = {}; + queryData['condition'] = $("#condition").val(); + TBranchOffice.table.refresh({query: queryData}); +}; + +$(function () { + var defaultColunms = TBranchOffice.initColumn(); + var table = new BSTable(TBranchOffice.id, "/tBranchOffice/list", defaultColunms); + table.setPaginationType("client"); + TBranchOffice.table = table.init(); +}); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tBranchOffice/tBranchOffice_info.js b/management/guns-admin/src/main/webapp/static/modular/system/tBranchOffice/tBranchOffice_info.js new file mode 100644 index 0000000..86c4666 --- /dev/null +++ b/management/guns-admin/src/main/webapp/static/modular/system/tBranchOffice/tBranchOffice_info.js @@ -0,0 +1,105 @@ +/** + * 初始化详情对话框 + */ +var TBranchOfficeInfoDlg = { + tBranchOfficeInfoData : {} +}; + +/** + * 清除数据 + */ +TBranchOfficeInfoDlg.clearData = function() { + this.tBranchOfficeInfoData = {}; +} + +/** + * 设置对话框中的数据 + * + * @param key 数据的名称 + * @param val 数据的具体值 + */ +TBranchOfficeInfoDlg.set = function(key, val) { + this.tBranchOfficeInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; + return this; +} + +/** + * 设置对话框中的数据 + * + * @param key 数据的名称 + * @param val 数据的具体值 + */ +TBranchOfficeInfoDlg.get = function(key) { + return $("#" + key).val(); +} + +/** + * 关闭此对话框 + */ +TBranchOfficeInfoDlg.close = function() { + parent.layer.close(window.parent.TBranchOffice.layerIndex); +} + +/** + * 收集数据 + */ +TBranchOfficeInfoDlg.collectData = function() { + this + .set('id') + .set('agentId') + .set('principal') + .set('principalPhone') + .set('email') + .set('provinceCode') + .set('provinceName') + .set('cityCode') + .set('cityName') + .set('districtCode') + .set('districtName') + .set('status') + .set('createTime'); +} + +/** + * 提交添加 + */ +TBranchOfficeInfoDlg.addSubmit = function() { + + this.clearData(); + this.collectData(); + + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tBranchOffice/add", function(data){ + Feng.success("添加成功!"); + window.parent.TBranchOffice.table.refresh(); + TBranchOfficeInfoDlg.close(); + },function(data){ + Feng.error("添加失败!" + data.responseJSON.message + "!"); + }); + ajax.set(this.tBranchOfficeInfoData); + ajax.start(); +} + +/** + * 提交修改 + */ +TBranchOfficeInfoDlg.editSubmit = function() { + + this.clearData(); + this.collectData(); + + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tBranchOffice/update", function(data){ + Feng.success("修改成功!"); + window.parent.TBranchOffice.table.refresh(); + TBranchOfficeInfoDlg.close(); + },function(data){ + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set(this.tBranchOfficeInfoData); + ajax.start(); +} + +$(function() { + +}); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver.js b/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver.js index 9eab01e..4a3d3a5 100644 --- a/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver.js +++ b/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver.js @@ -1,5 +1,5 @@ /** - * 司机审核列表管理初始化 + * 管理初始化 */ var TDriver = { id: "TDriverTable", //表格id @@ -14,178 +14,68 @@ TDriver.initColumn = function () { return [ {field: 'selectItem', radio: true}, - {title: '主键ID', field: 'id', visible: false, align: 'center', valign: 'middle'}, - {title: '添加时间', field: 'insertTime', visible: true, align: 'center', valign: 'middle',width:'10%', - formatter: function (value, row) { - var btn = ""; - if(row.insertTime != '' && row.insertTime != null) { - var time = row.insertTime.replace(" ",'<br>'); - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.insertTime + '" onfocus="TUser.tooltip()">' + time + '</p>'] - } - return btn; - } - }, - {title: '司机姓名', field: 'name', visible: true, align: 'center', valign: 'middle', - formatter: function (value, row) { - var btn = ""; - if(row.name != '' && row.name != null) { - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.name + '" onfocus="TUser.tooltip()">' + row.name + '</p>'] - } - return btn; - } - }, - {title: '司机头像', field: 'headImgUrl', visible: true, align: 'center', valign: 'middle',width:'10%', - formatter: function (value, row) { - if (row.headImgUrl == null || row.headImgUrl == '') { - return '<a class = "view" href="javascript:void(0)"><img style="width: 50px;height:50px;" src="' + Feng.ctxPath + '/static/img/NoPIC.png" /></a>'; - } else { - return '<a class = "view" href="javascript:void(0)"><img style="width: 90px;height:50px;" src="' + row.headImgUrl + '" /></a>'; - } - }, - events: 'operateEvents' - }, - {title: '司机来源', field: 'addType', visible: true, align: 'center', valign: 'middle', - formatter: function (value, row) { - var btn = ""; - if(row.addType != '' && row.addType != null) { - if(row.addType == 1){ - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="司机注册" onfocus="TUser.tooltip()">司机注册</p>'] - }else if (row.addType == 2){ - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="平台添加" onfocus="TUser.tooltip()">平台添加</p>'] - }else if (row.addType == 3){ - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="分公司添加" onfocus="TUser.tooltip()">分公司添加</p>'] - }else if (row.addType == 4){ - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="加盟商添加" onfocus="TUser.tooltip()">加盟商添加</p>'] + {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'}, + {title: '编号', field: 'code', visible: true, align: 'center', valign: 'middle'}, + {title: '姓名', field: 'name', visible: true, align: 'center', valign: 'middle'}, + {title: '手机号', field: 'phone', visible: true, align: 'center', valign: 'middle'}, + {title: '性别', field: 'sex', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + if (row.sex === 1){ + return '<span>男</span>' + }else if (row.sex === 2){ + return '<span>女</span>' + }else { + return '<span>未知</span>' } - } - return btn; - } - }, - {title: '企业id', field: 'companyId', visible: false, align: 'center', valign: 'middle'}, - {title: '所属分公司', field: 'companyName', visible: true, align: 'center', valign: 'middle', + }}, + {title: '驾驶证号码', field: 'driverLicenseNumber', visible: true, align: 'center', valign: 'middle'}, + {title: '身份证号码', field: 'idcard', visible: true, align: 'center', valign: 'middle'}, + {title: '身份证', field: 'source', visible: true, align: 'center', valign: 'middle', formatter: function (value, row) { - var btn = ""; - if(row.companyName != '' && row.companyName != null) { - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.companyName + '" onfocus="TUser.tooltip()">' + row.companyName + '</p>'] + if (null != row.idcardFront){ + return '<span>已上传</span>' }else{ - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="-" onfocus="TUser.tooltip()">-</p>'] + return '<span>未上传</span>' } - return btn; - } - }, - {title: '所属加盟商', field: 'franchiseeName', visible: true, align: 'center', valign: 'middle', + }}, + {title: '所属代理商', field: 'agentName', visible: true, align: 'center', valign: 'middle'}, + {title: '所属分公司', field: 'branchName', visible: true, align: 'center', valign: 'middle'}, + {title: '钱包余额', field: 'balance', visible: true, align: 'center', valign: 'middle'}, + {title: '累计订单量', field: 'cumulativeOrderCount', visible: true, align: 'center', valign: 'middle'}, + {title: '当月订单量', field: 'monthOrderCount', visible: true, align: 'center', valign: 'middle'}, + {title: '积分', field: 'integral', visible: true, align: 'center', valign: 'middle'}, + {title: '拒单次数', field: 'refusalCount', visible: true, align: 'center', valign: 'middle'}, + {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle', formatter: function (value, row) { - var btn = ""; - if(row.franchiseeName != '' && row.franchiseeName != null) { - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.franchiseeName + '" onfocus="TUser.tooltip()">' + row.franchiseeName + '</p>'] - }else{ - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="-" onfocus="TUser.tooltip()">-</p>'] + if (row.status === 1){ + return '<span>正常</span>' + }else if (row.status === 2){ + return '<span>冻结</span>' + }else if (row.status === 3){ + return '<span>已删除</span>' } - return btn; - } - }, - {title: '登录账号【手机号】', field: 'phone', visible: true, align: 'center', valign: 'middle', + }}, + {title: '审核状态', field: 'approvalStatus', visible: true, align: 'center', valign: 'middle', formatter: function (value, row) { - var btn = ""; - if(row.phone != '' && row.phone != null) { - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.phone + '" onfocus="TUser.tooltip()">' + row.phone + '</p>'] + if (row.approvalStatus === 1){ + return '<span>待审核</span>' + }else if (row.approvalStatus === 2){ + return '<span>审核通过</span>' + }else if (row.approvalStatus === 3){ + return '<span>审核不通过</span>' } - return btn; - } - }, - {title: '性别', field: 'sex', visible: true, align: 'center', valign: 'middle', + }}, + {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'}, + {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, formatter: function (value, row) { - var btn = ""; - if(row.sex != '' && row.sex != null) { - if (row.sex == 1) { - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="男" onfocus="TUser.tooltip()">男</p>'] - }else if (row.sex == 2){ - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="女" onfocus="TUser.tooltip()">女</p>'] - } + if (row.status === 1){ + return '<a href="#" onclick="TDriver.searchTDriverDetail('+row.id+')" style="color:green">详情</a>' +' ' + + '<a href="#" onclick="TDriver.stop('+row.id+','+row.status+')" style="color:red">冻结</a>' +' ' + + '<a href="#" onclick="TDriver.updateInfo('+row.id+')" style="color:green">编辑</a>' + }else if (row.status === 2){ + return '<a href="#" onclick="TDriver.searchTDriverDetail('+row.id+')" style="color:green">详情</a>' +' ' + + '<a href="#" onclick="TDriver.start('+row.id+','+row.status+')" style="color:green">解冻</a>' } - return btn; - } - }, - {title: '驾驶证号码', field: 'driveCard', visible: true, align: 'center', valign: 'middle', - formatter: function (value, row) { - var btn = ""; - if(row.driveCard != '' && row.driveCard != null) { - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.driveCard + '" onfocus="TUser.tooltip()">' + row.driveCard + '</p>'] - } - return btn; - } - }, - {title: '驾龄', field: 'driverAge', visible: true, align: 'center', valign: 'middle', - formatter: function (value, row) { - var btn = ""; - if(row.driverAge != '' && row.driverAge != null) { - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.driverAge + '" onfocus="TUser.tooltip()">' + row.driverAge + '</p>'] - }else{ - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="0" onfocus="TUser.tooltip()">0</p>'] - } - return btn; - } - }, - {title: '身份证号码', field: 'idCard', visible: true, align: 'center', valign: 'middle', - formatter: function (value, row) { - var btn = ""; - if(row.idCard != '' && row.idCard != null) { - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.idCard + '" onfocus="TUser.tooltip()">' + row.idCard + '</p>'] - } - return btn; - } - }, - {title: '服务模式', field: 'serverStr', visible: true, align: 'center', valign: 'middle', - formatter: function (value, row) { - var btn = ""; - if(row.serverStr != '' && row.serverStr != null) { - var labelStr = ""; - var labelStrs = ""; - var labelArray = row.serverStr.split(","); - for(var i=0;i<labelArray.length;i++){ - labelStr += labelArray[i] +"<br>"; - labelStrs += labelArray[i] + " "; - } - labelStr = labelStr.substring(0,labelStr.length-4); - labelStrs = labelStrs.substring(0,labelStrs.length-5); - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + labelStrs + '" onfocus="TUser.tooltip()">' + labelStr + '</p>'] - } - return btn; - } - }, - /*{title: '账号', field: 'phone', visible: true, align: 'center', valign: 'middle', - formatter: function (value, row) { - var btn = ""; - if(row.phone != '' && row.phone != null) { - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.phone + '" onfocus="TUser.tooltip()">' + row.phone + '</p>'] - } - return btn; - } - },*/ - /*{title: '备注', field: 'remark', visible: true, align: 'center', valign: 'middle', - formatter: function (value, row) { - var btn = ""; - if(row.remark != '' && row.remark != null){ - var str = row.remark; - if (row.remark.length > 10){ - str = row.remark.substring(0,10)+"..."; - } - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.remark + '" onfocus="TUser.tooltip()">' + str + '</p>'] - } - return btn; - } - },*/ - {title: '状态', field: 'authState', visible: true, align: 'center', valign: 'middle', - formatter: function (value, row) { - var btn = ""; - if(row.authState != '' && row.authState != null) { - if (row.authState == 1) { - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: red;" title="待审核" onfocus="TUser.tooltip()">待审核</p>'] - }else if (row.authState == 4){ - btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="已拒绝" onfocus="TUser.tooltip()">已拒绝</p>'] - } - } - return btn; } } ]; @@ -206,102 +96,235 @@ }; /** - * 立即审核 + * 点击添加 */ -TDriver.immediately = function(){ - if (this.check()) { - var authState = TDriver.seItem.authState; - if(authState != 1){ - swal("操作失败", "待审核状态下才能执行此操作!", "warning"); - return; - } - var index = layer.open({ - type: 2, - title: '立即审核', - area: ['100%', '100%'], //宽高 - fix: false, //不固定 - maxmin: true, - content: Feng.ctxPath + '/tDriver/tDriver_immediately/' + TDriver.seItem.id - }); - this.layerIndex = index; - } -} +TDriver.openAddTDriver = function () { + var index = layer.open({ + type: 2, + title: '添加', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tDriver/tDriver_add' + }); + this.layerIndex = index; +}; /** - * 查看详情 + * 打开查看详情 */ -TDriver.look = function(){ +TDriver.openTDriverDetail = function () { if (this.check()) { var index = layer.open({ type: 2, - title: '查看详情', - area: ['100%', '100%'], //宽高 + title: '详情', + area: ['800px', '420px'], //宽高 fix: false, //不固定 maxmin: true, - content: Feng.ctxPath + '/tDriver/tDriver_look/' + TDriver.seItem.id + content: Feng.ctxPath + '/tDriver/tDriver_update/' + TDriver.seItem.id }); this.layerIndex = index; } -} +}; /** - * 删除司机审核列表 + * 打开查看详情(使用中) + */ +TDriver.searchTDriverDetail = function (id) { + var index = layer.open({ + type: 2, + title: '详情', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tDriver/driverDetail?tDriverId=' + id + }); + this.layerIndex = index; +}; + +/** + * 删除 */ TDriver.delete = function () { if (this.check()) { - var nickname = TDriver.seItem.name; - if (nickname == "" || nickname == null || nickname == undefined) { - nickname = "该司机"; - } else { - nickname = "【" + nickname + "】"; - } - swal({ - title: "您是否确认删除" + nickname + "?", - text: "请谨慎操作,删除后数据无法恢复!", - type: "warning", - showCancelButton: true, - confirmButtonColor: "#DD6B55", - confirmButtonText: "删除", - closeOnConfirm: false - }, function () { - var ajax = new $ax(Feng.ctxPath + "/tDriver/delete", function (data) { - swal("删除成功", "您已经删除了" + nickname + "。", "success"); - AppMachineInfo.table.refresh(); - }, function (data) { - swal("删除失败", data.responseJSON.message + "!", "warning"); - }); - ajax.set("tDriverId", TDriver.seItem.id); - ajax.start(); + var ajax = new $ax(Feng.ctxPath + "/tDriver/delete", function (data) { + Feng.success("删除成功!"); + TDriver.table.refresh(); + }, function (data) { + Feng.error("删除失败!" + data.responseJSON.message + "!"); }); + ajax.set("tDriverId",this.seItem.id); + ajax.start(); } }; /** - * 查询司机审核列表列表 + * 停用页面 + */ +TDriver.stop = function (id) { + var index = layer.open({ + type: 2, + title: '停用', + area: ['45%', '50%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tDriver/tDriver_start_and_stop?id='+id + }); + this.layerIndex = index; +}; + +/** + * 启动页面 + */ +TDriver.start = function (id) { + var index = layer.open({ + type: 2, + title: '启用', + area: ['45%', '50%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tDriver/tDriver_start_and_stop?id='+id + }); + this.layerIndex = index; +}; + +/** + * 提交启用冻结 + */ +TDriver.updateStatus = function () { + var ajax = new $ax(Feng.ctxPath + "/tDriver/update-status", function (data) { + Feng.success("修改成功!"); + TDriverInfoDlg.close(); + parent.TDriver.table.refresh(); + }, function (data) { + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set("id",$("#id").val()); + ajax.set("status",$("#status").val()); + if($("#status").val() == 1){ + ajax.set("remark",$("#stopRemark").val()); + } + if($("#status").val() == 2){ + ajax.set("remark",$("#startRemark").val()); + } + ajax.start(); +}; + +/** + * 跳转充值余额页面 + * @param id + */ +TDriver.rechargeBalancePage = function () { + if (this.check()) { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + var id = selected[0].id; + var index = layer.open({ + type: 2, + title: '充值余额', + area: ['45%', '20%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tDriver/rechargeBalancePage?id=' + id + }); + this.layerIndex = index; + } +}; + +/** + * 提交充值 + */ +TDriver.rechargeBalance = function () { + var ajax = new $ax(Feng.ctxPath + "/tDriver/recharge-balance", function (data) { + Feng.success("修改成功!"); + TDriverInfoDlg.close(); + parent.TDriver.table.refresh(); + }, function (data) { + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set("id",$("#id").val()); + ajax.set("money",$("#backgroundBalance").val()); + ajax.start(); +}; + +/** + * 司机信息导出 + */ +TDriver.export=function(){ + var createTime=$("#createTime").val() + var phone=$("#phone").val() + var status=$("#status").val() + window.location.href=Feng.ctxPath + "/tDriver/export?createTime="+createTime + +"&status="+status + +"&phone="+phone + ; +} + +/** + * 跳转审核页面 + * @param id + */ +TDriver.auditPage = function () { + if (this.check()) { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + var id = selected[0].id; + var approvalStatus = selected[0].approvalStatus; + if(approvalStatus != 1){ + Feng.info("该条数据已审核!"); + return false; + } + var index = layer.open({ + type: 2, + title: '审核详情', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tDriver/auditPage?id=' + id + }); + this.layerIndex = index; + } +}; + +/** + * 提交审核 + */ +TDriver.auditSubmit = function () { + var ajax = new $ax(Feng.ctxPath + "/tDriver/auditSubmit", function (data) { + Feng.success("修改成功!"); + TDriverInfoDlg.close(); + parent.TDriver.table.refresh(); + }, function (data) { + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set("id",$("#id").val()); + ajax.set("approvalStatus",$("#approvalStatus").val()); + ajax.set("approvalNotes",$("#approvalNotes").val()); + ajax.start(); +}; + +/** + * 查询列表 */ TDriver.search = function () { var queryData = {}; - queryData['insertTime'] = $("#insertTime").val(); - queryData['companyName'] = $("#companyName").val(); + queryData['createTime'] = $("#createTime").val(); queryData['phone'] = $("#phone").val(); - queryData['account'] = $("#account").val(); - queryData['addType'] = $("#addType").val(); - queryData['authState'] = $("#authState").val(); + queryData['status'] = $("#status").val(); TDriver.table.refresh({query: queryData}); }; -TDriver.resetSearch = function () { - $("#insertTime").val(""); - $("#companyName").val(""); - $("#phone").val(""); - $("#account").val(""); - $("#addType").val(""); - $("#authState").val(""); + +/** + * 重置 + */ +TDriver.resetSearch = function (){ + $("#createTime").val(''); + $("#phone").val(''); + $("#status").val(''); TDriver.search(); -}; +} $(function () { var defaultColunms = TDriver.initColumn(); var table = new BSTable(TDriver.id, "/tDriver/list", defaultColunms); - table.setPaginationType("server"); + table.setPaginationType("client"); TDriver.table = table.init(); }); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriverException.js b/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriverException.js new file mode 100644 index 0000000..dfeb8aa --- /dev/null +++ b/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriverException.js @@ -0,0 +1,230 @@ +/** + * 管理初始化 + */ +var TDriverException = { + id: "TDriverExceptionTable", //表格id + seItem: null, //选中的条目 + table: null, + layerIndex: -1 +}; + +/** + * 初始化表格的列 + */ +TDriverException.initColumn = function () { + return [ + {field: 'selectItem', radio: true}, + {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'}, + {title: '编号', field: 'code', visible: true, align: 'center', valign: 'middle'}, + {title: '姓名', field: 'name', visible: true, align: 'center', valign: 'middle'}, + {title: '手机号', field: 'phone', visible: true, align: 'center', valign: 'middle'}, + {title: '性别', field: 'sex', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + if (row.sex === 1){ + return '<span>男</span>' + }else if (row.sex === 2){ + return '<span>女</span>' + }else { + return '<span>未知</span>' + } + }}, + {title: '驾驶证号码', field: 'driverLicenseNumber', visible: true, align: 'center', valign: 'middle'}, + {title: '身份证号码', field: 'idcard', visible: true, align: 'center', valign: 'middle'}, + {title: '身份证', field: 'source', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + if (null != row.idcardFront){ + return '<span>已上传</span>' + }else{ + return '<span>未上传</span>' + } + }}, + {title: '累计订单量', field: 'cumulativeOrderCount', visible: true, align: 'center', valign: 'middle'}, + {title: '当月订单量', field: 'monthOrderCount', visible: true, align: 'center', valign: 'middle'}, + {title: '积分', field: 'integral', visible: true, align: 'center', valign: 'middle'}, + {title: '连续未上线(天)', field: 'refusalCount', visible: true, align: 'center', valign: 'middle'}, + {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + return '<span>异常</span>' + }}, + {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'}, + {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, + formatter: function (value, row) { + if (row.status === 1){ + return '<a href="#" onclick="TDriverException.stop('+row.id+','+row.status+')" style="color:red">冻结</a>' + }else if (row.status === 2){ + return '<a href="#" onclick="TDriverException.start('+row.id+','+row.status+')" style="color:green">解冻</a>' + } + } + } + ]; +}; + +/** + * 检查是否选中 + */ +TDriverException.check = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length == 0){ + Feng.info("请先选中表格中的某一记录!"); + return false; + }else{ + TDriverException.seItem = selected[0]; + return true; + } +}; + +/** + * 点击添加 + */ +TDriverException.openAddTDriver = function () { + var index = layer.open({ + type: 2, + title: '添加', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tDriver/tDriver_add' + }); + this.layerIndex = index; +}; + +/** + * 打开查看详情 + */ +TDriverException.openTDriverDetail = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '详情', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tDriver/tDriver_update/' + TDriver.seItem.id + }); + this.layerIndex = index; + } +}; + +/** + * 删除 + */ +TDriverException.delete = function () { + if (this.check()) { + var ajax = new $ax(Feng.ctxPath + "/tDriver/delete", function (data) { + Feng.success("删除成功!"); + TDriver.table.refresh(); + }, function (data) { + Feng.error("删除失败!" + data.responseJSON.message + "!"); + }); + ajax.set("tDriverId",this.seItem.id); + ajax.start(); + } +}; + +/** + * 停用页面 + */ +TDriverException.stop = function (id) { + var index = layer.open({ + type: 2, + title: '停用', + area: ['45%', '50%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tDriver/tDriverException_start_and_stop?id='+id + }); + this.layerIndex = index; +}; + +/** + * 启动页面 + */ +TDriverException.start = function (id) { + var index = layer.open({ + type: 2, + title: '启用', + area: ['45%', '50%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tDriver/tDriverException_start_and_stop?id='+id + }); + this.layerIndex = index; +}; + +/** + * 提交启用冻结 + */ +TDriverException.updateStatus = function () { + var ajax = new $ax(Feng.ctxPath + "/tDriver/update-status", function (data) { + Feng.success("修改成功!"); + TDriverInfoDlg.closeException(); + parent.TDriverException.table.refresh(); + }, function (data) { + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set("id",$("#id").val()); + ajax.set("status",$("#status").val()); + if($("#status").val() == 1){ + ajax.set("remark",$("#stopRemark").val()); + } + if($("#status").val() == 2){ + ajax.set("remark",$("#startRemark").val()); + } + ajax.start(); +}; + +/** + * 司机异常信息导出 + */ +TDriverException.export=function(){ + var createTime=$("#createTime").val() + var phone=$("#phone").val() + var status=$("#status").val() + window.location.href=Feng.ctxPath + "/tDriver/export-exception?createTime="+createTime + +"&status="+status + +"&phone="+phone + ; +} + +/** + * 司机异常列表 + */ +TDriverException.tDriverException = function () { + var index = layer.open({ + type: 2, + title: '司机异常列表', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tDriver/tDriver_exception' + }); + this.layerIndex = index; +}; + +/** + * 查询列表 + */ +TDriverException.search = function () { + var queryData = {}; + queryData['createTime'] = $("#createTime").val(); + queryData['phone'] = $("#phone").val(); + queryData['status'] = $("#status").val(); + TDriverException.table.refresh({query: queryData}); +}; + +/** + * 重置 + */ +TDriverException.resetSearch = function (){ + $("#createTime").val(''); + $("#phone").val(''); + $("#status").val(''); + TDriverException.search(); +} + +$(function () { + var defaultColunms = TDriverException.initColumn(); + var table = new BSTable(TDriverException.id, "/tDriver/exceptionList", defaultColunms); + table.setPaginationType("client"); + TDriverException.table = table.init(); +}); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver_info.js b/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver_info.js index 3180e08..f7c9bf5 100644 --- a/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver_info.js +++ b/management/guns-admin/src/main/webapp/static/modular/system/tDriver/tDriver_info.js @@ -1,5 +1,5 @@ /** - * 初始化司机审核列表详情对话框 + * 初始化详情对话框 */ var TDriverInfoDlg = { tDriverInfoData : {} @@ -40,91 +40,43 @@ parent.layer.close(window.parent.TDriver.layerIndex); } +TDriverInfoDlg.closeException = function() { + parent.layer.close(window.parent.TDriverException.layerIndex); +} + /** * 收集数据 */ TDriverInfoDlg.collectData = function() { this .set('id') - .set('account') - .set('jobNumber') + .set('code') + .set('name') + .set('avatar') .set('phone') .set('password') - .set('name') .set('sex') - .set('idCard') - .set('companyId') - .set('headImgUrl') - .set('faceImgUrl') - .set('idCardImgUrl1') - .set('idCardImgUrl2') - .set('placeOfEmployment') - .set('birthday') - .set('bankCardNumber') - .set('driverNationality') - .set('driverNation') - .set('driverMaritalStatus') - .set('driverLanguageLevel') - .set('driverEducation') - .set('driverCensus') - .set('driverAddress') - .set('driverContactAddress') - .set('licenseCode') - .set('licenselImgUrl') - .set('driverAge') - .set('driveCard') - .set('driveCardImgUrl') - .set('driverType') - .set('getDriverLicenseDate') - .set('driverLicenseOn') - .set('driverLicenseOff') - .set('taxiDriver') - .set('taxiAptitudeCard') - .set('networkCarlssueImg') - .set('networkCarlssueOrganization') - .set('networkCarlssueDate') - .set('getNetworkCarProofDate') - .set('networkCarProofOn') - .set('networkCarProofOff') - .set('registerDate') - .set('fullTimeDriver') - .set('inDriverBlacklist') - .set('commercialType') - .set('contractCompany') - .set('contractOn') - .set('contractOff') + .set('source') .set('emergencyContact') - .set('emergencyContactPhone') - .set('emergencyContactAddress') - .set('remark') - .set('isPlatCar') - .set('carId') - .set('authState') - .set('state') - .set('flag') - .set('insertTime') - .set('insertUser') - .set('updateTime') - .set('updateUser') - .set('addType'); -} - -/** - * 审核操作 - */ -TDriverInfoDlg.authOpt = function(){ - var authState = $("input[name='authState']:checked").val(); - //提交信息 - var ajax = new $ax(Feng.ctxPath + "/tDriver/authOpt", function(data){ - Feng.success("操作成功!"); - window.parent.TDriver.table.refresh(); - TDriverInfoDlg.close(); - },function(data){ - Feng.error("操作失败!" + data.responseJSON.message + "!"); - }); - ajax.set("id",$("#id").val()); - ajax.set("authState",authState); - ajax.start(); + .set('emergencyPhone') + .set('driverLicenseNumber') + .set('driverLicense') + .set('idcard') + .set('idcardFront') + .set('idcardBack') + .set('inviterType') + .set('inviterId') + .set('agentId') + .set('branchOfficeId') + .set('balance') + .set('approvalStatus') + .set('approvalNotes') + .set('approvalUserId') + .set('approvalTime') + .set('serverStatus') + .set('integral') + .set('status') + .set('createTime'); } /** diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tOrderRefusal/tOrderRefusal.js b/management/guns-admin/src/main/webapp/static/modular/system/tOrderRefusal/tOrderRefusal.js new file mode 100644 index 0000000..96a107c --- /dev/null +++ b/management/guns-admin/src/main/webapp/static/modular/system/tOrderRefusal/tOrderRefusal.js @@ -0,0 +1,101 @@ +/** + * 管理初始化 + */ +var TOrderRefusal = { + id: "TOrderRefusalTable", //表格id + seItem: null, //选中的条目 + table: null, + layerIndex: -1 +}; + +/** + * 初始化表格的列 + */ +TOrderRefusal.initColumn = function () { + return [ + {field: 'selectItem', radio: true}, + {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'}, + {title: '拒单时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'}, + {title: '订单编号', field: 'code', visible: true, align: 'center', valign: 'middle'}, + {title: '起点地址', field: 'startAddress', visible: true, align: 'center', valign: 'middle'}, + {title: '终点地址', field: 'endAddress', visible: true, align: 'center', valign: 'middle'} + ]; +}; + +/** + * 检查是否选中 + */ +TOrderRefusal.check = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length == 0){ + Feng.info("请先选中表格中的某一记录!"); + return false; + }else{ + TOrderRefusal.seItem = selected[0]; + return true; + } +}; + +/** + * 点击添加 + */ +TOrderRefusal.openAddTOrderRefusal = function () { + var index = layer.open({ + type: 2, + title: '添加', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tOrderRefusal/tOrderRefusal_add' + }); + this.layerIndex = index; +}; + +/** + * 打开查看详情 + */ +TOrderRefusal.openTOrderRefusalDetail = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '详情', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tOrderRefusal/tOrderRefusal_update/' + TOrderRefusal.seItem.id + }); + this.layerIndex = index; + } +}; + +/** + * 删除 + */ +TOrderRefusal.delete = function () { + if (this.check()) { + var ajax = new $ax(Feng.ctxPath + "/tOrderRefusal/delete", function (data) { + Feng.success("删除成功!"); + TOrderRefusal.table.refresh(); + }, function (data) { + Feng.error("删除失败!" + data.responseJSON.message + "!"); + }); + ajax.set("tOrderRefusalId",this.seItem.id); + ajax.start(); + } +}; + +/** + * 查询列表 + */ +TOrderRefusal.search = function () { + var queryData = {}; + queryData['condition'] = $("#condition").val(); + TOrderRefusal.table.refresh({query: queryData}); +}; + +$(function () { + var defaultColunms = TOrderRefusal.initColumn(); + var table = new BSTable(TOrderRefusal.id, "/tOrderRefusal/list", defaultColunms); + table.setPaginationType("client"); + TOrderRefusal.table = table.init(); +}); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tOrderRefusal/tOrderRefusal_info.js b/management/guns-admin/src/main/webapp/static/modular/system/tOrderRefusal/tOrderRefusal_info.js new file mode 100644 index 0000000..3974b61 --- /dev/null +++ b/management/guns-admin/src/main/webapp/static/modular/system/tOrderRefusal/tOrderRefusal_info.js @@ -0,0 +1,99 @@ +/** + * 初始化详情对话框 + */ +var TOrderRefusalInfoDlg = { + tOrderRefusalInfoData : {} +}; + +/** + * 清除数据 + */ +TOrderRefusalInfoDlg.clearData = function() { + this.tOrderRefusalInfoData = {}; +} + +/** + * 设置对话框中的数据 + * + * @param key 数据的名称 + * @param val 数据的具体值 + */ +TOrderRefusalInfoDlg.set = function(key, val) { + this.tOrderRefusalInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; + return this; +} + +/** + * 设置对话框中的数据 + * + * @param key 数据的名称 + * @param val 数据的具体值 + */ +TOrderRefusalInfoDlg.get = function(key) { + return $("#" + key).val(); +} + +/** + * 关闭此对话框 + */ +TOrderRefusalInfoDlg.close = function() { + parent.layer.close(window.parent.TOrderRefusal.layerIndex); +} + +/** + * 收集数据 + */ +TOrderRefusalInfoDlg.collectData = function() { + this + .set('id') + .set('orderId') + .set('driverId') + .set('startAddress') + .set('endAddress') + .set('code') + .set('createTime'); +} + +/** + * 提交添加 + */ +TOrderRefusalInfoDlg.addSubmit = function() { + + this.clearData(); + this.collectData(); + + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tOrderRefusal/add", function(data){ + Feng.success("添加成功!"); + window.parent.TOrderRefusal.table.refresh(); + TOrderRefusalInfoDlg.close(); + },function(data){ + Feng.error("添加失败!" + data.responseJSON.message + "!"); + }); + ajax.set(this.tOrderRefusalInfoData); + ajax.start(); +} + +/** + * 提交修改 + */ +TOrderRefusalInfoDlg.editSubmit = function() { + + this.clearData(); + this.collectData(); + + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tOrderRefusal/update", function(data){ + Feng.success("修改成功!"); + window.parent.TOrderRefusal.table.refresh(); + TOrderRefusalInfoDlg.close(); + },function(data){ + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set(this.tOrderRefusalInfoData); + ajax.start(); +} + +$(function() { + +}); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tRechargeRecord/tRechargeRecord.js b/management/guns-admin/src/main/webapp/static/modular/system/tRechargeRecord/tRechargeRecord.js new file mode 100644 index 0000000..3409770 --- /dev/null +++ b/management/guns-admin/src/main/webapp/static/modular/system/tRechargeRecord/tRechargeRecord.js @@ -0,0 +1,106 @@ +/** + * 管理初始化 + */ +var TRechargeRecord = { + id: "TRechargeRecordTable", //表格id + seItem: null, //选中的条目 + table: null, + layerIndex: -1 +}; + +/** + * 初始化表格的列 + */ +TRechargeRecord.initColumn = function () { + return [ + {field: 'selectItem', radio: true}, + {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'}, + {title: '数据类型(1=用户,2=司机)', field: 'type', visible: true, align: 'center', valign: 'middle'}, + {title: '用户id', field: 'userId', visible: true, align: 'center', valign: 'middle'}, + {title: '流水号', field: 'code', visible: true, align: 'center', valign: 'middle'}, + {title: '充值金额', field: 'amount', visible: true, align: 'center', valign: 'middle'}, + {title: '支付方式(1=微信)', field: 'payType', visible: true, align: 'center', valign: 'middle'}, + {title: '完成支付时间', field: 'payTime', visible: true, align: 'center', valign: 'middle'}, + {title: '支付状态(1=待支付,2=已完成)', field: 'payStatus', visible: true, align: 'center', valign: 'middle'}, + {title: '第三方流水号', field: 'orderNumber', visible: true, align: 'center', valign: 'middle'}, + {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'} + ]; +}; + +/** + * 检查是否选中 + */ +TRechargeRecord.check = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length == 0){ + Feng.info("请先选中表格中的某一记录!"); + return false; + }else{ + TRechargeRecord.seItem = selected[0]; + return true; + } +}; + +/** + * 点击添加 + */ +TRechargeRecord.openAddTRechargeRecord = function () { + var index = layer.open({ + type: 2, + title: '添加', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tRechargeRecord/tRechargeRecord_add' + }); + this.layerIndex = index; +}; + +/** + * 打开查看详情 + */ +TRechargeRecord.openTRechargeRecordDetail = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '详情', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tRechargeRecord/tRechargeRecord_update/' + TRechargeRecord.seItem.id + }); + this.layerIndex = index; + } +}; + +/** + * 删除 + */ +TRechargeRecord.delete = function () { + if (this.check()) { + var ajax = new $ax(Feng.ctxPath + "/tRechargeRecord/delete", function (data) { + Feng.success("删除成功!"); + TRechargeRecord.table.refresh(); + }, function (data) { + Feng.error("删除失败!" + data.responseJSON.message + "!"); + }); + ajax.set("tRechargeRecordId",this.seItem.id); + ajax.start(); + } +}; + +/** + * 查询列表 + */ +TRechargeRecord.search = function () { + var queryData = {}; + queryData['condition'] = $("#condition").val(); + TRechargeRecord.table.refresh({query: queryData}); +}; + +$(function () { + var defaultColunms = TRechargeRecord.initColumn(); + var table = new BSTable(TRechargeRecord.id, "/tRechargeRecord/list", defaultColunms); + table.setPaginationType("client"); + TRechargeRecord.table = table.init(); +}); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tRechargeRecord/tRechargeRecord_info.js b/management/guns-admin/src/main/webapp/static/modular/system/tRechargeRecord/tRechargeRecord_info.js new file mode 100644 index 0000000..4824090 --- /dev/null +++ b/management/guns-admin/src/main/webapp/static/modular/system/tRechargeRecord/tRechargeRecord_info.js @@ -0,0 +1,102 @@ +/** + * 初始化详情对话框 + */ +var TRechargeRecordInfoDlg = { + tRechargeRecordInfoData : {} +}; + +/** + * 清除数据 + */ +TRechargeRecordInfoDlg.clearData = function() { + this.tRechargeRecordInfoData = {}; +} + +/** + * 设置对话框中的数据 + * + * @param key 数据的名称 + * @param val 数据的具体值 + */ +TRechargeRecordInfoDlg.set = function(key, val) { + this.tRechargeRecordInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; + return this; +} + +/** + * 设置对话框中的数据 + * + * @param key 数据的名称 + * @param val 数据的具体值 + */ +TRechargeRecordInfoDlg.get = function(key) { + return $("#" + key).val(); +} + +/** + * 关闭此对话框 + */ +TRechargeRecordInfoDlg.close = function() { + parent.layer.close(window.parent.TRechargeRecord.layerIndex); +} + +/** + * 收集数据 + */ +TRechargeRecordInfoDlg.collectData = function() { + this + .set('id') + .set('type') + .set('userId') + .set('code') + .set('amount') + .set('payType') + .set('payTime') + .set('payStatus') + .set('orderNumber') + .set('createTime'); +} + +/** + * 提交添加 + */ +TRechargeRecordInfoDlg.addSubmit = function() { + + this.clearData(); + this.collectData(); + + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tRechargeRecord/add", function(data){ + Feng.success("添加成功!"); + window.parent.TRechargeRecord.table.refresh(); + TRechargeRecordInfoDlg.close(); + },function(data){ + Feng.error("添加失败!" + data.responseJSON.message + "!"); + }); + ajax.set(this.tRechargeRecordInfoData); + ajax.start(); +} + +/** + * 提交修改 + */ +TRechargeRecordInfoDlg.editSubmit = function() { + + this.clearData(); + this.collectData(); + + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tRechargeRecord/update", function(data){ + Feng.success("修改成功!"); + window.parent.TRechargeRecord.table.refresh(); + TRechargeRecordInfoDlg.close(); + },function(data){ + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set(this.tRechargeRecordInfoData); + ajax.start(); +} + +$(function() { + +}); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tRegion/tRegion.js b/management/guns-admin/src/main/webapp/static/modular/system/tRegion/tRegion.js new file mode 100644 index 0000000..7cba102 --- /dev/null +++ b/management/guns-admin/src/main/webapp/static/modular/system/tRegion/tRegion.js @@ -0,0 +1,102 @@ +/** + * 管理初始化 + */ +var TRegion = { + id: "TRegionTable", //表格id + seItem: null, //选中的条目 + table: null, + layerIndex: -1 +}; + +/** + * 初始化表格的列 + */ +TRegion.initColumn = function () { + return [ + {field: 'selectItem', radio: true}, + {title: '主键ID', field: 'id', visible: true, align: 'center', valign: 'middle'}, + {title: '城市名称', field: 'name', visible: true, align: 'center', valign: 'middle'}, + {title: '', field: 'code', visible: true, align: 'center', valign: 'middle'}, + {title: '', field: 'citycode', visible: true, align: 'center', valign: 'middle'}, + {title: '父级ID', field: 'parentId', visible: true, align: 'center', valign: 'middle'}, + {title: '英文名称', field: 'english', visible: true, align: 'center', valign: 'middle'} + ]; +}; + +/** + * 检查是否选中 + */ +TRegion.check = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length == 0){ + Feng.info("请先选中表格中的某一记录!"); + return false; + }else{ + TRegion.seItem = selected[0]; + return true; + } +}; + +/** + * 点击添加 + */ +TRegion.openAddTRegion = function () { + var index = layer.open({ + type: 2, + title: '添加', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tRegion/tRegion_add' + }); + this.layerIndex = index; +}; + +/** + * 打开查看详情 + */ +TRegion.openTRegionDetail = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '详情', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tRegion/tRegion_update/' + TRegion.seItem.id + }); + this.layerIndex = index; + } +}; + +/** + * 删除 + */ +TRegion.delete = function () { + if (this.check()) { + var ajax = new $ax(Feng.ctxPath + "/tRegion/delete", function (data) { + Feng.success("删除成功!"); + TRegion.table.refresh(); + }, function (data) { + Feng.error("删除失败!" + data.responseJSON.message + "!"); + }); + ajax.set("tRegionId",this.seItem.id); + ajax.start(); + } +}; + +/** + * 查询列表 + */ +TRegion.search = function () { + var queryData = {}; + queryData['condition'] = $("#condition").val(); + TRegion.table.refresh({query: queryData}); +}; + +$(function () { + var defaultColunms = TRegion.initColumn(); + var table = new BSTable(TRegion.id, "/tRegion/list", defaultColunms); + table.setPaginationType("client"); + TRegion.table = table.init(); +}); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tRegion/tRegion_info.js b/management/guns-admin/src/main/webapp/static/modular/system/tRegion/tRegion_info.js new file mode 100644 index 0000000..73d315c --- /dev/null +++ b/management/guns-admin/src/main/webapp/static/modular/system/tRegion/tRegion_info.js @@ -0,0 +1,98 @@ +/** + * 初始化详情对话框 + */ +var TRegionInfoDlg = { + tRegionInfoData : {} +}; + +/** + * 清除数据 + */ +TRegionInfoDlg.clearData = function() { + this.tRegionInfoData = {}; +} + +/** + * 设置对话框中的数据 + * + * @param key 数据的名称 + * @param val 数据的具体值 + */ +TRegionInfoDlg.set = function(key, val) { + this.tRegionInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; + return this; +} + +/** + * 设置对话框中的数据 + * + * @param key 数据的名称 + * @param val 数据的具体值 + */ +TRegionInfoDlg.get = function(key) { + return $("#" + key).val(); +} + +/** + * 关闭此对话框 + */ +TRegionInfoDlg.close = function() { + parent.layer.close(window.parent.TRegion.layerIndex); +} + +/** + * 收集数据 + */ +TRegionInfoDlg.collectData = function() { + this + .set('id') + .set('name') + .set('code') + .set('citycode') + .set('parentId') + .set('english'); +} + +/** + * 提交添加 + */ +TRegionInfoDlg.addSubmit = function() { + + this.clearData(); + this.collectData(); + + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tRegion/add", function(data){ + Feng.success("添加成功!"); + window.parent.TRegion.table.refresh(); + TRegionInfoDlg.close(); + },function(data){ + Feng.error("添加失败!" + data.responseJSON.message + "!"); + }); + ajax.set(this.tRegionInfoData); + ajax.start(); +} + +/** + * 提交修改 + */ +TRegionInfoDlg.editSubmit = function() { + + this.clearData(); + this.collectData(); + + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tRegion/update", function(data){ + Feng.success("修改成功!"); + window.parent.TRegion.table.refresh(); + TRegionInfoDlg.close(); + },function(data){ + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set(this.tRegionInfoData); + ajax.start(); +} + +$(function() { + +}); -- Gitblit v1.7.1