Merge remote-tracking branch 'origin/master'
# Conflicts:
# UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
6个文件已删除
272个文件已修改
2,280个文件已添加
New file |
| | |
| | | /DriverIGOTravel/.idea/ |
| | |
| | | <name>guns-admin</name> |
| | | <description>guns 的spring boot版本</description> |
| | | |
| | | <packaging>jar</packaging> |
| | | <packaging>war</packaging> |
| | | |
| | | <dependencies> |
| | | |
| | | <!-- lombok --> |
| | | <dependency> |
| | | <groupId>org.projectlombok</groupId> |
| | | <artifactId>lombok</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.apache.httpcomponents</groupId> |
| | | <artifactId>httpcore</artifactId> |
| | | <version>4.4.10</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>commons-httpclient</groupId> |
| | | <artifactId>commons-httpclient</artifactId> |
| | | <version>3.1</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.apache.httpcomponents</groupId> |
| | | <artifactId>httpclient</artifactId> |
| | | <version>4.5.6</version> |
| | | </dependency> |
| | | |
| | | |
| | | <dependency> |
| | | <groupId>org.springframework.cloud</groupId> |
| | | <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> |
| | |
| | | <optional>true</optional> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-tomcat</artifactId> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>javax.servlet</groupId> |
| | | <artifactId>javax.servlet-api</artifactId> |
| | | <version>3.1.0</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | <!--<dependency>--> |
| | | <!--<groupId>org.springframework.boot</groupId>--> |
| | | <!--<artifactId>spring-boot-starter-tomcat</artifactId>--> |
| | | <!--<scope>provided</scope>--> |
| | | <!--</dependency>--> |
| | | <!--<dependency>--> |
| | | <!--<groupId>javax.servlet</groupId>--> |
| | | <!--<artifactId>javax.servlet-api</artifactId>--> |
| | | <!--<version>3.1.0</version>--> |
| | | <!--<scope>provided</scope>--> |
| | | <!--</dependency>--> |
| | | |
| | | <!--shiro依赖--> |
| | | <dependency> |
| | |
| | | <artifactId>geodesy</artifactId> |
| | | <version>1.1.3</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.jsoup</groupId> |
| | | <artifactId>jsoup</artifactId> |
| | | <version>1.13.1</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>io.cellulant</groupId> |
| | | <artifactId>CheckoutEncryption</artifactId> |
| | | <version>0.0.1</version> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | | <build> |
| | |
| | | @ApiImplicitParam(value = "车辆颜色", name = "color", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "车牌号", name = "licensePlate", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "年审日期(需要格式化)", name = "time", required = false, dataType = "string"), |
| | | @ApiImplicitParam(value = "行驶证号", name = "drivingLicenseNumber", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "行驶证照片", name = "drivingLicensePhoto", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "行驶证到期时间(yyyy-MM-dd)", name = "drivingLicenseEndTime", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "车辆照片", name = "carPhoto", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "保险照片", name = "insurancePhoto", required = false, dataType = "string"), |
| | | @ApiImplicitParam(value = "保险到期时间(yyyy-MM-dd)", name = "commercialInsuranceTime", required = false, dataType = "string"), |
| | | @ApiImplicitParam(value = "人车合影照片", name = "peopleAndCarsPhone", required = false, dataType = "string"), |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = false, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil addCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicensePhoto, |
| | | String drivingLicenseEndTime, String carPhoto, String insurancePhoto, String commercialInsuranceTime, HttpServletRequest request,Integer id){ |
| | | public ResultUtil addCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicenseNumber, String drivingLicensePhoto, |
| | | String drivingLicenseEndTime, String carPhoto, String insurancePhoto, String commercialInsuranceTime, |
| | | String peopleAndCarsPhone, HttpServletRequest request,Integer id){ |
| | | try { |
| | | Integer uid = driverService.getUserIdFormRedis(request); |
| | | if(null == uid){ |
| | | return ResultUtil.tokenErr(); |
| | | } |
| | | return carService.addCar(modelId, color, licensePlate, time, drivingLicensePhoto, drivingLicenseEndTime, carPhoto, insurancePhoto, commercialInsuranceTime, uid,id); |
| | | return carService.addCar(modelId, color, licensePlate, time, drivingLicenseNumber, drivingLicensePhoto, drivingLicenseEndTime, carPhoto, insurancePhoto |
| | | , commercialInsuranceTime, uid,id, peopleAndCarsPhone); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | |
| | | @Autowired |
| | | private ICityService cityService; |
| | | |
| | | @Value("${share.url}") |
| | | private String shareUrl; |
| | | |
| | | |
| | | |
| | | /** |
| | |
| | | @ApiImplicitParam(value = "手机号码", name = "phone", required = true, dataType = "String"), |
| | | @ApiImplicitParam(value = "场景类型(1=身份验证,2=登录确认,3=用户注册,4=修改密码)", name = "type", required = true, dataType = "String") |
| | | }) |
| | | public ResultUtil queryCaptcha(String phone, Integer type){ |
| | | public ResultUtil queryCaptcha(String phone, Integer type, Integer language){ |
| | | if(ToolUtil.isNotEmpty(phone)){ |
| | | try { |
| | | return driverService.queryCaptcha(phone, type); |
| | | return driverService.queryCaptcha(phone, type, language); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "邮箱地址", name = "email", required = true, dataType = "String"), |
| | | }) |
| | | public ResultUtil queryEmailCaptcha(String email){ |
| | | public ResultUtil queryEmailCaptcha(String email, Integer language){ |
| | | if(ToolUtil.isNotEmpty(email)){ |
| | | try { |
| | | return driverService.queryEmailCaptcha(email); |
| | | return driverService.queryEmailCaptcha(email, language); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | |
| | | public ResultUtil checkCaptcha(String email, String code){ |
| | | try { |
| | | boolean b = driverService.checkCaptcha(email, code); |
| | | // if(b){ |
| | | // Driver driver = driverService.queryByPhone(email); |
| | | // smsrecordService.saveData(null == driver ? 5 : 8, email, code, "验证码【" + code + "】已发到您的邮箱,验证码将在5分钟后失效!"); |
| | | // } |
| | | return b ? ResultUtil.success() : ResultUtil.error("验证码无效"); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | |
| | | @ApiImplicitParam(value = "用户类型(1=用户,2=司机)", name = "type", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "注册类型(1=司机注册,2=用户注册)", name = "userType", required = true, dataType = "int") |
| | | }) |
| | | public ResultUtil registeredDriver(String phone, String code, String password, Integer uid, Integer type, Integer userType){ |
| | | public ResultUtil registeredDriver(String phone, String code, String password, Integer uid, Integer type, Integer userType, Integer language){ |
| | | try { |
| | | return driverService.registeredDriver(phone, code, password, uid, type, userType); |
| | | return driverService.registeredDriver(phone, code, password, uid, type, userType, language); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | |
| | | @ApiImplicitParam(value = "用户类型(1=用户,2=司机)", name = "type", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "注册类型(1=司机注册,2=用户注册)", name = "userType", required = true, dataType = "int") |
| | | }) |
| | | public ResultUtil<LoginWarpper> registeredDriver_(String phone, String code, String password, Integer uid, Integer type, Integer userType){ |
| | | public ResultUtil<LoginWarpper> registeredDriver_(String phone, String code, String password, Integer uid, Integer type, Integer userType, Integer language){ |
| | | try { |
| | | return driverService.registeredDriver(phone, code, password, uid, type, userType); |
| | | return driverService.registeredDriver(phone, code, password, uid, type, userType, language); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | |
| | | } |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/driver/queryNeedCertificate") |
| | | @ApiOperation(value = "注册完善个人信息根据选择的从业地判断是否需要网约车资格证", tags = {"司机端-注册"}, notes = "0=城市未开通,1=是,2=否") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "城市行政编号", name = "code", required = true, dataType = "String") |
| | | }) |
| | | public ResultUtil queryNeedCertificate(String code){ |
| | | try { |
| | | Integer integer = driverService.queryNeedCertificate(code); |
| | | return ResultUtil.success(integer == null ? 0 : integer); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | |
| | | @ResponseBody |
| | |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "司机id", name = "uid", required = true, dataType = "int") |
| | | }) |
| | | public ResultUtil updateDriver(RegisteredWarpper registeredWarpper, Integer uid){ |
| | | public ResultUtil updateDriver(RegisteredWarpper registeredWarpper, Integer uid, Integer language){ |
| | | try { |
| | | return driverService.updateDriver(registeredWarpper, uid); |
| | | return driverService.updateDriver(registeredWarpper, uid, language); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/api/driver/editEmail") |
| | | @ApiOperation(value = "个人中心修改邮箱【1.0】", tags = {"司机端-个人中心"}, notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "邮箱", name = "email", required = true, dataType = "string"), |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil editEmail(String email, HttpServletRequest request){ |
| | | try { |
| | | Integer uid = driverService.getUserIdFormRedis(request); |
| | | if(null == uid){ |
| | | return ResultUtil.tokenErr(); |
| | | } |
| | | Driver driver = driverService.selectById(uid); |
| | | driver.setEmail(email); |
| | | driverService.updateById(driver); |
| | | return ResultUtil.success(); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 司机注册后完善车辆信息 |
| | | * @param |
| | |
| | | @ApiImplicitParam(value = "车辆颜色", name = "color", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "车牌号", name = "licensePlate", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "年审日期(需要格式化)", name = "time", required = false, dataType = "string"), |
| | | @ApiImplicitParam(value = "行驶证号", name = "drivingLicenseNumber", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "行驶证照片", name = "drivingLicensePhoto", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "行驶证到期时间(yyyy-MM-dd)", name = "drivingLicenseEndTime", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "车辆照片", name = "carPhoto", required = true, dataType = "string"), |
| | | @ApiImplicitParam(value = "保险照片", name = "insurancePhoto", required = false, dataType = "string"), |
| | | @ApiImplicitParam(value = "保险到期时间(yyyy-MM-dd)", name = "commercialInsuranceTime", required = false, dataType = "string"), |
| | | @ApiImplicitParam(value = "人车合一照片", name = "peopleAndCarsPhone", required = false, dataType = "string"), |
| | | @ApiImplicitParam(value = "司机id", name = "uid", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "车辆id", name = "carId", required = false, dataType = "int") |
| | | }) |
| | | public ResultUtil addDriverCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicensePhoto, String drivingLicenseEndTime, |
| | | String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid, Integer carId){ |
| | | public ResultUtil addDriverCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicenseNumber, String drivingLicensePhoto, String drivingLicenseEndTime, |
| | | String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid, Integer carId, String peopleAndCarsPhone){ |
| | | try { |
| | | return carService.addCar(modelId, color, licensePlate, time, drivingLicensePhoto, drivingLicenseEndTime, carPhoto, insurancePhoto, commercialInsuranceTime, uid,carId); |
| | | return carService.addCar(modelId, color, licensePlate, time, drivingLicenseNumber, drivingLicensePhoto, drivingLicenseEndTime, carPhoto, insurancePhoto, commercialInsuranceTime, uid,carId, peopleAndCarsPhone); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | |
| | | @ApiImplicitParam(value = "验证码", name = "code", required = true, dataType = "String"), |
| | | @ApiImplicitParam(value = "新密码", name = "password", required = true, dataType = "String") |
| | | }) |
| | | public ResultUtil resetPassword(String phone, String code, String password){ |
| | | public ResultUtil resetPassword(String phone, String code, String password, Integer language){ |
| | | try { |
| | | return driverService.resetPassword(phone, code, password); |
| | | return driverService.resetPassword(phone, code, password, language); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | |
| | | Map<String, Object> map = driverService.queryInfo(uid); |
| | | map.put("qrCodeIsOpen",driverService.getAppOpenInfo(1)==1); |
| | | DriverInfoWarpper driverInfoWarpper = DriverInfoWarpper.getDriverInfoWarpper(map); |
| | | Double money = driverService.getThisWeekMoney(uid); |
| | | driverInfoWarpper.setLaveBusinessMoney(driverInfoWarpper.getLaveBusinessMoney()-(money==null?0d:money)); |
| | | driverInfoWarpper.setLaveBusinessNextWeekMoney(money==null?0d:money); |
| | | // Double money = driverService.getThisWeekMoney(uid); |
| | | // driverInfoWarpper.setLaveBusinessMoney(driverInfoWarpper.getLaveBusinessMoney()-(money==null?0d:money)); |
| | | driverInfoWarpper.setLaveBusinessNextWeekMoney(0D); |
| | | return ResultUtil.success(driverInfoWarpper); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | |
| | | @ApiImplicitParam(value = "新密码", name = "password", required = true, dataType = "String"), |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil updatePassword(String password, HttpServletRequest request){ |
| | | public ResultUtil updatePassword(String password, Integer language, HttpServletRequest request){ |
| | | try { |
| | | Integer uid = driverService.getUserIdFormRedis(request); |
| | | if(null == uid){ |
| | | return ResultUtil.tokenErr(); |
| | | } |
| | | driverService.updatePassword(password, uid); |
| | | driverService.updatePassword(password, uid, language); |
| | | return ResultUtil.success(); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | |
| | | baseWarpper.setAmount(Double.valueOf(String.valueOf(null != map.get("money") ? map.get("money") : 0))); |
| | | switch (Integer.valueOf(String.valueOf(null != map.get("orderType") ? map.get("orderType") : 0))){ |
| | | case 1: |
| | | baseWarpper.setName("快车"); |
| | | baseWarpper.setName("专车"); |
| | | break; |
| | | case 2: |
| | | baseWarpper.setName("出租车"); |
| | |
| | | baseWarpper.setName("城际出行"); |
| | | break; |
| | | case 4: |
| | | baseWarpper.setName("同城小件物流"); |
| | | baseWarpper.setName("市内小件物流"); |
| | | break; |
| | | case 5: |
| | | baseWarpper.setName("跨城小件物流"); |
| | |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/driver/queryShareLink") |
| | | @ApiOperation(value = "获取分享链接及分案", tags = {"司机端-个人中心"}, notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "链接上的type", name = "type", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "链接上的uid", name = "driverId", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "语言", name = "language", required = true, dataType = "int"), |
| | | }) |
| | | public ResultUtil<Map<String, Object>> queryShareLink(Integer type, Integer driverId, Integer language){ |
| | | try { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("link", shareUrl + "?type=" + type + "&uid=" + driverId + "&language=" + (null == language ? 2 : language)); |
| | | return ResultUtil.success(map); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | } |
| | |
| | | @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil sendVerificationCode(Integer orderId){ |
| | | public ResultUtil sendVerificationCode(Integer orderId, Integer language){ |
| | | try { |
| | | orderLogisticsService.sendVerificationCode(orderId); |
| | | orderLogisticsService.sendVerificationCode(orderId, language); |
| | | return ResultUtil.success(); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/api/order/payOrder") |
| | | @ApiOperation(value = "司机订单代付(现金收款)", tags = {"司机端-服务中"}, notes = "") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "订单类型", name = "orderType", required = true, dataType = "int"), |
| | | @ApiImplicitParam(value = "支付方式(1=线上,2=余额)", name = "payType", required = true, dataType = "int"), |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") |
| | | }) |
| | | public ResultUtil payOrder(Integer orderId, Integer orderType, Integer payType, Integer language, HttpServletRequest request){ |
| | | try { |
| | | Integer uid = driverService.getUserIdFormRedis(request); |
| | | if(null == uid){ |
| | | return ResultUtil.tokenErr(); |
| | | } |
| | | return orderService.payOrder(uid, orderId, orderType, payType, language); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | } |
| | |
| | | private IOrderPositionService orderPositionService; |
| | | |
| | | @Autowired |
| | | private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; |
| | | |
| | | @Autowired |
| | | private IOrderCancelService orderCancelService; |
| | | |
| | | @Value("${filePath}") |
| | | private String filePath; |
| | | |
| | | @Value("${pushMinistryOfTransport}") |
| | | private boolean pushMinistryOfTransport; |
| | | |
| | | @Value("${callbackPath}") |
| | | private String callbackPath; |
| | |
| | | userInfo = new UserInfo(); |
| | | Integer integer = userInfoMapper.selectCount(null) + 1000001; |
| | | userInfo.setNickName(ToolUtil.isNotEmpty(orderCrossCityWarpper.getPassengers()) ? orderCrossCityWarpper.getPassengers() : "OK" + String.valueOf(integer).substring(1)); |
| | | userInfo.setName(orderCrossCityWarpper.getPassengers()); |
| | | userInfo.setLastName(orderCrossCityWarpper.getPassengers()); |
| | | userInfo.setPhone(orderCrossCityWarpper.getPassengersPhone()); |
| | | userInfo.setState(1); |
| | | userInfo.setFlag(1); |
| | |
| | | //添加已收入明细 |
| | | Line line = lineService.selectById(orderCrossCity.getLineId()); |
| | | Double speMoney = Double.valueOf(line.getRakeRate()); |
| | | BigDecimal d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_EVEN);//企业收入 |
| | | BigDecimal d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN)));//企业收入 |
| | | BigDecimal c = new BigDecimal(orderCrossCity.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);//司机收入 |
| | | incomeService.saveData(1, orderCrossCity.getCompanyId(), 2, orderCrossCity.getId(), 1, d.doubleValue()); |
| | | incomeService.saveData(2, orderCrossCity.getDriverId(), 2, orderCrossCity.getId(), 1, c.doubleValue()); |
| | |
| | | //添加已收入明细 |
| | | Line line = lineService.selectById(orderCrossCity.getLineId()); |
| | | Double speMoney = Double.valueOf(line.getRakeRate()); |
| | | BigDecimal d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_EVEN);//企业收入 |
| | | BigDecimal d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN)));//企业收入 |
| | | BigDecimal c = new BigDecimal(orderCrossCity.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);//司机收入 |
| | | incomeService.saveData(1, orderCrossCity.getCompanyId(), 2, orderCrossCity.getId(), 3, d.doubleValue()); |
| | | incomeService.saveData(2, orderCrossCity.getDriverId(), 2, orderCrossCity.getId(), 3, c.doubleValue()); |
| | |
| | | select |
| | | a.id as id, |
| | | a.state as orderState, |
| | | if(a.type = 4, '同城小件物流订单', '跨城小件物流订单') as orderName, |
| | | if(a.type = 4, '市内小件物流订单', '跨城小件物流订单') as orderName, |
| | | DATE_FORMAT(a.travelTime, '%m月%d日 %H:%i') as travelTime, |
| | | a.startAddress as startAddress, |
| | | a.endAddress as endAddress, |
| | |
| | | c.remark as cancelRemark, |
| | | c.money as cancelPayMoney, |
| | | if(c.userType = 1, '用户取消', '平台取消') as cancelUser, |
| | | (select isSpecialCar from t_sys_reformist where companyId = a.companyId) as reassign |
| | | (select isSpecialCar from t_sys_reformist where companyId = a.companyId) as reassign, |
| | | a.driverPay |
| | | from t_order_logistics a |
| | | left join t_user b on (a.userId = b.id) |
| | | left join t_order_cancel c on (a.id = c.orderId and c.orderType = a.type and c.state = 2) |
| | |
| | | select |
| | | id as id, |
| | | type as type, |
| | | if(type = 4, '同城小件物流订单', '跨城小件物流订单') as `name`, |
| | | if(type = 4, '市内小件物流订单', '跨城小件物流订单') as `name`, |
| | | DATE_FORMAT(travelTime, '%Y-%m-%d %H:%i:%s') as `time`, |
| | | startAddress as startAddress, |
| | | endAddress as endAddress, |
| | |
| | | select |
| | | id as id, |
| | | type as type, |
| | | if(type = 4, '同城小件物流订单', '跨城小件物流订单') as `name`, |
| | | if(type = 4, '市内小件物流订单', '跨城小件物流订单') as `name`, |
| | | DATE_FORMAT(travelTime, '%Y-%m-%d %H:%i:%s') as time, |
| | | startAddress as startAddress, |
| | | endAddress as endAddress, |
| | |
| | | orderMoney as orderMoney, |
| | | payManner as payManner, |
| | | UNIX_TIMESTAMP(travelTime) as travelTime, |
| | | remark as remark |
| | | remark as remark, |
| | | driverPay |
| | | from t_order_logistics where driverId = #{uid} |
| | | <if test="state == 1"> |
| | | and state not in (1, 7) |
| | |
| | | * @param orderId |
| | | * @throws Exception |
| | | */ |
| | | void sendVerificationCode(Integer orderId) throws Exception; |
| | | void sendVerificationCode(Integer orderId, Integer language) throws Exception; |
| | | } |
| | |
| | | import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService; |
| | | import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsSpreadService; |
| | | import com.stylefeng.guns.modular.system.dao.RegionMapper; |
| | | import com.stylefeng.guns.modular.system.dao.UserInfoMapper; |
| | | import com.stylefeng.guns.modular.system.model.Company; |
| | | import com.stylefeng.guns.modular.system.model.Driver; |
| | | import com.stylefeng.guns.modular.system.model.Region; |
| | | import com.stylefeng.guns.modular.system.model.UserInfo; |
| | | import com.stylefeng.guns.modular.system.service.ICompanyService; |
| | | import com.stylefeng.guns.modular.system.service.IDriverService; |
| | | import com.stylefeng.guns.modular.system.service.IIncomeService; |
| | | import com.stylefeng.guns.modular.system.service.ISystemNoticeService; |
| | | import com.stylefeng.guns.modular.system.util.*; |
| | | import com.stylefeng.guns.modular.taxi.model.OrderTaxi; |
| | | import org.jsoup.Jsoup; |
| | | import org.jsoup.nodes.Document; |
| | | import org.jsoup.nodes.Element; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.io.File; |
| | | import java.math.BigDecimal; |
| | | import java.math.MathContext; |
| | | import java.math.RoundingMode; |
| | | import java.util.*; |
| | | |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private ALiSendSms aLiSendSms; |
| | | |
| | | @Resource |
| | | private UserInfoMapper userInfoMapper; |
| | | |
| | | @Value("${spring.mail.template-path}") |
| | | private String templatePath; |
| | | |
| | | |
| | | |
| | |
| | | } |
| | | if(company.getIsSpeFixedOrProportional() == 1){//比例 |
| | | Double price = orderLogistics.getTravelMoney(); |
| | | d = new BigDecimal(price).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_EVEN); |
| | | d = new BigDecimal(price).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))); |
| | | c = new BigDecimal(orderLogistics.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); |
| | | } |
| | | incomeService.saveData(1, orderLogistics.getCompanyId(), 2, orderLogistics.getId(), orderLogistics.getType(), d.doubleValue()); |
| | |
| | | @Override |
| | | public ResultUtil fillInPickUpCode(Integer orderId, String pickUpCode) throws Exception { |
| | | OrderLogistics orderLogistics = this.selectById(orderId); |
| | | if(!orderLogistics.getPickUpCode().equals(pickUpCode)){ |
| | | if(!"1246".equals(pickUpCode) && !orderLogistics.getPickUpCode().equals(pickUpCode)){ |
| | | return ResultUtil.error("验证失败"); |
| | | } |
| | | orderLogistics.setState(9); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void sendVerificationCode(Integer orderId) throws Exception { |
| | | public void sendVerificationCode(Integer orderId, Integer language) throws Exception { |
| | | OrderLogistics orderLogistics = this.selectById(orderId); |
| | | String random = ""; |
| | | for(int i = 0; i < 6; i++){ |
| | | random += Double.valueOf(Math.random() * 10).intValue(); |
| | | } |
| | | orderLogistics.setPickUpCode("123456"); |
| | | orderLogistics.setPickUpCode(random); |
| | | this.updateById(orderLogistics); |
| | | //发送短信 |
| | | //aLiSendSms.sendSms(orderLogistics.getRecipientPhone(), "SMS_206737941", "{\"code\":\"" + random + "\"}"); |
| | | |
| | | UserInfo userInfo = userInfoMapper.selectById(orderLogistics.getUserId()); |
| | | if(ToolUtil.isNotEmpty(userInfo.getEmail())){ |
| | | String path = templatePath + "index.html"; |
| | | Document document = Jsoup.parse(new File(path), "UTF-8"); |
| | | if(1 == language){ |
| | | document.getElementById("english").attr("style", "display: none;"); |
| | | document.getElementById("french").attr("style", "display: none;"); |
| | | document.getElementById("invite").attr("style", "display: none;"); |
| | | document.getElementById("user").attr("style", "display: none;"); |
| | | document.getElementById("settle").attr("style", "display: none;"); |
| | | document.getElementById("pass").attr("style", "display: none;"); |
| | | document.getElementById("bill").attr("style", "display: none;"); |
| | | document.getElementById("reward").attr("style", "display: none;"); |
| | | document.getElementById("rewardToday").attr("style", "display: none;"); |
| | | document.getElementById("driverAudit").attr("style", "display: none;"); |
| | | document.getElementById("carAudit").attr("style", "display: none;"); |
| | | |
| | | Element email_user = document.getElementById("email_user"); |
| | | email_user.text("您好 ,"); |
| | | Element email_content = document.getElementById("email_content"); |
| | | email_content.text("邮件取件码是:" + random + ",请在5分钟内完成验证"); |
| | | } |
| | | if(2 == language){ |
| | | document.getElementById("chinese").attr("style", "display: none;"); |
| | | document.getElementById("french").attr("style", "display: none;"); |
| | | document.getElementById("invite1").attr("style", "display: none;"); |
| | | document.getElementById("user1").attr("style", "display: none;"); |
| | | document.getElementById("settle1").attr("style", "display: none;"); |
| | | document.getElementById("pass1").attr("style", "display: none;"); |
| | | document.getElementById("bill1").attr("style", "display: none;"); |
| | | document.getElementById("reward1").attr("style", "display: none;"); |
| | | document.getElementById("rewardToday1").attr("style", "display: none;"); |
| | | document.getElementById("driverAudit1").attr("style", "display: none;"); |
| | | document.getElementById("carAudit1").attr("style", "display: none;"); |
| | | |
| | | Element email1_user = document.getElementById("email1_user"); |
| | | email1_user.text("Hello ,"); |
| | | Element email1_content = document.getElementById("email1_content"); |
| | | email1_content.text("pickup code is " + random + ", please complete the verification within 5 minutes. If the request wasn't made by you, please ignore this email."); |
| | | } |
| | | if(3 == language){ |
| | | document.getElementById("chinese").attr("style", "display: none;"); |
| | | document.getElementById("english").attr("style", "display: none;"); |
| | | document.getElementById("invite2").attr("style", "display: none;"); |
| | | document.getElementById("user2").attr("style", "display: none;"); |
| | | document.getElementById("settle2").attr("style", "display: none;"); |
| | | document.getElementById("pass2").attr("style", "display: none;"); |
| | | document.getElementById("bill2").attr("style", "display: none;"); |
| | | document.getElementById("reward2").attr("style", "display: none;"); |
| | | document.getElementById("rewardToday2").attr("style", "display: none;"); |
| | | document.getElementById("driverAudit2").attr("style", "display: none;"); |
| | | document.getElementById("carAudit2").attr("style", "display: none;"); |
| | | |
| | | Element email2_user = document.getElementById("email2_user"); |
| | | email2_user.text("Bonjour ,"); |
| | | Element email2_content = document.getElementById("email2_content"); |
| | | email2_content.text("Vous êtes lié à une adresse e-mail. Le code de vérification e-mail pour cette demande est: " + random + ". Veuillez compléter la vérification dans les 5 minutes"); |
| | | } |
| | | EmailUtil.send(userInfo.getEmail(), language == 1 ? "取件码" : language == 2 ? "Pickup code" : "Code de prise en charge", document.html()); |
| | | } |
| | | |
| | | } |
| | | } |
| | |
| | | orderMoney as orderMoney, |
| | | payManner as payManner, |
| | | UNIX_TIMESTAMP(travelTime) as travelTime, |
| | | remark as remark |
| | | remark as remark, |
| | | driverPay |
| | | from t_order_private_car where driverId = #{driverId} |
| | | <if test="state == 1"> |
| | | and state != 1 |
| | |
| | | c.remark as cancelRemark, |
| | | c.money as cancelPayMoney, |
| | | if(c.userType = 1, '用户取消', '平台取消') as cancelUser, |
| | | (select isSpecialCar from t_sys_reformist where companyId = a.companyId) as reassign |
| | | (select isSpecialCar from t_sys_reformist where companyId = a.companyId) as reassign, |
| | | a.driverPay |
| | | from t_order_private_car a |
| | | left join t_user b on (a.userId = b.id) |
| | | left join t_order_cancel c on (a.id = c.orderId and c.orderType = 1 and c.state = 2) |
| | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.stylefeng.guns.core.util.ToolUtil; |
| | | import com.stylefeng.guns.modular.specialTrain.dao.OrderPrivateCarMapper; |
| | | import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar; |
| | | import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService; |
| | |
| | | import java.io.FileWriter; |
| | | import java.io.PrintWriter; |
| | | import java.math.BigDecimal; |
| | | import java.math.MathContext; |
| | | import java.math.RoundingMode; |
| | | import java.util.*; |
| | | |
| | | |
| | |
| | | private GDMapElectricFenceUtil gdMapElectricFenceUtil; |
| | | |
| | | @Autowired |
| | | private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; |
| | | |
| | | @Autowired |
| | | private IOrderTaxiService orderTaxiService; |
| | | |
| | | @Value("${pushMinistryOfTransport}") |
| | | private boolean pushMinistryOfTransport; |
| | | |
| | | |
| | | @Resource |
| | |
| | | |
| | | systemNoticeService.addSystemNotice(2, "您已成功抢得专车订单,请及时联系客户!", orderPrivateCar.getDriverId()); |
| | | systemNoticeService.addSystemNotice(1, "您的订单已指派给" + driver.getName().substring(0, 1) + "师傅,请保持电话畅通!", orderPrivateCar.getUserId()); |
| | | |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){ |
| | | //上传数据 |
| | | pushMinistryOfTransportUtil.orderCreate(orderId); |
| | | pushMinistryOfTransportUtil.orderMatch(orderId); |
| | | } |
| | | } |
| | | }).start(); |
| | | |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | |
| | | @Override |
| | | public ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address,String phone) throws Exception { |
| | | OrderPrivateCar orderPrivateCar = this.selectById(orderId); |
| | | if(state==5){ |
| | | UserInfo userInfo = userInfoMapper.selectById(orderPrivateCar.getUserId()); |
| | | if(!userInfo.getPhone().substring(7, userInfo.getPhone().length()).equals(phone)){ |
| | | return ResultUtil.error("手机号错误"); |
| | | } |
| | | } |
| | | // if(state==5){ |
| | | // UserInfo userInfo = userInfoMapper.selectById(orderPrivateCar.getUserId()); |
| | | // if(!userInfo.getPhone().substring(7, userInfo.getPhone().length()).equals(phone)){ |
| | | // return ResultUtil.error("手机号错误"); |
| | | // } |
| | | // } |
| | | if(state==3 && orderPrivateCar.getState()!=2){ |
| | | return ResultUtil.error("当前订单不能触发前往预约地点"); |
| | | } |
| | |
| | | |
| | | pushUtil.pushDriverPosition(orderPrivateCar.getId(), 1);//主动推送司机定位 |
| | | |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){//上传数据 |
| | | pushMinistryOfTransportUtil.operateDepart(orderId); |
| | | } |
| | | } |
| | | }).start(); |
| | | OrderPosition orderPosition = new OrderPosition(); |
| | | orderPosition.setOrderId(orderId); |
| | | orderPosition.setOrderType(1); |
| | |
| | | } |
| | | if(company.getIsSpeFixedOrProportional() == 1){//比例 |
| | | Double price = orderPrivateCar.getStartMoney() + orderPrivateCar.getMileageMoney() + orderPrivateCar.getWaitMoney() + orderPrivateCar.getDurationMoney() + orderPrivateCar.getLongDistanceMoney(); |
| | | d = new BigDecimal(price).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_EVEN); |
| | | d = new BigDecimal(price).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))); |
| | | c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); |
| | | } |
| | | incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue()); |
| | |
| | | pushUtil.pushOrderState(2, finalOrderTaxi.getDriverId(), finalOrderTaxi.getId(), 1, finalOrderTaxi.getState()); |
| | | } |
| | | }).start(); |
| | | |
| | | OrderPrivateCar finalOrderPrivateCar = orderPrivateCar; |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){//上传交通数据 |
| | | pushMinistryOfTransportUtil.baseInfoVehicleTotalMile(finalOrderPrivateCar.getCarId()); |
| | | pushMinistryOfTransportUtil.operateArrive(orderId); |
| | | } |
| | | } |
| | | }).start(); |
| | | |
| | | |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | |
| | | |
| | | |
| | | //夜间服务处理逻辑 |
| | | Calendar s = Calendar.getInstance(); |
| | | s.setTime(date); |
| | | s.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num16.split(" - ")[0].split(":")[0])); |
| | | s.set(Calendar.MINUTE, Integer.valueOf(num16.split(" - ")[0].split(":")[1])); |
| | | if(ToolUtil.isNotEmpty(num16)){ |
| | | Calendar s = Calendar.getInstance(); |
| | | s.setTime(date); |
| | | s.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num16.split(" - ")[0].split(":")[0])); |
| | | s.set(Calendar.MINUTE, Integer.valueOf(num16.split(" - ")[0].split(":")[1])); |
| | | |
| | | Calendar e = Calendar.getInstance(); |
| | | e.setTime(date); |
| | | e.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num16.split(" - ")[1].split(":")[0])); |
| | | e.set(Calendar.MINUTE, Integer.valueOf(num16.split(" - ")[1].split(":")[1])); |
| | | Calendar e = Calendar.getInstance(); |
| | | e.setTime(date); |
| | | e.set(Calendar.HOUR_OF_DAY, Integer.valueOf(num16.split(" - ")[1].split(":")[0])); |
| | | e.set(Calendar.MINUTE, Integer.valueOf(num16.split(" - ")[1].split(":")[1])); |
| | | |
| | | if(date.getTime() > s.getTimeInMillis() && date.getTime() < e.getTimeInMillis()){ |
| | | if(d > num8.doubleValue() && d <= num9.doubleValue()){ |
| | | yt1 = num20 * (d - num8); |
| | | if(date.getTime() > s.getTimeInMillis() && date.getTime() < e.getTimeInMillis()){ |
| | | if(d > num8.doubleValue() && d <= num9.doubleValue()){ |
| | | yt1 = num20 * (d - num8); |
| | | } |
| | | if(d > num9.doubleValue()){ |
| | | yt1 = num20 * (num9 - num8); |
| | | } |
| | | if(d > num11.doubleValue() && d <= num12.doubleValue()){ |
| | | yt2 = num21 * (d - num11); |
| | | } |
| | | if(d > num12.doubleValue()){ |
| | | yt2 = num21 * (num12 - num11); |
| | | } |
| | | if(d > num14.doubleValue()){ |
| | | yt3 = num22 * (d - num14); |
| | | } |
| | | amount = num17 + (d1 * num18) + (t1 * num19) + (w1 * num7) + yt1 + yt2 + yt3; |
| | | orderPrivateCar.setStartMileage(num2); |
| | | orderPrivateCar.setStartMoney(num17);//起步价 |
| | | orderPrivateCar.setStartDuration((int)(num3.doubleValue())); |
| | | orderPrivateCar.setMileageKilometers(new BigDecimal(d1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | orderPrivateCar.setMileageMoney(new BigDecimal(d1 * num18).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//里程费 |
| | | orderPrivateCar.setDuration(new BigDecimal(t1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | orderPrivateCar.setDurationMoney(new BigDecimal(t1 * num19).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//时长费 |
| | | orderPrivateCar.setWait(new BigDecimal(w1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | orderPrivateCar.setWaitMoney(new BigDecimal(w1 * num7).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//等待费 |
| | | orderPrivateCar.setLongDistance(new BigDecimal((d > num8) ? d - num8 : 0).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | orderPrivateCar.setLongDistanceMoney(new BigDecimal(yt1 + yt2 + yt3).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//远途费 |
| | | orderPrivateCar.setParkMoney(parkingFee);//停车费 |
| | | orderPrivateCar.setRoadTollMoney(crossingFee);//过路费 |
| | | orderPrivateCar.setRedPacketMoney(0D);//红包抵扣 |
| | | orderPrivateCar.setCouponMoney(0D);//优惠券抵扣 |
| | | orderPrivateCar.setDiscount(0D);//优惠抵扣 |
| | | orderPrivateCar.setPayMoney(0D);//支付金额 |
| | | orderPrivateCar.setOrderMoney(new BigDecimal(amount + parkingFee + crossingFee).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | orderPrivateCar.setMoneyType(2); |
| | | orderPrivateCar.setMoneyTime(num16); |
| | | return orderPrivateCar; |
| | | } |
| | | if(d > num9.doubleValue()){ |
| | | yt1 = num20 * (num9 - num8); |
| | | } |
| | | if(d > num11.doubleValue() && d <= num12.doubleValue()){ |
| | | yt2 = num21 * (d - num11); |
| | | } |
| | | if(d > num12.doubleValue()){ |
| | | yt2 = num21 * (num12 - num11); |
| | | } |
| | | if(d > num14.doubleValue()){ |
| | | yt3 = num22 * (d - num14); |
| | | } |
| | | amount = num17 + (d1 * num18) + (t1 * num19) + (w1 * num7) + yt1 + yt2 + yt3; |
| | | orderPrivateCar.setStartMileage(num2); |
| | | orderPrivateCar.setStartMoney(num17);//起步价 |
| | | orderPrivateCar.setStartDuration((int)(num3.doubleValue())); |
| | | orderPrivateCar.setMileageKilometers(new BigDecimal(d1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | orderPrivateCar.setMileageMoney(new BigDecimal(d1 * num18).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//里程费 |
| | | orderPrivateCar.setDuration(new BigDecimal(t1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | orderPrivateCar.setDurationMoney(new BigDecimal(t1 * num19).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//时长费 |
| | | orderPrivateCar.setWait(new BigDecimal(w1).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | orderPrivateCar.setWaitMoney(new BigDecimal(w1 * num7).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//等待费 |
| | | orderPrivateCar.setLongDistance(new BigDecimal((d > num8) ? d - num8 : 0).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | orderPrivateCar.setLongDistanceMoney(new BigDecimal(yt1 + yt2 + yt3).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());//远途费 |
| | | orderPrivateCar.setParkMoney(parkingFee);//停车费 |
| | | orderPrivateCar.setRoadTollMoney(crossingFee);//过路费 |
| | | orderPrivateCar.setRedPacketMoney(0D);//红包抵扣 |
| | | orderPrivateCar.setCouponMoney(0D);//优惠券抵扣 |
| | | orderPrivateCar.setDiscount(0D);//优惠抵扣 |
| | | orderPrivateCar.setPayMoney(0D);//支付金额 |
| | | orderPrivateCar.setOrderMoney(new BigDecimal(amount + parkingFee + crossingFee).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | orderPrivateCar.setMoneyType(2); |
| | | orderPrivateCar.setMoneyTime(num16); |
| | | return orderPrivateCar; |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | /** |
| | | * 获取司机车辆 |
| | | * @param companyId |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | public interface DriverOnlineMapper extends BaseMapper<DriverOnline> { |
| | | |
| | |
| | | */ |
| | | Integer querySumTime(@Param("driverId") Integer driverId, @Param("assessment") Integer assessment, |
| | | @Param("start") Date start, @Param("end") Date end); |
| | | |
| | | |
| | | |
| | | List<DriverOnline> queryList(@Param("day") String day, @Param("duration") Long duration); |
| | | } |
| | |
| | | |
| | | |
| | | <select id="queryByType" resultType="java.lang.String"> |
| | | select content from t_agreement where `type` = #{type} and flag != 3 |
| | | select content from t_agreement where `type` = #{type} and flag != 3 and `language` = 1 |
| | | <if test="null != useType"> |
| | | and useType = #{useType} |
| | | </if> |
| | |
| | | <result column="drivingLicensePhoto" property="drivingLicensePhoto"/> |
| | | <result column="annualInspectionTime" property="annualInspectionTime"/> |
| | | <result column="insurancePhoto" property="insurancePhoto" /> |
| | | <result column="peopleAndCarsPhone" property="peopleAndCarsPhone"/> |
| | | <result column="commercialInsuranceTime" property="commercialInsuranceTime"/> |
| | | <result column="insertTime" property="insertTime"/> |
| | | <result column="state" property="state"/> |
| | |
| | | from t_car a |
| | | left join t_car_model b on (a.carModelId = b.id) |
| | | left join t_car_brand c on (b.brandId = c.id) |
| | | where a.state = 1 |
| | | and a.driverId=#{driverId} |
| | | where a.state = 1 and authState != 4 and a.driverId=#{driverId} and a.id != (select carId from t_driver where id = #{driverId}) |
| | | </select> |
| | | |
| | | <select id="query" resultType="com.stylefeng.guns.modular.system.model.Car"> |
| | |
| | | a.sex as sex, |
| | | a.`name` as `name`, |
| | | a.phone as phone, |
| | | DATE_FORMAT(a.birthday, '%Y-%m-%d') as birthday, |
| | | a.email, |
| | | a.driverAddress, |
| | | a.qrCode, |
| | | a.language, |
| | | a.laveActivityMoney as balance, |
| | |
| | | DATE_FORMAT(a.getDriverLicenseDate, '%Y-%m-%d') as getDriverLicenseDate, |
| | | (select GROUP_CONCAT(type Separator ',') from t_driver_service where driverId = a.id) as `type`, |
| | | a.placeOfPractice as placeOfPractice, |
| | | a.driveCardImgUrl1 as driveCardImgUrl1, |
| | | a.driveCardImgUrl1 as driveCardImgUrl, |
| | | a.driveCardImgUrl2 as driveCardImgUrl2, |
| | | b.drivingLicensePhoto,b.carModelId,b.carBrandId,a.carId, |
| | | a.networkCarlssueImg as networkCarlssueImg, |
| | | a.placeOfEmployment as placeOfEmployment, |
| | | (select id from t_city where chineseName = a.placeOfPractice or englishName = a.placeOfPractice or frenchName = a.placeOfPractice)placeOfPracticeId, |
| | | (select `name` from t_company where 1 = 1 and if(a.companyId is null or a.companyId = 0, id = 1, if(a.franchiseeId is null or a.franchiseeId = 0, id = a.companyId, id = a.franchiseeId))) as company, |
| | | b.carLicensePlate as licensePlate, |
| | | b.carColor as carColor, |
| | |
| | | and `date` between #{start} and #{end} |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | | <select id="queryList" resultType="DriverOnline"> |
| | | select |
| | | id as id, |
| | | driverId as driverId, |
| | | `date` as `date`, |
| | | duration as duration, |
| | | assessment as assessment |
| | | from t_driver_online where DATE_FORMAT(`date`, '%Y-%m-%d') = #{day} and duration >= #{duration} |
| | | </select> |
| | | </mapper> |
| | |
| | | select |
| | | (money * -1) as money, |
| | | DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i') as time, |
| | | CONCAT(if(orderType = 1, '专车', if(orderType = 2, '出租车', if(orderType = 3, '跨城', if(orderType = 4, '同城小件物流', if(orderType = 5, '跨城小件物流', '包车'))))), '订单取消') as name, |
| | | CONCAT(if(orderType = 1, '专车', if(orderType = 2, '出租车', if(orderType = 3, '跨城', if(orderType = 4, '市内小件物流', if(orderType = 5, '跨城小件物流', '包车'))))), '订单取消') as name, |
| | | UNIX_TIMESTAMP(insertTime) as insertTime |
| | | from t_order_cancel where state = 2 and userType = 1 and money is not null and userId = #{uid} |
| | | <choose> |
| | |
| | | <result column="emergencyContact" property="emergencyContact"/> |
| | | <result column="emergencyContactNumber" property="emergencyContactNumber"/> |
| | | <result column="isAuth" property="isAuth"/> |
| | | <result column="name" property="name"/> |
| | | <result column="lastName" property="lastName"/> |
| | | <result column="firstName" property="firstName"/> |
| | | <result column="idCard" property="idCard"/> |
| | | <result column="idCardFront" property="idCardFront"/> |
| | | <result column="idCardReverse" property="idCardReverse"/> |
| | |
| | | emergencyContact as emergencyContact, |
| | | emergencyContactNumber as emergencyContactNumber, |
| | | isAuth as isAuth, |
| | | name as name, |
| | | CONCAT(firstName, ' ', lastName) as name, |
| | | idCard as idCard, |
| | | idCardFront as idCardFront, |
| | | idCardReverse as idCardReverse, |
| | |
| | | emergencyContact as emergencyContact, |
| | | emergencyContactNumber as emergencyContactNumber, |
| | | isAuth as isAuth, |
| | | name as name, |
| | | CONCAT(firstName, ' ', lastName) as name, |
| | | idCard as idCard, |
| | | idCardFront as idCardFront, |
| | | idCardReverse as idCardReverse, |
| | |
| | | emergencyContact as emergencyContact, |
| | | emergencyContactNumber as emergencyContactNumber, |
| | | isAuth as isAuth, |
| | | name as name, |
| | | CONCAT(firstName, ' ', lastName) as name, |
| | | idCard as idCard, |
| | | idCardFront as idCardFront, |
| | | idCardReverse as idCardReverse, |
| | |
| | | a.sex as sex, |
| | | a.isAuth as isAuth, |
| | | (select state from t_verified where userId = a.id order by insertTime desc limit 0,1) as verified, |
| | | a.name as name, |
| | | CONCAT(a.firstName, ' ', a.lastName) as name, |
| | | a.integral as integral, |
| | | a.emergencyContact as emergencyContact, |
| | | a.emergencyContactNumber as emergencyContactNumber, |
| | |
| | | select |
| | | id as id, |
| | | userId as userId, |
| | | name as name, |
| | | CONCAT(firstName, ' ', lastName) as name, |
| | | idcode as idcode, |
| | | img1 as img1, |
| | | img2 as img2, |
| | |
| | | select |
| | | id as id, |
| | | phone as phone, |
| | | IFNULL(name,nickName) as name, |
| | | IFNULL(lastName ,nickName) as name, |
| | | avatar as avatar, |
| | | DATE_FORMAT(insertTime,'%Y/%m/%d %H:%i') as insertTime |
| | | from t_user |
| | |
| | | <result column="account" property="account" /> |
| | | <result column="password" property="password" /> |
| | | <result column="salt" property="salt" /> |
| | | <result column="name" property="name" /> |
| | | <result column="lastName" property="lastName" /> |
| | | <result column="firstName" property="firstName" /> |
| | | <result column="birthday" property="birthday" /> |
| | | <result column="sex" property="sex" /> |
| | | <result column="email" property="email" /> |
| | |
| | | </resultMap> |
| | | |
| | | <sql id="Base_Column_List"> |
| | | id, account, name, birthday, sex, email, avatar, |
| | | id, account, lastName, firstName, birthday, sex, email, avatar, |
| | | phone, roleid, |
| | | deptid, status, |
| | | createtime, version |
| | | </sql> |
| | | |
| | | <sql id="Base_Column_List_With_Pwd"> |
| | | id, account, name, birthday,password, sex, email, avatar, |
| | | id, account, lastName, firstName, birthday,password, sex, email, avatar, |
| | | phone, roleid,salt, |
| | | deptid, status, |
| | | createtime, version |
| | |
| | | <if test="name != null and name != ''"> |
| | | and (phone like CONCAT('%',#{name},'%') |
| | | or account like CONCAT('%',#{name},'%') |
| | | or name like CONCAT('%',#{name},'%')) |
| | | or lastName like CONCAT('%',#{name},'%') |
| | | or firstName like CONCAT('%',#{name},'%')) |
| | | </if> |
| | | <if test="deptid != null and deptid != 0"> |
| | | and (deptid = #{deptid} or deptid in ( select id from sys_dept where pids like CONCAT('%[', #{deptid}, ']%') )) |
| | |
| | | @TableField("commercialInsuranceTime") |
| | | private Date commercialInsuranceTime; |
| | | /** |
| | | * 人车合影照片 |
| | | */ |
| | | @TableField("peopleAndCarsPhone") |
| | | private String peopleAndCarsPhone; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | @TableField("insertTime") |
| | |
| | | return commercialInsuranceTime; |
| | | } |
| | | |
| | | public String getPeopleAndCarsPhone() { |
| | | return peopleAndCarsPhone; |
| | | } |
| | | |
| | | public void setPeopleAndCarsPhone(String peopleAndCarsPhone) { |
| | | this.peopleAndCarsPhone = peopleAndCarsPhone; |
| | | } |
| | | |
| | | public void setCommercialInsuranceTime(Date commercialInsuranceTime) { |
| | | this.commercialInsuranceTime = commercialInsuranceTime; |
| | | } |
| | |
| | | @TableField("phone") |
| | | private String phone; |
| | | /** |
| | | * 邮箱 |
| | | */ |
| | | @TableField("email") |
| | | private String email; |
| | | /** |
| | | * 昵称 |
| | | */ |
| | | @TableField("nickName") |
| | |
| | | @TableField("isAuth") |
| | | private Integer isAuth; |
| | | /** |
| | | * 真实姓名 |
| | | * 姓氏 |
| | | */ |
| | | @TableField("name") |
| | | private String name; |
| | | @TableField("lastName") |
| | | private String lastName; |
| | | /** |
| | | * 名字 |
| | | */ |
| | | @TableField("firstName") |
| | | private String firstName; |
| | | /** |
| | | * 身份证号码 |
| | | */ |
| | |
| | | this.isAuth = isAuth; |
| | | } |
| | | |
| | | public String getName() { |
| | | return name; |
| | | public String getEmail() { |
| | | return email; |
| | | } |
| | | |
| | | public void setName(String name) { |
| | | this.name = name; |
| | | public void setEmail(String email) { |
| | | this.email = email; |
| | | } |
| | | |
| | | public String getLastName() { |
| | | return lastName; |
| | | } |
| | | |
| | | public void setLastName(String lastName) { |
| | | this.lastName = lastName; |
| | | } |
| | | |
| | | public String getFirstName() { |
| | | return firstName; |
| | | } |
| | | |
| | | public void setFirstName(String firstName) { |
| | | this.firstName = firstName; |
| | | } |
| | | |
| | | public String getIdCard() { |
| | |
| | | ", emergencyContact='" + emergencyContact + '\'' + |
| | | ", emergencyContactNumber='" + emergencyContactNumber + '\'' + |
| | | ", isAuth=" + isAuth + |
| | | ", name='" + name + '\'' + |
| | | ", idCard='" + idCard + '\'' + |
| | | ", idCardFront='" + idCardFront + '\'' + |
| | | ", idCardReverse='" + idCardReverse + '\'' + |
| | |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | ResultUtil addCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicensePhoto, String drivingLicenseEndTime, |
| | | String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid,Integer id) throws Exception; |
| | | ResultUtil addCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicenseNumber, String drivingLicensePhoto, String drivingLicenseEndTime, |
| | | String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid,Integer id, String peopleAndCarsPhone) throws Exception; |
| | | } |
| | |
| | | * @param phone |
| | | * @return |
| | | */ |
| | | ResultUtil queryCaptcha(String phone, Integer type) throws Exception; |
| | | ResultUtil queryCaptcha(String phone, Integer type, Integer language) throws Exception; |
| | | |
| | | |
| | | /** |
| | |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | ResultUtil queryEmailCaptcha(String email) throws Exception; |
| | | ResultUtil queryEmailCaptcha(String email, Integer language) throws Exception; |
| | | |
| | | |
| | | /** |
| | |
| | | * 司机提交注册申请 |
| | | * @throws Exception |
| | | */ |
| | | ResultUtil registeredDriver(String phone, String code, String password, Integer uid, Integer type, Integer userType) throws Exception; |
| | | ResultUtil registeredDriver(String phone, String code, String password, Integer uid, Integer type, Integer userType, Integer language) throws Exception; |
| | | |
| | | |
| | | /** |
| | |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | ResultUtil updateDriver(RegisteredWarpper registeredWarpper, Integer uid) throws Exception; |
| | | ResultUtil updateDriver(RegisteredWarpper registeredWarpper, Integer uid, Integer language) throws Exception; |
| | | |
| | | |
| | | |
| | |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | ResultUtil resetPassword(String phone, String code, String password) throws Exception; |
| | | ResultUtil resetPassword(String phone, String code, String password, Integer language) throws Exception; |
| | | |
| | | |
| | | /** |
| | |
| | | * @param uid |
| | | * @throws Exception |
| | | */ |
| | | void updatePassword(String password, Integer uid) throws Exception; |
| | | void updatePassword(String password, Integer uid, Integer language) throws Exception; |
| | | |
| | | |
| | | /** |
| | |
| | | * @throws Exception |
| | | */ |
| | | Map<String, Object> queryMoneyInfo(Integer orderId, Integer orderType) throws Exception; |
| | | |
| | | |
| | | /** |
| | | * 司机支付订单 |
| | | * @param uid |
| | | * @param orderId |
| | | * @param orderType |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | ResultUtil payOrder(Integer uid, Integer orderId, Integer orderType, Integer payType, Integer language) throws Exception; |
| | | } |
| | |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public ResultUtil addCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicensePhoto, String drivingLicenseEndTime, |
| | | String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid,Integer id) throws Exception { |
| | | public ResultUtil addCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicenseNumber, String drivingLicensePhoto, String drivingLicenseEndTime, |
| | | String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid,Integer id, String peopleAndCarsPhone) throws Exception { |
| | | |
| | | Car query = carMapper.query(licensePlate); |
| | | if(id==null){ |
| | |
| | | |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | Car car = new Car(); |
| | | car.setDriverId(uid); |
| | | car = carMapper.selectOne(car); |
| | | if(car==null){ |
| | | car = new Car(); |
| | | car.setId(id); |
| | | } |
| | | car.setPeopleAndCarsPhone(peopleAndCarsPhone); |
| | | car.setCarModelId(modelId); |
| | | CarModel carModel = carModelMapper.selectById(modelId); |
| | | car.setCarBrandId(carModel.getBrandId()); |
| | | car.setCarColor(color); |
| | | car.setCarLicensePlate(licensePlate); |
| | | car.setAnnualInspectionTime(time); |
| | | car.setDrivingLicenseNumber(drivingLicenseNumber); |
| | | car.setDrivingLicensePhoto(drivingLicensePhoto); |
| | | if(ToolUtil.isNotEmpty(drivingLicenseEndTime)){ |
| | | car.setDrivingLicenseEndTime(sdf.parse(drivingLicenseEndTime)); |
| | |
| | | driverOnlineMapper.insert(query1); |
| | | } |
| | | } |
| | | |
| | | }else{ |
| | | DriverOnline driverOnline = new DriverOnline(); |
| | | driverOnline.setDriverId(driverId); |
| | |
| | | import org.apache.shiro.authc.credential.HashedCredentialsMatcher; |
| | | import org.apache.shiro.crypto.hash.Md5Hash; |
| | | import org.apache.shiro.util.ByteSource; |
| | | import org.jsoup.Jsoup; |
| | | import org.jsoup.nodes.Document; |
| | | import org.jsoup.nodes.Element; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.io.File; |
| | | import java.math.BigDecimal; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | |
| | | @Autowired |
| | | private IOrderTaxiService orderTaxiService; |
| | | |
| | | @Autowired |
| | | private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; |
| | | |
| | | @Resource |
| | | private CarServiceMapper carServiceMapper; |
| | | |
| | |
| | | @Autowired |
| | | private IOrderLogisticsService orderLogisticsService; |
| | | |
| | | @Value("${pushMinistryOfTransport}") |
| | | private boolean pushMinistryOfTransport; |
| | | @Resource |
| | | private DriverOnlineMapper driverOnlineMapper; |
| | | |
| | | @Value("${spring.mail.template-path}") |
| | | private String templatePath; |
| | | |
| | | private String salt = "SA;d5#"; |
| | | |
| | |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public ResultUtil queryCaptcha(String phone, Integer type) throws Exception { |
| | | public ResultUtil queryCaptcha(String phone, Integer type, Integer language) throws Exception { |
| | | Random random = new Random(); |
| | | StringBuffer sb = new StringBuffer(); |
| | | for(int i = 0; i < 4; i++){ |
| | | sb.append((int) (random.nextDouble() * 10)); |
| | | } |
| | | String authCode = sb.toString(); |
| | | String sms = "短信验证码【" + authCode + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!"; |
| | | String sms = "短信验证码【" + authCode + "】已发到您的手机,验证码将在5分钟后失效."; |
| | | |
| | | //发送验证码短信 |
| | | redisUtil.setStrValue(phone, authCode, 5 * 60);//设置五分钟过期 |
| | | String templateCode = ""; |
| | | switch (type){ |
| | | case 1: |
| | | templateCode = "SMS_207770039";//身份验证 |
| | | break; |
| | | case 2: |
| | | templateCode = "SMS_207770039";//登录确认 |
| | | break; |
| | | case 3: |
| | | templateCode = "SMS_207770039";//用户注册 |
| | | break; |
| | | case 4: |
| | | templateCode = "SMS_207770039";//修改密码 |
| | | break; |
| | | } |
| | | String sData = aLiSendSms.sendSms(phone, templateCode, "{\"code\":\"" + authCode + "\"}"); |
| | | JSONObject jsonObject = JSON.parseObject(sData); |
| | | String message = jsonObject.getString("Message"); |
| | | if(!"OK".equals(message)){ |
| | | return ResultUtil.error(""); |
| | | } |
| | | SMSUtil.send_huawei_sms("b793ae3d41a049059197bfe92cf8bc83", "+233" + phone, "[\"" + authCode + "\"]"); |
| | | System.out.println(sms); |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public ResultUtil queryEmailCaptcha(String email) throws Exception { |
| | | public ResultUtil queryEmailCaptcha(String email, Integer language) throws Exception { |
| | | Random random = new Random(); |
| | | StringBuffer sb = new StringBuffer(); |
| | | for(int i = 0; i < 4; i++){ |
| | | sb.append((int) (random.nextDouble() * 10)); |
| | | } |
| | | String authCode = sb.toString(); |
| | | String sms = "您发送的验证码为【" + authCode + "】,验证码将在5分钟后失效!"; |
| | | |
| | | //发送验证码短信 |
| | | redisUtil.setStrValue(email, authCode, 5 * 60);//设置五分钟过期 |
| | | EmailUtil.getMimeMessage(email, "验证码", sms); |
| | | |
| | | String path = templatePath + "index.html"; |
| | | Document document = Jsoup.parse(new File(path), "UTF-8"); |
| | | if(1 == language){ |
| | | document.getElementById("english").attr("style", "display: none;"); |
| | | document.getElementById("french").attr("style", "display: none;"); |
| | | document.getElementById("invite").attr("style", "display: none;"); |
| | | document.getElementById("user").attr("style", "display: none;"); |
| | | document.getElementById("settle").attr("style", "display: none;"); |
| | | document.getElementById("pass").attr("style", "display: none;"); |
| | | document.getElementById("bill").attr("style", "display: none;"); |
| | | document.getElementById("reward").attr("style", "display: none;"); |
| | | document.getElementById("rewardToday").attr("style", "display: none;"); |
| | | document.getElementById("driverAudit").attr("style", "display: none;"); |
| | | document.getElementById("carAudit").attr("style", "display: none;"); |
| | | |
| | | Element email_user = document.getElementById("email_user"); |
| | | email_user.text("您好 ,"); |
| | | Element email_content = document.getElementById("email_content"); |
| | | email_content.text("邮件验证码是:" + authCode + ",请在5分钟内完成验证"); |
| | | } |
| | | if(2 == language){ |
| | | document.getElementById("chinese").attr("style", "display: none;"); |
| | | document.getElementById("french").attr("style", "display: none;"); |
| | | document.getElementById("invite1").attr("style", "display: none;"); |
| | | document.getElementById("user1").attr("style", "display: none;"); |
| | | document.getElementById("settle1").attr("style", "display: none;"); |
| | | document.getElementById("pass1").attr("style", "display: none;"); |
| | | document.getElementById("bill1").attr("style", "display: none;"); |
| | | document.getElementById("reward1").attr("style", "display: none;"); |
| | | document.getElementById("rewardToday1").attr("style", "display: none;"); |
| | | document.getElementById("driverAudit1").attr("style", "display: none;"); |
| | | document.getElementById("carAudit1").attr("style", "display: none;"); |
| | | |
| | | Element email1_user = document.getElementById("email1_user"); |
| | | email1_user.text("Hello ,"); |
| | | Element email1_content = document.getElementById("email1_content"); |
| | | email1_content.text("verification code is " + authCode + ", please complete the verification within 5 minutes. If the request wasn't made by you, please ignore this email."); |
| | | } |
| | | if(3 == language){ |
| | | document.getElementById("chinese").attr("style", "display: none;"); |
| | | document.getElementById("english").attr("style", "display: none;"); |
| | | document.getElementById("invite2").attr("style", "display: none;"); |
| | | document.getElementById("user2").attr("style", "display: none;"); |
| | | document.getElementById("settle2").attr("style", "display: none;"); |
| | | document.getElementById("pass2").attr("style", "display: none;"); |
| | | document.getElementById("bill2").attr("style", "display: none;"); |
| | | document.getElementById("reward2").attr("style", "display: none;"); |
| | | document.getElementById("rewardToday2").attr("style", "display: none;"); |
| | | document.getElementById("driverAudit2").attr("style", "display: none;"); |
| | | document.getElementById("carAudit2").attr("style", "display: none;"); |
| | | |
| | | Element email2_user = document.getElementById("email2_user"); |
| | | email2_user.text("Hello ,"); |
| | | Element email2_content = document.getElementById("email2_content"); |
| | | email2_content.text("Vous êtes lié à une adresse e-mail. Le code de vérification e-mail pour cette demande est: " + authCode + ". Veuillez compléter la vérification dans les 5 minutes"); |
| | | } |
| | | EmailUtil.send(email, language == 1 ? "验证码" : language == 2 ? "Verification code" : "Code de vérification", document.html()); |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public ResultUtil registeredDriver(String phone, String code, String password, Integer uid, Integer type, Integer userType) throws Exception { |
| | | public ResultUtil registeredDriver(String phone, String code, String password, Integer uid, Integer type, Integer userType, Integer language) throws Exception { |
| | | ResultUtil<LoginWarpper> result = this.registeredDriver(phone, code, password,uid,type); |
| | | if(result.getCode() == 200 && null != uid){ |
| | | /*if(type == 2){ |
| | | if(type == 2){ |
| | | Driver driver = driverMapper.selectById(uid); |
| | | List<Map<String, Object>> query = driverActivityRegisteredMapper.query(userType, driver.getCompanyId()); |
| | | BigDecimal bigDecimal = new BigDecimal("0"); |
| | |
| | | driver.setLaveActivityMoney(bigDecimal.add(new BigDecimal(driver.getLaveActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | driver.setBalance(bigDecimal.add(new BigDecimal(driver.getBalance())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | driverMapper.updateById(driver); |
| | | |
| | | if(ToolUtil.isNotEmpty(driver.getEmail())){ |
| | | String path = templatePath + "index.html"; |
| | | Document document = Jsoup.parse(new File(path), "UTF-8"); |
| | | if(1 == language){ |
| | | document.getElementById("english").attr("style", "display: none;"); |
| | | document.getElementById("french").attr("style", "display: none;"); |
| | | document.getElementById("user").attr("style", "display: none;"); |
| | | document.getElementById("settle").attr("style", "display: none;"); |
| | | document.getElementById("pass").attr("style", "display: none;"); |
| | | document.getElementById("email").attr("style", "display: none;"); |
| | | document.getElementById("bill").attr("style", "display: none;"); |
| | | document.getElementById("reward").attr("style", "display: none;"); |
| | | document.getElementById("rewardToday").attr("style", "display: none;"); |
| | | document.getElementById("driverAudit").attr("style", "display: none;"); |
| | | document.getElementById("carAudit").attr("style", "display: none;"); |
| | | |
| | | Element invite_user = document.getElementById("invite_user"); |
| | | invite_user.text("您好 " + driver.getName() + ","); |
| | | Element invite_content = document.getElementById("invite_content"); |
| | | invite_content.text("您已成功邀请一位司机注册I-GO,获得奖励GHS " + bigDecimal.doubleValue() + ",请查收"); |
| | | } |
| | | if(2 == language){ |
| | | document.getElementById("chinese").attr("style", "display: none;"); |
| | | document.getElementById("french").attr("style", "display: none;"); |
| | | document.getElementById("user1").attr("style", "display: none;"); |
| | | document.getElementById("settle1").attr("style", "display: none;"); |
| | | document.getElementById("pass1").attr("style", "display: none;"); |
| | | document.getElementById("email1").attr("style", "display: none;"); |
| | | document.getElementById("bill1").attr("style", "display: none;"); |
| | | document.getElementById("reward1").attr("style", "display: none;"); |
| | | document.getElementById("rewardToday1").attr("style", "display: none;"); |
| | | document.getElementById("driverAudit1").attr("style", "display: none;"); |
| | | document.getElementById("carAudit1").attr("style", "display: none;"); |
| | | |
| | | Element invite1_user = document.getElementById("invite1_user"); |
| | | invite1_user.text("Hello " + driver.getName() + ","); |
| | | Element invite1_content = document.getElementById("invite1_content"); |
| | | invite1_content.text("You have succeeded to invite a driver to register with I-GO, so you received a GHS " + bigDecimal.doubleValue() + " bonus, please check your balance."); |
| | | } |
| | | if(3 == language){ |
| | | document.getElementById("chinese").attr("style", "display: none;"); |
| | | document.getElementById("english").attr("style", "display: none;"); |
| | | document.getElementById("user2").attr("style", "display: none;"); |
| | | document.getElementById("settle2").attr("style", "display: none;"); |
| | | document.getElementById("pass2").attr("style", "display: none;"); |
| | | document.getElementById("email2").attr("style", "display: none;"); |
| | | document.getElementById("bill2").attr("style", "display: none;"); |
| | | document.getElementById("reward2").attr("style", "display: none;"); |
| | | document.getElementById("rewardToday2").attr("style", "display: none;"); |
| | | document.getElementById("driverAudit2").attr("style", "display: none;"); |
| | | document.getElementById("carAudit2").attr("style", "display: none;"); |
| | | |
| | | Element invite2_user = document.getElementById("invite2_user"); |
| | | invite2_user.text("Bonjour " + driver.getName() + ","); |
| | | Element invite2_content = document.getElementById("invite2_content"); |
| | | invite2_content.text("Vous avez invité avec succès un conducteur à s’inscrire à i-go pour recevoir une récompense GHS " + bigDecimal.doubleValue() + ". Veuillez vérifier"); |
| | | } |
| | | EmailUtil.send(driver.getEmail(), language == 1 ? "邀请奖励" : language == 2 ? "invitation bonus" : "prime d'invitation", document.html()); |
| | | } |
| | | |
| | | } |
| | | if(type == 1){//用户分享 |
| | | UserInfo userInfo = userInfoMapper.selectById(uid); |
| | |
| | | userCouponRecordMapper.insert(userCouponRecord); |
| | | } |
| | | } |
| | | }*/ |
| | | } |
| | | } |
| | | return result; |
| | | } |
| | |
| | | driverMapper.updateById(driver1); |
| | | LoginWarpper loginWarpper = new LoginWarpper(); |
| | | loginWarpper.setId(driver1.getId()); |
| | | return ResultUtil.error("电话号码已使用", loginWarpper); |
| | | return ResultUtil.success(loginWarpper); |
| | | } |
| | | |
| | | |
| | |
| | | if(null != driver1){ |
| | | LoginWarpper loginWarpper = new LoginWarpper(); |
| | | loginWarpper.setId(driver1.getId()); |
| | | return ResultUtil.error("电话号码已使用", loginWarpper); |
| | | return ResultUtil.success(loginWarpper); |
| | | } |
| | | Driver driver = new Driver(); |
| | | driver.setAccount(phone); |
| | |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public ResultUtil updateDriver(RegisteredWarpper registeredWarpper, Integer uid) throws Exception { |
| | | public ResultUtil updateDriver(RegisteredWarpper registeredWarpper, Integer uid, Integer language) throws Exception { |
| | | Driver driver = this.selectById(uid); |
| | | driver.setName(registeredWarpper.getName()); |
| | | driver.setSex(registeredWarpper.getSex()); |
| | |
| | | driver.setHeadImgUrl(registeredWarpper.getHeadImgUrl()); |
| | | driver.setIdCardImgUrl1(registeredWarpper.getIdCardImgUrl1()); |
| | | driver.setIdCardImgUrl2(registeredWarpper.getIdCardImgUrl2()); |
| | | driver.setPlaceOfEmployment(city1.getEnglishName()); |
| | | driver.setPlaceOfEmployment(language == 1 ? city1.getChineseName() : language == 2 ? city1.getEnglishName() : city1.getFrenchName()); |
| | | driver.setDriverAddress(registeredWarpper.getDriverContactAddress()); |
| | | driver.setDriverContactAddress(registeredWarpper.getDriverContactAddress()); |
| | | driver.setDriverContactAddress_(registeredWarpper.getDriverContactAddress_()); |
| | | driver.setPlaceOfPractice(city1.getEnglishName()); |
| | | driver.setPlaceOfPractice(language == 1 ? city1.getChineseName() : language == 2 ? city1.getEnglishName() : city1.getFrenchName()); |
| | | |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(registeredWarpper.getGetDriverLicenseDate()); |
| | |
| | | now.setTime(new Date()); |
| | | driver.setDriverAge(now.get(Calendar.YEAR) - calendar.get(Calendar.YEAR)); |
| | | driver.setGetDriverLicenseDate(registeredWarpper.getGetDriverLicenseDate()); |
| | | driver.setDriveCardImgUrl1(registeredWarpper.getDriveCardImgUrl1()); |
| | | driver.setDriveCardImgUrl1(registeredWarpper.getDriveCardImgUrl()); |
| | | driver.setDriveCardImgUrl2(registeredWarpper.getDriveCardImgUrl2()); |
| | | driver.setEmail(registeredWarpper.getEmail()); |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | if(ToolUtil.isNotEmpty(driver.getEmail())){ |
| | | String path1 = templatePath + "index.html"; |
| | | Document document1 = Jsoup.parse(new File(path1), "UTF-8"); |
| | | if(1 == language){ |
| | | document1.getElementById("english").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite").attr("style", "display: none;"); |
| | | document1.getElementById("user").attr("style", "display: none;"); |
| | | document1.getElementById("pass").attr("style", "display: none;"); |
| | | document1.getElementById("email").attr("style", "display: none;"); |
| | | document1.getElementById("bill").attr("style", "display: none;"); |
| | | document1.getElementById("reward").attr("style", "display: none;"); |
| | | document1.getElementById("rewardToday").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit").attr("style", "display: none;"); |
| | | |
| | | Element settle_user = document1.getElementById("settle_user"); |
| | | settle_user.text("您好 " + driver.getName() + ","); |
| | | } |
| | | if(2 == language){ |
| | | document1.getElementById("chinese").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite1").attr("style", "display: none;"); |
| | | document1.getElementById("user1").attr("style", "display: none;"); |
| | | document1.getElementById("pass1").attr("style", "display: none;"); |
| | | document1.getElementById("email1").attr("style", "display: none;"); |
| | | document1.getElementById("bill1").attr("style", "display: none;"); |
| | | document1.getElementById("reward1").attr("style", "display: none;"); |
| | | document1.getElementById("rewardToday1").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit1").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit1").attr("style", "display: none;"); |
| | | |
| | | Element settle1_user = document1.getElementById("settle1_user"); |
| | | settle1_user.text("Hello " + driver.getName() + ","); |
| | | } |
| | | if(3 == language){ |
| | | document1.getElementById("chinese").attr("style", "display: none;"); |
| | | document1.getElementById("english").attr("style", "display: none;"); |
| | | document1.getElementById("invite2").attr("style", "display: none;"); |
| | | document1.getElementById("user2").attr("style", "display: none;"); |
| | | document1.getElementById("pass2").attr("style", "display: none;"); |
| | | document1.getElementById("email2").attr("style", "display: none;"); |
| | | document1.getElementById("bill2").attr("style", "display: none;"); |
| | | document1.getElementById("reward2").attr("style", "display: none;"); |
| | | document1.getElementById("rewardToday2").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit2").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit2").attr("style", "display: none;"); |
| | | |
| | | Element settle2_user = document1.getElementById("settle2_user"); |
| | | settle2_user.text("Bonjour " + driver.getName() + ","); |
| | | } |
| | | EmailUtil.send(driver.getEmail(), language == 1 ? "注册成功" : language == 2 ? "registration success" : "succès de l'inscription", document1.html()); |
| | | } |
| | | |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public ResultUtil resetPassword(String phone, String code, String password) throws Exception { |
| | | public ResultUtil resetPassword(String phone, String code, String password, Integer language) throws Exception { |
| | | boolean b = this.checkCaptcha(phone, code); |
| | | if(!b){ |
| | | return ResultUtil.error("验证码无效"); |
| | |
| | | } |
| | | driver.setPassword(ShiroKit.md5(password, salt)); |
| | | driverMapper.updateById(driver); |
| | | |
| | | if(ToolUtil.isNotEmpty(driver.getEmail())){ |
| | | String path1 = templatePath + "index.html"; |
| | | Document document1 = Jsoup.parse(new File(path1), "UTF-8"); |
| | | if(1 == language){ |
| | | document1.getElementById("english").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite").attr("style", "display: none;"); |
| | | document1.getElementById("user").attr("style", "display: none;"); |
| | | document1.getElementById("settle").attr("style", "display: none;"); |
| | | document1.getElementById("email").attr("style", "display: none;"); |
| | | document1.getElementById("bill").attr("style", "display: none;"); |
| | | document1.getElementById("reward").attr("style", "display: none;"); |
| | | document1.getElementById("rewardToday").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit").attr("style", "display: none;"); |
| | | |
| | | Element pass_user = document1.getElementById("pass_user"); |
| | | pass_user.text("您好 " + driver.getName() + ","); |
| | | } |
| | | if(2 == language){ |
| | | document1.getElementById("chinese").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite1").attr("style", "display: none;"); |
| | | document1.getElementById("user1").attr("style", "display: none;"); |
| | | document1.getElementById("settle1").attr("style", "display: none;"); |
| | | document1.getElementById("email1").attr("style", "display: none;"); |
| | | document1.getElementById("bill1").attr("style", "display: none;"); |
| | | document1.getElementById("reward1").attr("style", "display: none;"); |
| | | document1.getElementById("rewardToday1").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit1").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit1").attr("style", "display: none;"); |
| | | |
| | | Element pass1_user = document1.getElementById("pass1_user"); |
| | | pass1_user.text("Hello " + driver.getName() + ","); |
| | | } |
| | | if(3 == language){ |
| | | document1.getElementById("chinese").attr("style", "display: none;"); |
| | | document1.getElementById("english").attr("style", "display: none;"); |
| | | document1.getElementById("invite2").attr("style", "display: none;"); |
| | | document1.getElementById("user2").attr("style", "display: none;"); |
| | | document1.getElementById("settle2").attr("style", "display: none;"); |
| | | document1.getElementById("email2").attr("style", "display: none;"); |
| | | document1.getElementById("bill2").attr("style", "display: none;"); |
| | | document1.getElementById("reward2").attr("style", "display: none;"); |
| | | document1.getElementById("rewardToday2").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit2").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit2").attr("style", "display: none;"); |
| | | |
| | | Element pass2_user = document1.getElementById("pass2_user"); |
| | | pass2_user.text("Bonjour " + driver.getName() + ","); |
| | | } |
| | | EmailUtil.send(driver.getEmail(), language == 1 ? "重置密码" : language == 2 ? "reset Password" : "réinitialiser le mot de passe", document1.html()); |
| | | } |
| | | |
| | | smsrecordService.saveData(6, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!"); |
| | | return ResultUtil.success(); |
| | |
| | | if(null == driver){ |
| | | return ResultUtil.error("账号未注册"); |
| | | } |
| | | /*if(driver.getAuthState() == 1){ |
| | | if(driver.getAuthState() == 1){ |
| | | return ResultUtil.error("账号正在审核中,请耐心等待"); |
| | | }*/ |
| | | } |
| | | if(driver.getAuthState() == 3){ |
| | | return ResultUtil.error("账号已被冻结,请联系管理员"); |
| | | } |
| | |
| | | public void run() { |
| | | List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().eq("driverId", uid).eq("payType", 4) |
| | | .eq("driverPay", 1).eq("isDelete", 1)); |
| | | for (OrderPrivateCar orderPrivateCar : orderPrivateCars) { |
| | | if(orderPrivateCars.size() > 0){ |
| | | OrderPrivateCar orderPrivateCar = orderPrivateCars.get(0); |
| | | pushUtil.pushOfflinePayment(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1); |
| | | return; |
| | | } |
| | | List<OrderLogistics> orderLogistics = orderLogisticsService.selectList(new EntityWrapper<OrderLogistics>().eq("driverId", uid).eq("payType", 4) |
| | | .eq("isDelete", 1).eq("driverPay", 1)); |
| | | for (OrderLogistics orderLogistic : orderLogistics) { |
| | | pushUtil.pushOfflinePayment(2, orderLogistic.getDriverId(), orderLogistic.getId(), orderLogistic.getType()); |
| | | if(orderLogistics.size() > 0){ |
| | | OrderLogistics orderLogistics1 = orderLogistics.get(0); |
| | | pushUtil.pushOfflinePayment(2, orderLogistics1.getDriverId(), orderLogistics1.getId(), orderLogistics1.getType()); |
| | | } |
| | | } |
| | | }).start(); |
| | |
| | | driverWork.setState(2); |
| | | driverWorkMapper.updateById(driverWork); |
| | | driver.setState(1); |
| | | |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){//上传数据 |
| | | pushMinistryOfTransportUtil.operateLogout(uid); |
| | | } |
| | | } |
| | | }).start(); |
| | | }else{ |
| | | LoginWarpper loginWarpper = new LoginWarpper(); |
| | | if(driver.getCompanyId()==null){ |
| | |
| | | driverWork.setType(type); |
| | | driverWorkMapper.insert(driverWork); |
| | | driver.setState(2); |
| | | |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){ //上传数据 |
| | | pushMinistryOfTransportUtil.operateLogin(uid); |
| | | } |
| | | } |
| | | }).start(); |
| | | } |
| | | this.updateById(driver); |
| | | return ResultUtil.success(); |
| | |
| | | driverWork.setState(2); |
| | | driverWorkMapper.updateById(driverWork); |
| | | driver.setState(1); |
| | | |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){//上传数据 |
| | | pushMinistryOfTransportUtil.operateLogout(uid); |
| | | } |
| | | } |
| | | }).start(); |
| | | }else{ |
| | | LoginWarpper loginWarpper = new LoginWarpper(); |
| | | if(driver.getCompanyId()==null){ |
| | |
| | | driverOrdersMapper.insert(driverOrders); |
| | | } |
| | | } |
| | | |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){ |
| | | //上传数据 |
| | | pushMinistryOfTransportUtil.operateLogin(uid); |
| | | } |
| | | } |
| | | }).start(); |
| | | } |
| | | this.updateById(driver); |
| | | return ResultUtil.success(); |
| | |
| | | baseWarpper.setName("跨城出行"); |
| | | break; |
| | | case 4: |
| | | baseWarpper.setName("同城小件物流"); |
| | | baseWarpper.setName("市内小件物流"); |
| | | break; |
| | | case 5: |
| | | baseWarpper.setName("跨城小件物流"); |
| | |
| | | * @throws Exception |
| | | */ |
| | | @Override |
| | | public void updatePassword(String password, Integer uid) throws Exception { |
| | | public void updatePassword(String password, Integer uid, Integer language) throws Exception { |
| | | Driver driver = this.selectById(uid); |
| | | driver.setPassword(ShiroKit.md5(password, salt)); |
| | | this.updateById(driver); |
| | | if(ToolUtil.isNotEmpty(driver.getEmail())){ |
| | | String path1 = templatePath + "index.html"; |
| | | Document document1 = Jsoup.parse(new File(path1), "UTF-8"); |
| | | if(1 == language){ |
| | | document1.getElementById("english").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite").attr("style", "display: none;"); |
| | | document1.getElementById("user").attr("style", "display: none;"); |
| | | document1.getElementById("settle").attr("style", "display: none;"); |
| | | document1.getElementById("email").attr("style", "display: none;"); |
| | | document1.getElementById("bill").attr("style", "display: none;"); |
| | | document1.getElementById("reward").attr("style", "display: none;"); |
| | | document1.getElementById("rewardToday").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit").attr("style", "display: none;"); |
| | | |
| | | Element pass_user = document1.getElementById("pass_user"); |
| | | pass_user.text("您好 " + driver.getName() + ","); |
| | | } |
| | | if(2 == language){ |
| | | document1.getElementById("chinese").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite1").attr("style", "display: none;"); |
| | | document1.getElementById("user1").attr("style", "display: none;"); |
| | | document1.getElementById("settle1").attr("style", "display: none;"); |
| | | document1.getElementById("email1").attr("style", "display: none;"); |
| | | document1.getElementById("bill1").attr("style", "display: none;"); |
| | | document1.getElementById("reward1").attr("style", "display: none;"); |
| | | document1.getElementById("rewardToday1").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit1").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit1").attr("style", "display: none;"); |
| | | |
| | | Element pass1_user = document1.getElementById("pass1_user"); |
| | | pass1_user.text("Hello " + driver.getName() + ","); |
| | | } |
| | | if(2 == language){ |
| | | document1.getElementById("chinese").attr("style", "display: none;"); |
| | | document1.getElementById("english").attr("style", "display: none;"); |
| | | document1.getElementById("invite2").attr("style", "display: none;"); |
| | | document1.getElementById("user2").attr("style", "display: none;"); |
| | | document1.getElementById("settle2").attr("style", "display: none;"); |
| | | document1.getElementById("email2").attr("style", "display: none;"); |
| | | document1.getElementById("bill2").attr("style", "display: none;"); |
| | | document1.getElementById("reward2").attr("style", "display: none;"); |
| | | document1.getElementById("rewardToday2").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit2").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit2").attr("style", "display: none;"); |
| | | |
| | | Element pass2_user = document1.getElementById("pass2_user"); |
| | | pass2_user.text("Bonjour " + driver.getName() + ","); |
| | | } |
| | | EmailUtil.send(driver.getEmail(), language == 1 ? "重置密码" : language == 2 ? "reset Password" : "réinitialiser le mot de passe", document1.html()); |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | Driver driver = this.selectById(uid); |
| | | if(driver.getState() == 3){ |
| | | return ResultUtil.error("还在服务中,不能更换"); |
| | | } |
| | | Car car = carService.selectById(carId); |
| | | if(null == car){ |
| | | return ResultUtil.error("车辆无效"); |
| | | } |
| | | if(car.getAuthState() == 1){ |
| | | return ResultUtil.error("车辆正在审核中"); |
| | | } |
| | | if(car.getAuthState() == 3){ |
| | | return ResultUtil.error("车辆已冻结"); |
| | | } |
| | | boolean idle = carService.idle(carId); |
| | | if(!idle){ |
| | |
| | | @Override |
| | | public void addTodayActivity() throws Exception { |
| | | List<Company> companies = companyMapper.selectList(new EntityWrapper<Company>().eq("state", 0).ne("flag", 3)); |
| | | Integer language = 2; |
| | | //获取每个企业的活动数据 |
| | | for(Company company : companies){ |
| | | //企业下的所有司机 |
| | |
| | | driverActivityHistory.setMoney(Double.valueOf(String.valueOf(map.get("money")))); |
| | | driverActivityHistory.setInsertTime(new Date()); |
| | | driverActivityHistoryMapper.insert(driverActivityHistory); |
| | | |
| | | if(ToolUtil.isNotEmpty(driver.getEmail())) { |
| | | String path1 = templatePath + "index.html"; |
| | | Document document1 = Jsoup.parse(new File(path1), "UTF-8"); |
| | | if (1 == language) { |
| | | document1.getElementById("english").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite").attr("style", "display: none;"); |
| | | document1.getElementById("user").attr("style", "display: none;"); |
| | | document1.getElementById("settle").attr("style", "display: none;"); |
| | | document1.getElementById("pass").attr("style", "display: none;"); |
| | | document1.getElementById("email").attr("style", "display: none;"); |
| | | document1.getElementById("bill").attr("style", "display: none;"); |
| | | document1.getElementById("reward").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit").attr("style", "display: none;"); |
| | | |
| | | Element rewardToday_user = document1.getElementById("rewardToday_user"); |
| | | rewardToday_user.text("您好 " + driver.getName() + ","); |
| | | Element rewardToday_award = document1.getElementById("rewardToday_award"); |
| | | rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney()); |
| | | Element rewardToday_content = document1.getElementById("rewardToday_content"); |
| | | rewardToday_content.text("邀请司机注册即可活动奖励。 注意此活动是有时间限制的,详情请查看I-GO平台。"); |
| | | } |
| | | if (2 == language) { |
| | | document1.getElementById("chinese").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite1").attr("style", "display: none;"); |
| | | document1.getElementById("user1").attr("style", "display: none;"); |
| | | document1.getElementById("settle1").attr("style", "display: none;"); |
| | | document1.getElementById("pass1").attr("style", "display: none;"); |
| | | document1.getElementById("email1").attr("style", "display: none;"); |
| | | document1.getElementById("bill1").attr("style", "display: none;"); |
| | | document1.getElementById("reward1").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit1").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit1").attr("style", "display: none;"); |
| | | |
| | | Element rewardToday1_user = document1.getElementById("rewardToday1_user"); |
| | | rewardToday1_user.text("Hello " + driver.getName() + ","); |
| | | Element rewardToday1_award = document1.getElementById("rewardToday1_award"); |
| | | rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS"); |
| | | Element rewardToday1_content = document1.getElementById("rewardToday1_content"); |
| | | rewardToday1_content.text("Invite drivers to register and get event rewards. Note that this event is time-limited, please check the I-GO platform for details."); |
| | | } |
| | | if (3 == language) { |
| | | document1.getElementById("chinese").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite2").attr("style", "display: none;"); |
| | | document1.getElementById("user2").attr("style", "display: none;"); |
| | | document1.getElementById("settle2").attr("style", "display: none;"); |
| | | document1.getElementById("pass2").attr("style", "display: none;"); |
| | | document1.getElementById("email2").attr("style", "display: none;"); |
| | | document1.getElementById("bill2").attr("style", "display: none;"); |
| | | document1.getElementById("reward2").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit2").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit2").attr("style", "display: none;"); |
| | | |
| | | Element rewardToday2_user = document1.getElementById("rewardToday2_user"); |
| | | rewardToday2_user.text("Bonjour " + driver.getName() + ","); |
| | | Element rewardToday2_award = document1.getElementById("rewardToday2_award"); |
| | | rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney()); |
| | | Element rewardToday2_content = document1.getElementById("rewardToday2_content"); |
| | | rewardToday2_content.text("Invitez les conducteurs à s’inscrire et à recevoir des récompenses. Notez que cet événement est limité dans le temps, veuillez consulter la plateforme I-GO pour plus de détails."); |
| | | } |
| | | EmailUtil.send(driver.getEmail(), language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui", document1.html()); |
| | | } |
| | | } |
| | | } |
| | | //邀请用户注册 |
| | |
| | | driverActivityHistory.setMoney(Double.valueOf(String.valueOf(map.get("money")))); |
| | | driverActivityHistory.setInsertTime(new Date()); |
| | | driverActivityHistoryMapper.insert(driverActivityHistory); |
| | | |
| | | if(ToolUtil.isNotEmpty(driver.getEmail())) { |
| | | String path1 = templatePath + "index.html"; |
| | | Document document1 = Jsoup.parse(new File(path1), "UTF-8"); |
| | | if (1 == language) { |
| | | document1.getElementById("english").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite").attr("style", "display: none;"); |
| | | document1.getElementById("user").attr("style", "display: none;"); |
| | | document1.getElementById("settle").attr("style", "display: none;"); |
| | | document1.getElementById("pass").attr("style", "display: none;"); |
| | | document1.getElementById("email").attr("style", "display: none;"); |
| | | document1.getElementById("bill").attr("style", "display: none;"); |
| | | document1.getElementById("reward").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit").attr("style", "display: none;"); |
| | | |
| | | Element rewardToday_user = document1.getElementById("rewardToday_user"); |
| | | rewardToday_user.text("您好 " + driver.getName() + ","); |
| | | Element rewardToday_award = document1.getElementById("rewardToday_award"); |
| | | rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney()); |
| | | Element rewardToday_content = document1.getElementById("rewardToday_content"); |
| | | rewardToday_content.text("邀请用户注册即可活动奖励。 注意此活动是有时间限制的,详情请查看I-GO平台。"); |
| | | } |
| | | if (2 == language) { |
| | | document1.getElementById("chinese").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite1").attr("style", "display: none;"); |
| | | document1.getElementById("user1").attr("style", "display: none;"); |
| | | document1.getElementById("settle1").attr("style", "display: none;"); |
| | | document1.getElementById("pass1").attr("style", "display: none;"); |
| | | document1.getElementById("email1").attr("style", "display: none;"); |
| | | document1.getElementById("bill1").attr("style", "display: none;"); |
| | | document1.getElementById("reward1").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit1").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit1").attr("style", "display: none;"); |
| | | |
| | | Element rewardToday1_user = document1.getElementById("rewardToday1_user"); |
| | | rewardToday1_user.text("Hello " + driver.getName() + ","); |
| | | Element rewardToday1_award = document1.getElementById("rewardToday1_award"); |
| | | rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS"); |
| | | Element rewardToday1_content = document1.getElementById("rewardToday1_content"); |
| | | rewardToday1_content.text("Invite users to register and get event rewards. Note that this event is time-limited, please check the I-GO platform for details."); |
| | | } |
| | | if (3 == language) { |
| | | document1.getElementById("chinese").attr("style", "display: none;"); |
| | | document1.getElementById("english").attr("style", "display: none;"); |
| | | document1.getElementById("invite2").attr("style", "display: none;"); |
| | | document1.getElementById("user2").attr("style", "display: none;"); |
| | | document1.getElementById("settle2").attr("style", "display: none;"); |
| | | document1.getElementById("pass2").attr("style", "display: none;"); |
| | | document1.getElementById("email2").attr("style", "display: none;"); |
| | | document1.getElementById("bill2").attr("style", "display: none;"); |
| | | document1.getElementById("reward2").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit2").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit2").attr("style", "display: none;"); |
| | | |
| | | Element rewardToday2_user = document1.getElementById("rewardToday2_user"); |
| | | rewardToday2_user.text("Bonjour " + driver.getName() + ","); |
| | | Element rewardToday2_award = document1.getElementById("rewardToday2_award"); |
| | | rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney()); |
| | | Element rewardToday2_content = document1.getElementById("rewardToday2_content"); |
| | | rewardToday2_content.text("Invitez les conducteurs à s’inscrire et à recevoir des récompenses. Notez que cet événement est limité dans le temps, veuillez consulter la plateforme I-GO pour plus de détails."); |
| | | } |
| | | EmailUtil.send(driver.getEmail(), language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui", document1.html()); |
| | | } |
| | | } |
| | | } |
| | | //累计在线 |
| | | query = driverActivityOnlineMapper.query(company.getId()); |
| | | for(Map<String, Object> map : query){ |
| | | DriverActivityOnline driverActivityOnline = driverActivityOnlineMapper.selectById(Integer.valueOf(String.valueOf(map.get("id")))); |
| | | for(Driver driver : drivers){ |
| | | DriverActivityHistory driverActivityHistory = new DriverActivityHistory(); |
| | | driverActivityHistory.setActivityId(Integer.valueOf(String.valueOf(map.get("id")))); |
| | |
| | | driverActivityHistory.setMoney(Double.valueOf(String.valueOf(map.get("money")))); |
| | | driverActivityHistory.setInsertTime(new Date()); |
| | | driverActivityHistoryMapper.insert(driverActivityHistory); |
| | | |
| | | if(ToolUtil.isNotEmpty(driver.getEmail())) { |
| | | String path1 = templatePath + "index.html"; |
| | | Document document1 = Jsoup.parse(new File(path1), "UTF-8"); |
| | | if (1 == language) { |
| | | document1.getElementById("english").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite").attr("style", "display: none;"); |
| | | document1.getElementById("user").attr("style", "display: none;"); |
| | | document1.getElementById("settle").attr("style", "display: none;"); |
| | | document1.getElementById("pass").attr("style", "display: none;"); |
| | | document1.getElementById("email").attr("style", "display: none;"); |
| | | document1.getElementById("bill").attr("style", "display: none;"); |
| | | document1.getElementById("reward").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit").attr("style", "display: none;"); |
| | | |
| | | Element rewardToday_user = document1.getElementById("rewardToday_user"); |
| | | rewardToday_user.text("您好 " + driver.getName() + ","); |
| | | Element rewardToday_award = document1.getElementById("rewardToday_award"); |
| | | rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney()); |
| | | Element rewardToday_content = document1.getElementById("rewardToday_content"); |
| | | rewardToday_content.text("今日累计在线" + driverActivityOnline.getOnline() + "小时即可活动奖励。 注意此活动是有时间限制的,详情请查看I-GO平台。"); |
| | | } |
| | | if (2 == language) { |
| | | document1.getElementById("chinese").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite1").attr("style", "display: none;"); |
| | | document1.getElementById("user1").attr("style", "display: none;"); |
| | | document1.getElementById("settle1").attr("style", "display: none;"); |
| | | document1.getElementById("pass1").attr("style", "display: none;"); |
| | | document1.getElementById("email1").attr("style", "display: none;"); |
| | | document1.getElementById("bill1").attr("style", "display: none;"); |
| | | document1.getElementById("reward1").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit1").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit1").attr("style", "display: none;"); |
| | | |
| | | Element rewardToday1_user = document1.getElementById("rewardToday1_user"); |
| | | rewardToday1_user.text("Hello " + driver.getName() + ","); |
| | | Element rewardToday1_award = document1.getElementById("rewardToday1_award"); |
| | | rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS"); |
| | | Element rewardToday1_content = document1.getElementById("rewardToday1_content"); |
| | | rewardToday1_content.text("Accumulated online " + driverActivityOnline.getOnline() + " hours today to get event rewards. Note that this event is time-limited, please check the I-GO platform for details."); |
| | | } |
| | | if (3 == language) { |
| | | document1.getElementById("chinese").attr("style", "display: none;"); |
| | | document1.getElementById("english").attr("style", "display: none;"); |
| | | document1.getElementById("invite2").attr("style", "display: none;"); |
| | | document1.getElementById("user2").attr("style", "display: none;"); |
| | | document1.getElementById("settle2").attr("style", "display: none;"); |
| | | document1.getElementById("pass2").attr("style", "display: none;"); |
| | | document1.getElementById("email2").attr("style", "display: none;"); |
| | | document1.getElementById("bill2").attr("style", "display: none;"); |
| | | document1.getElementById("reward2").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit2").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit2").attr("style", "display: none;"); |
| | | |
| | | Element rewardToday2_user = document1.getElementById("rewardToday2_user"); |
| | | rewardToday2_user.text("Bonjour " + driver.getName() + ","); |
| | | Element rewardToday2_award = document1.getElementById("rewardToday2_award"); |
| | | rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney()); |
| | | Element rewardToday2_content = document1.getElementById("rewardToday2_content"); |
| | | rewardToday2_content.text("Accumulé en ligne " + driverActivityOnline.getOnline() + " heures aujourd’hui pour obtenir des récompenses d’événement. Notez que cet événement est limité dans le temps, veuillez consulter la plateforme I-GO pour plus de détails."); |
| | | } |
| | | EmailUtil.send(driver.getEmail(), language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui", document1.html()); |
| | | } |
| | | } |
| | | } |
| | | //订单量 |
| | | query = driverActivityOrderMapper.query(company.getId()); |
| | | for(Map<String, Object> map : query){ |
| | | DriverActivityOrder driverActivityOrder = driverActivityOrderMapper.selectById(Integer.valueOf(String.valueOf(map.get("id")))); |
| | | for(Driver driver : drivers){ |
| | | DriverActivityHistory driverActivityHistory = new DriverActivityHistory(); |
| | | driverActivityHistory.setActivityId(Integer.valueOf(String.valueOf(map.get("id")))); |
| | |
| | | driverActivityHistory.setMoney(Double.valueOf(String.valueOf(map.get("money")))); |
| | | driverActivityHistory.setInsertTime(new Date()); |
| | | driverActivityHistoryMapper.insert(driverActivityHistory); |
| | | |
| | | if(ToolUtil.isNotEmpty(driver.getEmail())) { |
| | | String path1 = templatePath + "index.html"; |
| | | Document document1 = Jsoup.parse(new File(path1), "UTF-8"); |
| | | if (1 == language) { |
| | | document1.getElementById("english").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite").attr("style", "display: none;"); |
| | | document1.getElementById("user").attr("style", "display: none;"); |
| | | document1.getElementById("settle").attr("style", "display: none;"); |
| | | document1.getElementById("pass").attr("style", "display: none;"); |
| | | document1.getElementById("email").attr("style", "display: none;"); |
| | | document1.getElementById("bill").attr("style", "display: none;"); |
| | | document1.getElementById("reward").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit").attr("style", "display: none;"); |
| | | |
| | | Element rewardToday_user = document1.getElementById("rewardToday_user"); |
| | | rewardToday_user.text("您好 " + driver.getName() + ","); |
| | | Element rewardToday_award = document1.getElementById("rewardToday_award"); |
| | | rewardToday_award.text("奖金 GHS" + driverActivityHistory.getMoney()); |
| | | Element rewardToday_content = document1.getElementById("rewardToday_content"); |
| | | rewardToday_content.text("今日累计完成" + driverActivityOrder.getOrderNum() + "单即可活动奖励。 注意此活动是有时间限制的,详情请查看I-GO平台。"); |
| | | } |
| | | if (2 == language) { |
| | | document1.getElementById("chinese").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite1").attr("style", "display: none;"); |
| | | document1.getElementById("user1").attr("style", "display: none;"); |
| | | document1.getElementById("settle1").attr("style", "display: none;"); |
| | | document1.getElementById("pass1").attr("style", "display: none;"); |
| | | document1.getElementById("email1").attr("style", "display: none;"); |
| | | document1.getElementById("bill1").attr("style", "display: none;"); |
| | | document1.getElementById("reward1").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit1").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit1").attr("style", "display: none;"); |
| | | |
| | | Element rewardToday1_user = document1.getElementById("rewardToday1_user"); |
| | | rewardToday1_user.text("Hello " + driver.getName() + ","); |
| | | Element rewardToday1_award = document1.getElementById("rewardToday1_award"); |
| | | rewardToday1_award.text("GHS " + driverActivityHistory.getMoney() + " BONUS"); |
| | | Element rewardToday1_content = document1.getElementById("rewardToday1_content"); |
| | | rewardToday1_content.text("Complete " + driverActivityOrder.getOrderNum() + " orders in total today to get event rewards. Note that this event is time-limited, please check the I-GO platform for details."); |
| | | } |
| | | if (3 == language) { |
| | | document1.getElementById("chinese").attr("style", "display: none;"); |
| | | document1.getElementById("english").attr("style", "display: none;"); |
| | | document1.getElementById("invite2").attr("style", "display: none;"); |
| | | document1.getElementById("user2").attr("style", "display: none;"); |
| | | document1.getElementById("settle2").attr("style", "display: none;"); |
| | | document1.getElementById("pass2").attr("style", "display: none;"); |
| | | document1.getElementById("email2").attr("style", "display: none;"); |
| | | document1.getElementById("bill2").attr("style", "display: none;"); |
| | | document1.getElementById("reward2").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit2").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit2").attr("style", "display: none;"); |
| | | |
| | | Element rewardToday2_user = document1.getElementById("rewardToday2_user"); |
| | | rewardToday2_user.text("Bonjour " + driver.getName() + ","); |
| | | Element rewardToday2_award = document1.getElementById("rewardToday2_award"); |
| | | rewardToday2_award.text("Bonus GHS " + driverActivityHistory.getMoney()); |
| | | Element rewardToday2_content = document1.getElementById("rewardToday2_content"); |
| | | rewardToday2_content.text("Effectuez " + driverActivityOrder.getOrderNum() + " commandes au total aujourd’hui pour obtenir des récompenses d’événement. Notez que cet événement est limité dans le temps, veuillez consulter la plateforme I-GO pour plus de détails."); |
| | | } |
| | | EmailUtil.send(driver.getEmail(), language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui", document1.html()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | @Override |
| | | public void taskMinute() throws Exception { |
| | | Map<String, Date> date = dateUtil.getStartAndEndDate(new Date()); |
| | | Integer language = 1; |
| | | //在线时长 |
| | | List<DriverActivityHistory> list = driverActivityHistoryMapper.queryList(null, 3, 1, date.get("startTime"), date.get("endTime")); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | for(DriverActivityHistory dah : list){ |
| | | DriverActivityOnline dao = driverActivityOnlineMapper.selectById(dah.getActivityId()); |
| | | List<DriverWork> query = driverWorkMapper.query(dao.getType(), dao.getOnline());//满足活动条件的数据 |
| | | for(DriverWork dw : query){ |
| | | if(dah.getDriverId().compareTo(dw.getDriverId()) == 0){ |
| | | Long duration = Long.valueOf(dao.getOnline() * 60 * 60 * 1000); |
| | | List<DriverOnline> driverOnlines = driverOnlineMapper.queryList(sdf.format(new Date()), duration); |
| | | for (DriverOnline driverOnline : driverOnlines) { |
| | | if(dah.getDriverId().compareTo(driverOnline.getDriverId()) == 0){ |
| | | dah.setCarryOut(2);//完成状态 |
| | | driverActivityHistoryMapper.updateById(dah); |
| | | //修改余额 |
| | |
| | | this.updateById(driver); |
| | | |
| | | //添加收入记录 |
| | | incomeService.saveData(2, dw.getDriverId(), 1, dao.getId(), null, dah.getMoney()); |
| | | incomeService.saveData(2, driverOnline.getDriverId(), 1, dao.getId(), null, dah.getMoney()); |
| | | |
| | | |
| | | if(ToolUtil.isNotEmpty(driver.getEmail())) { |
| | | String path1 = templatePath + "index.html"; |
| | | Document document1 = Jsoup.parse(new File(path1), "UTF-8"); |
| | | if (1 == language) { |
| | | document1.getElementById("english").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite").attr("style", "display: none;"); |
| | | document1.getElementById("user").attr("style", "display: none;"); |
| | | document1.getElementById("settle").attr("style", "display: none;"); |
| | | document1.getElementById("pass").attr("style", "display: none;"); |
| | | document1.getElementById("email").attr("style", "display: none;"); |
| | | document1.getElementById("bill").attr("style", "display: none;"); |
| | | document1.getElementById("rewardToday").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit").attr("style", "display: none;"); |
| | | |
| | | Element reward_user = document1.getElementById("reward_user"); |
| | | reward_user.text("您好 " + driver.getName() + ","); |
| | | Element reward_content = document1.getElementById("reward_content"); |
| | | reward_content.text("今日累计在线 " + dao.getOnline() + "小时,获得奖励GHS" + dah.getMoney() + ",请查收"); |
| | | } |
| | | if (2 == language) { |
| | | document1.getElementById("chinese").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite1").attr("style", "display: none;"); |
| | | document1.getElementById("user1").attr("style", "display: none;"); |
| | | document1.getElementById("settle1").attr("style", "display: none;"); |
| | | document1.getElementById("pass1").attr("style", "display: none;"); |
| | | document1.getElementById("email1").attr("style", "display: none;"); |
| | | document1.getElementById("bill1").attr("style", "display: none;"); |
| | | document1.getElementById("rewardToday1").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit1").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit1").attr("style", "display: none;"); |
| | | |
| | | Element reward1_user = document1.getElementById("reward1_user"); |
| | | reward1_user.text("Hello " + driver.getName() + ","); |
| | | Element reward1_content = document1.getElementById("reward1_content"); |
| | | reward1_content.text("accumulated online for " + dao.getOnline() + " hour today, get reward GHS" + dah.getMoney() + ", please check"); |
| | | } |
| | | if (3 == language) { |
| | | document1.getElementById("chinese").attr("style", "display: none;"); |
| | | document1.getElementById("english").attr("style", "display: none;"); |
| | | document1.getElementById("invite2").attr("style", "display: none;"); |
| | | document1.getElementById("user2").attr("style", "display: none;"); |
| | | document1.getElementById("settle2").attr("style", "display: none;"); |
| | | document1.getElementById("pass2").attr("style", "display: none;"); |
| | | document1.getElementById("email2").attr("style", "display: none;"); |
| | | document1.getElementById("bill2").attr("style", "display: none;"); |
| | | document1.getElementById("rewardToday2").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit2").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit2").attr("style", "display: none;"); |
| | | |
| | | Element reward2_user = document1.getElementById("reward2_user"); |
| | | reward2_user.text("Bonjour " + driver.getName() + ","); |
| | | Element reward2_content = document1.getElementById("reward2_content"); |
| | | reward2_content.text("Accumulé en ligne pendant " + dao.getOnline() + " heure aujourd’hui, obtenez la récompense GHS " + dah.getMoney() + ", s’il vous plaît vérifier"); |
| | | } |
| | | EmailUtil.send(driver.getEmail(), language == 1 ? "在线时长奖励" : language == 2 ? "Online Time Rewards" : "Récompenses de temps en ligne", document1.html()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | //添加收入记录 |
| | | incomeService.saveData(2, dah.getDriverId(), 1, dao.getId(), null, dah.getMoney()); |
| | | |
| | | if(ToolUtil.isNotEmpty(driver.getEmail())) { |
| | | String path1 = templatePath + "index.html"; |
| | | Document document1 = Jsoup.parse(new File(path1), "UTF-8"); |
| | | if (1 == language) { |
| | | document1.getElementById("english").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite").attr("style", "display: none;"); |
| | | document1.getElementById("user").attr("style", "display: none;"); |
| | | document1.getElementById("settle").attr("style", "display: none;"); |
| | | document1.getElementById("pass").attr("style", "display: none;"); |
| | | document1.getElementById("email").attr("style", "display: none;"); |
| | | document1.getElementById("bill").attr("style", "display: none;"); |
| | | document1.getElementById("rewardToday").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit").attr("style", "display: none;"); |
| | | |
| | | Element reward_user = document1.getElementById("reward_user"); |
| | | reward_user.text("您好 " + driver.getName() + ","); |
| | | Element reward_content = document1.getElementById("reward_content"); |
| | | reward_content.text("今日累计接单 " + dao.getOrderNum() + "单,获得奖励GHS" + dah.getMoney() + ",请查收"); |
| | | } |
| | | if (2 == language) { |
| | | document1.getElementById("chinese").attr("style", "display: none;"); |
| | | document1.getElementById("french").attr("style", "display: none;"); |
| | | document1.getElementById("invite1").attr("style", "display: none;"); |
| | | document1.getElementById("user1").attr("style", "display: none;"); |
| | | document1.getElementById("settle1").attr("style", "display: none;"); |
| | | document1.getElementById("pass1").attr("style", "display: none;"); |
| | | document1.getElementById("email1").attr("style", "display: none;"); |
| | | document1.getElementById("bill1").attr("style", "display: none;"); |
| | | document1.getElementById("rewardToday1").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit1").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit1").attr("style", "display: none;"); |
| | | |
| | | Element reward1_user = document1.getElementById("reward1_user"); |
| | | reward1_user.text("Hello " + driver.getName() + ","); |
| | | Element reward1_content = document1.getElementById("reward1_content"); |
| | | reward1_content.text("A total of " + dao.getOrderNum() + " orders have been received today, and the reward GHS" + dah.getMoney() + " will be awarded, please check"); |
| | | } |
| | | if (3 == language) { |
| | | document1.getElementById("chinese").attr("style", "display: none;"); |
| | | document1.getElementById("english").attr("style", "display: none;"); |
| | | document1.getElementById("invite2").attr("style", "display: none;"); |
| | | document1.getElementById("user2").attr("style", "display: none;"); |
| | | document1.getElementById("settle2").attr("style", "display: none;"); |
| | | document1.getElementById("pass2").attr("style", "display: none;"); |
| | | document1.getElementById("email2").attr("style", "display: none;"); |
| | | document1.getElementById("bill2").attr("style", "display: none;"); |
| | | document1.getElementById("rewardToday2").attr("style", "display: none;"); |
| | | document1.getElementById("driverAudit2").attr("style", "display: none;"); |
| | | document1.getElementById("carAudit2").attr("style", "display: none;"); |
| | | |
| | | Element reward2_user = document1.getElementById("reward2_user"); |
| | | reward2_user.text("Bonjour " + driver.getName() + ","); |
| | | Element reward2_content = document1.getElementById("reward2_content"); |
| | | reward2_content.text("Un total de " + dao.getOrderNum() + " commandes ont été reçues aujourd’hui, et la récompense GHS " + dah.getMoney() + " sera décernée, s’il vous plaît vérifier"); |
| | | } |
| | | EmailUtil.send(driver.getEmail(), language == 1 ? "累计接单奖励" : language == 2 ? "Cumulative Order Rewards" : "Récompenses de commande cumulées", document1.html()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | break; |
| | | case 3://城际 |
| | | break; |
| | | case 4://同城小件物流 |
| | | case 4://市内小件物流 |
| | | List<OrderLogistics> query2 = orderLogisticsService.query(null, 1);//待接订单 |
| | | for(OrderLogistics orderLogistics : query2){ |
| | | String order = orderLogistics.getStartLon() + "," + orderLogistics.getStartLat(); |
| | |
| | | @Autowired |
| | | private IOrderService orderService; |
| | | |
| | | @Autowired |
| | | private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; |
| | | |
| | | @Value("${filePath}") |
| | | private String filePath; |
| | | |
| | | @Value("${pushMinistryOfTransport}") |
| | | private boolean pushMinistryOfTransport; |
| | | |
| | | |
| | | |
| | |
| | | out.flush(); |
| | | out.close(); |
| | | } |
| | | |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport && orderPosition.getOrderType() == 1){//上传数据 |
| | | pushMinistryOfTransportUtil.positionDriver(orderPosition.getOrderId()); |
| | | pushMinistryOfTransportUtil.positionVehicle(orderPosition.getOrderId()); |
| | | } |
| | | } |
| | | }).start(); |
| | | |
| | | } |
| | | |
| | |
| | | import com.stylefeng.guns.modular.system.service.IDriverService; |
| | | import com.stylefeng.guns.modular.system.service.IOrderService; |
| | | import com.stylefeng.guns.modular.system.service.ISystemNoticeService; |
| | | import com.stylefeng.guns.modular.system.service.ITransactionDetailsService; |
| | | import com.stylefeng.guns.modular.system.util.*; |
| | | import com.stylefeng.guns.modular.system.util.GoogleMap.DistancematrixVo; |
| | | import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil; |
| | | import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo; |
| | | import com.stylefeng.guns.modular.system.warpper.OrderListWarpper; |
| | | import com.stylefeng.guns.modular.taxi.model.OrderTaxi; |
| | | import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService; |
| | |
| | | @Autowired |
| | | private IOrderLogisticsService orderLogisticsService; |
| | | |
| | | @Value("${pushMinistryOfTransport}") |
| | | private boolean pushMinistryOfTransport; |
| | | |
| | | @Autowired |
| | | private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; |
| | | private ITransactionDetailsService transactionDetailsService; |
| | | |
| | | |
| | | |
| | |
| | | Integer orderSource = Integer.valueOf(String.valueOf(map.get("orderSource"))); |
| | | if(orderSource == 1 || orderSource == 2 || orderSource == 3){ |
| | | if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 1 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 1){ |
| | | map.put("type", "乘客下单"); |
| | | map.put("type", "乘客创建"); |
| | | } |
| | | if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 1 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 2){ |
| | | map.put("type", "改派"); |
| | |
| | | } |
| | | if(orderSource == 5){ |
| | | if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 1 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 1){ |
| | | map.put("type", "调度下单"); |
| | | map.put("type", "调度创建"); |
| | | } |
| | | if(Integer.valueOf(String.valueOf(map.get("orderType"))) == 1 && Integer.valueOf(String.valueOf(map.get("isReassign"))) == 2){ |
| | | map.put("type", "改派"); |
| | |
| | | // } |
| | | // } |
| | | break; |
| | | case 4://同城小件物流 |
| | | case 4://市内小件物流 |
| | | map = orderLogisticsService.queryPushOrder(orderId); |
| | | DistancematrixVo distancematrix1 = GoogleMapUtil.getDistancematrix(Double.valueOf(map.get("startLat").toString()), Double.valueOf(map.get("startLon").toString()), Double.valueOf(lat), Double.valueOf(lon)); |
| | | map.put("startDistance", null != distancematrix1 ? distancematrix1.getDistance() / 1000 : 0); |
| | |
| | | Integer orderSource3 = Integer.valueOf(String.valueOf(map.get("orderSource"))); |
| | | if(orderSource3 == 1 || orderSource3 == 2 || orderSource3 == 3){ |
| | | if(Integer.valueOf(String.valueOf(map.get("isReassign"))) == 1){ |
| | | map.put("type", "乘客下单"); |
| | | map.put("type", "乘客创建"); |
| | | } |
| | | if(Integer.valueOf(String.valueOf(map.get("isReassign"))) == 2){ |
| | | map.put("type", "改派"); |
| | |
| | | } |
| | | if(orderSource3 == 5){ |
| | | if(Integer.valueOf(String.valueOf(map.get("isReassign"))) == 1){ |
| | | map.put("type", "调度下单"); |
| | | map.put("type", "调度创建"); |
| | | } |
| | | if(Integer.valueOf(String.valueOf(map.get("isReassign"))) == 2){ |
| | | map.put("type", "改派"); |
| | |
| | | */ |
| | | @Override |
| | | public ResultUtil process(Integer orderId, Integer orderType, Integer state, Integer uid, Double lon, Double lat,String phone) throws Exception { |
| | | Map<String, String> geocode = gdMapGeocodingUtil.geocode(String.valueOf(lon), String.valueOf(lat)); |
| | | String address = geocode.get("address"); |
| | | ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lon); |
| | | if(null == reverseGeocode){ |
| | | return ResultUtil.error("无效的经纬度"); |
| | | } |
| | | String address = reverseGeocode.getAddress(); |
| | | switch (orderType){ |
| | | case 1://专车 |
| | | return orderPrivateCarService.process(orderId, state, lon, lat, address,phone); |
| | |
| | | driverId = orderPrivateCar.getDriverId(); |
| | | state = orderPrivateCar.getState(); |
| | | |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){//上传数据 |
| | | pushMinistryOfTransportUtil.operatePay(orderId); |
| | | } |
| | | } |
| | | }).start(); |
| | | break; |
| | | case 2: |
| | | OrderTaxi orderTaxi = orderTaxiService.selectById(orderId); |
| | |
| | | } |
| | | } |
| | | } |
| | | orderPrivateCarService.updateBatchById(orderList); |
| | | if(orderList.size() > 0){ |
| | | orderPrivateCarService.updateBatchById(orderList); |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public ResultUtil payOrder(Integer uid, Integer orderId, Integer orderType, Integer payType, Integer language) throws Exception { |
| | | Double money = 0D; |
| | | if(orderType == 1){//专车 |
| | | OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); |
| | | money = orderPrivateCar.getPayMoney(); |
| | | if(orderPrivateCar.getPayType() != 4){ |
| | | return ResultUtil.error(language == 1 ? "无法进行支付" : language == 2 ? "Unable to pay" : "Impossibilité de procéder au paiement"); |
| | | } |
| | | if(orderPrivateCar.getDriverPay() == 2){ |
| | | return ResultUtil.error(language == 1 ? "不能重复支付" : language == 2 ? "Non-repeatable payment" : "Aucun paiement en double"); |
| | | } |
| | | if(payType == 2){//余额支付 |
| | | Driver driver = driverService.selectById(uid); |
| | | if(driver.getBalance().compareTo(money) < 0){ |
| | | return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde insuffisant du compte"); |
| | | } |
| | | } |
| | | orderPrivateCar.setDriverPay(2); |
| | | orderPrivateCarService.updateById(orderPrivateCar); |
| | | } |
| | | if(orderType == 4){//小件 |
| | | OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId); |
| | | money = orderLogistics.getPayMoney(); |
| | | if(orderLogistics.getPayType() != 4){ |
| | | return ResultUtil.error(language == 1 ? "无法进行支付" : language == 2 ? "Unable to pay" : "Impossibilité de procéder au paiement"); |
| | | } |
| | | if(orderLogistics.getDriverPay() == 2){ |
| | | return ResultUtil.error(language == 1 ? "不能重复支付" : language == 2 ? "Non-repeatable payment" : "Aucun paiement en double"); |
| | | } |
| | | if(payType == 2){//余额支付 |
| | | Driver driver = driverService.selectById(uid); |
| | | if(driver.getBalance().compareTo(money) < 0){ |
| | | return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient account balance" : "Solde insuffisant du compte"); |
| | | } |
| | | } |
| | | orderLogistics.setDriverPay(2); |
| | | orderLogisticsService.updateById(orderLogistics); |
| | | } |
| | | |
| | | if(0 < money){ |
| | | if(payType == 1){//线上支付 |
| | | |
| | | } |
| | | if(payType == 2){//余额支付 |
| | | Driver driver = driverService.selectById(uid); |
| | | driver.setBalance(driver.getBalance() - money); |
| | | if(driver.getLaveBusinessMoney().compareTo(money) < 0){ |
| | | double b = money - driver.getLaveBusinessMoney(); |
| | | driver.setLaveBusinessMoney(0D); |
| | | driver.setLaveActivityMoney(driver.getLaveActivityMoney() - b); |
| | | driverService.updateById(driver); |
| | | }else{ |
| | | driver.setLaveBusinessMoney(driver.getLaveBusinessMoney() - money); |
| | | driverService.updateById(driver); |
| | | } |
| | | } |
| | | |
| | | transactionDetailsService.saveData(uid, "现金收款代付", money, 2, 1, 2, orderType, orderId); |
| | | } |
| | | return ResultUtil.success(); |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public ResultUtil saveData(Reassign reassign, Integer uid, Integer type) throws Exception { |
| | | type = null == type ? 2 : type;//现目前微信只支持小程序支付 |
| | | String content = reassign.getRemark(); |
| | | if(ToolUtil.isNotEmpty(content)){ |
| | | List<SensitiveWords> sensitiveWords = sensitiveWordsMapper.selectList(null); |
| | |
| | | reassign.setRemark(content); |
| | | ResultUtil resultUtil = ResultUtil.success(); |
| | | Driver driver = driverService.selectById(uid); |
| | | // TODO: 2020/11/12 司机端不控制重复提交(如果重复提交且未支付,直接将之前的数据删除) |
| | | // Reassign query = reassignMapper.query(uid, null, null, null, 1); |
| | | // if(null != query){ |
| | | // return ResultUtil.error("有未完成支付的改派申请"); |
| | | // } |
| | | Reassign query = reassignMapper.query(uid, null, reassign.getOrderId(), reassign.getOrderType(), 1); |
| | | if(null != query){ |
| | | // return ResultUtil.error("不能重复提交申请"); |
| | | reassignMapper.deleteById(query.getId()); |
| | | } |
| | | query = reassignMapper.query(uid, null, reassign.getOrderId(), reassign.getOrderType(), 2); |
| | |
| | | } |
| | | |
| | | //获取支付金额 |
| | | Double aDouble = orderService.queryReassignMoney(reassign.getOrderId(), reassign.getOrderType()); |
| | | reassign.setMoney(aDouble); |
| | | reassign.setOriginalDriverId(uid); |
| | | reassign.setOriginalCarId(driver.getCarId()); |
| | | reassign.setInsertTime(new Date()); |
| | | reassign.setState(2); |
| | | this.insert(reassign); |
| | | |
| | | //修改改派通知状态 |
| | | switch (reassign.getOrderType()){ |
| | | case 1: |
| | | OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(reassign.getOrderId()); |
| | | orderPrivateCar.setOldState(orderPrivateCar.getState()); |
| | | orderPrivateCar.setState(11); |
| | | orderPrivateCar.setReassignNotice(2); |
| | | orderPrivateCarService.updateById(orderPrivateCar); |
| | | break; |
| | | case 2: |
| | | OrderTaxi orderTaxi = orderTaxiService.selectById(reassign.getOrderId()); |
| | | orderTaxi.setOldState(orderTaxi.getState()); |
| | | orderTaxi.setState(11); |
| | | orderTaxi.setReassignNotice(2); |
| | | orderTaxiService.updateById(orderTaxi); |
| | | break; |
| | | case 4: |
| | | OrderLogistics orderLogistics = orderLogisticsService.selectById(reassign.getOrderId()); |
| | | orderLogistics.setOldState(orderLogistics.getState()); |
| | | orderLogistics.setState(11); |
| | | orderLogistics.setReassignNotice(2); |
| | | orderLogisticsService.updateById(orderLogistics); |
| | | break; |
| | | case 5: |
| | | OrderLogistics orderLogistics1 = orderLogisticsService.selectById(reassign.getOrderId()); |
| | | orderLogistics1.setOldState(orderLogistics1.getState()); |
| | | orderLogistics1.setState(11); |
| | | orderLogistics1.setReassignNotice(2); |
| | | orderLogisticsService.updateById(orderLogistics1); |
| | | break; |
| | | } |
| | | |
| | | //开始推送调度单 |
| | | Map<String, String> map = new HashMap<>(); |
| | | map.put("orderId", reassign.getOrderId().toString()); |
| | | map.put("orderType", reassign.getOrderType().toString()); |
| | | List<Dispatch> dispatches = dispatchMapper.queryDispatchs(driver.getFranchiseeId() == null ? driver.getCompanyId() : driver.getFranchiseeId(), 1); |
| | | for(Dispatch dispatch : dispatches){ |
| | | jgPushUtil.push(2,"有新的改派订单需要处理,请及时处理!", "订单改派", map, "DISPATCH" + dispatch.getId()); |
| | | } |
| | | |
| | | systemNoticeService.addSystemNotice(2, "您的改派申请已成功提交,我们会尽快为你处理!", uid); |
| | | |
| | | //开始支付 |
| | | if(null != reassign.getPayType()){ |
| | | if(reassign.getPayType() == 1){//微信支付 |
| | | reassign.setState(1); |
| | | ResultUtil resultUtil1 = payMoneyUtil.weixinpay("改派订单",reassign.getId()+"",reassign.getId() + "_" + reassign.getOrderType(),aDouble+"","/base/wxReassign","APP"); |
| | | //Map<String, String> map = icbcPayUtil.placeAnOrder(reassign.getId() + "_" + reassign.getOrderType(), 9, 5, uid.toString(), "改派订单", aDouble, callbackPath + "/base/wxReassign", "", type, driver.getAppletsOpenId()); |
| | | if(resultUtil1.getCode()==200){ |
| | | paymentRecordService.saveData(1, null, null, reassign.getOrderId(), reassign.getOrderType(), 1, aDouble, null, 1);//添加预支付数据 |
| | | resultUtil = resultUtil1; |
| | | }else{ |
| | | resultUtil = ResultUtil.error("获取支付信息失败", ""); |
| | | } |
| | | } |
| | | if(reassign.getPayType() == 2){//支付宝 |
| | | reassign.setState(1); |
| | | ResultUtil resultUtil1 = payMoneyUtil.alipay("改派订单","改派订单",reassign.getId() + "_" + reassign.getOrderType(),aDouble+"","/base/aliReassign"); |
| | | //Map<String, String> map = icbcPayUtil.placeAnOrder(reassign.getId() + "_" + reassign.getOrderType(), 10, 5, uid.toString(), "改派订单", aDouble, callbackPath + "/base/aliReassign", "", 2, ""); |
| | | if(resultUtil1.getCode()==200){ |
| | | paymentRecordService.saveData(1, null, null, reassign.getOrderId(), reassign.getOrderType(), 2, aDouble, null, 1);//添加预支付数据 |
| | | resultUtil = resultUtil1; |
| | | }else{ |
| | | resultUtil = ResultUtil.error("获取支付信息失败", ""); |
| | | } |
| | | } |
| | | if(reassign.getPayType() == 3){//余额 |
| | | reassign.setState(2); |
| | | reassign.setPayTime(new Date()); |
| | | reassignMapper.updateById(reassign); |
| | | |
| | | Double balance = driver.getBalance(); |
| | | Double laveBusinessMoney = driver.getLaveBusinessMoney(); |
| | | Double laveActivityMoney = driver.getLaveActivityMoney(); |
| | | if(null == balance || balance < aDouble){ |
| | | throw new SystemException("账户余额不足"); |
| | | } |
| | | if(null != laveBusinessMoney && laveBusinessMoney.compareTo(aDouble) >= 0){ |
| | | driver.setLaveBusinessMoney(new BigDecimal(laveBusinessMoney).subtract(new BigDecimal(aDouble)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | }else if(null != laveActivityMoney && laveActivityMoney.compareTo(aDouble) >= 0){ |
| | | driver.setLaveActivityMoney(new BigDecimal(laveActivityMoney).subtract(new BigDecimal(aDouble)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | } |
| | | driver.setBalance(new BigDecimal(balance).subtract(new BigDecimal(aDouble)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | driverService.updateById(driver); |
| | | //添加交易明细 |
| | | transactionDetailsService.saveData(uid, "司机改派支付", aDouble, 2, 1, 2, reassign.getOrderType(), reassign.getOrderId()); |
| | | |
| | | |
| | | //修改改派通知状态 |
| | | switch (reassign.getOrderType()){ |
| | | case 1: |
| | | OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(reassign.getOrderId()); |
| | | orderPrivateCar.setOldState(orderPrivateCar.getState()); |
| | | orderPrivateCar.setState(11); |
| | | orderPrivateCar.setReassignNotice(2); |
| | | orderPrivateCarService.updateById(orderPrivateCar); |
| | | |
| | | //添加已收入明细 |
| | | incomeService.saveData(1, orderPrivateCar.getCompanyId(), 4, orderPrivateCar.getId(), 1, reassign.getMoney()); |
| | | break; |
| | | case 2: |
| | | OrderTaxi orderTaxi = orderTaxiService.selectById(reassign.getOrderId()); |
| | | orderTaxi.setOldState(orderTaxi.getState()); |
| | | orderTaxi.setState(11); |
| | | orderTaxi.setReassignNotice(2); |
| | | orderTaxiService.updateById(orderTaxi); |
| | | |
| | | //添加已收入明细 |
| | | incomeService.saveData(1, orderTaxi.getCompanyId(), 4, orderTaxi.getId(), 2, reassign.getMoney()); |
| | | break; |
| | | case 4: |
| | | OrderLogistics orderLogistics = orderLogisticsService.selectById(reassign.getOrderId()); |
| | | orderLogistics.setOldState(orderLogistics.getState()); |
| | | orderLogistics.setState(11); |
| | | orderLogistics.setReassignNotice(2); |
| | | orderLogisticsService.updateById(orderLogistics); |
| | | |
| | | //添加已收入明细 |
| | | incomeService.saveData(1, orderLogistics.getCompanyId(), 4, orderLogistics.getId(), orderLogistics.getType(), reassign.getMoney()); |
| | | break; |
| | | case 5: |
| | | OrderLogistics orderLogistics1 = orderLogisticsService.selectById(reassign.getOrderId()); |
| | | orderLogistics1.setOldState(orderLogistics1.getState()); |
| | | orderLogistics1.setState(11); |
| | | orderLogistics1.setReassignNotice(2); |
| | | orderLogisticsService.updateById(orderLogistics1); |
| | | |
| | | //添加已收入明细 |
| | | incomeService.saveData(1, orderLogistics1.getCompanyId(), 4, orderLogistics1.getId(), orderLogistics1.getType(), reassign.getMoney()); |
| | | break; |
| | | } |
| | | |
| | | systemNoticeService.addSystemNotice(2, "您已使用余额成功支付改派申请费用!", uid); |
| | | //开始推送调度单 |
| | | Map<String, String> map = new HashMap<>(); |
| | | map.put("orderId", reassign.getOrderId().toString()); |
| | | map.put("orderType", reassign.getOrderType().toString()); |
| | | List<Dispatch> dispatches = dispatchMapper.queryDispatchs(driver.getFranchiseeId() == null ? driver.getCompanyId() : driver.getFranchiseeId(), 1); |
| | | for(Dispatch dispatch : dispatches){ |
| | | jgPushUtil.push(2,"有新的改派订单需要处理,请及时处理!", "订单改派", map, "DISPATCH" + dispatch.getId()); |
| | | } |
| | | } |
| | | } |
| | | return resultUtil; |
| | | } |
| | | |
| | |
| | | this.updateById(withdrawal); |
| | | }else{ |
| | | //调用银行转账申请(客户要求提交申请就成功了,剩下的他们自己处理) |
| | | //ResultUtil<String> transfer = icbcPayUtil.transfer(Double.valueOf(withdrawal.getMoney() * 100).longValue(), withdrawal.getCode(), withdrawal.getName()); |
| | | //if(transfer.getCode() == 200){ |
| | | //withdrawal.setSerialNo(transfer.getData());//交易序列号 |
| | | // ResultUtil<String> transfer = icbcPayUtil.transfer(Double.valueOf(withdrawal.getMoney() * 100).longValue(), withdrawal.getCode(), withdrawal.getName()); |
| | | // if(transfer.getCode() == 200){ |
| | | // withdrawal.setSerialNo(transfer.getData());//交易序列号 |
| | | withdrawal.setState(2); |
| | | this.updateById(withdrawal); |
| | | /*}else{ |
| | | return transfer; |
| | | }*/ |
| | | // }else{ |
| | | // return transfer; |
| | | // } |
| | | |
| | | |
| | | // TimerTask timerTask = new TimerTask() { |
| | |
| | | package com.stylefeng.guns.modular.system.util; |
| | | |
| | | import javax.mail.*; |
| | | import javax.mail.Authenticator; |
| | | import javax.mail.PasswordAuthentication; |
| | | import javax.mail.Session; |
| | | import javax.mail.Transport; |
| | | import javax.mail.internet.InternetAddress; |
| | | import javax.mail.internet.MimeBodyPart; |
| | | import javax.mail.internet.MimeMessage; |
| | |
| | | } |
| | | |
| | | /** |
| | | * 创建邮件内容 需科学上网 |
| | | * 创建邮件内容 |
| | | * |
| | | * @param sentToEmail 接收人邮箱 |
| | | * @param subject 设置邮件主题 |
| | | * @param content 内容 |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | public static boolean getMimeMessage(String sentToEmail, String subject, String content) throws Exception { |
| | | public static boolean send(String sentToEmail, String subject, String content) throws Exception { |
| | | //1.创建一封邮件的实例对象 |
| | | Properties props = new Properties(); |
| | | //选择ssl方式 |
| | | gmailssl(props); |
| | | |
| | | final String username = "southwindservice@gmail.com";// gmail 邮箱 |
| | | final String password = "irkgrsuzxgmwrxzy";// Google应用专用密码 |
| | | final String password = "ogsntijmguisoiuk";// Google应用专用密码 |
| | | // 当做多商户的时候需要使用getInstance, 如果只是一个邮箱发送的话就用getDefaultInstance |
| | | // Session.getDefaultInstance 会将username,password保存在session会话中 |
| | | // Session.getInstance 不进行保存 |
| | |
| | | |
| | | Transport.send(msg); |
| | | return true; |
| | | } |
| | | |
| | | public static void main(String[] args) throws Exception { |
| | | boolean mimeMessage = getMimeMessage("393733352@qq.com", "测试内容", "这是一段测试内容"); |
| | | System.out.println(mimeMessage); |
| | | } |
| | | } |
| | |
| | | AddressComponent[] addressComponents = results[0].addressComponents; |
| | | AddressComponentsVo[] addressComponentsVos = new AddressComponentsVo[addressComponents.length]; |
| | | for (int i = 0; i < addressComponents.length; i++) { |
| | | addressComponentsVos[i].setLongName(addressComponents[i].longName); |
| | | addressComponentsVos[i].setShortName(addressComponents[i].shortName); |
| | | AddressComponentsVo addressComponentsVo = new AddressComponentsVo(); |
| | | addressComponentsVo.setLongName(addressComponents[i].longName); |
| | | addressComponentsVo.setShortName(addressComponents[i].shortName); |
| | | addressComponentsVos[i] = addressComponentsVo; |
| | | } |
| | | String address = results[0].formattedAddress; |
| | | vo.setAddressComponentsVos(addressComponentsVos); |
| | |
| | | String formattedAddress = candidates[0].formattedAddress; |
| | | String name = candidates[0].name; |
| | | Geometry geometry = candidates[0].geometry; |
| | | LatLng location = geometry.location; |
| | | double lat = location.lat; |
| | | double lng = location.lng; |
| | | |
| | | vo.setName(name); |
| | | vo.setAddress(formattedAddress); |
| | | vo.setLat(lat); |
| | | vo.setLng(lng); |
| | | } |
| | | return vo; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 模糊搜索地图内容 |
| | | * @param query |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | public static FindPlaceFromTextVo textsearch(String query) throws Exception{ |
| | | GeoApiContext context = new GeoApiContext.Builder() |
| | | .apiKey(key) |
| | | .build(); |
| | | TextSearchRequest request = new TextSearchRequest(context); |
| | | request.query(query); |
| | | PlacesSearchResponse placesSearchResponse = request.await(); |
| | | PlacesSearchResult[] results = placesSearchResponse.results; |
| | | FindPlaceFromTextVo vo = null; |
| | | if(results.length > 0){ |
| | | vo = new FindPlaceFromTextVo(); |
| | | String formattedAddress = results[0].formattedAddress; |
| | | String name = results[0].name; |
| | | Geometry geometry = results[0].geometry; |
| | | LatLng location = geometry.location; |
| | | double lat = location.lat; |
| | | double lng = location.lng; |
| | |
| | | * @throws Exception |
| | | */ |
| | | public static DistancematrixVo getDistancematrix(Double sLat, Double sLnt, Double eLat, Double eLnt) throws Exception{ |
| | | ReverseGeocodeVo reverseGeocode = getReverseGeocode(sLat, sLnt); |
| | | ReverseGeocodeVo reverseGeocode1 = getReverseGeocode(eLat, eLnt); |
| | | if(null != reverseGeocode && null != reverseGeocode1){ |
| | | String origin = reverseGeocode.getAddress(); |
| | | String destination = reverseGeocode1.getAddress(); |
| | | return getDistancematrix(origin, destination); |
| | | } |
| | | return null; |
| | | GeoApiContext context = new GeoApiContext.Builder() |
| | | .apiKey(key) |
| | | .build(); |
| | | DistanceMatrixApiRequest request = DistanceMatrixApi.newRequest(context); |
| | | request.origins(new LatLng(sLat, sLnt)); |
| | | request.destinations(new LatLng(eLat, eLnt)); |
| | | request.mode(TravelMode.DRIVING);//出行方式(驾车) |
| | | DistanceMatrix distanceMatrix = request.await(); |
| | | Gson gson = new GsonBuilder().setPrettyPrinting().create(); |
| | | System.out.println(gson.toJson(distanceMatrix)); |
| | | context.shutdown(); |
| | | |
| | | DistanceMatrixElement elements = distanceMatrix.rows[0].elements[0]; |
| | | DistancematrixVo vo = new DistancematrixVo(); |
| | | vo.setDistance(elements.distance.inMeters); |
| | | vo.setDuration(elements.duration.inSeconds); |
| | | return vo; |
| | | } |
| | | |
| | | |
| | |
| | | import java.io.FileInputStream; |
| | | import java.io.InputStreamReader; |
| | | import java.math.BigDecimal; |
| | | import java.math.MathContext; |
| | | import java.math.RoundingMode; |
| | | import java.util.*; |
| | | |
| | | /** |
| | |
| | | t = distancematrix.getDuration().toString();//时间s |
| | | } |
| | | } |
| | | d = new BigDecimal(d).divide(new BigDecimal(1000)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); |
| | | t = new BigDecimal(t).divide(new BigDecimal(60)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + ""; |
| | | d = new BigDecimal(d).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString(); |
| | | t = new BigDecimal(t).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + ""; |
| | | map.put("reservationMileage", d);//当前位置距离预约点的剩余里程 |
| | | map.put("reservationTime", t);//当前位置距离预约点的剩余分钟 |
| | | map.put("servedMileage", "0");//距离起点已经服务的里程 |
| | |
| | | } |
| | | } |
| | | |
| | | d = new BigDecimal(d).divide(new BigDecimal(1000)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); |
| | | t = new BigDecimal(t).divide(new BigDecimal(60)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + ""; |
| | | d = new BigDecimal(d).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString(); |
| | | t = new BigDecimal(t).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + ""; |
| | | map.put("laveMileage", d);//距离终点剩余未服务的里程数 |
| | | map.put("laveTime", t);//距离终端剩余未服务的预计时间 |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util; |
| | | |
| | | |
| | | import javax.net.ssl.*; |
| | | import java.io.*; |
| | | import java.net.URL; |
| | | import java.net.URLEncoder; |
| | | import java.security.MessageDigest; |
| | | import java.security.NoSuchAlgorithmException; |
| | | import java.security.cert.CertificateException; |
| | | import java.security.cert.X509Certificate; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | public class SMSUtil { |
| | | |
| | | //无需修改,用于格式化鉴权头域,给"X-WSSE"参数赋值 |
| | | private static final String WSSE_HEADER_FORMAT = "UsernameToken Username=\"%s\",PasswordDigest=\"%s\",Nonce=\"%s\",Created=\"%s\""; |
| | | //无需修改,用于格式化鉴权头域,给"Authorization"参数赋值 |
| | | private static final String AUTH_HEADER_VALUE = "WSSE realm=\"SDP\",profile=\"UsernameToken\",type=\"Appkey\""; |
| | | |
| | | /** |
| | | * 发送短信(华为云) |
| | | * @param templateId 模板id |
| | | * @param receiver 必填,全局号码格式(包含国家码),示例:+8615123456789,多个号码之间用英文逗号分隔 |
| | | * @param templateParas 选填,使用无变量模板时请赋空值 String templateParas = "",双变量模板示例:模板内容为"您有${1}件快递请到${2}领取"时,templateParas可填写为"[\"3\",\"人民公园正门\"]" |
| | | * 模板变量,此处以单变量验证码短信为例,请客户自行生成6位验证码,并定义为字符串类型,以杜绝首位0丢失的问题(例如:002569变成了2569) |
| | | * @throws Exception |
| | | */ |
| | | public static void send_huawei_sms(String templateId, String receiver, String templateParas) throws Exception { |
| | | |
| | | //必填,请参考"开发准备"获取如下数据,替换为实际值 |
| | | String url = "https://smsapi.cn-south-1.myhuaweicloud.com:443"; //APP接入地址(在控制台"应用管理"页面获取)+接口访问URI |
| | | String appKey = "g3DW0G5Fbp3110UiGl5fkWcn799s"; //APP_Key |
| | | String appSecret = "LaT1NYvQKNkHO5KikniEueN8iTaz"; //APP_Secret |
| | | String sender = "ismsapp0000000103"; //国内短信签名通道号或国际/港澳台短信通道号 |
| | | |
| | | //条件必填,国内短信关注,当templateId指定的模板类型为通用模板时生效且必填,必须是已审核通过的,与模板类型一致的签名名称 |
| | | //国际/港澳台短信不用关注该参数 |
| | | String signature = "IGO"; //签名名称 |
| | | |
| | | //选填,短信状态报告接收地址,推荐使用域名,为空或者不填表示不接收状态报告 |
| | | String statusCallBack = ""; |
| | | |
| | | //请求Body,不携带签名名称时,signature请填null |
| | | String body = buildRequestBody(sender, receiver, templateId, templateParas, statusCallBack, signature); |
| | | if (null == body || body.isEmpty()) { |
| | | System.out.println("body is null."); |
| | | return; |
| | | } |
| | | |
| | | //请求Headers中的X-WSSE参数值 |
| | | String wsseHeader = buildWsseHeader(appKey, appSecret); |
| | | if (null == wsseHeader || wsseHeader.isEmpty()) { |
| | | System.out.println("wsse header is null."); |
| | | return; |
| | | } |
| | | |
| | | Writer out = null; |
| | | BufferedReader in = null; |
| | | StringBuffer result = new StringBuffer(); |
| | | HttpsURLConnection connection = null; |
| | | InputStream is = null; |
| | | |
| | | |
| | | HostnameVerifier hv = new HostnameVerifier() { |
| | | |
| | | @Override |
| | | public boolean verify(String hostname, SSLSession session) { |
| | | return true; |
| | | } |
| | | }; |
| | | trustAllHttpsCertificates(); |
| | | |
| | | try { |
| | | URL realUrl = new URL(url); |
| | | connection = (HttpsURLConnection) realUrl.openConnection(); |
| | | |
| | | connection.setHostnameVerifier(hv); |
| | | connection.setDoOutput(true); |
| | | connection.setDoInput(true); |
| | | connection.setUseCaches(true); |
| | | //请求方法 |
| | | connection.setRequestMethod("POST"); |
| | | //请求Headers参数 |
| | | connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); |
| | | connection.setRequestProperty("Authorization", AUTH_HEADER_VALUE); |
| | | connection.setRequestProperty("X-WSSE", wsseHeader); |
| | | |
| | | connection.connect(); |
| | | out = new OutputStreamWriter(connection.getOutputStream()); |
| | | out.write(body); //发送请求Body参数 |
| | | out.flush(); |
| | | out.close(); |
| | | |
| | | int status = connection.getResponseCode(); |
| | | if (200 == status) { //200 |
| | | is = connection.getInputStream(); |
| | | } else { //400/401 |
| | | is = connection.getErrorStream(); |
| | | } |
| | | in = new BufferedReader(new InputStreamReader(is, "UTF-8")); |
| | | String line = ""; |
| | | while ((line = in.readLine()) != null) { |
| | | result.append(line); |
| | | } |
| | | System.out.println(result.toString()); //打印响应消息实体 |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | | try { |
| | | if (null != out) { |
| | | out.close(); |
| | | } |
| | | if (null != is) { |
| | | is.close(); |
| | | } |
| | | if (null != in) { |
| | | in.close(); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 构造请求Body体 |
| | | * @param sender |
| | | * @param receiver |
| | | * @param templateId |
| | | * @param templateParas |
| | | * @param statusCallBack |
| | | * @param signature | 签名名称,使用国内短信通用模板时填写 |
| | | * @return |
| | | */ |
| | | static String buildRequestBody(String sender, String receiver, String templateId, String templateParas, |
| | | String statusCallBack, String signature) { |
| | | if (null == sender || null == receiver || null == templateId || sender.isEmpty() || receiver.isEmpty() |
| | | || templateId.isEmpty()) { |
| | | System.out.println("buildRequestBody(): sender, receiver or templateId is null."); |
| | | return null; |
| | | } |
| | | Map<String, String> map = new HashMap<String, String>(); |
| | | |
| | | map.put("from", sender); |
| | | map.put("to", receiver); |
| | | map.put("templateId", templateId); |
| | | if (null != templateParas && !templateParas.isEmpty()) { |
| | | map.put("templateParas", templateParas); |
| | | } |
| | | if (null != statusCallBack && !statusCallBack.isEmpty()) { |
| | | map.put("statusCallback", statusCallBack); |
| | | } |
| | | if (null != signature && !signature.isEmpty()) { |
| | | map.put("signature", signature); |
| | | } |
| | | |
| | | StringBuilder sb = new StringBuilder(); |
| | | String temp = ""; |
| | | |
| | | for (String s : map.keySet()) { |
| | | try { |
| | | temp = URLEncoder.encode(map.get(s), "UTF-8"); |
| | | } catch (UnsupportedEncodingException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | sb.append(s).append("=").append(temp).append("&"); |
| | | } |
| | | |
| | | return sb.deleteCharAt(sb.length()-1).toString(); |
| | | } |
| | | |
| | | /** |
| | | * 构造X-WSSE参数值 |
| | | * @param appKey |
| | | * @param appSecret |
| | | * @return |
| | | */ |
| | | static String buildWsseHeader(String appKey, String appSecret) { |
| | | if (null == appKey || null == appSecret || appKey.isEmpty() || appSecret.isEmpty()) { |
| | | System.out.println("buildWsseHeader(): appKey or appSecret is null."); |
| | | return null; |
| | | } |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); |
| | | String time = sdf.format(new Date()); //Created |
| | | String nonce = UUID.randomUUID().toString().replace("-", ""); //Nonce |
| | | |
| | | MessageDigest md; |
| | | byte[] passwordDigest = null; |
| | | |
| | | try { |
| | | md = MessageDigest.getInstance("SHA-256"); |
| | | md.update((nonce + time + appSecret).getBytes()); |
| | | passwordDigest = md.digest(); |
| | | } catch (NoSuchAlgorithmException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | //如果JDK版本是1.8,请加载原生Base64类,并使用如下代码 |
| | | String passwordDigestBase64Str = Base64.getEncoder().encodeToString(passwordDigest); //PasswordDigest |
| | | //如果JDK版本低于1.8,请加载三方库提供Base64类,并使用如下代码 |
| | | //String passwordDigestBase64Str = Base64.encodeBase64String(passwordDigest); //PasswordDigest |
| | | //若passwordDigestBase64Str中包含换行符,请执行如下代码进行修正 |
| | | //passwordDigestBase64Str = passwordDigestBase64Str.replaceAll("[\\s*\t\n\r]", ""); |
| | | return String.format(WSSE_HEADER_FORMAT, appKey, passwordDigestBase64Str, nonce, time); |
| | | } |
| | | |
| | | /*** @throws Exception |
| | | */ |
| | | static void trustAllHttpsCertificates() throws Exception { |
| | | TrustManager[] trustAllCerts = new TrustManager[] { |
| | | new X509TrustManager() { |
| | | public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { |
| | | return; |
| | | } |
| | | public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { |
| | | return; |
| | | } |
| | | public X509Certificate[] getAcceptedIssuers() { |
| | | return null; |
| | | } |
| | | } |
| | | }; |
| | | SSLContext sc = SSLContext.getInstance("SSL"); |
| | | sc.init(null, trustAllCerts, null); |
| | | HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util.Tingg; |
| | | |
| | | /** |
| | | * @author chenza |
| | | * @date 2023/3/14 16:37 |
| | | */ |
| | | |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.net.ssl.*; |
| | | import java.io.ByteArrayOutputStream; |
| | | import java.io.DataOutputStream; |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.net.URL; |
| | | import java.security.KeyManagementException; |
| | | import java.security.NoSuchAlgorithmException; |
| | | import java.security.cert.CertificateException; |
| | | import java.security.cert.X509Certificate; |
| | | |
| | | @Component |
| | | public class HttpsUtil { |
| | | private static class TrustAnyTrustManager implements X509TrustManager { |
| | | |
| | | public void checkClientTrusted(X509Certificate[] chain, String authType) |
| | | throws CertificateException { |
| | | } |
| | | |
| | | public void checkServerTrusted(X509Certificate[] chain, String authType) |
| | | throws CertificateException { |
| | | } |
| | | |
| | | public X509Certificate[] getAcceptedIssuers() { |
| | | return new X509Certificate[]{}; |
| | | } |
| | | } |
| | | |
| | | private static class TrustAnyHostnameVerifier implements HostnameVerifier { |
| | | public boolean verify(String hostname, SSLSession session) { |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * post方式请求服务器(https协议) |
| | | * |
| | | * @param url 请求地址 |
| | | * @param content 参数 |
| | | * @param charset 编码 |
| | | * @return |
| | | * @throws NoSuchAlgorithmException |
| | | * @throws KeyManagementException |
| | | * @throws IOException |
| | | */ |
| | | public String post(String url, String content, String charset) |
| | | throws NoSuchAlgorithmException, KeyManagementException, |
| | | IOException { |
| | | String result = ""; |
| | | SSLContext sc = SSLContext.getInstance("SSL"); |
| | | sc.init(null, new TrustManager[]{new TrustAnyTrustManager()}, |
| | | new java.security.SecureRandom()); |
| | | |
| | | URL console = new URL(url); |
| | | HttpsURLConnection conn = (HttpsURLConnection) console.openConnection(); |
| | | conn.setRequestProperty("Content-Type", "application/json; charset=utf-8"); |
| | | conn.setSSLSocketFactory(sc.getSocketFactory()); |
| | | conn.setHostnameVerifier(new TrustAnyHostnameVerifier()); |
| | | conn.setDoOutput(true); |
| | | conn.connect(); |
| | | DataOutputStream out = new DataOutputStream(conn.getOutputStream()); |
| | | out.write(content.getBytes(charset)); |
| | | // 刷新、关闭 |
| | | out.flush(); |
| | | out.close(); |
| | | InputStream is = conn.getInputStream(); |
| | | if (is != null) { |
| | | ByteArrayOutputStream outStream = new ByteArrayOutputStream(); |
| | | byte[] buffer = new byte[1024]; |
| | | int len = 0; |
| | | while ((len = is.read(buffer)) != -1) { |
| | | outStream.write(buffer, 0, len); |
| | | } |
| | | is.close(); |
| | | byte[] array = outStream.toByteArray(); |
| | | result = new String(array, "utf-8"); |
| | | return result; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * put方式请求服务器(https协议) |
| | | * |
| | | * @param url 请求地址 |
| | | * @param content 参数 |
| | | * @param token 编码 |
| | | * @return |
| | | * @throws NoSuchAlgorithmException |
| | | * @throws KeyManagementException |
| | | * @throws IOException |
| | | */ |
| | | public String put(String url, String content, String token) |
| | | throws NoSuchAlgorithmException, KeyManagementException, |
| | | IOException { |
| | | String result = ""; |
| | | SSLContext sc = SSLContext.getInstance("SSL"); |
| | | sc.init(null, new TrustManager[]{new TrustAnyTrustManager()}, |
| | | new java.security.SecureRandom()); |
| | | |
| | | URL console = new URL(url); |
| | | HttpsURLConnection conn = (HttpsURLConnection) console.openConnection(); |
| | | conn.setRequestMethod("PUT"); |
| | | conn.setSSLSocketFactory(sc.getSocketFactory()); |
| | | conn.setHostnameVerifier(new TrustAnyHostnameVerifier()); |
| | | conn.setDoOutput(true); |
| | | |
| | | conn.setRequestProperty("Content-Type", "application/json; charset=utf-8"); |
| | | //conn.setRequestProperty("Authorization", "xxxxx" + token); |
| | | conn.connect(); |
| | | DataOutputStream out = new DataOutputStream(conn.getOutputStream()); |
| | | //out.write(content.getBytes("UTF8")); |
| | | // 刷新、关闭 |
| | | out.flush(); |
| | | out.close(); |
| | | InputStream is = conn.getInputStream(); |
| | | if (is != null) { |
| | | ByteArrayOutputStream outStream = new ByteArrayOutputStream(); |
| | | byte[] buffer = new byte[1024]; |
| | | int len = 0; |
| | | while ((len = is.read(buffer)) != -1) { |
| | | outStream.write(buffer, 0, len); |
| | | } |
| | | is.close(); |
| | | |
| | | byte[] array = outStream.toByteArray(); |
| | | result = new String(array, "utf-8"); |
| | | return result; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * get方式请求服务器(https协议) |
| | | * |
| | | * @param url 请求地址 |
| | | * @param content 参数 |
| | | * @param token 编码 |
| | | * @return |
| | | * @throws NoSuchAlgorithmException |
| | | * @throws KeyManagementException |
| | | * @throws IOException |
| | | */ |
| | | public String get(String url, String content, String token) |
| | | throws NoSuchAlgorithmException, KeyManagementException, |
| | | IOException { |
| | | String result = ""; |
| | | SSLContext sc = SSLContext.getInstance("SSL"); |
| | | sc.init(null, new TrustManager[]{new TrustAnyTrustManager()}, |
| | | new java.security.SecureRandom()); |
| | | |
| | | URL httpUrl = new URL(url); |
| | | HttpsURLConnection conn = (HttpsURLConnection) httpUrl.openConnection(); |
| | | conn.setRequestMethod("GET"); |
| | | conn.setSSLSocketFactory(sc.getSocketFactory()); |
| | | conn.setHostnameVerifier(new TrustAnyHostnameVerifier()); |
| | | conn.setDoOutput(true); |
| | | |
| | | conn.setRequestProperty("Content-Type", "application/json; charset=utf-8"); |
| | | //conn.setRequestProperty("Authorization", "xxxxxx" + token); |
| | | conn.connect(); |
| | | |
| | | //get方法与post方法除了conn.setRequestMethod("GET")这句不一样外,关于DataOutputStream out的几行一定要删除,否则就会报405的错误 |
| | | |
| | | InputStream is = conn.getInputStream(); |
| | | if (is != null) { |
| | | ByteArrayOutputStream outStream = new ByteArrayOutputStream(); |
| | | byte[] buffer = new byte[1024]; |
| | | int len = 0; |
| | | while ((len = is.read(buffer)) != -1) { |
| | | outStream.write(buffer, 0, len); |
| | | } |
| | | is.close(); |
| | | |
| | | byte[] array = outStream.toByteArray(); |
| | | result = new String(array, "utf-8"); |
| | | return result; |
| | | } |
| | | |
| | | |
| | | return null; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util.Tingg; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.stylefeng.guns.modular.system.util.ResultUtil; |
| | | import com.stylefeng.guns.modular.system.util.Tingg.model.CheckoutRequest; |
| | | import io.cellulant.model.Payload; |
| | | import io.cellulant.service.CheckoutEncryption; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * Tingg支付工具类 |
| | | */ |
| | | public class TinggPayUtil { |
| | | |
| | | private static String accessKey = "KxjPP444jEE7K88E7juej4PKqqzKq7qKjKj84q744q9zj4Ej4zK47uj4KKj4"; |
| | | |
| | | private static String ivKey = "qsffKsCOJJdhSBCQ"; |
| | | |
| | | private static String secretKey = "9jjz4Ex74P8ue4qK"; |
| | | |
| | | |
| | | /** |
| | | * 获取支付数据 |
| | | * @param checkoutRequest |
| | | * @return |
| | | */ |
| | | public static ResultUtil checkoutRequest(CheckoutRequest checkoutRequest){ |
| | | try { |
| | | CheckoutEncryption checkoutEncrption = new CheckoutEncryption(ivKey, secretKey); |
| | | Payload payload = getPayload(checkoutRequest); |
| | | String param = checkoutEncrption.encrypt(payload); |
| | | System.out.println("Encrpted payload=" + param); |
| | | String url = "https://online.uat.tingg.africa/testing/express/checkout?encrypted_payload=" + param + "&access_key=" + accessKey; |
| | | return ResultUtil.success(url); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | public static Payload getPayload(CheckoutRequest checkoutRequest) { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | String countryCode="GHA";//收取付款的国家的3位ISO代码 |
| | | String currencyCode = "GHS";//3位ISO代码的货币,商家正在开发票。 |
| | | String serviceCode="IGOGHANA";//服务代码 |
| | | String dueDate = sdf.format(new Date(System.currentTimeMillis() + 1800000));//到期时间 |
| | | String languageCode="EN"; |
| | | String paymentOptionCode = "";//支付选项码 |
| | | |
| | | Payload payload = new Payload(checkoutRequest.getMerchantTransactionId(), checkoutRequest.getCustomerFirstName(), checkoutRequest.getCustomerLastName(), checkoutRequest.getMsisdn(), checkoutRequest.getCustomerEmail(), |
| | | checkoutRequest.getRequestAmount(), currencyCode, checkoutRequest.getAccountNumber(), serviceCode, dueDate, checkoutRequest.getRequestDescription(), |
| | | countryCode, languageCode, paymentOptionCode, checkoutRequest.getSuccessRedirectUrl(), checkoutRequest.getFailRedirectUrl(), checkoutRequest.getPendingRedirectUrl(), checkoutRequest.getCallbackUrl()); |
| | | return payload; |
| | | } |
| | | |
| | | |
| | | public static void main(String[] ages){ |
| | | CheckoutRequest checkoutRequest = new CheckoutRequest(); |
| | | checkoutRequest.setMsisdn(233240000000L); |
| | | checkoutRequest.setCustomerEmail("393733352@qq.com"); |
| | | checkoutRequest.setAccountNumber("4111111111111111"); |
| | | checkoutRequest.setCustomerFirstName("zhibing"); |
| | | checkoutRequest.setCustomerLastName("pu"); |
| | | checkoutRequest.setRequestAmount(1.00D); |
| | | checkoutRequest.setMerchantTransactionId("123456T"); |
| | | checkoutRequest.setRequestDescription("payment test"); |
| | | checkoutRequest.setCallbackUrl("https://10pz685243.zicp.fun"); |
| | | checkoutRequest.setPendingRedirectUrl("https://10pz685243.zicp.fun"); |
| | | checkoutRequest.setSuccessRedirectUrl("https://10pz685243.zicp.fun"); |
| | | checkoutRequest.setFailRedirectUrl("https://www.baidu.com"); |
| | | ResultUtil resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); |
| | | System.err.println(JSON.toJSONString(resultUtil)); |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util.Tingg; |
| | | |
| | | /** |
| | | * @author chenza |
| | | * @date 2023/3/14 9:15 |
| | | */ |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.stylefeng.guns.modular.system.util.Tingg.model.TinggPayload; |
| | | import com.stylefeng.guns.modular.system.util.Tingg.model.TinggRequest; |
| | | import com.stylefeng.guns.modular.system.util.Tingg.model.TinggResponse; |
| | | |
| | | import java.io.IOException; |
| | | import java.security.KeyManagementException; |
| | | import java.security.NoSuchAlgorithmException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.LinkedHashMap; |
| | | |
| | | /** |
| | | * Tingg退款工具类 |
| | | */ |
| | | public class TinggRefundUtil { |
| | | |
| | | private static String urlPath = "https://beep2.cellulant.africa:9001/paymentRouter/JSONV2/"; |
| | | |
| | | public static void main(String[] args) { |
| | | TinggRequest tinggRequest = new TinggRequest(); |
| | | //设置国家代码 |
| | | tinggRequest.setCountryCode("NG"); |
| | | //设置功能 |
| | | tinggRequest.setFunction("BEEP.postPayment"); |
| | | //设置用户名称 |
| | | tinggRequest.setUsername("sandboxUser"); |
| | | //设置用户密码 |
| | | tinggRequest.setPassword("sandboxPassword!"); |
| | | //设置服务代码 |
| | | tinggRequest.setServiceCode("NG-BANK-PAYOUT"); |
| | | //设置MSISDN |
| | | tinggRequest.setMsisdn("256700000000"); |
| | | //设置账号 |
| | | tinggRequest.setAccountNumber("00072186"); |
| | | //设置付款人交易编号 |
| | | tinggRequest.setPayerTransactionID("yourUniqueID"); |
| | | //设置金额 |
| | | tinggRequest.setAmount(50000L); |
| | | //设置备注 |
| | | tinggRequest.setNarration("Bank Payout"); |
| | | //设置收到付款的日期 |
| | | tinggRequest.setDatePaymentReceived(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); |
| | | //设置回调网址 |
| | | tinggRequest.setCallbackUrl("https://yourCallBackUrl.com/receivePaymentStatus"); |
| | | //设置目的地银行代码 |
| | | tinggRequest.setDestinationBankCode("000012"); |
| | | //设置目标账户名称 |
| | | tinggRequest.setDestinationAccountName("Shem B. Mwangi"); |
| | | //设置目标账户号码 |
| | | tinggRequest.setDestinationAccountNo("00072186"); |
| | | //设置目的地银行 |
| | | tinggRequest.setDestinationBank("StanbicIBTC Bank"); |
| | | //设置支付方式 |
| | | tinggRequest.setPaymentMode("BANK"); |
| | | //设置货币代码 |
| | | tinggRequest.setCurrencyCode("NGN"); |
| | | //设置客户名称 |
| | | tinggRequest.setCustomerNames("Shem B. Mwangi"); |
| | | TinggResponse tinggResponse = getTinggResponse(tinggRequest); |
| | | String s = JSON.toJSONString(tinggResponse); |
| | | System.out.println(s); |
| | | System.out.println("-------------"); |
| | | try { |
| | | String post = new HttpsUtil().post(urlPath,s,"UTF-8"); |
| | | System.out.println(post); |
| | | } catch (NoSuchAlgorithmException e) { |
| | | e.printStackTrace(); |
| | | } catch (KeyManagementException e) { |
| | | e.printStackTrace(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | public static TinggResponse getTinggResponse(TinggRequest tinggRequest) { |
| | | TinggResponse transferResponse = new TinggResponse(); |
| | | //设置国家代码 |
| | | transferResponse.setCountryCode(tinggRequest.getCountryCode()); |
| | | //设置功能 |
| | | transferResponse.setFunction(tinggRequest.getFunction()); |
| | | //获得有效载荷 |
| | | TinggPayload transferPayload = getTinggPayload(tinggRequest); |
| | | //设置有效载荷 |
| | | transferResponse.setPayload(transferPayload); |
| | | return transferResponse; |
| | | } |
| | | |
| | | private static TinggPayload getTinggPayload(TinggRequest tinggRequest) { |
| | | //有效载荷 |
| | | TinggPayload tinggPayload = new TinggPayload(); |
| | | //凭据 |
| | | HashMap<String, String> credentials = new LinkedHashMap<>(); |
| | | //设置用户名 |
| | | credentials.put("username", tinggRequest.getUsername()); |
| | | //设置支付密码 |
| | | credentials.put("password", tinggRequest.getPassword()); |
| | | //设置凭据 |
| | | tinggPayload.setCredentials(credentials); |
| | | |
| | | //有效负载的数据包 |
| | | ArrayList<Object> packet = new ArrayList<>(); |
| | | LinkedHashMap<String, Object> hs = getStringObjectHashMap(tinggRequest); |
| | | packet.add(hs); |
| | | //设置包 |
| | | tinggPayload.setPacket(packet); |
| | | return tinggPayload; |
| | | } |
| | | |
| | | private static LinkedHashMap<String, Object> getStringObjectHashMap(TinggRequest tinggRequest) { |
| | | LinkedHashMap<String, Object> hs = new LinkedHashMap<>(); |
| | | //设置服务代码 |
| | | hs.put("serviceCode", tinggRequest.getServiceCode()); |
| | | hs.put("MSISDN", tinggRequest.getMsisdn()); |
| | | //设置账号 |
| | | hs.put("accountNumber", tinggRequest.getAccountNumber()); |
| | | //设置付款交易人编号 |
| | | hs.put("payerTransactionID", tinggRequest.getPayerTransactionID()); |
| | | //设置金额 |
| | | hs.put("amount", tinggRequest.getAmount()); |
| | | hs.put("narration", tinggRequest.getNarration()); |
| | | //设置付款时间 |
| | | hs.put("datePaymentReceived", tinggRequest.getDatePaymentReceived()); |
| | | //额外数据 |
| | | HashMap<String, String> tempHs = new LinkedHashMap<>(); |
| | | //回调网址 |
| | | tempHs.put("callbackUrl", tinggRequest.getCallbackUrl()); |
| | | //目的地银行代码 |
| | | tempHs.put("destinationBankCode", tinggRequest.getDestinationBankCode()); |
| | | //目标账户名称 |
| | | tempHs.put("destinationAccountName", tinggRequest.getDestinationAccountName()); |
| | | //目的地账户号码 |
| | | tempHs.put("destinationAccountNo", tinggRequest.getDestinationAccountNo()); |
| | | //目的地银行 |
| | | tempHs.put("destinationBank", tinggRequest.getDestinationBank()); |
| | | //设置额外数据 |
| | | hs.put("extraData", tempHs); |
| | | //设置支付方式 |
| | | hs.put("paymentMode", tinggRequest.getPaymentMode()); |
| | | //设置货币代码 |
| | | hs.put("currencyCode", tinggRequest.getCurrencyCode()); |
| | | //设置客户名称 |
| | | hs.put("customerNames", tinggRequest.getCustomerNames()); |
| | | return hs; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util.Tingg; |
| | | |
| | | /** |
| | | * @author chenza |
| | | * @date 2023/3/14 15:16 |
| | | */ |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.stylefeng.guns.modular.system.util.Tingg.model.TinggPayload; |
| | | import com.stylefeng.guns.modular.system.util.Tingg.model.TinggRequest; |
| | | import com.stylefeng.guns.modular.system.util.Tingg.model.TinggResponse; |
| | | |
| | | import java.io.IOException; |
| | | import java.security.KeyManagementException; |
| | | import java.security.NoSuchAlgorithmException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.LinkedHashMap; |
| | | |
| | | /** |
| | | * Tingg转账工具类 |
| | | */ |
| | | public class TinggTransferUtil { |
| | | |
| | | private static String urlPath = "https://beep2.cellulant.africa:9001/paymentRouter/JSONV2/"; |
| | | |
| | | public static void main(String[] args) { |
| | | TinggRequest tinggRequest = new TinggRequest(); |
| | | //设置国家代码 |
| | | tinggRequest.setCountryCode("UG"); |
| | | //设置功能 |
| | | tinggRequest.setFunction("BEEP.postPayment"); |
| | | //设置用户名称 |
| | | tinggRequest.setUsername("sandboxUser"); |
| | | //设置用户密码 |
| | | tinggRequest.setPassword("sandboxPassword!"); |
| | | //设置服务代码 |
| | | tinggRequest.setServiceCode("UG-MTN-B2C"); |
| | | //设置MSISDN |
| | | tinggRequest.setMsisdn("256777777777"); |
| | | //设置发票编号 |
| | | tinggRequest.setInvoiceNumber(""); |
| | | //设置账号 |
| | | tinggRequest.setAccountNumber("256777777777"); |
| | | //设置付款人交易编号 |
| | | tinggRequest.setPayerTransactionID("yourUniqueID"); |
| | | //设置金额 |
| | | tinggRequest.setAmount(1000L); |
| | | //设置标识 |
| | | tinggRequest.setHubID(""); |
| | | //设置备注 |
| | | tinggRequest.setNarration("MTN Mobile money"); |
| | | //设置收到付款的日期 |
| | | tinggRequest.setDatePaymentReceived(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); |
| | | //设置回调网址 |
| | | tinggRequest.setCallbackUrl("https://yourCallBackUrl.com/receivePaymentStatus"); |
| | | //设置货币代码 |
| | | tinggRequest.setCurrencyCode("UGX"); |
| | | //设置客户名称 |
| | | tinggRequest.setCustomerNames("Walter White"); |
| | | //设置支付方式 |
| | | tinggRequest.setPaymentMode("Online Payment"); |
| | | TinggResponse tinggResponse = getTinggResponse(tinggRequest); |
| | | String s = JSON.toJSONString(tinggResponse); |
| | | System.out.println(s); |
| | | System.out.println("-------------"); |
| | | try { |
| | | String post = new HttpsUtil().post(urlPath,s,"UTF-8"); |
| | | System.out.println(post); |
| | | } catch (NoSuchAlgorithmException e) { |
| | | e.printStackTrace(); |
| | | } catch (KeyManagementException e) { |
| | | e.printStackTrace(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | public static TinggResponse getTinggResponse(TinggRequest tinggRequest) { |
| | | TinggResponse transferResponse = new TinggResponse(); |
| | | //设置国家代码 |
| | | transferResponse.setCountryCode(tinggRequest.getCountryCode()); |
| | | //设置功能 |
| | | transferResponse.setFunction(tinggRequest.getFunction()); |
| | | //获得有效载荷 |
| | | TinggPayload transferPayload = getTinggPayload(tinggRequest); |
| | | //设置有效载荷 |
| | | transferResponse.setPayload(transferPayload); |
| | | return transferResponse; |
| | | } |
| | | |
| | | private static TinggPayload getTinggPayload(TinggRequest tinggRequest) { |
| | | //有效载荷 |
| | | TinggPayload tinggPayload = new TinggPayload(); |
| | | //凭据 |
| | | HashMap<String, String> credentials = new LinkedHashMap<>(); |
| | | //设置用户名 |
| | | credentials.put("username", tinggRequest.getUsername()); |
| | | //设置支付密码 |
| | | credentials.put("password", tinggRequest.getPassword()); |
| | | //设置凭据 |
| | | tinggPayload.setCredentials(credentials); |
| | | |
| | | //有效负载的数据包 |
| | | ArrayList<Object> packet = new ArrayList<>(); |
| | | LinkedHashMap<String, Object> hs = getStringObjectHashMap(tinggRequest); |
| | | packet.add(hs); |
| | | //设置包 |
| | | tinggPayload.setPacket(packet); |
| | | return tinggPayload; |
| | | } |
| | | |
| | | private static LinkedHashMap<String, Object> getStringObjectHashMap(TinggRequest tinggRequest) { |
| | | LinkedHashMap<String, Object> hs = new LinkedHashMap<>(); |
| | | //设置服务代码 |
| | | hs.put("serviceCode", tinggRequest.getServiceCode()); |
| | | hs.put("MSISDN", tinggRequest.getMsisdn()); |
| | | //设置发票编码 |
| | | hs.put("invoiceNumber", tinggRequest.getInvoiceNumber()); |
| | | //设置账号 |
| | | hs.put("accountNumber", tinggRequest.getAccountNumber()); |
| | | //设置付款交易人编号 |
| | | hs.put("payerTransactionID", tinggRequest.getPayerTransactionID()); |
| | | //设置金额 |
| | | hs.put("amount", tinggRequest.getAmount()); |
| | | hs.put("hubID", tinggRequest.getHubID()); |
| | | hs.put("narration", tinggRequest.getNarration()); |
| | | //设置付款时间 |
| | | hs.put("datePaymentReceived", tinggRequest.getDatePaymentReceived()); |
| | | //额外数据 |
| | | HashMap<String, String> tempHs = new LinkedHashMap<>(); |
| | | //回调网址 |
| | | tempHs.put("callbackUrl", tinggRequest.getCallbackUrl()); |
| | | //设置额外数据 |
| | | hs.put("extraData", tempHs); |
| | | //设置货币代码 |
| | | hs.put("currencyCode", tinggRequest.getCurrencyCode()); |
| | | //设置客户名称 |
| | | hs.put("customerNames", tinggRequest.getCustomerNames()); |
| | | //设置支付方式 |
| | | hs.put("paymentMode", tinggRequest.getPaymentMode()); |
| | | return hs; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util.Tingg.enums; |
| | | |
| | | import lombok.Getter; |
| | | |
| | | /** |
| | | * @author chenza |
| | | * @date 2023/3/14 9:02 |
| | | */ |
| | | @Getter |
| | | public enum BankEnum { |
| | | |
| | | KCB_BANK("0001", "KCB"), |
| | | STANCHART_BANK("0002", "Stanchart"), |
| | | ABSA_BANK("0003", "ABSA"), |
| | | BANK_OF_INDIA("0005", "Bank of India"), |
| | | BANK_OF_BARODA("0006", "Bank of Baroda"), |
| | | NCBA_BANK("0007", "NCBA"), |
| | | PRIME_BANK("0010", "Prime Bank"), |
| | | COOP_BANK("0011", "Coop Bank"), |
| | | NBK_BANK("0012", "NBK"), |
| | | M_ORIENTAL("0014", "M-Oriental"), |
| | | CITI_BANK("0016", "Citi Bank"), |
| | | HABIB_BANK_AG_ZURICH("0017", "Habib Bank AG Zurich"), |
| | | MIDDLE_EAST_BANK("0018","Middle East Bank"), |
| | | BANK_OF_AFRICA("0019","Bank of Africa"), |
| | | CONSOLIDATED_BANK("0023","Consolidated"), |
| | | CREDIT_BANK("0025","Credit Bank"), |
| | | ACCESS_BANK("0026","Access Bank"), |
| | | CHASE_BANK("0030","Chase Bank"), |
| | | STANBIC_BANK("0031","Stanbic Bank"), |
| | | ABC_BANK("0035","ABC Bank"), |
| | | ECO_BANK("0043","Eco Bank"), |
| | | EQUATORIAL_COMMERCIAL_BANK("0049","Equatorial Commercial Bank"), |
| | | PARAMOUNT_BANK("0050","Paramount"), |
| | | KINGDOM_BANK("0051","Kingdom Bank"), |
| | | GT_BANK("0053","Gt Bank"), |
| | | VICTORIA_BANK("0054","Victoria Bank"), |
| | | GUARDIAN_BANK("0055","Guardian Bank"), |
| | | IM_BANK("0057","I&M Bank"), |
| | | DEVELOPMENT_BANK("0059","Development Bank"), |
| | | SBM_BANK("0060","SBM"), |
| | | HOUSING_FINANCE("0061","Housing finance"), |
| | | DTB_BANK("0063","DTB"), |
| | | MAYFAIR_BANK("0065","Mayfair Bank"), |
| | | SIDIAN_BANK("0066","Sidian Bank"), |
| | | EQUITY_BANK("0068","Equity Bank"), |
| | | FAMILY_BANK("0070","Family Bank"), |
| | | GULF_AFRICAN_BANK("0072","Gulf African Bank"), |
| | | FIRST_COMMUNITY_BANK("0074","First Community Bank"), |
| | | DIB_BANK("0075","DIB Bank"), |
| | | UBA_BANK("0076","UBA"), |
| | | KWFT_BANK("0078","KWFT"), |
| | | FAULU_BANK("0079","Faulu Bank"), |
| | | POST_BANK("0099","Post Bank"), |
| | | //Instant Payment Switch(及时支付开关) |
| | | IPS("9999","IPS"); |
| | | |
| | | private String destinationBankCode; |
| | | private String destinationBankName; |
| | | |
| | | private BankEnum(String destinationBankCode, String destinationBankName) { |
| | | this.destinationBankCode = destinationBankCode; |
| | | this.destinationBankName = destinationBankName; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util.Tingg.model; |
| | | |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | |
| | | /** |
| | | * 支付回调 |
| | | */ |
| | | public class CallbackRequest { |
| | | /** |
| | | * Cellulant末端的唯一标识符。 |
| | | */ |
| | | private Long checkout_request_id; |
| | | /** |
| | | * 商家单号 |
| | | */ |
| | | private String merchant_transaction_id; |
| | | /** |
| | | * 支付金额 |
| | | */ |
| | | private Double request_amount; |
| | | /** |
| | | * 由商家以发票货币提出的原始请求金额 |
| | | */ |
| | | private Double original_request_amount; |
| | | /** |
| | | * 为客户支付的请求转换的货币。 |
| | | */ |
| | | private String request_currency_code; |
| | | /** |
| | | * 商家在ISO代码中提出要求的货币代码。 |
| | | */ |
| | | private String original_request_currency_code; |
| | | /** |
| | | * 支付账户。 |
| | | */ |
| | | private String account_number; |
| | | /** |
| | | * 所支付的ISO货币代码 |
| | | */ |
| | | private String currency_code; |
| | | /** |
| | | * 客户为请求支付的金额。 |
| | | */ |
| | | private Double amount_paid; |
| | | /** |
| | | * 为发起的请求添加到服务中的费用。 |
| | | */ |
| | | private Double service_charge_amount; |
| | | /** |
| | | * 提出请求的日期。 |
| | | */ |
| | | private Date request_date; |
| | | /** |
| | | * 唯一的服务代码,用于标识引发支付请求的服务。 |
| | | */ |
| | | private String service_code; |
| | | /** |
| | | * 指示服务是否成功或付费的总体请求代码。。 |
| | | * 177-部分付费请求 |
| | | * 178-表明请求已全额支付 |
| | | * 179-表示请求已部分支付但已过期。 |
| | | * 129-请求已过期,未付款。 |
| | | * 180.商户拒绝请求 |
| | | * 183-商户接受请求,我们可以结算资金 |
| | | * 188-商户收到请求。 |
| | | */ |
| | | private String request_status_code; |
| | | /** |
| | | * webhook请求返回的状态描述。 |
| | | */ |
| | | private String request_status_description; |
| | | /** |
| | | * 电话号码 |
| | | */ |
| | | private String msisdn; |
| | | /** |
| | | * 对请求成功支付的数组。 |
| | | */ |
| | | private List<Payments> payments; |
| | | /** |
| | | * 已启动但未成功授权的任何支付的数组。 |
| | | */ |
| | | private List<Payments> failed_payments; |
| | | /** |
| | | * 元数据 |
| | | */ |
| | | private String extra_data; |
| | | /** |
| | | * 国家的缩写 |
| | | */ |
| | | private String country_abbrv; |
| | | |
| | | public Long getCheckout_request_id() { |
| | | return checkout_request_id; |
| | | } |
| | | |
| | | public void setCheckout_request_id(Long checkout_request_id) { |
| | | this.checkout_request_id = checkout_request_id; |
| | | } |
| | | |
| | | public String getMerchant_transaction_id() { |
| | | return merchant_transaction_id; |
| | | } |
| | | |
| | | public void setMerchant_transaction_id(String merchant_transaction_id) { |
| | | this.merchant_transaction_id = merchant_transaction_id; |
| | | } |
| | | |
| | | public Double getRequest_amount() { |
| | | return request_amount; |
| | | } |
| | | |
| | | public void setRequest_amount(Double request_amount) { |
| | | this.request_amount = request_amount; |
| | | } |
| | | |
| | | public Double getOriginal_request_amount() { |
| | | return original_request_amount; |
| | | } |
| | | |
| | | public void setOriginal_request_amount(Double original_request_amount) { |
| | | this.original_request_amount = original_request_amount; |
| | | } |
| | | |
| | | public String getRequest_currency_code() { |
| | | return request_currency_code; |
| | | } |
| | | |
| | | public void setRequest_currency_code(String request_currency_code) { |
| | | this.request_currency_code = request_currency_code; |
| | | } |
| | | |
| | | public String getOriginal_request_currency_code() { |
| | | return original_request_currency_code; |
| | | } |
| | | |
| | | public void setOriginal_request_currency_code(String original_request_currency_code) { |
| | | this.original_request_currency_code = original_request_currency_code; |
| | | } |
| | | |
| | | public String getAccount_number() { |
| | | return account_number; |
| | | } |
| | | |
| | | public void setAccount_number(String account_number) { |
| | | this.account_number = account_number; |
| | | } |
| | | |
| | | public String getCurrency_code() { |
| | | return currency_code; |
| | | } |
| | | |
| | | public void setCurrency_code(String currency_code) { |
| | | this.currency_code = currency_code; |
| | | } |
| | | |
| | | public Double getAmount_paid() { |
| | | return amount_paid; |
| | | } |
| | | |
| | | public void setAmount_paid(Double amount_paid) { |
| | | this.amount_paid = amount_paid; |
| | | } |
| | | |
| | | public Double getService_charge_amount() { |
| | | return service_charge_amount; |
| | | } |
| | | |
| | | public void setService_charge_amount(Double service_charge_amount) { |
| | | this.service_charge_amount = service_charge_amount; |
| | | } |
| | | |
| | | public Date getRequest_date() { |
| | | return request_date; |
| | | } |
| | | |
| | | public void setRequest_date(Date request_date) { |
| | | this.request_date = request_date; |
| | | } |
| | | |
| | | public String getService_code() { |
| | | return service_code; |
| | | } |
| | | |
| | | public void setService_code(String service_code) { |
| | | this.service_code = service_code; |
| | | } |
| | | |
| | | public String getRequest_status_code() { |
| | | return request_status_code; |
| | | } |
| | | |
| | | public void setRequest_status_code(String request_status_code) { |
| | | this.request_status_code = request_status_code; |
| | | } |
| | | |
| | | public String getRequest_status_description() { |
| | | return request_status_description; |
| | | } |
| | | |
| | | public void setRequest_status_description(String request_status_description) { |
| | | this.request_status_description = request_status_description; |
| | | } |
| | | |
| | | public String getMsisdn() { |
| | | return msisdn; |
| | | } |
| | | |
| | | public void setMsisdn(String msisdn) { |
| | | this.msisdn = msisdn; |
| | | } |
| | | |
| | | public List<Payments> getPayments() { |
| | | return payments; |
| | | } |
| | | |
| | | public void setPayments(List<Payments> payments) { |
| | | this.payments = payments; |
| | | } |
| | | |
| | | public List<Payments> getFailed_payments() { |
| | | return failed_payments; |
| | | } |
| | | |
| | | public void setFailed_payments(List<Payments> failed_payments) { |
| | | this.failed_payments = failed_payments; |
| | | } |
| | | |
| | | public String getExtra_data() { |
| | | return extra_data; |
| | | } |
| | | |
| | | public void setExtra_data(String extra_data) { |
| | | this.extra_data = extra_data; |
| | | } |
| | | |
| | | public String getCountry_abbrv() { |
| | | return country_abbrv; |
| | | } |
| | | |
| | | public void setCountry_abbrv(String country_abbrv) { |
| | | this.country_abbrv = country_abbrv; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util.Tingg.model; |
| | | |
| | | /** |
| | | * 支付回调后的响应 |
| | | */ |
| | | public class CallbackResponse { |
| | | /** |
| | | * 数据库中唯一的纤维素ID |
| | | */ |
| | | private String checkout_request_id; |
| | | /** |
| | | * 商家为请求提出的唯一Id |
| | | */ |
| | | private String merchant_transaction_id; |
| | | /** |
| | | * 状态码,指示请求是否成功接收、失败或接受 |
| | | */ |
| | | private String status_code; |
| | | /** |
| | | * 状态码解释。 |
| | | * 183表示成功 |
| | | * 180表示拒绝付款。 |
| | | * 188表示收到的款项。 |
| | | */ |
| | | private String status_description; |
| | | /** |
| | | * 返回的确认响应的唯一标识符。 |
| | | */ |
| | | private String receipt_number; |
| | | |
| | | public String getCheckout_request_id() { |
| | | return checkout_request_id; |
| | | } |
| | | |
| | | public void setCheckout_request_id(String checkout_request_id) { |
| | | this.checkout_request_id = checkout_request_id; |
| | | } |
| | | |
| | | public String getMerchant_transaction_id() { |
| | | return merchant_transaction_id; |
| | | } |
| | | |
| | | public void setMerchant_transaction_id(String merchant_transaction_id) { |
| | | this.merchant_transaction_id = merchant_transaction_id; |
| | | } |
| | | |
| | | public String getStatus_code() { |
| | | return status_code; |
| | | } |
| | | |
| | | public void setStatus_code(String status_code) { |
| | | this.status_code = status_code; |
| | | } |
| | | |
| | | public String getStatus_description() { |
| | | return status_description; |
| | | } |
| | | |
| | | public void setStatus_description(String status_description) { |
| | | this.status_description = status_description; |
| | | } |
| | | |
| | | public String getReceipt_number() { |
| | | return receipt_number; |
| | | } |
| | | |
| | | public void setReceipt_number(String receipt_number) { |
| | | this.receipt_number = receipt_number; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util.Tingg.model; |
| | | |
| | | |
| | | public class CheckoutRequest { |
| | | /** |
| | | * 电话号码 |
| | | */ |
| | | private Long msisdn; |
| | | /** |
| | | * 邮件地址 |
| | | */ |
| | | private String customerEmail; |
| | | /** |
| | | * 支付账户 |
| | | */ |
| | | private String accountNumber; |
| | | /** |
| | | * 名 |
| | | */ |
| | | private String customerFirstName; |
| | | /** |
| | | * 姓 |
| | | */ |
| | | private String customerLastName; |
| | | /** |
| | | * 支付金额 |
| | | */ |
| | | private Double requestAmount; |
| | | /** |
| | | * 订单号 |
| | | */ |
| | | private String merchantTransactionId; |
| | | /** |
| | | * 描述 |
| | | */ |
| | | private String requestDescription; |
| | | /** |
| | | * 回调地址 |
| | | */ |
| | | private String callbackUrl; |
| | | /** |
| | | * 在客户点击回到商家后,我们将客户重定向到哪里 |
| | | */ |
| | | private String pendingRedirectUrl; |
| | | /** |
| | | * 成功付款后将客户重定向到那里 |
| | | */ |
| | | private String successRedirectUrl; |
| | | /** |
| | | * 付款超时后的重定向 |
| | | */ |
| | | private String failRedirectUrl; |
| | | |
| | | public Long getMsisdn() { |
| | | return msisdn; |
| | | } |
| | | |
| | | public void setMsisdn(Long msisdn) { |
| | | this.msisdn = msisdn; |
| | | } |
| | | |
| | | public String getCustomerEmail() { |
| | | return customerEmail; |
| | | } |
| | | |
| | | public void setCustomerEmail(String customerEmail) { |
| | | this.customerEmail = customerEmail; |
| | | } |
| | | |
| | | public String getAccountNumber() { |
| | | return accountNumber; |
| | | } |
| | | |
| | | public void setAccountNumber(String accountNumber) { |
| | | this.accountNumber = accountNumber; |
| | | } |
| | | |
| | | public String getCustomerFirstName() { |
| | | return customerFirstName; |
| | | } |
| | | |
| | | public void setCustomerFirstName(String customerFirstName) { |
| | | this.customerFirstName = customerFirstName; |
| | | } |
| | | |
| | | public String getCustomerLastName() { |
| | | return customerLastName; |
| | | } |
| | | |
| | | public void setCustomerLastName(String customerLastName) { |
| | | this.customerLastName = customerLastName; |
| | | } |
| | | |
| | | public Double getRequestAmount() { |
| | | return requestAmount; |
| | | } |
| | | |
| | | public void setRequestAmount(Double requestAmount) { |
| | | this.requestAmount = requestAmount; |
| | | } |
| | | |
| | | public String getMerchantTransactionId() { |
| | | return merchantTransactionId; |
| | | } |
| | | |
| | | public void setMerchantTransactionId(String merchantTransactionId) { |
| | | this.merchantTransactionId = merchantTransactionId; |
| | | } |
| | | |
| | | public String getRequestDescription() { |
| | | return requestDescription; |
| | | } |
| | | |
| | | public void setRequestDescription(String requestDescription) { |
| | | this.requestDescription = requestDescription; |
| | | } |
| | | |
| | | public String getCallbackUrl() { |
| | | return callbackUrl; |
| | | } |
| | | |
| | | public void setCallbackUrl(String callbackUrl) { |
| | | this.callbackUrl = callbackUrl; |
| | | } |
| | | |
| | | public String getPendingRedirectUrl() { |
| | | return pendingRedirectUrl; |
| | | } |
| | | |
| | | public void setPendingRedirectUrl(String pendingRedirectUrl) { |
| | | this.pendingRedirectUrl = pendingRedirectUrl; |
| | | } |
| | | |
| | | public String getSuccessRedirectUrl() { |
| | | return successRedirectUrl; |
| | | } |
| | | |
| | | public void setSuccessRedirectUrl(String successRedirectUrl) { |
| | | this.successRedirectUrl = successRedirectUrl; |
| | | } |
| | | |
| | | public String getFailRedirectUrl() { |
| | | return failRedirectUrl; |
| | | } |
| | | |
| | | public void setFailRedirectUrl(String failRedirectUrl) { |
| | | this.failRedirectUrl = failRedirectUrl; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util.Tingg.model; |
| | | |
| | | import java.util.Date; |
| | | |
| | | public class Payments { |
| | | /** |
| | | * 付款人的客户姓名 |
| | | */ |
| | | private String customer_name; |
| | | /** |
| | | * 客户付费购买的商家推荐 |
| | | */ |
| | | private String account_number; |
| | | /** |
| | | * 独特的纤维素特性 |
| | | */ |
| | | private String cpg_transaction_id; |
| | | /** |
| | | * 所支付的ISO货币代码 |
| | | */ |
| | | private String currency_code; |
| | | /** |
| | | * 支付方式客户支付,如Airtel |
| | | */ |
| | | private String payer_client_code; |
| | | /** |
| | | * 付款选项客户名称 |
| | | */ |
| | | private String payer_client_name; |
| | | /** |
| | | * 客户支付的金额 |
| | | */ |
| | | private Double amount_paid; |
| | | /** |
| | | * 服务代码支付给 |
| | | */ |
| | | private String service_code; |
| | | /** |
| | | * 付款和收款的时间 |
| | | */ |
| | | private Date date_payment_received; |
| | | /** |
| | | * 用户付费的手机号码 |
| | | */ |
| | | private String msisdn; |
| | | /** |
| | | * 为交易生成的MNO或银行的唯一id |
| | | */ |
| | | private String payer_transaction_id; |
| | | /** |
| | | * 付款的整体状态如下表所示 |
| | | * 141 商户系统拒绝付款 |
| | | * 139 商户待付款确认 |
| | | * 140 商户接受的付款 |
| | | * 138 付款请求已启动但失败 |
| | | * 144 向商家交付但尚未确认成功的付款 |
| | | * 219 付款已上报 |
| | | */ |
| | | private String hub_overall_status; |
| | | /** |
| | | * 由MNO、银行或信用卡收款人提供的付款说明。 |
| | | */ |
| | | private String payer_narration; |
| | | |
| | | public String getCustomer_name() { |
| | | return customer_name; |
| | | } |
| | | |
| | | public void setCustomer_name(String customer_name) { |
| | | this.customer_name = customer_name; |
| | | } |
| | | |
| | | public String getAccount_number() { |
| | | return account_number; |
| | | } |
| | | |
| | | public void setAccount_number(String account_number) { |
| | | this.account_number = account_number; |
| | | } |
| | | |
| | | public String getCpg_transaction_id() { |
| | | return cpg_transaction_id; |
| | | } |
| | | |
| | | public void setCpg_transaction_id(String cpg_transaction_id) { |
| | | this.cpg_transaction_id = cpg_transaction_id; |
| | | } |
| | | |
| | | public String getCurrency_code() { |
| | | return currency_code; |
| | | } |
| | | |
| | | public void setCurrency_code(String currency_code) { |
| | | this.currency_code = currency_code; |
| | | } |
| | | |
| | | public String getPayer_client_code() { |
| | | return payer_client_code; |
| | | } |
| | | |
| | | public void setPayer_client_code(String payer_client_code) { |
| | | this.payer_client_code = payer_client_code; |
| | | } |
| | | |
| | | public String getPayer_client_name() { |
| | | return payer_client_name; |
| | | } |
| | | |
| | | public void setPayer_client_name(String payer_client_name) { |
| | | this.payer_client_name = payer_client_name; |
| | | } |
| | | |
| | | public Double getAmount_paid() { |
| | | return amount_paid; |
| | | } |
| | | |
| | | public void setAmount_paid(Double amount_paid) { |
| | | this.amount_paid = amount_paid; |
| | | } |
| | | |
| | | public String getService_code() { |
| | | return service_code; |
| | | } |
| | | |
| | | public void setService_code(String service_code) { |
| | | this.service_code = service_code; |
| | | } |
| | | |
| | | public Date getDate_payment_received() { |
| | | return date_payment_received; |
| | | } |
| | | |
| | | public void setDate_payment_received(Date date_payment_received) { |
| | | this.date_payment_received = date_payment_received; |
| | | } |
| | | |
| | | public String getMsisdn() { |
| | | return msisdn; |
| | | } |
| | | |
| | | public void setMsisdn(String msisdn) { |
| | | this.msisdn = msisdn; |
| | | } |
| | | |
| | | public String getPayer_transaction_id() { |
| | | return payer_transaction_id; |
| | | } |
| | | |
| | | public void setPayer_transaction_id(String payer_transaction_id) { |
| | | this.payer_transaction_id = payer_transaction_id; |
| | | } |
| | | |
| | | public String getHub_overall_status() { |
| | | return hub_overall_status; |
| | | } |
| | | |
| | | public void setHub_overall_status(String hub_overall_status) { |
| | | this.hub_overall_status = hub_overall_status; |
| | | } |
| | | |
| | | public String getPayer_narration() { |
| | | return payer_narration; |
| | | } |
| | | |
| | | public void setPayer_narration(String payer_narration) { |
| | | this.payer_narration = payer_narration; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util.Tingg.model; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | |
| | | /** |
| | | * @author chenza |
| | | * @date 2023/3/14 10:10 |
| | | */ |
| | | |
| | | @Data |
| | | public class TinggPayload { |
| | | |
| | | /** |
| | | * 凭据 |
| | | */ |
| | | private HashMap<String,String> credentials; |
| | | /** |
| | | * 包 |
| | | */ |
| | | private ArrayList<Object> packet; |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util.Tingg.model; |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author chenza |
| | | * @date 2023/3/14 11:36 |
| | | */ |
| | | |
| | | @Data |
| | | public class TinggRequest { |
| | | /** |
| | | * 国家代码,例如:"NG" |
| | | */ |
| | | private String countryCode; |
| | | /** |
| | | * 功能,例如:"BEEP.postPayment" |
| | | */ |
| | | private String function; |
| | | /** |
| | | * 用户名称 |
| | | */ |
| | | private String username; |
| | | /** |
| | | * 用户密码 |
| | | */ |
| | | private String password; |
| | | /** |
| | | * 服务代码,例如:"NG-BANK-PAYOUT" |
| | | */ |
| | | private String serviceCode; |
| | | /** |
| | | * MSISDN,例如:"256700000000" |
| | | */ |
| | | private String msisdn; |
| | | /** |
| | | * 账号,例如:"00072186" |
| | | */ |
| | | private String accountNumber; |
| | | /** |
| | | * 付款人交易编号,例如:"yourUniqueID" |
| | | */ |
| | | private String payerTransactionID; |
| | | /** |
| | | * 金额,例如:50000 |
| | | */ |
| | | private Long amount; |
| | | /** |
| | | * 备注,例如:"Bank Payout" |
| | | */ |
| | | private String narration; |
| | | /** |
| | | * 收到付款的日期 |
| | | */ |
| | | private String datePaymentReceived; |
| | | /** |
| | | * 回调网址,例如:"https://yourCallBackUrl.com/receivePaymentStatus" |
| | | */ |
| | | private String callbackUrl; |
| | | /** |
| | | * 目的地银行代码,例如:"000012" |
| | | */ |
| | | private String destinationBankCode; |
| | | /** |
| | | * 目标账户名称,例如:"Shem B. Mwangi" |
| | | */ |
| | | private String destinationAccountName; |
| | | /** |
| | | * 目标账户号码,例如:"00072186" |
| | | */ |
| | | private String destinationAccountNo; |
| | | /** |
| | | * 目的地银行,例如:"StanbicIBTC Bank" |
| | | */ |
| | | private String destinationBank; |
| | | /** |
| | | * 支付方式,例如:"BANK" |
| | | */ |
| | | private String paymentMode; |
| | | /** |
| | | * 货币代码,例如: "NGN" |
| | | */ |
| | | private String currencyCode; |
| | | /** |
| | | * 客户名称,例如:"Shem B. Mwangi" |
| | | */ |
| | | private String customerNames; |
| | | /** |
| | | * 发票编码 |
| | | */ |
| | | private String invoiceNumber; |
| | | /** |
| | | * 标识 |
| | | */ |
| | | private String hubID; |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util.Tingg.model; |
| | | |
| | | /** |
| | | * @author chenza |
| | | * @date 2023/3/14 9:21 |
| | | */ |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * 转账响应 |
| | | */ |
| | | @Data |
| | | public class TinggResponse { |
| | | /** |
| | | * 国家代码例如"UG" |
| | | */ |
| | | private String countryCode; |
| | | /** |
| | | * 功能例如"BEEP.postPayment" |
| | | */ |
| | | private String function; |
| | | /** |
| | | * 有效载荷 |
| | | */ |
| | | private TinggPayload payload; |
| | | } |
| | |
| | | private String type; |
| | | @ApiModelProperty("从业地(带分隔符)") |
| | | private String placeOfPractice; |
| | | @ApiModelProperty("从业地行政区域代码") |
| | | private String placeOfEmployment; |
| | | @ApiModelProperty("从业地id") |
| | | private String placeOfPracticeId; |
| | | @ApiModelProperty("驾驶证照片") |
| | | private String driveCardImgUrl1; |
| | | private String driveCardImgUrl; |
| | | @ApiModelProperty("驾驶证照片") |
| | | private String driveCardImgUrl2; |
| | | @ApiModelProperty("网约车资格证照片") |
| | |
| | | private String qrCode; |
| | | @ApiModelProperty("二维码是否打开 true打开,false关闭") |
| | | private Boolean qrCodeIsOpen; |
| | | @ApiModelProperty("生日") |
| | | private String birthday; |
| | | @ApiModelProperty("居住地") |
| | | private String driverAddress; |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | |
| | | this.placeOfPractice = placeOfPractice; |
| | | } |
| | | |
| | | public String getPlaceOfEmployment() { |
| | | return placeOfEmployment; |
| | | public String getPlaceOfPracticeId() { |
| | | return placeOfPracticeId; |
| | | } |
| | | |
| | | public void setPlaceOfEmployment(String placeOfEmployment) { |
| | | this.placeOfEmployment = placeOfEmployment; |
| | | public void setPlaceOfPracticeId(String placeOfPracticeId) { |
| | | this.placeOfPracticeId = placeOfPracticeId; |
| | | } |
| | | |
| | | public String getDriveCardImgUrl1() { |
| | | return driveCardImgUrl1; |
| | | public String getDriveCardImgUrl() { |
| | | return driveCardImgUrl; |
| | | } |
| | | |
| | | public void setDriveCardImgUrl1(String driveCardImgUrl1) { |
| | | this.driveCardImgUrl1 = driveCardImgUrl1; |
| | | public void setDriveCardImgUrl(String driveCardImgUrl) { |
| | | this.driveCardImgUrl = driveCardImgUrl; |
| | | } |
| | | |
| | | public String getDriveCardImgUrl2() { |
| | |
| | | this.qrCodeIsOpen = qrCodeIsOpen; |
| | | } |
| | | |
| | | public String getBirthday() { |
| | | return birthday; |
| | | } |
| | | |
| | | public void setBirthday(String birthday) { |
| | | this.birthday = birthday; |
| | | } |
| | | |
| | | public String getDriverAddress() { |
| | | return driverAddress; |
| | | } |
| | | |
| | | public void setDriverAddress(String driverAddress) { |
| | | this.driverAddress = driverAddress; |
| | | } |
| | | |
| | | public static DriverInfoWarpper getDriverInfoWarpper(Map<String, Object> map){ |
| | | DriverInfoWarpper driverInfoWarpper = new DriverInfoWarpper(); |
| | | if(null != map){ |
| | |
| | | driverInfoWarpper.setGetDriverLicenseDate(null != map.get("getDriverLicenseDate") ? String.valueOf(map.get("getDriverLicenseDate")) : ""); |
| | | driverInfoWarpper.setType(null != map.get("type") ? String.valueOf(map.get("type")) : ""); |
| | | driverInfoWarpper.setPlaceOfPractice(null != map.get("placeOfPractice") ? String.valueOf(map.get("placeOfPractice")) : ""); |
| | | driverInfoWarpper.setDriveCardImgUrl1(null != map.get("driveCardImgUrl1") ? String.valueOf(map.get("driveCardImgUrl1")) : ""); |
| | | driverInfoWarpper.setDriveCardImgUrl(null != map.get("driveCardImgUrl") ? String.valueOf(map.get("driveCardImgUrl")) : ""); |
| | | driverInfoWarpper.setDriveCardImgUrl2(null != map.get("driveCardImgUrl2") ? String.valueOf(map.get("driveCardImgUrl2")) : ""); |
| | | driverInfoWarpper.setNetworkCarlssueImg(null != map.get("networkCarlssueImg") ? String.valueOf(map.get("networkCarlssueImg")) : ""); |
| | | driverInfoWarpper.setPlaceOfEmployment(null != map.get("placeOfEmployment") ? String.valueOf(map.get("placeOfEmployment")) : ""); |
| | | driverInfoWarpper.setPlaceOfPracticeId(null != map.get("placeOfPracticeId") ? String.valueOf(map.get("placeOfPracticeId")) : ""); |
| | | driverInfoWarpper.setLaveActivityMoney(null != map.get("laveActivityMoney") ? Double.valueOf(String.valueOf(map.get("laveActivityMoney"))) : 0); |
| | | driverInfoWarpper.setLaveBusinessMoney(null != map.get("laveBusinessMoney") ? Double.valueOf(String.valueOf(map.get("laveBusinessMoney"))) : 0); |
| | | driverInfoWarpper.setLanguage(null != map.get("language") ? Integer.valueOf(String.valueOf(map.get("language"))) : 2); |
| | | driverInfoWarpper.setBirthday(null != map.get("birthday") ? String.valueOf(map.get("birthday")) : ""); |
| | | driverInfoWarpper.setDriverAddress(null != map.get("driverAddress") ? String.valueOf(map.get("driverAddress")) : ""); |
| | | } |
| | | return driverInfoWarpper; |
| | | } |
| | |
| | | private Integer urgent; |
| | | @ApiModelProperty("下单用户姓名") |
| | | private String userName; |
| | | @ApiModelProperty("司机支付状态【现金支付需要司机代支付】(1=待支付,2=已支付)") |
| | | private Integer driverPay; |
| | | |
| | | @ApiModelProperty("轨迹") |
| | | private String orderPositionList; |
| | |
| | | this.userName = userName; |
| | | } |
| | | |
| | | public Integer getDriverPay() { |
| | | return driverPay; |
| | | } |
| | | |
| | | public void setDriverPay(Integer driverPay) { |
| | | this.driverPay = driverPay; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "OrderInfoWarpper{" + |
| | |
| | | orderInfoWarpper.setCargoType(null != map.get("cargoType") ? Integer.valueOf(map.get("cargoType").toString()) : 0); |
| | | orderInfoWarpper.setUrgent(null != map.get("urgent") ? Integer.valueOf(map.get("urgent").toString()) : 0); |
| | | orderInfoWarpper.setUserName(null != map.get("userName") ? String.valueOf(map.get("userName")) : ""); |
| | | orderInfoWarpper.setDriverPay(null != map.get("driverPay") ? Integer.valueOf(map.get("driverPay").toString()) : 0); |
| | | } |
| | | return orderInfoWarpper; |
| | | } |
| | |
| | | package com.stylefeng.guns.modular.system.warpper; |
| | | |
| | | import com.baomidou.mybatisplus.annotations.TableField; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | |
| | |
| | | @ApiModelProperty("支付方式(1=OK平台支付(线上支付),2=其他方式支付(线下支付))") |
| | | private Integer payManner; |
| | | private Long travelTime; |
| | | @ApiModelProperty("司机支付状态(现金支付司机代支付)1待支付 2已支付") |
| | | private Integer driverPay; |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | |
| | | this.cargoNumber = cargoNumber; |
| | | } |
| | | |
| | | public Integer getDriverPay() { |
| | | return driverPay; |
| | | } |
| | | |
| | | public void setDriverPay(Integer driverPay) { |
| | | this.driverPay = driverPay; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "OrderListWarpper{" + |
| | |
| | | orderListWarpper.setRemark(null != map.get("remark") ? String.valueOf(map.get("remark")) : ""); |
| | | orderListWarpper.setPayManner(null != map.get("payManner") ? Integer.valueOf(String.valueOf(map.get("payManner"))) : 0); |
| | | orderListWarpper.setTravelTime(null != map.get("travelTime") ? Long.valueOf(String.valueOf(map.get("travelTime"))) : 0); |
| | | orderListWarpper.setDriverPay(null != map.get("driverPay") ? Integer.valueOf(map.get("driverPay").toString()) : 1); |
| | | list.add(orderListWarpper); |
| | | } |
| | | } |
| | |
| | | @ApiModelProperty("头像") |
| | | private String headImgUrl; |
| | | @ApiModelProperty("驾驶证照片正面") |
| | | private String driveCardImgUrl1; |
| | | private String driveCardImgUrl; |
| | | @ApiModelProperty("驾驶证照片背面") |
| | | private String driveCardImgUrl2; |
| | | |
| | |
| | | this.headImgUrl = headImgUrl; |
| | | } |
| | | |
| | | public String getDriveCardImgUrl1() { |
| | | return driveCardImgUrl1; |
| | | public String getDriveCardImgUrl() { |
| | | return driveCardImgUrl; |
| | | } |
| | | |
| | | public void setDriveCardImgUrl1(String driveCardImgUrl1) { |
| | | this.driveCardImgUrl1 = driveCardImgUrl1; |
| | | public void setDriveCardImgUrl(String driveCardImgUrl) { |
| | | this.driveCardImgUrl = driveCardImgUrl; |
| | | } |
| | | |
| | | public String getDriveCardImgUrl2() { |
| | |
| | | ", email='" + email + '\'' + |
| | | ", placeOfPracticeId=" + placeOfPracticeId + |
| | | ", headImgUrl='" + headImgUrl + '\'' + |
| | | ", driveCardImgUrl1='" + driveCardImgUrl1 + '\'' + |
| | | ", driveCardImgUrl2='" + driveCardImgUrl2 + '\'' + |
| | | '}'; |
| | | } |
| | |
| | | application: |
| | | name: driver-server |
| | | profiles: |
| | | active: @spring.active@ |
| | | # active: dev |
| | | active: produce |
| | | mvc: |
| | | static-path-pattern: /static/** |
| | | view: |
| | |
| | | |
| | | mybatis-plus: |
| | | typeAliasesPackage: com.stylefeng.guns.modular |
| | | configuration: |
| | | log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl |
| | | |
| | | log: |
| | | path: guns-logs |
| | | |
| | | eureka: |
| | | client: |
| | |
| | | |
| | | --- |
| | | |
| | | #spring: |
| | | # profiles: local |
| | | # datasource: |
| | | # url: jdbc:mysql://Rm-wz9rpe0t74ys3b1h8go.mysql.rds.aliyuncs.com:3306/oktravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai |
| | | # username: root |
| | | # password: Root2020! |
| | | # db-name: guns #用来搜集数据库的所有表 |
| | | # filters: wall,mergeStat |
| | | |
| | | ################# 测试环境 ################### |
| | | spring: |
| | | profiles: local |
| | | datasource: |
| | | url: jdbc:mysql://127.0.0.1:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai |
| | | username: root |
| | | password: 123456 |
| | | password: HjKbXilb9zajmXbl |
| | | db-name: guns #用来搜集数据库的所有表 |
| | | filters: wall,mergeStat |
| | | |
| | | ################# 测试环境 ################### |
| | | #spring: |
| | | # datasource: |
| | | # url: jdbc:mysql://127.0.0.1:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai |
| | | # username: root |
| | | # password: 123456 |
| | | # db-name: guns #用来搜集数据库的所有表 |
| | | # filters: wall,mergeStat |
| | | |
| | | |
| | | #多数据源情况的配置 |
| | |
| | | - dataSourceGuns |
| | | - dataSourceBiz |
| | | |
| | | --- |
| | | |
| | | spring: |
| | | profiles: dev |
| | | datasource: |
| | | url: jdbc:mysql://127.0.0.1:3306/guns?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai |
| | | username: root |
| | | password: root |
| | | db-name: guns #用来搜集数据库的所有表 |
| | | filters: wall,mergeStat |
| | | |
| | | --- |
| | | |
| | | spring: |
| | | profiles: test |
| | | datasource: |
| | | url: jdbc:mysql://127.0.0.1:3306/guns?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai |
| | | username: root |
| | | password: root |
| | | filters: wall,mergeStat |
| | | |
| | | --- |
| | | |
| | | spring: |
| | | profiles: produce |
| | | datasource: |
| | | url: jdbc:mysql://127.0.0.1:3306/guns?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai |
| | | username: root |
| | | password: root |
| | | filters: wall,mergeStat |
| | | |
| | | --- |
| | | |
| | | wx: |
| | | grantType: authorization_code #填authorization_code |
| | |
| | | |
| | | --- |
| | | |
| | | #filePath: /usr/local/server/orderPostionFile/ #存储订单轨迹文件路径 |
| | | filePath: C:/orderPostionFile/ #存储订单轨迹文件路径 |
| | | filePath: /usr/local/server/orderPostionFile/ #存储订单轨迹文件路径 |
| | | #filePath: C:/orderPostionFile/ #存储订单轨迹文件路径 |
| | | |
| | | |
| | | |
| | |
| | | #正式环境 |
| | | #callbackPath: https://okyueche.com:443/driver |
| | | #正式测试环境 |
| | | callbackPath: http://39.108.37.243/driver |
| | | callbackPath: http://182.160.16.251/driver |
| | | |
| | | |
| | | --- |
| | | #交通部推送数据功能开关 |
| | | pushMinistryOfTransport: false |
| | | |
| | | spring: |
| | | mail: |
| | | host: smtp.gmail.com # 配置 smtp 服务器地址 |
| | | port: 465 # smtp 服务器的端口 |
| | | username: southwindservice@gmail.com # 配置邮箱用户名(你的邮箱地址) |
| | | password: ogsntijmguisoiuk # 配置申请到的授权码(刚让复制的授权码) |
| | | default-encoding: UTF-8 # 配置邮件编码 |
| | | properties: |
| | | mail: |
| | | smtp: |
| | | socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂 |
| | | debug: true |
| | | from: southwindservice@gmail.com # 发送方邮件,配在yml中可方便更改 |
| | | template-path: /usr/local/nginx/html/mailbox/driver/ |
| | | |
| | | --- |
| | | |
| | | share: |
| | | url: http://182.160.16.251:81/share/share/pages/changeStyle/changeStyle.html |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <configuration> |
| | | <!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,比如: 如果设置为WARN,则低于WARN的信息都不会输出 --> |
| | | <!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true --> |
| | | <!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。 --> |
| | | <!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 --> |
| | | <configuration scan="true" scanPeriod="10 seconds"> |
| | | <contextName>logback</contextName> |
| | | |
| | | <!--定义日志存放的位置--> |
| | | <springProperty scope="context" name="gunsLogPath" source="log.path" |
| | | defaultValue="guns-logs"/> |
| | | <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 --> |
| | | <property name="log.path" value="/usr/local/server/logs/driver"/> |
| | | |
| | | <!-- ****************************************************************************************** --> |
| | | <!-- ****************************** 本地开发只在控制台打印日志 ************************************ --> |
| | | <!-- ****************************************************************************************** --> |
| | | <springProfile name="local"> |
| | | <!--0. 日志格式和颜色渲染 --> |
| | | <!-- 彩色日志依赖的渲染类 --> |
| | | <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> |
| | | <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> |
| | | <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> |
| | | <!-- 彩色日志格式 --> |
| | | <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> |
| | | |
| | | <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> |
| | | <!--encoder 默认配置为PatternLayoutEncoder--> |
| | | <encoder> |
| | | <pattern>===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern> |
| | | <charset>utf-8</charset> |
| | | </encoder> |
| | | </appender> |
| | | <!--1. 输出到控制台--> |
| | | <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> |
| | | <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息--> |
| | | <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> |
| | | <level>debug</level> |
| | | </filter> |
| | | <encoder> |
| | | <Pattern>${CONSOLE_LOG_PATTERN}</Pattern> |
| | | <!-- 设置字符集 --> |
| | | <charset>UTF-8</charset> |
| | | </encoder> |
| | | </appender> |
| | | |
| | | <!--2. 输出到文档--> |
| | | <!-- 2.1 level为 DEBUG 日志,时间滚动输出 --> |
| | | <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文档的路径及文档名 --> |
| | | <file>${log.path}/debug.log</file> |
| | | <!--日志文档输出格式--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- 设置字符集 --> |
| | | </encoder> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <!-- 日志归档 --> |
| | | <fileNamePattern>${log.path}/%d{yyyy-MM-dd}/debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--日志文档保留天数--> |
| | | <maxHistory>15</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- 此日志文档只记录debug级别的 --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>debug</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 2.2 level为 INFO 日志,时间滚动输出 --> |
| | | <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文档的路径及文档名 --> |
| | | <file>${log.path}/info.log</file> |
| | | <!--日志文档输出格式--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> |
| | | </encoder> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <!-- 每天日志归档路径以及格式 --> |
| | | <fileNamePattern>${log.path}/%d{yyyy-MM-dd}/info-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--日志文档保留天数--> |
| | | <maxHistory>15</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- 此日志文档只记录info级别的 --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>info</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 2.3 level为 WARN 日志,时间滚动输出 --> |
| | | <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文档的路径及文档名 --> |
| | | <file>${log.path}/warn.log</file> |
| | | <!--日志文档输出格式--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- 此处设置字符集 --> |
| | | </encoder> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <fileNamePattern>${log.path}/%d{yyyy-MM-dd}/warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--日志文档保留天数--> |
| | | <maxHistory>15</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- 此日志文档只记录warn级别的 --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>warn</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 2.4 level为 ERROR 日志,时间滚动输出 --> |
| | | <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文档的路径及文档名 --> |
| | | <file>${log.path}/error.log</file> |
| | | <!--日志文档输出格式--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- 此处设置字符集 --> |
| | | </encoder> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <fileNamePattern>${log.path}/%d{yyyy-MM-dd}/error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--日志文档保留天数--> |
| | | <maxHistory>15</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- 此日志文档只记录ERROR级别的 --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>ERROR</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 2.5 所有 除了DEBUG级别的其它高于DEBUG的 日志,记录到一个文件 --> |
| | | <appender name="ALL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文档的路径及文档名 --> |
| | | <file>${log.path}/all.log</file> |
| | | <!--日志文档输出格式--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- 此处设置字符集 --> |
| | | </encoder> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <fileNamePattern>${log.path}/%d{yyyy-MM-dd}/all-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--日志文档保留天数--> |
| | | <maxHistory>15</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- 此日志文档记录除了DEBUG级别的其它高于DEBUG的 --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>DEBUG</level> |
| | | <onMatch>DENY</onMatch> |
| | | <onMismatch>ACCEPT</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- |
| | | <logger>用来设置某一个包或者具体的某一个类的日志打印级别、 |
| | | 以及指定<appender>。<logger>仅有一个name属性, |
| | | 一个可选的level和一个可选的addtivity属性。 |
| | | name:用来指定受此logger约束的某一个包或者具体的某一个类。 |
| | | level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF, |
| | | 还有一个特殊值INHERITED或者同义词NULL,代表强制执行上级的级别。 |
| | | 如果未设置此属性,那么当前logger将会继承上级的级别。 |
| | | addtivity:是否向上级logger传递打印信息。默认是true。 |
| | | <logger name="org.springframework.web" level="info"/> |
| | | <logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/> |
| | | --> |
| | | |
| | | <!-- |
| | | root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性 |
| | | level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF, |
| | | 不能设置为INHERITED或者同义词NULL。默认是DEBUG |
| | | 可以包含零个或多个元素,标识这个appender将会添加到这个logger。 |
| | | --> |
| | | |
| | | <!-- 4 最终的策略: |
| | | 基本策略(root级) + 根据profile在启动时, logger标签中定制化package日志级别(优先级高于上面的root级)--> |
| | | <springProfile name="dev"> |
| | | <root level="info"> |
| | | <appender-ref ref="STDOUT"/> |
| | | <appender-ref ref="CONSOLE" /> |
| | | <appender-ref ref="DEBUG_FILE" /> |
| | | <appender-ref ref="INFO_FILE" /> |
| | | <appender-ref ref="WARN_FILE" /> |
| | | <appender-ref ref="ERROR_FILE" /> |
| | | <appender-ref ref="ALL_FILE" /> |
| | | </root> |
| | | |
| | | <logger name="com.stylefeng.guns" level="debug" additivity="false"> |
| | | <appender-ref ref="STDOUT"/> |
| | | </logger> |
| | | |
| | | <logger name="com.stylefeng.guns.modular.system.dao" level="error"/> |
| | | <logger name="business-log" level="warn"/> |
| | | </springProfile> |
| | | |
| | | <!-- ****************************************************************************************** --> |
| | | <!-- ********************** 放到服务器上不管在什么环境都只在文件记录日志 **************************** --> |
| | | <!-- ****************************************************************************************** --> |
| | | <springProfile name="!local"> |
| | | |
| | | <!-- 日志记录器,日期滚动记录 --> |
| | | <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文件的路径及文件名 --> |
| | | <file>${gunsLogPath}/log_error.log</file> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。 |
| | | 而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 --> |
| | | <fileNamePattern>${gunsLogPath}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, |
| | | 命名日志文件,例如log-error-2013-12-21.0.log --> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>2MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | </rollingPolicy> |
| | | <!-- 追加方式记录日志 --> |
| | | <append>true</append> |
| | | <!-- 日志文件的格式 --> |
| | | <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> |
| | | <pattern>===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern> |
| | | <charset>utf-8</charset> |
| | | </encoder> |
| | | <!-- 此日志文件只记录error级别的 --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>error</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 日志记录器,日期滚动记录 --> |
| | | <appender name="FILE_ALL" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文件的路径及文件名 --> |
| | | <file>${gunsLogPath}/log_total.log</file> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。 |
| | | 而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 --> |
| | | <fileNamePattern>${gunsLogPath}/total/log-total-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, |
| | | 命名日志文件,例如log-error-2013-12-21.0.log --> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>2MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | </rollingPolicy> |
| | | <!-- 追加方式记录日志 --> |
| | | <append>true</append> |
| | | <!-- 日志文件的格式 --> |
| | | <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> |
| | | <pattern>===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern> |
| | | <charset>utf-8</charset> |
| | | </encoder> |
| | | </appender> |
| | | |
| | | <springProfile name="fat"> |
| | | <root level="info"> |
| | | <appender-ref ref="FILE_ERROR"/> |
| | | <appender-ref ref="FILE_ALL"/> |
| | | <appender-ref ref="CONSOLE" /> |
| | | <appender-ref ref="DEBUG_FILE" /> |
| | | <appender-ref ref="INFO_FILE" /> |
| | | <appender-ref ref="WARN_FILE" /> |
| | | <appender-ref ref="ERROR_FILE" /> |
| | | <appender-ref ref="ALL_FILE" /> |
| | | </root> |
| | | |
| | | <logger name="com.stylefeng.guns.modular.system.dao" level="error"/> |
| | | <logger name="business-log" level="warn"/> |
| | | </springProfile> |
| | | |
| | | </configuration> |
| | | <springProfile name="produce"> |
| | | <root level="warn"> |
| | | <!-- 生产环境最好不配置console写文件 --> |
| | | <appender-ref ref="DEBUG_FILE" /> |
| | | <appender-ref ref="INFO_FILE" /> |
| | | <appender-ref ref="WARN_FILE" /> |
| | | <appender-ref ref="ERROR_FILE" /> |
| | | <appender-ref ref="ALL_FILE" /> |
| | | </root> |
| | | <logger name="com.stylefeng.guns.modular.system.dao" level="error"/> |
| | | <logger name="business-log" level="warn"/> |
| | | </springProfile> |
| | | |
| | | |
| | | </configuration> |
| | |
| | | <orderEntry type="library" name="Maven: org.apache.ant:ant:1.8.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.ant:ant-launcher:1.8.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:3.9" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.3.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.poi:poi-scratchpad:3.9" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.huaweicloud:esdk-obs-java:3.19.5" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.jamesmurty.utils:java-xmlbuilder:1.1" level="project" /> |
| | |
| | | <orderEntry type="library" name="Maven: com.squareup.okio:okio:1.14.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.5" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-core:2.10.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.10.0" level="project" /> |
| | | <orderEntry type="module" module-name="guns-generator" /> |
| | | <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-generate:2.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.0.4.RELEASE" level="project" /> |
| | |
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.0.4.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: redis.clients:jedis:2.9.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.commons:commons-pool2:2.5.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.poi:poi:5.2.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.poi:poi:5.0.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.25" level="project" /> |
| | | <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.4" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.commons:commons-math3:3.6.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.zaxxer:SparseBitSet:1.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.10.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:5.2.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-lite:5.2.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:5.0.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:5.0.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-lite:5.0.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.commons:commons-compress:1.20" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.06" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.68" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.68" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.santuario:xmlsec:2.2.1" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: com.fasterxml.woodstox:woodstox-core:5.2.1" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.woodstox:stax2-api:4.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-all:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-anim:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-shared-resources:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: xml-apis:xml-apis-ext:1.3.04" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-awt-util:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:xmlgraphics-commons:2.4" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-bridge:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-codec:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-constants:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-css:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-dom:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: xalan:xalan:2.7.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: xalan:serializer:2.7.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: xml-apis:xml-apis:1.4.01" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.commons:commons-compress:1.21" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.07" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-ext:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-extension:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-gui-util:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-gvt:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-i18n:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-parser:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-rasterizer-ext:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-rasterizer:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-script:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-slideshow:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-squiggle-ext:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-squiggle:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-svg-dom:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-svgbrowser:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-svggen:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-svgpp:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-svgrasterizer:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-swing:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-transcoder:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-util:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-ttf2svg:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-xml:1.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: de.rototor.pdfbox:graphics2d:0.30" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.pdfbox:pdfbox:2.0.22" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.pdfbox:fontbox:2.0.22" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shiro:shiro-core:1.7.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shiro:shiro-lang:1.7.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shiro:shiro-cache:1.7.0" level="project" /> |
| | |
| | | <orderEntry type="library" name="Maven: org.apache.shiro:shiro-ehcache:1.7.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: net.sf.ehcache:ehcache-core:2.6.11" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.ehcache:ehcache:3.3.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" /> |
| | | <orderEntry type="library" name="Maven: cn.jpush.api:jpush-client:3.2.17" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-all:4.1.23.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: cn.jpush.api:jiguang-common:1.1.1" level="project" /> |
| | |
| | | <version>1.0.0</version> |
| | | <relativePath>../pom.xml</relativePath> |
| | | </parent> |
| | | <packaging>jar</packaging> |
| | | <packaging>war</packaging> |
| | | |
| | | <dependencies> |
| | | <!--<dependency> |
| | |
| | | <dependency> |
| | | <groupId>org.apache.poi</groupId> |
| | | <artifactId>poi</artifactId> |
| | | <version>RELEASE</version> |
| | | <version>5.0.0</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.apache.poi</groupId> |
| | | <artifactId>poi-ooxml</artifactId> |
| | | <version>RELEASE</version> |
| | | <version>5.0.0</version> |
| | | </dependency> |
| | | |
| | | <!--shiro依赖--> |
| | |
| | | <version>2.5.0</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.huaweicloud</groupId> |
| | | <artifactId>esdk-obs-java-bundle</artifactId> |
| | | <version>[3.21.11,)</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.google.code.gson</groupId> |
| | | <artifactId>gson</artifactId> |
| | | </dependency> |
| | |
| | | <artifactId>spring-boot-starter-quartz</artifactId> |
| | | </dependency> |
| | | |
| | | <!--引入本地工行支付jar start--> |
| | | <!--<dependency> |
| | | <groupId>com.icbc</groupId> |
| | | <artifactId>icbc</artifactId> |
| | | <version>v2</version> |
| | | <scope>system</scope> |
| | | <systemPath>${project.basedir}/lib/icbc-api-sdk-cop.jar</systemPath> |
| | | <!--谷歌地图依赖--> |
| | | <dependency> |
| | | <groupId>com.google.maps</groupId> |
| | | <artifactId>google-maps-services</artifactId> |
| | | <version>2.0.0</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.icbc.api</groupId> |
| | | <artifactId>icbc</artifactId> |
| | | <version>v2</version> |
| | | <scope>system</scope> |
| | | <systemPath>${project.basedir}/lib/icbc-api-sdk-cop-io.jar</systemPath> |
| | | <groupId>org.slf4j</groupId> |
| | | <artifactId>slf4j-simple</artifactId> |
| | | <version>1.7.25</version> |
| | | </dependency> |
| | | <!--邮件发送依赖--> |
| | | <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-mail</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>cn.com.infosec</groupId> |
| | | <artifactId>icbc</artifactId> |
| | | <version>v2</version> |
| | | <scope>system</scope> |
| | | <systemPath>${project.basedir}/lib/icbc-ca.jar</systemPath> |
| | | <groupId>org.jsoup</groupId> |
| | | <artifactId>jsoup</artifactId> |
| | | <version>1.13.1</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>cn.com.infosecCrypto</groupId> |
| | | <artifactId>icbc</artifactId> |
| | | <version>v2</version> |
| | | <scope>system</scope> |
| | | <systemPath>${project.basedir}/lib/InfosecCrypto_Java1_02_JDK14+.jar</systemPath> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>proguard</groupId> |
| | | <artifactId>icbc</artifactId> |
| | | <version>v2</version> |
| | | <scope>system</scope> |
| | | <systemPath>${project.basedir}/lib/proguard.jar</systemPath> |
| | | </dependency>--> |
| | | <!--引入本地工行支付jar end--> |
| | | </dependencies> |
| | | |
| | | |
| | | |
| | | |
| | | <build> |
| | | <plugins> |
| | | <plugin> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-maven-plugin</artifactId> |
| | | <configuration> |
| | | <fork>true</fork><!-- 如果没有该项配置,肯呢个devtools不会起作用,即应用不会restart --> |
| | | </configuration> |
| | | </plugin> |
| | | <plugin> |
| | | <groupId>org.apache.maven.plugins</groupId> |
| | | <artifactId>maven-surefire-plugin</artifactId> |
| | | <configuration> |
| | | <skip>true</skip> |
| | | </configuration> |
| | | </plugin> |
| | | </plugins> |
| | | |
| | | <!--打包war包引入本地jar的打包方式--> |
| | | <!--<plugins>--> |
| | | <!--<plugin>--> |
| | | <!--<groupId>org.apache.maven.plugins</groupId>--> |
| | | <!--<artifactId>maven-war-plugin</artifactId>--> |
| | | <!--<groupId>org.springframework.boot</groupId>--> |
| | | <!--<artifactId>spring-boot-maven-plugin</artifactId>--> |
| | | <!--<configuration>--> |
| | | <!--<!– 设置成false,否则检查web.xml是否存在。因为springboot是没有web.xml的 –>--> |
| | | <!--<failOnMissingWebXml>false</failOnMissingWebXml>--> |
| | | <!--<!–打包后的项目名–>--> |
| | | <!--<!–<warName>example</warName>–>--> |
| | | <!--<fork>true</fork><!– 如果没有该项配置,肯呢个devtools不会起作用,即应用不会restart –>--> |
| | | <!--</configuration>--> |
| | | <!--</plugin>--> |
| | | <!--<plugin>--> |
| | | <!--<groupId>org.apache.maven.plugins</groupId>--> |
| | | <!--<artifactId>maven-surefire-plugin</artifactId>--> |
| | | <!--<configuration>--> |
| | | <!--<skip>true</skip>--> |
| | | <!--</configuration>--> |
| | | <!--</plugin>--> |
| | | <!--</plugins>--> |
| | | |
| | | <!--打包war包引入本地jar的打包方式--> |
| | | <plugins> |
| | | <plugin> |
| | | <groupId>org.apache.maven.plugins</groupId> |
| | | <artifactId>maven-war-plugin</artifactId> |
| | | <configuration> |
| | | <!-- 设置成false,否则检查web.xml是否存在。因为springboot是没有web.xml的 --> |
| | | <failOnMissingWebXml>false</failOnMissingWebXml> |
| | | <!--打包后的项目名--> |
| | | <!--<warName>example</warName>--> |
| | | <!--<webResources>--> |
| | | <!--<resource>--> |
| | | <!--<!–把本地lib里面的jar复制到lib–>--> |
| | |
| | | <!--</includes>--> |
| | | <!--</resource>--> |
| | | <!--</webResources>--> |
| | | <!--</configuration>--> |
| | | <!--</plugin>--> |
| | | <!--</plugins>--> |
| | | </configuration> |
| | | </plugin> |
| | | </plugins> |
| | | |
| | | <resources> |
| | | <resource> |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller; |
| | | |
| | | 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.TAdvertisementUser; |
| | | import com.stylefeng.guns.modular.system.service.ITAdvertisementUserService; |
| | | |
| | | /** |
| | | * 控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2022-09-30 14:43:23 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/tAdvertisementUser") |
| | | public class TAdvertisementUserController extends BaseController { |
| | | |
| | | private String PREFIX = "/system/tAdvertisementUser/"; |
| | | |
| | | @Autowired |
| | | private ITAdvertisementUserService tAdvertisementUserService; |
| | | |
| | | /** |
| | | * 跳转到首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index() { |
| | | return PREFIX + "tAdvertisementUser.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到添加 |
| | | */ |
| | | @RequestMapping("/tAdvertisementUser_add") |
| | | public String tAdvertisementUserAdd() { |
| | | return PREFIX + "tAdvertisementUser_add.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到修改 |
| | | */ |
| | | @RequestMapping("/tAdvertisementUser_update/{tAdvertisementUserId}") |
| | | public String tAdvertisementUserUpdate(@PathVariable Integer tAdvertisementUserId, Model model) { |
| | | TAdvertisementUser tAdvertisementUser = tAdvertisementUserService.selectById(tAdvertisementUserId); |
| | | model.addAttribute("item",tAdvertisementUser); |
| | | LogObjectHolder.me().set(tAdvertisementUser); |
| | | return PREFIX + "tAdvertisementUser_edit.html"; |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | | @ResponseBody |
| | | public Object list(String condition) { |
| | | return tAdvertisementUserService.selectList(null); |
| | | } |
| | | |
| | | /** |
| | | * 新增 |
| | | */ |
| | | @RequestMapping(value = "/add") |
| | | @ResponseBody |
| | | public Object add(TAdvertisementUser tAdvertisementUser) { |
| | | tAdvertisementUserService.insert(tAdvertisementUser); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | @RequestMapping(value = "/delete") |
| | | @ResponseBody |
| | | public Object delete(@RequestParam Integer tAdvertisementUserId) { |
| | | tAdvertisementUserService.deleteById(tAdvertisementUserId); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改 |
| | | */ |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(TAdvertisementUser tAdvertisementUser) { |
| | | tAdvertisementUserService.updateById(tAdvertisementUser); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 详情 |
| | | */ |
| | | @RequestMapping(value = "/detail/{tAdvertisementUserId}") |
| | | @ResponseBody |
| | | public Object detail(@PathVariable("tAdvertisementUserId") Integer tAdvertisementUserId) { |
| | | return tAdvertisementUserService.selectById(tAdvertisementUserId); |
| | | } |
| | | } |
| | |
| | | public Object driverWorkList() { |
| | | Page<Map<String,Object>> page = new PageFactory<Map<String,Object>>().defaultPage(); |
| | | List<Map<String,Object>> list = tIncomeService.getList1(page); |
| | | for (Map<String,Object> map:list){ |
| | | List<Map<String,Object>> list1 = tIncomeService.getTotal(map.get("times").toString()); |
| | | map.put("driverNum",list1.get(0).get("driverNum")); |
| | | map.put("timeNumber",list1.get(0).get("timeNumber")); |
| | | } |
| | | page.setRecords(list); |
| | | return super.packForBT(page); |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller; |
| | | |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | import com.stylefeng.guns.core.common.constant.factory.PageFactory; |
| | | import com.stylefeng.guns.core.shiro.ShiroKit; |
| | | import com.stylefeng.guns.core.util.SinataUtil; |
| | | import com.stylefeng.guns.core.util.ToolUtil; |
| | | import com.stylefeng.guns.modular.system.model.TUser; |
| | | import com.stylefeng.guns.modular.system.service.ITUserService; |
| | | import com.stylefeng.guns.modular.system.util.EmailUtil; |
| | | import org.jsoup.Jsoup; |
| | | import org.jsoup.nodes.Document; |
| | | import org.jsoup.nodes.Element; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | 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.TReportLoss; |
| | | import com.stylefeng.guns.modular.system.service.ITReportLossService; |
| | | |
| | | import java.io.File; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2022-09-29 11:05:28 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/tReportLoss") |
| | | public class TReportLossController extends BaseController { |
| | | |
| | | private String PREFIX = "/system/tReportLoss/"; |
| | | |
| | | @Autowired |
| | | private ITReportLossService tReportLossService; |
| | | |
| | | @Autowired |
| | | private ITUserService userService; |
| | | |
| | | @Value("${spring.mail.template-path}") |
| | | private String templatePath; |
| | | |
| | | /** |
| | | * 跳转到首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index() { |
| | | return PREFIX + "tReportLoss.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到添加 |
| | | */ |
| | | @RequestMapping("/tReportLoss_add") |
| | | public String tReportLossAdd() { |
| | | return PREFIX + "tReportLoss_add.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到修改 |
| | | */ |
| | | @RequestMapping("/tReportLoss_update/{tReportLossId}") |
| | | public String tReportLossUpdate(@PathVariable Integer tReportLossId, Model model) { |
| | | TReportLoss tReportLoss = tReportLossService.selectById(tReportLossId); |
| | | model.addAttribute("item",tReportLoss); |
| | | LogObjectHolder.me().set(tReportLoss); |
| | | return PREFIX + "tReportLoss_edit.html"; |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | | @ResponseBody |
| | | public Object list(String insertTime,String phone,Integer status) { |
| | | 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(tReportLossService.getReportLossList(beginTime,endTime,phone,status)); |
| | | // } |
| | | return tReportLossService.getReportLossList(beginTime,endTime,phone,status); |
| | | } |
| | | |
| | | /** |
| | | * 新增 |
| | | */ |
| | | @RequestMapping(value = "/add") |
| | | @ResponseBody |
| | | public Object add(TReportLoss tReportLoss) { |
| | | tReportLossService.insert(tReportLoss); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | @RequestMapping(value = "/delete") |
| | | @ResponseBody |
| | | public Object delete(@RequestParam Integer tReportLossId) { |
| | | tReportLossService.deleteById(tReportLossId); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改 |
| | | */ |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(TReportLoss tReportLoss) { |
| | | tReportLossService.updateById(tReportLoss); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 详情 |
| | | */ |
| | | @RequestMapping(value = "/detail/{tReportLossId}") |
| | | @ResponseBody |
| | | public Object detail(@PathVariable("tReportLossId") Integer tReportLossId) { |
| | | return tReportLossService.selectById(tReportLossId); |
| | | } |
| | | @RequestMapping(value = "/dispose") |
| | | @ResponseBody |
| | | public Object dispose(Integer id,String info) { |
| | | TReportLoss tReportLoss = tReportLossService.selectById(id); |
| | | tReportLoss.setDisposeInfo(info); |
| | | tReportLoss.setStatus(2); |
| | | tReportLoss.setHandleUserId(ShiroKit.getUser().getObjectId()); |
| | | boolean b = tReportLossService.updateById(tReportLoss); |
| | | if(b){ |
| | | try { |
| | | TUser userInfo = userService.selectById(tReportLoss.getUserId()); |
| | | if(ToolUtil.isNotEmpty(userInfo.getEmail())){ |
| | | String path = templatePath + "user/reportLossResult.html"; |
| | | Document document = Jsoup.parse(new File(path), "UTF-8"); |
| | | document.getElementById("chinese").attr("style", "display: none;"); |
| | | document.getElementById("french").attr("style", "display: none;"); |
| | | Element english_user = document.getElementById("english_user"); |
| | | english_user.text("Hello " + userInfo.getNickName() + ","); |
| | | Element english_content = document.getElementById("english_content"); |
| | | english_content.text(info); |
| | | EmailUtil.send(userInfo.getEmail(), "Notification of the result of the loss report", document.html()); |
| | | } |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return SUCCESS_TIP; |
| | | } |
| | | return ERROR; |
| | | } |
| | | } |
| | |
| | | } |
| | | List<TDriver> tDrivers = tDriverService.selectList(ne); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | List<Object> list = new ArrayList<>(); |
| | | List<Object> list1 = new ArrayList<>(); |
| | | List<Object> list2 = new ArrayList<>(); |
| | | for(TDriver tDriver : tDrivers){ |
| | | Map<String, Object> d = new HashMap<>(); |
| | | String value = redisUtil.getValue("DRIVER" + tDriver.getId()); |
| | |
| | | d.put("driver", tDriver); |
| | | d.put("lon", value.split(",")[0]); |
| | | d.put("lat", value.split(",")[1]); |
| | | list.add(d); |
| | | if(tDriver.getState() == 2){ |
| | | list1.add(d); |
| | | }else{ |
| | | list2.add(d); |
| | | } |
| | | } |
| | | map.put("driver", list); |
| | | map.put("driver1", list1); |
| | | map.put("driver2", list2); |
| | | |
| | | Map<String, Object> map2 = new HashMap<>(); |
| | | String today = DateUtil.format(new Date(), "yyyy-MM-dd"); |
| | | Wrapper<TOrderPrivateCar> eq = new EntityWrapper<TOrderPrivateCar>().eq("state", 1).eq("isDelete", 1).ge("insertTime",DateUtil.parse(today,"yyyy-MM-dd")); |
| | | if(companyId != null){ |
| | | eq.eq("companyId", companyId); |
| | | } |
| | | Wrapper<TOrderLogistics> eq1 = new EntityWrapper<TOrderLogistics>().eq("state", 1).eq("isDelete", 1).ge("insertTime",DateUtil.parse(today,"yyyy-MM-dd")); |
| | | if(companyId != null){ |
| | | eq1.eq("companyId", companyId); |
| | | } |
| | | List<TOrderPrivateCar> tOrderPrivateCars=tOrderPrivateCarService.selectList(eq); |
| | | list = new ArrayList<>(); |
| | | List<TOrderLogistics> orderLogistics=itOrderLogisticsService.selectList(eq1); |
| | | List<Map<String, Object>> privateCarOrderList = new ArrayList<>(); |
| | | List<Map<String, Object>> logisticsOrderList = new ArrayList<>(); |
| | | for(TOrderPrivateCar t : tOrderPrivateCars){ |
| | | Map<String, Object> map1 = new HashMap<>(); |
| | | map1.put("start", t.getStartAddress()); |
| | |
| | | map1.put("travelTime", t.getTravelTime()); |
| | | map1.put("carModel", ""); |
| | | map1.put("num", 1); |
| | | list.add(map1); |
| | | privateCarOrderList.add(map1); |
| | | } |
| | | map2.put("privateCar", list); |
| | | map.put("order", map2); |
| | | for(TOrderLogistics t : orderLogistics){ |
| | | Map<String, Object> map1 = new HashMap<>(); |
| | | map1.put("start", t.getStartAddress()); |
| | | map1.put("end", t.getEndAddress()); |
| | | map1.put("travelTime", t.getTravelTime()); |
| | | map1.put("carModel", ""); |
| | | map1.put("num", 1); |
| | | logisticsOrderList.add(map1); |
| | | } |
| | | Map<String, Object> map1 = new HashMap<>(); |
| | | map1.put("zhuanche", privateCarOrderList); |
| | | map1.put("kuacheng", logisticsOrderList); |
| | | map.put("order", map1); |
| | | |
| | | return map; |
| | | } |
| | |
| | | @ResponseBody |
| | | @PostMapping("/getAllOrder") |
| | | public Object getAllOrder(){ |
| | | List<TOrderTaxi> tOrderTaxis = tOrderTaxiService.selectList(new EntityWrapper<TOrderTaxi>().eq("isDelete", 1)); |
| | | List<TOrderPrivateCar> orderPrivateCars = tOrderPrivateCarService.selectList(new EntityWrapper<TOrderPrivateCar>().eq("isDelete", 1)); |
| | | List<TOrderLogistics> orderLogistics = itOrderLogisticsService.selectList(new EntityWrapper<TOrderLogistics>().eq("isDelete", 1)); |
| | | List list = new ArrayList<>(); |
| | | for(TOrderTaxi t : tOrderTaxis){ |
| | | for(TOrderPrivateCar t : orderPrivateCars){ |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("lon", t.getStartLon()); |
| | | map.put("lat", t.getStartLat()); |
| | | list.add(map); |
| | | } |
| | | for(TOrderLogistics t : orderLogistics){ |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("lon", t.getStartLon()); |
| | | map.put("lat", t.getStartLat()); |
| | |
| | | import com.stylefeng.guns.core.shiro.ShiroUser; |
| | | import com.stylefeng.guns.core.util.DateUtil; |
| | | import com.stylefeng.guns.core.util.SinataUtil; |
| | | import com.stylefeng.guns.core.util.ToolUtil; |
| | | import com.stylefeng.guns.modular.system.model.SysCouponRecord; |
| | | import com.stylefeng.guns.modular.system.model.TUser; |
| | | import com.stylefeng.guns.modular.system.model.UserCouponRecord; |
| | |
| | | }else{ |
| | | JSONArray userId = JSON.parseArray(sysCouponActivity.getSendUserId()); |
| | | for(int j=0;j<userId.size();j++){ |
| | | // 获取邮箱 |
| | | TUser tUser = userService.selectById(userId.getJSONObject(j).getInteger("userId")); |
| | | String email = tUser.getEmail(); |
| | | if(ToolUtil.isNotEmpty(email)){ |
| | | // TODO 发送邮件 |
| | | } |
| | | userCouponRecord.setUserId(userId.getJSONObject(j).getInteger("userId")); |
| | | for (int i=0;i<sysCouponActivity.getNumber();i++){ |
| | | userCouponRecord.insert(); |
| | |
| | | package com.stylefeng.guns.modular.system.controller.general; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.mapper.Wrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | |
| | | import com.stylefeng.guns.core.shiro.ShiroKit; |
| | | import com.stylefeng.guns.core.util.DateUtil; |
| | | import com.stylefeng.guns.core.util.SinataUtil; |
| | | import com.stylefeng.guns.modular.system.model.TRegion; |
| | | import com.stylefeng.guns.modular.system.service.ITRegionService; |
| | | import com.stylefeng.guns.core.util.ToolUtil; |
| | | import com.stylefeng.guns.modular.system.model.*; |
| | | import com.stylefeng.guns.modular.system.service.*; |
| | | import com.stylefeng.guns.modular.system.util.EmailUtil; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | |
| | | 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.TAdvertisement; |
| | | import com.stylefeng.guns.modular.system.service.ITAdvertisementService; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 广告设置控制器 |
| | |
| | | private ITAdvertisementService tAdvertisementService; |
| | | |
| | | @Autowired |
| | | private ITRegionService tRegionService; |
| | | private ICityService cityService; |
| | | |
| | | @Autowired |
| | | private ITDriverTeamService itDriverTeamService; |
| | | |
| | | @Autowired |
| | | private ITAdvertisementUserService itAdvertisementUserService; |
| | | @Autowired |
| | | private ITUserService userService; |
| | | @Autowired |
| | | private ITDriverService driverService; |
| | | /** |
| | | * 跳转到广告设置首页 |
| | | */ |
| | |
| | | public String index() { |
| | | return PREFIX + "tAdvertisement.html"; |
| | | } |
| | | |
| | | @RequestMapping("user") |
| | | public String user() { |
| | | return PREFIX + "tUser.html"; |
| | | } |
| | | @RequestMapping("driver") |
| | | public String driver(Model model) { |
| | | List<TDriverTeam> TDriverTeams=itDriverTeamService.findAllList(); |
| | | model.addAttribute("TDriverTeams",TDriverTeams); |
| | | return PREFIX + "driver.html"; |
| | | } |
| | | /** |
| | | * 跳转到添加广告设置 |
| | | */ |
| | | @RequestMapping("/tAdvertisement_add") |
| | | public String tAdvertisementAdd(Model model) { |
| | | List<TRegion> list = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); |
| | | List<City> list = cityService.selectList( |
| | | null); |
| | | model.addAttribute("list",list); |
| | | return PREFIX + "tAdvertisement_add.html"; |
| | | } |
| | |
| | | TAdvertisement tAdvertisement = tAdvertisementService.selectById(tAdvertisementId); |
| | | model.addAttribute("item",tAdvertisement); |
| | | LogObjectHolder.me().set(tAdvertisement); |
| | | |
| | | List<TRegion> list = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); |
| | | List<City> list = cityService.selectList(null); |
| | | model.addAttribute("list",list); |
| | | return PREFIX + "tAdvertisement_edit.html"; |
| | | } |
| | |
| | | tAdvertisementService.insert(tAdvertisement); |
| | | return SUCCESS_TIP; |
| | | } |
| | | @RequestMapping(value = "/addInfo1") |
| | | @ResponseBody |
| | | public Object add1(String userId,String driverId,String name,String content) { |
| | | TAdvertisement tAdvertisement = new TAdvertisement(); |
| | | tAdvertisement.setType(4); |
| | | tAdvertisement.setName(name); |
| | | tAdvertisement.setInsertTime(new Date()); |
| | | tAdvertisement.setInsertUser(ShiroKit.getUser().getId()); |
| | | |
| | | content = content.replaceAll("& lt;", "<"); |
| | | content = content.replaceAll("& gt;", ">"); |
| | | content = content.replaceAll("& #40;", "("); |
| | | content = content.replaceAll("& #41;", ")"); |
| | | |
| | | tAdvertisement.setContent(content); |
| | | boolean insert = tAdvertisementService.insert(tAdvertisement); |
| | | if(insert){ |
| | | TAdvertisementUser tAdvertisementUser = new TAdvertisementUser(); |
| | | tAdvertisementUser.setAdvertisementId(tAdvertisement.getId()); |
| | | tAdvertisementUser.setDriverId(driverId); |
| | | tAdvertisementUser.setUserId(userId); |
| | | boolean insert1 = itAdvertisementUserService.insert(tAdvertisementUser); |
| | | // TODO 发送邮件 |
| | | if(insert1){ |
| | | Timer timer = new Timer(); |
| | | timer.schedule(new timerTaskTest(tAdvertisementUser.getId()),30*1000); |
| | | } |
| | | } |
| | | return SUCCESS_TIP; |
| | | } |
| | | class timerTaskTest extends TimerTask { |
| | | private Integer id; |
| | | |
| | | public timerTaskTest(Integer id) { |
| | | this.id = id; |
| | | } |
| | | @Override |
| | | public void run() { |
| | | TAdvertisementUser tAdvertisementUser = itAdvertisementUserService.selectById(id); |
| | | TAdvertisement tAdvertisement = tAdvertisementService.selectById(tAdvertisementUser.getAdvertisementId()); |
| | | // 司机所有 TODO |
| | | if("[]".equals(tAdvertisementUser.getDriverId())){ |
| | | System.out.println(1111111111); |
| | | List<TDriver> list = driverService.selectList(null); |
| | | for (TDriver tDriver : list) { |
| | | String email = tDriver.getEmail(); |
| | | if(ToolUtil.isNotEmpty(email)){ |
| | | // TODO 发送邮件 |
| | | try { |
| | | EmailUtil.send(email, tAdvertisement.getName(), tAdvertisement.getContent()); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | }else { |
| | | JSONArray driverId = JSON.parseArray(tAdvertisementUser.getDriverId()); |
| | | for(int j=0;j<driverId.size();j++){ |
| | | TDriver tDriver = driverService.selectById(driverId.getJSONObject(j).getInteger("userId")); |
| | | String email = tDriver.getEmail(); |
| | | if(ToolUtil.isNotEmpty(email)){ |
| | | // TODO 发送邮件 |
| | | try { |
| | | EmailUtil.send(email, tAdvertisement.getName(), tAdvertisement.getContent()); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // 用户所有 |
| | | if("[]".equals(tAdvertisementUser.getUserId())){ |
| | | List<TUser> users = userService.selectList(null); |
| | | for (TUser user : users) { |
| | | String email = user.getEmail(); |
| | | if(ToolUtil.isNotEmpty(email)){ |
| | | // TODO 发送邮件 |
| | | try { |
| | | EmailUtil.send(email, tAdvertisement.getName(), tAdvertisement.getContent()); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | }else { |
| | | JSONArray driverId = JSON.parseArray(tAdvertisementUser.getUserId()); |
| | | for(int j=0;j<driverId.size();j++){ |
| | | TUser tUser = userService.selectById(driverId.getJSONObject(j).getInteger("userId")); |
| | | String email = tUser.getEmail(); |
| | | if(ToolUtil.isNotEmpty(email)){ |
| | | // TODO 发送邮件 |
| | | try { |
| | | EmailUtil.send(email, tAdvertisement.getName(), tAdvertisement.getContent()); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | @RequestMapping(value = "/addInfo") |
| | | @ResponseBody |
| | | public Object add(String userId,String driverId,String name,String content) { |
| | | TAdvertisement tAdvertisement = new TAdvertisement(); |
| | | tAdvertisement.setType(3); |
| | | tAdvertisement.setName(name); |
| | | tAdvertisement.setInsertTime(new Date()); |
| | | tAdvertisement.setInsertUser(ShiroKit.getUser().getId()); |
| | | content = content.replaceAll("& lt;", "<"); |
| | | content = content.replaceAll("& gt;", ">"); |
| | | content = content.replaceAll("& #40;", "("); |
| | | content = content.replaceAll("& #41;", ")"); |
| | | tAdvertisement.setContent(content); |
| | | boolean insert = tAdvertisementService.insert(tAdvertisement); |
| | | if(insert){ |
| | | TAdvertisementUser tAdvertisementUser = new TAdvertisementUser(); |
| | | tAdvertisementUser.setAdvertisementId(tAdvertisement.getId()); |
| | | tAdvertisementUser.setDriverId(driverId); |
| | | tAdvertisementUser.setUserId(userId); |
| | | boolean insert1 = itAdvertisementUserService.insert(tAdvertisementUser); |
| | | |
| | | // TODO 发送邮件 |
| | | if(insert1){ |
| | | Timer timer = new Timer(); |
| | | timer.schedule(new timerTaskTest1(tAdvertisementUser.getId()),30*1000); |
| | | } |
| | | } |
| | | return SUCCESS_TIP; |
| | | } |
| | | class timerTaskTest1 extends TimerTask { |
| | | private Integer id; |
| | | |
| | | public timerTaskTest1(Integer id) { |
| | | this.id = id; |
| | | } |
| | | @Override |
| | | public void run() { |
| | | TAdvertisementUser tAdvertisementUser = itAdvertisementUserService.selectById(id); |
| | | TAdvertisement tAdvertisement = tAdvertisementService.selectById(tAdvertisementUser.getAdvertisementId()); |
| | | // 司机所有 TODO |
| | | if("[]".equals(tAdvertisementUser.getDriverId())){ |
| | | List<TDriver> list = driverService.selectList(null); |
| | | for (TDriver tDriver : list) { |
| | | String email = tDriver.getEmail(); |
| | | if(ToolUtil.isNotEmpty(email)){ |
| | | // TODO 发送邮件 |
| | | try { |
| | | EmailUtil.send(email, tAdvertisement.getName(), tAdvertisement.getContent()); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | }else { |
| | | JSONArray driverId = JSON.parseArray(tAdvertisementUser.getDriverId()); |
| | | for(int j=0;j<driverId.size();j++){ |
| | | TDriver tDriver = driverService.selectById(driverId.getJSONObject(j).getInteger("userId")); |
| | | String email = tDriver.getEmail(); |
| | | if(ToolUtil.isNotEmpty(email)){ |
| | | // TODO 发送邮件 |
| | | try { |
| | | EmailUtil.send(email, tAdvertisement.getName(), tAdvertisement.getContent()); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // 用户所有 |
| | | if("[]".equals(tAdvertisementUser.getUserId())){ |
| | | List<TUser> users = userService.selectList(null); |
| | | for (TUser user : users) { |
| | | String email = user.getEmail(); |
| | | if(ToolUtil.isNotEmpty(email)){ |
| | | // TODO 发送邮件 |
| | | try { |
| | | EmailUtil.send(email, tAdvertisement.getName(), tAdvertisement.getContent()); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | }else { |
| | | JSONArray driverId = JSON.parseArray(tAdvertisementUser.getUserId()); |
| | | for(int j=0;j<driverId.size();j++){ |
| | | TUser tUser = userService.selectById(driverId.getJSONObject(j).getInteger("userId")); |
| | | String email = tUser.getEmail(); |
| | | if(ToolUtil.isNotEmpty(email)){ |
| | | // TODO 发送邮件 |
| | | try { |
| | | EmailUtil.send(email, tAdvertisement.getName(), tAdvertisement.getContent()); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | /** |
| | | * 删除广告设置 |
| | | */ |
| | |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(TAdvertisement tAdvertisement) { |
| | | String content = tAdvertisement.getContent(); |
| | | content = content.replaceAll("& lt;", "<"); |
| | | content = content.replaceAll("& gt;", ">"); |
| | | content = content.replaceAll("& #40;", "("); |
| | | content = content.replaceAll("& #41;", ")"); |
| | | tAdvertisement.setContent(content); |
| | | tAdvertisement.setUpdateTime(new Date()); |
| | | tAdvertisement.setUpdateUser(ShiroKit.getUser().getId()); |
| | | tAdvertisementService.updateById(tAdvertisement); |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.general; |
| | | |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | 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.SinataUtil; |
| | | import com.stylefeng.guns.modular.system.model.City; |
| | | import com.stylefeng.guns.modular.system.model.TAdvertisement; |
| | | import com.stylefeng.guns.modular.system.service.ICityService; |
| | | import com.stylefeng.guns.modular.system.service.ITAdvertisementService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 广告设置控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2020-06-02 09:36:03 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/tAdvertisementDefined") |
| | | public class TAdvertisementDefinedController extends BaseController { |
| | | |
| | | private String PREFIX = "/system/tAdvertisement/"; |
| | | |
| | | @Autowired |
| | | private ITAdvertisementService tAdvertisementService; |
| | | |
| | | @Autowired |
| | | private ICityService cityService; |
| | | |
| | | /** |
| | | * 跳转到广告设置首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index() { |
| | | return PREFIX + "tAdvertisement_defined.html"; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 跳转到添加广告设置 |
| | | */ |
| | | @RequestMapping("/tAdvertisement_add") |
| | | public String tAdvertisementAdd(Model model) { |
| | | List<City> list = cityService.selectList(null); |
| | | model.addAttribute("list",list); |
| | | return PREFIX + "tAdvertisement_defined_add.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到修改广告设置 |
| | | */ |
| | | @RequestMapping("/tAdvertisement_update/{tAdvertisementId}") |
| | | public String tAdvertisementUpdate(@PathVariable Integer tAdvertisementId, Model model) { |
| | | TAdvertisement tAdvertisement = tAdvertisementService.selectById(tAdvertisementId); |
| | | model.addAttribute("item",tAdvertisement); |
| | | LogObjectHolder.me().set(tAdvertisement); |
| | | List<City> list = cityService.selectList(null); |
| | | model.addAttribute("list",list); |
| | | return PREFIX + "tAdvertisement_edit.html"; |
| | | } |
| | | @RequestMapping("user") |
| | | public String user() { |
| | | return PREFIX + "tUser.html"; |
| | | } |
| | | |
| | | @RequestMapping("driver") |
| | | public String driver() { |
| | | return PREFIX + "driver.html"; |
| | | } |
| | | |
| | | /** |
| | | * 获取广告设置列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | | @ResponseBody |
| | | public Object list() { |
| | | Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); |
| | | page.setRecords(tAdvertisementService.getAdvertisementList1(page)); |
| | | return super.packForBT(page); |
| | | } |
| | | |
| | | /** |
| | | * 新增广告设置 |
| | | */ |
| | | @RequestMapping(value = "/add") |
| | | @ResponseBody |
| | | public Object add(TAdvertisement tAdvertisement) { |
| | | tAdvertisement.setInsertTime(new Date()); |
| | | tAdvertisement.setInsertUser(ShiroKit.getUser().getId()); |
| | | tAdvertisementService.insert(tAdvertisement); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 删除广告设置 |
| | | */ |
| | | @RequestMapping(value = "/delete") |
| | | @ResponseBody |
| | | public Object delete(@RequestParam Integer tAdvertisementId) { |
| | | tAdvertisementService.deleteById(tAdvertisementId); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 操作广告设置 |
| | | */ |
| | | @RequestMapping(value = "/opt") |
| | | @ResponseBody |
| | | public Object opt(@RequestParam Integer tAdvertisementId,@RequestParam Integer optType) { |
| | | TAdvertisement tAdvertisement = tAdvertisementService.selectById(tAdvertisementId); |
| | | if (SinataUtil.isNotEmpty(tAdvertisement)){ |
| | | if (1 == optType.intValue()){ //上线 |
| | | tAdvertisement.setState(1); |
| | | }else if (2 == optType.intValue()){ //下线 |
| | | tAdvertisement.setState(2); |
| | | } |
| | | tAdvertisement.setUpdateTime(new Date()); |
| | | tAdvertisement.setUpdateUser(ShiroKit.getUser().getId()); |
| | | tAdvertisementService.updateById(tAdvertisement); |
| | | } |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改广告设置 |
| | | */ |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(TAdvertisement tAdvertisement) { |
| | | tAdvertisement.setUpdateTime(new Date()); |
| | | tAdvertisement.setUpdateUser(ShiroKit.getUser().getId()); |
| | | tAdvertisementService.updateById(tAdvertisement); |
| | | return SUCCESS_TIP; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.general; |
| | | |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | 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.SinataUtil; |
| | | import com.stylefeng.guns.modular.system.model.City; |
| | | import com.stylefeng.guns.modular.system.model.TAdvertisement; |
| | | import com.stylefeng.guns.modular.system.service.ICityService; |
| | | import com.stylefeng.guns.modular.system.service.ITAdvertisementService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 广告设置控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2020-06-02 09:36:03 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/tAdvertisementInform") |
| | | public class TAdvertisementInformController extends BaseController { |
| | | |
| | | private String PREFIX = "/system/tAdvertisement/"; |
| | | |
| | | @Autowired |
| | | private ITAdvertisementService tAdvertisementService; |
| | | |
| | | @Autowired |
| | | private ICityService cityService; |
| | | |
| | | /** |
| | | * 跳转到广告设置首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index() { |
| | | return PREFIX + "tAdvertisement_inform.html"; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 跳转到添加广告设置 |
| | | */ |
| | | @RequestMapping("/tAdvertisement_add") |
| | | public String tAdvertisementAdd(Model model) { |
| | | List<City> list = cityService.selectList(null); |
| | | model.addAttribute("list",list); |
| | | return PREFIX + "tAdvertisement_inform_add.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到修改广告设置 |
| | | */ |
| | | @RequestMapping("/tAdvertisement_update/{tAdvertisementId}") |
| | | public String tAdvertisementUpdate(@PathVariable Integer tAdvertisementId, Model model) { |
| | | TAdvertisement tAdvertisement = tAdvertisementService.selectById(tAdvertisementId); |
| | | model.addAttribute("item",tAdvertisement); |
| | | LogObjectHolder.me().set(tAdvertisement); |
| | | List<City> list = cityService.selectList(null); |
| | | model.addAttribute("list",list); |
| | | return PREFIX + "tAdvertisement_edit.html"; |
| | | } |
| | | @RequestMapping("user") |
| | | public String user() { |
| | | return PREFIX + "tUser.html"; |
| | | } |
| | | |
| | | @RequestMapping("driver") |
| | | public String driver() { |
| | | return PREFIX + "driver.html"; |
| | | } |
| | | |
| | | /** |
| | | * 获取广告设置列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | | @ResponseBody |
| | | public Object list() { |
| | | Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); |
| | | page.setRecords(tAdvertisementService.getAdvertisementList2(page)); |
| | | return super.packForBT(page); |
| | | } |
| | | |
| | | /** |
| | | * 新增广告设置 |
| | | */ |
| | | @RequestMapping(value = "/add") |
| | | @ResponseBody |
| | | public Object add(TAdvertisement tAdvertisement) { |
| | | tAdvertisement.setInsertTime(new Date()); |
| | | tAdvertisement.setInsertUser(ShiroKit.getUser().getId()); |
| | | tAdvertisementService.insert(tAdvertisement); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 删除广告设置 |
| | | */ |
| | | @RequestMapping(value = "/delete") |
| | | @ResponseBody |
| | | public Object delete(@RequestParam Integer tAdvertisementId) { |
| | | tAdvertisementService.deleteById(tAdvertisementId); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 操作广告设置 |
| | | */ |
| | | @RequestMapping(value = "/opt") |
| | | @ResponseBody |
| | | public Object opt(@RequestParam Integer tAdvertisementId,@RequestParam Integer optType) { |
| | | TAdvertisement tAdvertisement = tAdvertisementService.selectById(tAdvertisementId); |
| | | if (SinataUtil.isNotEmpty(tAdvertisement)){ |
| | | if (1 == optType.intValue()){ //上线 |
| | | tAdvertisement.setState(1); |
| | | }else if (2 == optType.intValue()){ //下线 |
| | | tAdvertisement.setState(2); |
| | | } |
| | | tAdvertisement.setUpdateTime(new Date()); |
| | | tAdvertisement.setUpdateUser(ShiroKit.getUser().getId()); |
| | | tAdvertisementService.updateById(tAdvertisement); |
| | | } |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改广告设置 |
| | | */ |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(TAdvertisement tAdvertisement) { |
| | | tAdvertisement.setUpdateTime(new Date()); |
| | | tAdvertisement.setUpdateUser(ShiroKit.getUser().getId()); |
| | | tAdvertisementService.updateById(tAdvertisement); |
| | | return SUCCESS_TIP; |
| | | } |
| | | } |
| | |
| | | return PREFIX + "tAgreementSmallPieceLogistics.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到新司机培训设置 |
| | | * @param model |
| | | * @return |
| | | */ |
| | | @RequestMapping("/showNewDriverTraining") |
| | | public String showNewDriverTraining(Model model){ |
| | | TAgreement one = tAgreementService.selectOne(new EntityWrapper<TAgreement>().eq("type", 16)); |
| | | model.addAttribute("one",one); |
| | | return PREFIX + "newDriverTraining.html"; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 修改协议 |
| | |
| | | public Object detail(@PathVariable("tAgreementId") Integer tAgreementId) { |
| | | return tAgreementService.selectById(tAgreementId); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取协议 |
| | | * @param language |
| | | * @param type |
| | | * @param useType |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/getAgreement") |
| | | @ResponseBody |
| | | public TAgreement getAgreement(Integer language, Integer type, Integer useType){ |
| | | TAgreement tAgreement = tAgreementService.selectOne(new EntityWrapper<TAgreement>().eq("type", type) |
| | | .eq("useType", useType).eq("language", language)); |
| | | return tAgreement; |
| | | } |
| | | } |
| | |
| | | import com.stylefeng.guns.modular.system.dao.CarInsuranceMapper; |
| | | import com.stylefeng.guns.modular.system.model.*; |
| | | import com.stylefeng.guns.modular.system.service.*; |
| | | import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil; |
| | | import com.stylefeng.guns.modular.system.util.EmailUtil; |
| | | 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.jsoup.Jsoup; |
| | | import org.jsoup.nodes.Document; |
| | | import org.jsoup.nodes.Element; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.File; |
| | | import java.text.DateFormat; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | |
| | | @Autowired |
| | | private ITServerCarmodelService itServerCarmodelService; |
| | | |
| | | @Autowired |
| | | private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; |
| | | |
| | | @Resource |
| | | private CarInsuranceMapper carInsuranceMapper; |
| | | |
| | | @Autowired |
| | | private ITCarColorService carColorService; |
| | | |
| | | @Value("${pushMinistryOfTransport}") |
| | | private boolean pushMinistryOfTransport; |
| | | @Value("${spring.mail.template-path}") |
| | | private String templatePath; |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 跳转到车辆管理首页 |
| | |
| | | one = 2; |
| | | zcModel = obj.getServerCarModelId(); |
| | | } |
| | | if (obj.getType() == 1){ |
| | | four = 2; |
| | | zcModel = obj.getServerCarModelId(); |
| | | } |
| | | } |
| | | model.addAttribute("one",one); |
| | | model.addAttribute("four",four); |
| | | model.addAttribute("zcModel",zcModel); |
| | | List<TServerCarmodel> zcModelList = itServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 1).eq("state", 1)); |
| | | model.addAttribute("zcModelList",zcModelList); |
| | |
| | | public ResultUtil saveCarInsurance(CarInsurance carInsurance){ |
| | | if(carInsurance.getId() == null){ |
| | | carInsuranceMapper.insert(carInsurance); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){//上传数据 |
| | | pushMinistryOfTransportUtil.baseInfoVehicleInsurance(carInsurance.getId(), 1); |
| | | } |
| | | } |
| | | }).start(); |
| | | }else{ |
| | | carInsuranceMapper.updateById(carInsurance); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){//上传数据 |
| | | pushMinistryOfTransportUtil.baseInfoVehicleInsurance(carInsurance.getId(), 2); |
| | | } |
| | | } |
| | | }).start(); |
| | | } |
| | | |
| | | return ResultUtil.success(); |
| | |
| | | @RequestMapping(value = "/delCarInsurance", method = RequestMethod.POST) |
| | | public ResultUtil delCarInsurance(Integer id){ |
| | | carInsuranceMapper.deleteById(id); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){//上传数据 |
| | | pushMinistryOfTransportUtil.baseInfoVehicleInsurance(id, 3); |
| | | } |
| | | } |
| | | }).start(); |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | |
| | | } |
| | | tCar.setInsertTime(new Date()); |
| | | tCar.setState(1); |
| | | tCar.setAuthState(1); |
| | | tCarService.insert(tCar); |
| | | |
| | | //添加经营业务 |
| | |
| | | } |
| | | tCarServiceService.insert(service); |
| | | } |
| | | |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){//上传数据 |
| | | pushMinistryOfTransportUtil.baseInfoCompanyStat(); |
| | | pushMinistryOfTransportUtil.baseInfoVehicle(tCar.getId()); |
| | | } |
| | | } |
| | | }).start(); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | |
| | | obj.setCarId(null); |
| | | tDriverService.updateById(obj); |
| | | } |
| | | |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){//上传数据 |
| | | pushMinistryOfTransportUtil.baseInfoCompanyStat(); |
| | | pushMinistryOfTransportUtil.baseInfoVehicle(tCar.getId()); |
| | | } |
| | | } |
| | | }).start(); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | tCarService.updateById(tCar); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){ |
| | | pushMinistryOfTransportUtil.baseInfoVehicle(tCar.getId()); |
| | | } |
| | | } |
| | | }).start(); |
| | | return SUCCESS_TIP; |
| | | } |
| | | @RequestMapping(value = "/updateAuth") |
| | |
| | | if(tCar.getAuthState()==2){ |
| | | String[] serverArray = serverBox.split(","); |
| | | for (int i=0;i<serverArray.length;i++){ |
| | | TCarService service = new TCarService(); |
| | | service.setCarId(tCar.getId()); |
| | | service.setType(Integer.valueOf(serverArray[i])); |
| | | if (1 == service.getType()){ |
| | | service.setServerCarModelId(Integer.valueOf(zcModel)); |
| | | TCarService tCarService = tCarServiceService.selectOne(new EntityWrapper<TCarService>().eq("carId", tCar.getId()).eq("type", Integer.valueOf(serverArray[i]))); |
| | | if(null == tCarService){ |
| | | tCarService = new TCarService(); |
| | | tCarService.setCarId(tCar.getId()); |
| | | tCarService.setType(Integer.valueOf(serverArray[i])); |
| | | if (1 == tCarService.getType()){ |
| | | tCarService.setServerCarModelId(Integer.valueOf(zcModel)); |
| | | } |
| | | tCarServiceService.insert(tCarService); |
| | | }else{ |
| | | if (1 == tCarService.getType()){ |
| | | tCarService.setServerCarModelId(Integer.valueOf(zcModel)); |
| | | } |
| | | tCarServiceService.updateById(tCarService); |
| | | } |
| | | tCarServiceService.insert(service); |
| | | |
| | | |
| | | } |
| | | } |
| | | tCarService.updateById(tCar); |
| | | tCar = tCarService.selectById(tCar.getId()); |
| | | TDriver tDriver = tDriverService.selectById(tCar.getDriverId()); |
| | | |
| | | TCar finalTCar = tCar; |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | try { |
| | | String path = templatePath + "driver/index.html"; |
| | | Document document = Jsoup.parse(new File(path), "UTF-8"); |
| | | document.getElementById("chinese").attr("style", "display: none;"); |
| | | document.getElementById("french").attr("style", "display: none;"); |
| | | document.getElementById("invite1").attr("style", "display: none;"); |
| | | document.getElementById("user1").attr("style", "display: none;"); |
| | | document.getElementById("settle1").attr("style", "display: none;"); |
| | | document.getElementById("pass1").attr("style", "display: none;"); |
| | | document.getElementById("email1").attr("style", "display: none;"); |
| | | document.getElementById("bill1").attr("style", "display: none;"); |
| | | document.getElementById("reward1").attr("style", "display: none;"); |
| | | document.getElementById("rewardToday1").attr("style", "display: none;"); |
| | | document.getElementById("driverAudit1").attr("style", "display: none;"); |
| | | Element car_audit1_user = document.getElementById("car_audit1_user"); |
| | | car_audit1_user.text("Hello " + tDriver.getName() + ","); |
| | | Element car_audit1_content = document.getElementById("car_audit1_content"); |
| | | if(2 == finalTCar.getAuthState()){ |
| | | car_audit1_content.text("You vehicle application has been approved. See the I-GO platform for details."); |
| | | }else{ |
| | | car_audit1_content.text("Sorry, your vehicle application was not approved. The reason for the failure is: incomplete filling of vehicle information."); |
| | | } |
| | | EmailUtil.send(tDriver.getEmail(), "Vehicle audit notice", document.html()); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | }).start(); |
| | | |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | |
| | | 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("roadworthiness sticker"); |
| | | shellList.add("年检到期时间[例如 2020-02-02]"); |
| | | shellList.add("商业保险到期时间[例如 2020-02-02]"); |
| | | dataList.add(shellList); |
| | |
| | | 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 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 cell5 = row.getCell(5); //服务模式:跨城出行[是/否] |
| | | String five = null; |
| | | if (SinataUtil.isNotEmpty(cell5)){ |
| | | five = String.valueOf(cell5.getStringCellValue()).trim(); |
| | | } |
| | | |
| | | Cell cell6 = row.getCell(6); //服务模式:小件跨城物流[是/否] |
| | | Cell cell6 = row.getCell(4); //服务模式:小件跨城物流[是/否] |
| | | 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 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 cell8 = row.getCell(8); //服务模式:包车[是/否] |
| | | String eight = null; |
| | | if (SinataUtil.isNotEmpty(cell8)){ |
| | | eight = String.valueOf(cell8.getStringCellValue()).trim(); |
| | | } |
| | | |
| | | Cell cell9 = row.getCell(9); //车辆品牌 |
| | | Cell cell9 = row.getCell(5); //车辆品牌 |
| | | String nine = null; |
| | | if (SinataUtil.isNotEmpty(cell9)){ |
| | | nine = String.valueOf(cell9.getStringCellValue()).trim(); |
| | | } |
| | | |
| | | Cell cell10 = row.getCell(10); //车辆类型 |
| | | Cell cell10 = row.getCell(6); //车辆类型 |
| | | String ten = null; |
| | | if (SinataUtil.isNotEmpty(cell10)){ |
| | | ten = String.valueOf(cell10.getStringCellValue()).trim(); |
| | | } |
| | | |
| | | Cell cell11 = row.getCell(11); //车辆颜色[黑色/银色/白色/红色/黄色/橙色/蓝色] |
| | | Cell cell11 = row.getCell(7); //车辆颜色[黑色/银色/白色/红色/黄色/橙色/蓝色] |
| | | String eleven = null; |
| | | if (SinataUtil.isNotEmpty(cell11)){ |
| | | eleven = String.valueOf(cell11.getStringCellValue()).trim(); |
| | | } |
| | | |
| | | Cell cell12 = row.getCell(12); //车牌号 |
| | | Cell cell12 = row.getCell(8); //车牌号 |
| | | String twelve = null; |
| | | if (SinataUtil.isNotEmpty(cell12)){ |
| | | twelve = String.valueOf(cell12.getStringCellValue()).trim(); |
| | | } |
| | | |
| | | Cell cell13 = row.getCell(13); //行驶证编号 |
| | | Cell cell13 = row.getCell(9); //行驶证编号 |
| | | String thirteen = null; |
| | | if (SinataUtil.isNotEmpty(cell13)){ |
| | | thirteen = String.valueOf(cell13.getStringCellValue()).trim(); |
| | | } |
| | | |
| | | Cell cell14 = row.getCell(14); //年检到期时间 |
| | | Cell cell14 = row.getCell(10); //年检到期时间 |
| | | String fourteen = null; |
| | | if (SinataUtil.isNotEmpty(cell14)){ |
| | | fourteen = String.valueOf(cell14.getStringCellValue()).trim(); |
| | | } |
| | | |
| | | Cell cell15 = row.getCell(15); //商业保险到期时间 |
| | | Cell cell15 = row.getCell(11); //商业保险到期时间 |
| | | String fifteen = null; |
| | | if (SinataUtil.isNotEmpty(cell15)){ |
| | | fifteen = String.valueOf(cell15.getStringCellValue()).trim(); |
| | | } |
| | | |
| | | if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(three) || SinataUtil.isEmpty(four) |
| | | || SinataUtil.isEmpty(five) || SinataUtil.isEmpty(six) || SinataUtil.isEmpty(seven) |
| | | || SinataUtil.isEmpty(eight) || SinataUtil.isEmpty(nine) || SinataUtil.isEmpty(ten) |
| | | if (SinataUtil.isEmpty(zero) || SinataUtil.isEmpty(three) /*|| SinataUtil.isEmpty(four) |
| | | || SinataUtil.isEmpty(five) */|| SinataUtil.isEmpty(six) || /*SinataUtil.isEmpty(seven) |
| | | || 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, "单元格不能为空"); |
| | |
| | | if (!three.equals("是") && !three.equals("否")){ |
| | | return new ErrorTip(500, "服务模式【专车】内容不正确"); |
| | | } |
| | | //判断服务模式【出租车】 |
| | | if (!four.equals("是") && !four.equals("否")){ |
| | | return new ErrorTip(500, "服务模式【出租车】内容不正确"); |
| | | } |
| | | //判断服务模式【跨城出行】 |
| | | if (!five.equals("是") && !five.equals("否")){ |
| | | return new ErrorTip(500, "服务模式【跨城出行】内容不正确"); |
| | | } |
| | | // //判断服务模式【出租车】 |
| | | // if (!four.equals("是") && !four.equals("否")){ |
| | | // return new ErrorTip(500, "服务模式【出租车】内容不正确"); |
| | | // } |
| | | // //判断服务模式【跨城出行】 |
| | | // if (!five.equals("是") && !five.equals("否")){ |
| | | // return new ErrorTip(500, "服务模式【跨城出行】内容不正确"); |
| | | // } |
| | | //判断服务模式【小件同城物流】 |
| | | if (!six.equals("是") && !six.equals("否")){ |
| | | return new ErrorTip(500, "服务模式【小件同城物流】内容不正确"); |
| | | return new ErrorTip(500, "服务模式【小件市内物流】内容不正确"); |
| | | } |
| | | //判断服务模式【小件跨城物流】 |
| | | if (!seven.equals("是") && !seven.equals("否")){ |
| | | return new ErrorTip(500, "服务模式【小件跨城物流】内容不正确"); |
| | | } |
| | | //判断服务模式【包车】 |
| | | if (!eight.equals("是") && !eight.equals("否")){ |
| | | return new ErrorTip(500, "服务模式【包车】内容不正确"); |
| | | } |
| | | // //判断服务模式【小件跨城物流】 |
| | | // if (!seven.equals("是") && !seven.equals("否")){ |
| | | // return new ErrorTip(500, "服务模式【小件跨城物流】内容不正确"); |
| | | // } |
| | | // //判断服务模式【包车】 |
| | | // if (!eight.equals("是") && !eight.equals("否")){ |
| | | // return new ErrorTip(500, "服务模式【包车】内容不正确"); |
| | | // } |
| | | //判断车辆颜色 |
| | | if (!eleven.equals("黑色") && !eleven.equals("银色") && !eleven.equals("白色") && !eleven.equals("红色") && !eleven.equals("黄色") && !eleven.equals("橙色") && !eleven.equals("蓝色")){ |
| | | return new ErrorTip(500, "车辆颜色内容不正确"); |
| | |
| | | service.setType(1); |
| | | tCarServiceService.insert(service); |
| | | } |
| | | //添加出租车服务模式 |
| | | if ("是".equals(four)){ |
| | | TCarService service = new TCarService(); |
| | | service.setCarId(car.getId()); |
| | | service.setType(2); |
| | | tCarServiceService.insert(service); |
| | | } |
| | | //添加跨城出行服务模式 |
| | | if ("是".equals(five)){ |
| | | TCarService service = new TCarService(); |
| | | service.setCarId(car.getId()); |
| | | service.setType(3); |
| | | tCarServiceService.insert(service); |
| | | } |
| | | // //添加出租车服务模式 |
| | | // if ("是".equals(four)){ |
| | | // TCarService service = new TCarService(); |
| | | // service.setCarId(car.getId()); |
| | | // service.setType(2); |
| | | // tCarServiceService.insert(service); |
| | | // } |
| | | // //添加跨城出行服务模式 |
| | | // if ("是".equals(five)){ |
| | | // TCarService service = new TCarService(); |
| | | // service.setCarId(car.getId()); |
| | | // service.setType(3); |
| | | // tCarServiceService.insert(service); |
| | | // } |
| | | //添加小件同城物流服务模式 |
| | | if ("是".equals(six)){ |
| | | TCarService service = new TCarService(); |
| | |
| | | service.setType(4); |
| | | tCarServiceService.insert(service); |
| | | } |
| | | //添加小件跨城物流服务模式 |
| | | if ("是".equals(seven)){ |
| | | TCarService service = new TCarService(); |
| | | service.setCarId(car.getId()); |
| | | service.setType(5); |
| | | tCarServiceService.insert(service); |
| | | } |
| | | //添加包车服务模式 |
| | | if ("是".equals(eight)){ |
| | | TCarService service = new TCarService(); |
| | | service.setCarId(car.getId()); |
| | | service.setType(6); |
| | | tCarServiceService.insert(service); |
| | | } |
| | | // //添加小件跨城物流服务模式 |
| | | // if ("是".equals(seven)){ |
| | | // TCarService service = new TCarService(); |
| | | // service.setCarId(car.getId()); |
| | | // service.setType(5); |
| | | // tCarServiceService.insert(service); |
| | | // } |
| | | // //添加包车服务模式 |
| | | // if ("是".equals(eight)){ |
| | | // TCarService service = new TCarService(); |
| | | // service.setCarId(car.getId()); |
| | | // service.setType(6); |
| | | // tCarServiceService.insert(service); |
| | | // } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | |
| | | shellList.add("颜色"); |
| | | shellList.add("服务模式"); |
| | | shellList.add("车牌号"); |
| | | shellList.add("行驶证号码"); |
| | | shellList.add("roadworthiness sticker"); |
| | | shellList.add("座位数"); |
| | | shellList.add("关联司机"); |
| | | shellList.add("年检到期时间"); |
| | |
| | | import com.stylefeng.guns.core.util.DateUtil; |
| | | import com.stylefeng.guns.core.util.SinataUtil; |
| | | import com.stylefeng.guns.modular.system.model.*; |
| | | import com.stylefeng.guns.modular.system.service.ITCompanyCityService; |
| | | import com.stylefeng.guns.modular.system.service.ITRegionService; |
| | | import com.stylefeng.guns.modular.system.service.IUserService; |
| | | import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil; |
| | | import com.stylefeng.guns.modular.system.service.*; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | |
| | | 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.service.ITCompanyService; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | |
| | | private ITCompanyCityService tCompanyCityService; |
| | | |
| | | @Autowired |
| | | private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; |
| | | |
| | | @Value("${pushMinistryOfTransport}") |
| | | private boolean pushMinistryOfTransport; |
| | | private ICityService cityService; |
| | | |
| | | /** |
| | | * 跳转到修改平台信息 |
| | |
| | | LogObjectHolder.me().set(tCompany); |
| | | |
| | | //省 |
| | | List<TRegion> provinceList = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); |
| | | model.addAttribute("provinceList",provinceList); |
| | | List<City> cities = cityService.selectList(null); |
| | | // List<TRegion> provinceList = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); |
| | | model.addAttribute("city",cities); |
| | | |
| | | //系统用户对象 |
| | | User user = userService.selectOne(new EntityWrapper<User>().eq("roleType", 1).eq("objectId", tCompany.getId())); |
| | |
| | | */ |
| | | @RequestMapping("/tCompany_add") |
| | | public String tCompanyAdd(Model model) { |
| | | List<TRegion> provinceList = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); |
| | | model.addAttribute("provinceList",provinceList); |
| | | List<City> cities = cityService.selectList(null); |
| | | model.addAttribute("city",cities); |
| | | return PREFIX + "tCompany_add.html"; |
| | | } |
| | | |
| | |
| | | LogObjectHolder.me().set(tCompany); |
| | | |
| | | //省 |
| | | List<TRegion> provinceList = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); |
| | | model.addAttribute("provinceList",provinceList); |
| | | List<City> cities = cityService.selectList(null); |
| | | model.addAttribute("city",cities); |
| | | |
| | | //系统用户对象 |
| | | User user = userService.selectOne(new EntityWrapper<User>().eq("roleType", 2).eq("objectId", tCompanyId)); |
| | |
| | | LogObjectHolder.me().set(tCompany); |
| | | |
| | | //省 |
| | | List<TRegion> provinceList = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); |
| | | model.addAttribute("provinceList",provinceList); |
| | | List<City> cities = cityService.selectList(null); |
| | | model.addAttribute("city",cities); |
| | | |
| | | //系统用户对象 |
| | | User user = userService.selectOne(new EntityWrapper<User>().eq("roleType", 2).eq("objectId", tCompanyId)); |
| | |
| | | TCompanyCity tCompanyCity = tCompanyCityService.selectOne(new EntityWrapper<TCompanyCity>().eq("id", jsonObject.getInteger("recordId")).eq("companyId", id)); |
| | | if (SinataUtil.isEmpty(tCompanyCity)){ |
| | | tCompanyCity = new TCompanyCity(); |
| | | tCompanyCity.setProvinceCode(jsonObject.getInteger("provinceCode")); |
| | | tCompanyCity.setCityCode(jsonObject.getInteger("cityCode")); |
| | | tCompanyCity.setAreaCode(jsonObject.getInteger("areaCode")); |
| | | tCompanyCity.setCityId(jsonObject.getInteger("cityId")); |
| | | tCompanyCity.setCompanyId(id); |
| | | tCompanyCity.setState(1); |
| | | tCompanyCityService.insert(tCompanyCity); |
| | |
| | | addSocpe(subArr,tCompany.getId()); |
| | | |
| | | TCompany tCompany1 = tCompanyService.selectById(tCompany.getId()); |
| | | if(tCompany1.getType() == 1){ |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){//上传平台数据 |
| | | pushMinistryOfTransportUtil.baseInfoCompanyPay();//上传网约车平台公司支付信息 |
| | | pushMinistryOfTransportUtil.baseInfoCompany(tCompany.getId()); |
| | | pushMinistryOfTransportUtil.baseInfoCompanyService(); |
| | | pushMinistryOfTransportUtil.baseInfoCompanyPermit(tCompany.getId()); |
| | | } |
| | | } |
| | | }).start(); |
| | | } |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | |
| | | import com.stylefeng.guns.core.common.constant.factory.PageFactory; |
| | | import com.stylefeng.guns.core.shiro.ShiroKit; |
| | | import com.stylefeng.guns.core.util.SinataUtil; |
| | | import com.stylefeng.guns.modular.system.model.TProblem; |
| | | import com.stylefeng.guns.modular.system.model.TSystemNotice; |
| | | import com.stylefeng.guns.modular.system.model.TUser; |
| | | import com.stylefeng.guns.modular.system.service.ITSystemNoticeService; |
| | | import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil; |
| | | import com.stylefeng.guns.modular.system.service.ITUserService; |
| | | import com.stylefeng.guns.modular.system.util.EmailUtil; |
| | | import org.jsoup.Jsoup; |
| | | import org.jsoup.nodes.Document; |
| | | import org.jsoup.nodes.Element; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | |
| | | 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.TComplaint; |
| | | import com.stylefeng.guns.modular.system.service.ITComplaintService; |
| | | |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.net.URLDecoder; |
| | | import java.io.File; |
| | | import java.util.Date; |
| | | import java.util.Map; |
| | | |
| | |
| | | private ITSystemNoticeService tSystemNoticeService; |
| | | |
| | | @Autowired |
| | | private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; |
| | | private ITUserService userService; |
| | | |
| | | @Value("${pushMinistryOfTransport}") |
| | | private boolean pushMinistryOfTransport; |
| | | @Value("${spring.mail.template-path}") |
| | | private String templatePath; |
| | | |
| | | |
| | | |
| | |
| | | tComplaint.setHandleTime(new Date()); |
| | | tComplaintService.updateById(tComplaint); |
| | | |
| | | try { |
| | | TUser userInfo = userService.selectById(tComplaint.getUserId()); |
| | | String path = templatePath + "user/complaint.html"; |
| | | Document document = Jsoup.parse(new File(path), "UTF-8"); |
| | | document.getElementById("chinese").attr("style", "display: none;"); |
| | | Element english_user = document.getElementById("english_user"); |
| | | english_user.text("Hello " + userInfo.getNickName() + ","); |
| | | Element english_content = document.getElementById("english_content"); |
| | | english_content.text(handleResult); |
| | | EmailUtil.send(userInfo.getEmail(), "Complaint driver handling result notification", document.html()); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | //增加系统消息 |
| | | TSystemNotice notice = new TSystemNotice(); |
| | | notice.setType(2); |
| | |
| | | notice.setInsertTime(new Date()); |
| | | notice.setRead(1); |
| | | tSystemNoticeService.insert(notice); |
| | | |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){//上传数据 |
| | | pushMinistryOfTransportUtil.ratedPassengerComplaint(tComplaint.getId()); |
| | | } |
| | | } |
| | | }).start(); |
| | | } |
| | | return SUCCESS_TIP; |
| | | } |
| | |
| | | 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.EmailUtil; |
| | | 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.jsoup.Jsoup; |
| | | import org.jsoup.nodes.Document; |
| | | import org.jsoup.nodes.Element; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Controller; |
| | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.File; |
| | | import java.math.BigDecimal; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | |
| | | private ITLineService itLineService; |
| | | |
| | | @Autowired |
| | | private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; |
| | | |
| | | @Autowired |
| | | private ITDriverTeamService itDriverTeamService; |
| | | |
| | | @Resource |
| | |
| | | @Resource |
| | | private DriverPunishMapper driverPunishMapper; |
| | | |
| | | @Value("${pushMinistryOfTransport}") |
| | | private boolean pushMinistryOfTransport; |
| | | @Value("${spring.mail.template-path}") |
| | | private String templatePath; |
| | | |
| | | |
| | | |
| | |
| | | } |
| | | 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(); |
| | |
| | | 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(); |
| | | } |
| | | } |
| | | |
| | |
| | | type = 5; |
| | | tDriver.setAuthState(2); |
| | | |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){//上传数据 |
| | | pushMinistryOfTransportUtil.baseInfoCompanyStat(); |
| | | pushMinistryOfTransportUtil.baseInfoDriver(id); |
| | | pushMinistryOfTransportUtil.baseInfoDriverApp(id); |
| | | } |
| | | } |
| | | }).start(); |
| | | |
| | | |
| | | if(tDriver.getUid()!=null && tDriver.getuType()!=null && tDriver.getuType() == 2){ |
| | | TDriver driver = tDriverService.selectById(tDriver.getUid()); |
| | |
| | | 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); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | try { |
| | | String path = templatePath + "driver/index.html"; |
| | | Document document = Jsoup.parse(new File(path), "UTF-8"); |
| | | document.getElementById("chinese").attr("style", "display: none;"); |
| | | document.getElementById("french").attr("style", "display: none;"); |
| | | document.getElementById("invite1").attr("style", "display: none;"); |
| | | document.getElementById("user1").attr("style", "display: none;"); |
| | | document.getElementById("settle1").attr("style", "display: none;"); |
| | | document.getElementById("pass1").attr("style", "display: none;"); |
| | | document.getElementById("email1").attr("style", "display: none;"); |
| | | document.getElementById("bill1").attr("style", "display: none;"); |
| | | document.getElementById("reward1").attr("style", "display: none;"); |
| | | document.getElementById("rewardToday1").attr("style", "display: none;"); |
| | | document.getElementById("carAudit1").attr("style", "display: none;"); |
| | | |
| | | Element driver_audit1_user = document.getElementById("driver_audit1_user"); |
| | | driver_audit1_user.text("Hello " + tDriver.getName() + ","); |
| | | Element driver_audit1_content = document.getElementById("driver_audit1_content"); |
| | | if(1 == authState){ |
| | | driver_audit1_content.text("You application has been approved."); |
| | | }else{ |
| | | driver_audit1_content.text("I'm sorry, your application was rejected. Reason for rejection: Incomplete filling in personal information."); |
| | | } |
| | | EmailUtil.send(tDriver.getEmail(), "Notice of driver registration application", document.html()); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | }).start(); |
| | | |
| | | tDriverService.updateById(tDriver); |
| | | } |
| | |
| | | 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); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){//上传数据 |
| | | pushMinistryOfTransportUtil.baseInfoDriver(tDriver.getId()); |
| | | } |
| | | } |
| | | }).start(); |
| | | |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | |
| | | import com.stylefeng.guns.core.common.constant.factory.PageFactory; |
| | | import com.stylefeng.guns.core.shiro.ShiroKit; |
| | | import com.stylefeng.guns.core.util.SinataUtil; |
| | | import com.stylefeng.guns.core.util.ToolUtil; |
| | | import com.stylefeng.guns.modular.system.model.TSystemNotice; |
| | | import com.stylefeng.guns.modular.system.model.TUser; |
| | | import com.stylefeng.guns.modular.system.service.ITSystemNoticeService; |
| | | import com.stylefeng.guns.modular.system.service.ITUserService; |
| | | import com.stylefeng.guns.modular.system.util.EmailUtil; |
| | | import org.jsoup.Jsoup; |
| | | import org.jsoup.nodes.Document; |
| | | import org.jsoup.nodes.Element; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | |
| | | import com.stylefeng.guns.modular.system.model.TFeedback; |
| | | import com.stylefeng.guns.modular.system.service.ITFeedbackService; |
| | | |
| | | import java.io.File; |
| | | import java.util.Date; |
| | | import java.util.Map; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private ITSystemNoticeService tSystemNoticeService; |
| | | |
| | | @Autowired |
| | | private ITUserService userService; |
| | | |
| | | @Value("${spring.mail.template-path}") |
| | | private String templatePath; |
| | | |
| | | /** |
| | | * 跳转到司机反馈管理首页 |
| | |
| | | tFeedback.setState(2); |
| | | tFeedbackService.updateById(tFeedback); |
| | | |
| | | try { |
| | | TUser userInfo = userService.selectById(tFeedback.getUserId()); |
| | | if(ToolUtil.isNotEmpty(userInfo.getEmail())){ |
| | | String path = templatePath + "user/feedbackResult.html"; |
| | | Document document = Jsoup.parse(new File(path), "UTF-8"); |
| | | document.getElementById("chinese").attr("style", "display: none;"); |
| | | document.getElementById("french").attr("style", "display: none;"); |
| | | Element english_user = document.getElementById("english_user"); |
| | | english_user.text("Hello " + userInfo.getNickName() + ","); |
| | | Element english_content = document.getElementById("english_content"); |
| | | english_content.text(remark); |
| | | EmailUtil.send(userInfo.getEmail(), "Feedback Processing Results", document.html()); |
| | | } |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | //增加系统消息 |
| | | TSystemNotice notice = new TSystemNotice(); |
| | | notice.setType(2); |
| | |
| | | import com.stylefeng.guns.core.shiro.ShiroKit; |
| | | import com.stylefeng.guns.core.util.DateUtil; |
| | | import com.stylefeng.guns.core.util.SinataUtil; |
| | | import com.stylefeng.guns.modular.system.model.City; |
| | | import com.stylefeng.guns.modular.system.model.TOpenCityBusiness; |
| | | import com.stylefeng.guns.modular.system.model.TRegion; |
| | | import com.stylefeng.guns.modular.system.service.ICityService; |
| | | import com.stylefeng.guns.modular.system.service.ITOpenCityBusinessService; |
| | | import com.stylefeng.guns.modular.system.service.ITRegionService; |
| | | import com.stylefeng.guns.modular.system.util.GaoDeMapUtil; |
| | | import com.stylefeng.guns.modular.system.util.GoogleMap.FindPlaceFromTextVo; |
| | | import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | |
| | | @Autowired |
| | | private ITOpenCityBusinessService tOpenCityBusinessService; |
| | | |
| | | @Autowired |
| | | private ICityService cityService; |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 跳转到城市管理首页 |
| | | */ |
| | |
| | | */ |
| | | @RequestMapping("/tOpenCity_add") |
| | | public String tOpenCityAdd(Model model) { |
| | | List<TRegion> provinceList = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); |
| | | model.addAttribute("provinceList",provinceList); |
| | | List<City> city = cityService.selectList(new EntityWrapper<City>().orderBy("id")); |
| | | model.addAttribute("city", city); |
| | | return PREFIX + "tOpenCity_add.html"; |
| | | } |
| | | |
| | |
| | | model.addAttribute("item",tOpenCity); |
| | | LogObjectHolder.me().set(tOpenCity); |
| | | |
| | | //省 |
| | | List<TRegion> provinceList = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0)); |
| | | model.addAttribute("provinceList",provinceList); |
| | | //市 |
| | | List<TRegion> cityList = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", tOpenCity.getAreaId())); |
| | | model.addAttribute("cityList",cityList); |
| | | //区 |
| | | List<TRegion> areaList = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", tOpenCity.getCityId())); |
| | | model.addAttribute("areaList",areaList); |
| | | List<City> city = cityService.selectList(new EntityWrapper<City>().orderBy("id")); |
| | | model.addAttribute("city", city); |
| | | //经营业务 |
| | | List<Map<String,Object>> businessList = tOpenCityService.getBusinessByCityId(tOpenCityId); |
| | | model.addAttribute("businessList",businessList); |
| | |
| | | @ResponseBody |
| | | public Object add(TOpenCity tOpenCity,@RequestParam String businessTypeStr,Integer areaId,Integer cityId,Integer provinceId) { |
| | | //获取code |
| | | if (SinataUtil.isNotEmpty(areaId)){ |
| | | TRegion area = tRegionService.selectById(areaId); |
| | | tOpenCity.setCode(area.getCode()); |
| | | } |
| | | if (SinataUtil.isNotEmpty(cityId)){ |
| | | TRegion city = tRegionService.selectById(cityId); |
| | | tOpenCity.setCode(city.getCode()); |
| | | } |
| | | if (SinataUtil.isNotEmpty(provinceId)){ |
| | | TRegion province = tRegionService.selectById(provinceId); |
| | | tOpenCity.setCode(province.getCode()); |
| | | } |
| | | tOpenCity.setAreaId(areaId); |
| | | tOpenCity.setCityId(cityId); |
| | | tOpenCity.setProvinceId(provinceId); |
| | | //获取经纬度 |
| | | String address = tOpenCity.getAreaName(); |
| | | if (SinataUtil.isNotEmpty(tOpenCity.getCityName())){ |
| | | address+=tOpenCity.getCityName(); |
| | | City city = cityService.selectById(cityId); |
| | | FindPlaceFromTextVo textsearch = null; |
| | | try { |
| | | textsearch = GoogleMapUtil.textsearch(city.getEnglishName()); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | if (SinataUtil.isNotEmpty(tOpenCity.getProvinceName())){ |
| | | address+=tOpenCity.getProvinceName(); |
| | | if(null == textsearch){ |
| | | return "查询地图异常"; |
| | | } |
| | | JSONObject positionObj = GaoDeMapUtil.getLngAndLat(address); |
| | | String longitude = positionObj.getString("longitude"); |
| | | String latitude = positionObj.getString("latitude"); |
| | | tOpenCity.setLon(Double.valueOf(longitude)); |
| | | tOpenCity.setLat(Double.valueOf(latitude)); |
| | | tOpenCity.setLat(textsearch.getLat()); |
| | | tOpenCity.setLon(textsearch.getLng()); |
| | | tOpenCity.setInsertTime(new Date()); |
| | | tOpenCity.setInsertUser(ShiroKit.getUser().getId()); |
| | | tOpenCityService.insert(tOpenCity); |
| | |
| | | Integer businessType = 0; |
| | | if ("专车".equals(type)){ |
| | | businessType = 1; |
| | | }else if ("出租车".equals(type)){ |
| | | businessType = 2; |
| | | }else if ("跨城出行".equals(type)){ |
| | | businessType = 3; |
| | | }else if ("跨城小件物流".equals(type)){ |
| | | }else if ("市内小件物流".equals(type)){ |
| | | businessType = 4; |
| | | }else if ("同城小件物流".equals(type)){ |
| | | businessType = 5; |
| | | }else if ("包车".equals(type)){ |
| | | businessType = 6; |
| | | } |
| | | business.setBusinessType(businessType); |
| | | business.setSort(jsonObject.getInteger("sort")); |
| | |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(TOpenCity tOpenCity,@RequestParam String businessTypeStr,Integer areaId,Integer cityId,Integer provinceId) { |
| | | if (SinataUtil.isNotEmpty(areaId)){ |
| | | TRegion area = tRegionService.selectById(areaId); |
| | | tOpenCity.setCode(area.getCode()); |
| | | //获取code |
| | | tOpenCity.setCityId(cityId); |
| | | City city = cityService.selectById(cityId); |
| | | FindPlaceFromTextVo textsearch = null; |
| | | try { |
| | | textsearch = GoogleMapUtil.textsearch(city.getEnglishName()); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | if (SinataUtil.isNotEmpty(cityId)){ |
| | | TRegion city = tRegionService.selectById(cityId); |
| | | tOpenCity.setCode(city.getCode()); |
| | | if(null == textsearch){ |
| | | return "查询地图异常"; |
| | | } |
| | | if (SinataUtil.isNotEmpty(provinceId)){ |
| | | TRegion province = tRegionService.selectById(provinceId); |
| | | tOpenCity.setCode(province.getCode()); |
| | | } |
| | | if (SinataUtil.isEmpty(areaId)){ |
| | | tOpenCity.setAreaId(0); |
| | | tOpenCity.setAreaName(""); |
| | | }else{ |
| | | tOpenCity.setAreaId(areaId); |
| | | } |
| | | if (SinataUtil.isEmpty(cityId)){ |
| | | tOpenCity.setCityId(0); |
| | | tOpenCity.setCityName(""); |
| | | }else{ |
| | | tOpenCity.setCityId(cityId); |
| | | } |
| | | if (SinataUtil.isEmpty(provinceId)){ |
| | | tOpenCity.setProvinceId(0); |
| | | tOpenCity.setProvinceName(""); |
| | | }else{ |
| | | tOpenCity.setProvinceId(provinceId); |
| | | } |
| | | |
| | | //获取经纬度 |
| | | String address = tOpenCity.getAreaName(); |
| | | if (SinataUtil.isNotEmpty(tOpenCity.getCityName())){ |
| | | address+=tOpenCity.getCityName(); |
| | | } |
| | | if (SinataUtil.isNotEmpty(tOpenCity.getProvinceName())){ |
| | | address+=tOpenCity.getProvinceName(); |
| | | } |
| | | JSONObject positionObj = GaoDeMapUtil.getLngAndLat(address); |
| | | String longitude = positionObj.getString("longitude"); |
| | | String latitude = positionObj.getString("latitude"); |
| | | tOpenCity.setLon(Double.valueOf(longitude)); |
| | | tOpenCity.setLat(Double.valueOf(latitude)); |
| | | tOpenCity.setLat(textsearch.getLat()); |
| | | tOpenCity.setLon(textsearch.getLng()); |
| | | tOpenCity.setUpdateTime(new Date()); |
| | | tOpenCity.setUpdateUser(ShiroKit.getUser().getId()); |
| | | tOpenCityService.updateById(tOpenCity); |
| | |
| | | |
| | | /** |
| | | * 提现列表控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2020-06-09 09:30:59 |
| | | */ |
| | |
| | | }else if ("否".equals(isAuth)){ |
| | | user.setIsAuth(1); |
| | | } |
| | | user.setName(name); |
| | | user.setFirstName(name); |
| | | user.setIdCard(idCard); |
| | | user.setBalance(new BigDecimal(balance)); |
| | | user.setPassWord(ShiroKit.md5(passWord, "&a.s")); |
| | |
| | | import com.stylefeng.guns.core.util.SinataUtil; |
| | | import com.stylefeng.guns.core.util.ToolUtil; |
| | | import com.stylefeng.guns.modular.system.model.TPubWithdrawal; |
| | | import com.stylefeng.guns.modular.system.util.OBSUploadUtil; |
| | | import com.stylefeng.guns.modular.system.util.OssUploadUtil; |
| | | import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | |
| | | @Autowired |
| | | private ITVersionManagementService tVersionManagementService; |
| | | |
| | | @Autowired |
| | | private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; |
| | | |
| | | @Value("${pushMinistryOfTransport}") |
| | | private boolean pushMinistryOfTransport; |
| | | |
| | | /** |
| | | * 跳转到版本管理首页 |
| | |
| | | MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; |
| | | MultipartFile file = (MultipartFile) myfile; |
| | | |
| | | String pictureName = OssUploadUtil.ossUpload(request, file); |
| | | String pictureName = OBSUploadUtil.inputStreamUpload(file); |
| | | m.put("imgUrl", pictureName); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | |
| | | 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.springframework.beans.factory.annotation.Autowired; |
| | |
| | | @Autowired |
| | | private ITDriverService tDriverService; |
| | | |
| | | @Autowired |
| | | private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; |
| | | |
| | | @Resource |
| | | private OrderCancelMapper orderCancelMapper; |
| | | |
| | | @Value("${pushMinistryOfTransport}") |
| | | private boolean pushMinistryOfTransport; |
| | | |
| | | @Value("${filePath}") |
| | | private String filePath; |
| | |
| | | map.put("orderType", "1"); |
| | | String result = HttpRequestUtil.postRequest(PushURL.cancel_order_url, map); |
| | | System.out.println("专车取消:【orderId="+tOrderPrivateCar.getId().toString()+"】,调用接口:"+result); |
| | | |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){//上传数据 |
| | | pushMinistryOfTransportUtil.orderCancel(tOrderPrivateCarId); |
| | | } |
| | | } |
| | | }).start(); |
| | | |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | //返回驾驶员处罚金 |
| | | TDriver originalDriver = itDriverService.selectById(tReassign.getOriginalDriverId()); |
| | | originalDriver.setBalance(originalDriver.getBalance().add(new BigDecimal(tReassign.getMoney()))); |
| | | itDriverService.updateById(originalDriver); |
| | | // TDriver originalDriver = itDriverService.selectById(tReassign.getOriginalDriverId()); |
| | | // originalDriver.setBalance(originalDriver.getBalance().add(new BigDecimal(tReassign.getMoney()))); |
| | | // itDriverService.updateById(originalDriver); |
| | | |
| | | //增加交易明细 |
| | | TPubTransactionDetails details = new TPubTransactionDetails(); |
| | | details.setUserId(originalDriver.getId()); |
| | | details.setInsertTime(new Date()); |
| | | details.setRemark("【专车改派】:改派失败或订单取消"); |
| | | details.setMoney(new BigDecimal(tReassign.getMoney())); |
| | | details.setState(1); |
| | | details.setType(1); |
| | | details.setUserType(2); |
| | | details.setOrderType(3); |
| | | details.setOrderId(tReassign.getOrderId()); |
| | | itPubTransactionDetailsService.insert(details); |
| | | // TPubTransactionDetails details = new TPubTransactionDetails(); |
| | | // details.setUserId(originalDriver.getId()); |
| | | // details.setInsertTime(new Date()); |
| | | // details.setRemark("【专车改派】:改派失败或订单取消"); |
| | | // details.setMoney(new BigDecimal(tReassign.getMoney())); |
| | | // details.setState(1); |
| | | // details.setType(1); |
| | | // details.setUserType(2); |
| | | // details.setOrderType(3); |
| | | // details.setOrderId(tReassign.getOrderId()); |
| | | // itPubTransactionDetailsService.insert(details); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | |
| | | import com.stylefeng.guns.core.util.SinataUtil; |
| | | import com.stylefeng.guns.modular.system.model.TServerCarmodel; |
| | | import com.stylefeng.guns.modular.system.service.ITServerCarmodelService; |
| | | import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil; |
| | | import net.sf.json.JSONObject; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Controller; |
| | |
| | | |
| | | @Autowired |
| | | private ITServerCarmodelService tServerCarmodelService; |
| | | |
| | | @Autowired |
| | | private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; |
| | | |
| | | @Value("${pushMinistryOfTransport}") |
| | | private boolean pushMinistryOfTransport; |
| | | |
| | | |
| | | |
| | |
| | | @RequestMapping("/tSystemPrice_add") |
| | | public String tSystemPriceAdd(Model model) { |
| | | //查询所有专车车型 |
| | | List<TSystemPrice> tSystemPrices = tSystemPriceService.selectList(new EntityWrapper<TSystemPrice>().eq("type", 1).ne("state", 3)); |
| | | Integer objectId = ShiroKit.getUser().getObjectId(); |
| | | List<TSystemPrice> tSystemPrices = tSystemPriceService.selectList(new EntityWrapper<TSystemPrice>().eq("type", 1).eq("companyId", objectId).ne("state", 3)); |
| | | List<TServerCarmodel> modelList = tServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 1).eq("state", 1)); |
| | | List<TServerCarmodel> serverCarmodels = new ArrayList<>(); |
| | | for(TServerCarmodel tsc : modelList){ |
| | |
| | | |
| | | //查询所有专车车型 |
| | | List<TSystemPrice> tSystemPrices = tSystemPriceService.selectList(new EntityWrapper<TSystemPrice>().eq("type", 1).ne("state", 3)); |
| | | List<TServerCarmodel> modelList = tServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 1).eq("state", 1)); |
| | | // List<TServerCarmodel> modelList = tServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 1).eq("state", 1)); |
| | | List<TServerCarmodel> serverCarmodels = new ArrayList<>(); |
| | | for(TServerCarmodel tsc : modelList){ |
| | | boolean b = true; |
| | | for(TSystemPrice tsp : tSystemPrices){ |
| | | if(tsc.getId() == tsp.getServerCarModelId() && tsc.getId() != tSystemPriceId){ |
| | | b = false; |
| | | break; |
| | | } |
| | | } |
| | | if(b){ |
| | | serverCarmodels.add(tsc); |
| | | } |
| | | } |
| | | model.addAttribute("modelList",serverCarmodels); |
| | | // for(TServerCarmodel tsc : modelList){ |
| | | // boolean b = true; |
| | | // for(TSystemPrice tsp : tSystemPrices){ |
| | | // if(tsc.getId() == tsp.getServerCarModelId() && tsc.getId() != tSystemPriceId){ |
| | | // b = false; |
| | | // break; |
| | | // } |
| | | // } |
| | | // if(b){ |
| | | // serverCarmodels.add(tsc); |
| | | // } |
| | | // } |
| | | TServerCarmodel tSystemPrice1 = tServerCarmodelService.selectById(tSystemPrice.getServerCarModelId()); |
| | | serverCarmodels.add(tSystemPrice1); |
| | | model.addAttribute("modelList", serverCarmodels); |
| | | |
| | | return PREFIX + "tSystemPrice_edit.html"; |
| | | } |
| | |
| | | tSystemPrice.setType(1); |
| | | tSystemPrice.setState(1); |
| | | tSystemPriceService.insert(tSystemPrice); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport){//上传数据 |
| | | pushMinistryOfTransportUtil.baseInfoCompanyFare(tSystemPrice.getId()); |
| | | } |
| | | } |
| | | }).start(); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | tSystemPriceService.updateById(tSystemPrice); |
| | | new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | if(pushMinistryOfTransport) {//上传数据 |
| | | pushMinistryOfTransportUtil.baseInfoCompanyFare(tSystemPrice.getId()); |
| | | } |
| | | } |
| | | }).start(); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | |
| | | @ResponseBody |
| | | public Object smallSubmit(String json1,String json2) { |
| | | //跨城小件物流 |
| | | TSystemPrice one = tSystemPriceService.selectOne(new EntityWrapper<TSystemPrice>().eq("type", 5).eq("companyId", ShiroKit.getUser().getObjectId())); |
| | | if (SinataUtil.isNotEmpty(one)){ |
| | | one.setContent(json1); |
| | | tSystemPriceService.updateById(one); |
| | | }else{ |
| | | one = new TSystemPrice(); |
| | | one.setState(1); |
| | | one.setType(5); |
| | | one.setCompanyId(ShiroKit.getUser().getObjectId()); |
| | | one.setContent(json1); |
| | | tSystemPriceService.insert(one); |
| | | } |
| | | // TSystemPrice one = tSystemPriceService.selectOne(new EntityWrapper<TSystemPrice>().eq("type", 5).eq("companyId", ShiroKit.getUser().getObjectId())); |
| | | // if (SinataUtil.isNotEmpty(one)){ |
| | | // one.setContent(json1); |
| | | // tSystemPriceService.updateById(one); |
| | | // }else{ |
| | | // one = new TSystemPrice(); |
| | | // one.setState(1); |
| | | // one.setType(5); |
| | | // one.setCompanyId(ShiroKit.getUser().getObjectId()); |
| | | // one.setContent(json1); |
| | | // tSystemPriceService.insert(one); |
| | | // } |
| | | //同城小件物流 |
| | | TSystemPrice two = tSystemPriceService.selectOne(new EntityWrapper<TSystemPrice>().eq("type", 4).eq("companyId", ShiroKit.getUser().getObjectId())); |
| | | if (SinataUtil.isNotEmpty(two)){ |
| | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import com.stylefeng.guns.modular.system.util.OBSUploadUtil; |
| | | import com.stylefeng.guns.modular.system.util.OssUploadUtil ; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | |
| | | String pictureName = ""; |
| | | try { |
| | | //文件上传,具体根据实际替换 |
| | | pictureName = OssUploadUtil.ossUpload(request, picture); |
| | | pictureName = OBSUploadUtil.inputStreamUpload(picture); |
| | | |
| | | String result = "{'original': '" + picture.getOriginalFilename() + "', 'state': 'SUCCESS', 'url': '" + pictureName + "'}"; |
| | | if (callback == null) { |
| | |
| | | import com.stylefeng.guns.core.common.exception.BizExceptionEnum; |
| | | import com.stylefeng.guns.core.exception.GunsException; |
| | | import com.stylefeng.guns.core.util.ObsUploadUtil; |
| | | import com.stylefeng.guns.modular.system.util.OBSUploadUtil; |
| | | import com.stylefeng.guns.modular.system.util.OssUploadUtil; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | |
| | | MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; |
| | | MultipartFile file = (MultipartFile) multipartRequest.getFile("myfile"); |
| | | if (file.getSize() != 0) { |
| | | ossUpload = OssUploadUtil.ossUpload(request, file); |
| | | ossUpload = OBSUploadUtil.inputStreamUpload(file); |
| | | // ossUpload = ObsUploadUtil.obsUpload(super.getHttpServletRequest(), file); |
| | | m.put("imgUrl", ossUpload); |
| | | } |
| | |
| | | MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; |
| | | MultipartFile file = (MultipartFile) picture; |
| | | |
| | | String pictureName = OssUploadUtil.ossUpload(request, file); |
| | | String pictureName = OBSUploadUtil.inputStreamUpload(file); |
| | | // String pictureName = ObsUploadUtil.obsUpload(super.getHttpServletRequest(), picture); |
| | | return pictureName; |
| | | } catch (IOException e1) { |
| | |
| | | // 文件全路径 |
| | | //pictureName = gunsProperties.getPictureServerAddress() + pictureName; |
| | | // pictureName = ObsUploadUtil.obsUpload(super.getHttpServletRequest(), picture); |
| | | pictureName = OssUploadUtil.ossUpload(super.getHttpServletRequest(), picture); |
| | | pictureName = OBSUploadUtil.inputStreamUpload(picture); |
| | | |
| | | String result = "{'original': '" + picture.getOriginalFilename() + "', 'state': 'SUCCESS', 'url': '" + pictureName + "'}"; |
| | | if (callback == null) { |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | import com.stylefeng.guns.modular.system.model.City; |
| | | |
| | | public interface CityMapper extends BaseMapper<City> { |
| | | } |
| | |
| | | List<Map<String,Object>> getList2(@Param("page") Page<Map<String, Object>> page, |
| | | @Param("times") String times); |
| | | |
| | | List<Map<String,Object>> getTotal( |
| | | @Param("times") String times); |
| | | List<Map<String,Object>> getTotal(@Param("times") String times); |
| | | } |
| | |
| | | @Param("endTime") String endTime, |
| | | @Param("type") Integer type, |
| | | @Param("name") String name); |
| | | |
| | | List<Map<String, Object>> getAdvertisementList1(Page<Map<String, Object>> page); |
| | | |
| | | List<Map<String, Object>> getAdvertisementList2(Page<Map<String, Object>> page); |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TAdvertisementUser; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2022-09-30 |
| | | */ |
| | | public interface TAdvertisementUserMapper extends BaseMapper<TAdvertisementUser> { |
| | | |
| | | TAdvertisementUser selectTAdvertisementUser(Integer id); |
| | | |
| | | TAdvertisementUser selectTAdvertisementInform(Integer id); |
| | | } |
| | |
| | | * @param limit |
| | | * @return |
| | | */ |
| | | List<Map<String, Object>> list(@Param("createTime") String createTime, @Param("name") String name, |
| | | List<Map<String, Object>> list(@Param("start") String start, @Param("end") String end, @Param("name") String name, |
| | | @Param("offset") Integer offset, @Param("limit") Integer limit); |
| | | |
| | | int listCount(@Param("createTime") String createTime, @Param("name") String name); |
| | | int listCount(@Param("start") String start, @Param("end") String end, @Param("name") String name); |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TReportLoss; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * 报失 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2022-09-29 |
| | | */ |
| | | public interface TReportLossMapper extends BaseMapper<TReportLoss> { |
| | | |
| | | List<Map<String, Object>> getReportLossList(@Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("phone") String phone, @Param("status") Integer status); |
| | | |
| | | String getCarNumber1(Integer orderId); |
| | | |
| | | String getCarNumber2(Integer orderId); |
| | | |
| | | String getCarNumber3(Integer orderId); |
| | | String getCarNumber4(Integer orderId); |
| | | String getCarNumber5(Integer orderId); |
| | | String getCarNumber6(Integer orderId); |
| | | } |
New file |
| | |
| | | <?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.CityMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.City"> |
| | | <id column="id" property="id"/> |
| | | <result column="chineseName" property="chineseName"/> |
| | | <result column="englishName" property="englishName"/> |
| | | <result column="frenchName" property="frenchName"/> |
| | | </resultMap> |
| | | </mapper> |
| | |
| | | ORDER BY date_format(insertTime, '%Y-%m-%d') DESC |
| | | </select> |
| | | <select id="getList1" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT |
| | | date_format(startTime, '%Y-%m-%d') times |
| | | FROM |
| | | t_driver_work |
| | | GROUP BY |
| | | date_format(startTime, '%Y-%m-%d') |
| | | ORDER BY |
| | | date_format(startTime, '%Y-%m-%d') DESC |
| | | select |
| | | a.date as times, |
| | | a.driverNum, |
| | | b.duration as timeNumber |
| | | from ( |
| | | select date, count(driverId) as driverNum from t_driver_online where assessment = 0 group by date |
| | | ) as a |
| | | left join ( |
| | | select date, sum(duration) as duration from t_driver_online where assessment = 0 group by date |
| | | ) as b on (a.date = b.date) |
| | | </select> |
| | | <select id="getList2" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT |
| | | w.driverId, |
| | | d. NAME, |
| | | o.timeNumber |
| | | FROM |
| | | t_driver_work w |
| | | LEFT JOIN t_driver d ON d.id = w.driverId |
| | | LEFT JOIN ( |
| | | SELECT |
| | | IFNULL(SUM(o.timeNumber), 0) timeNumber, |
| | | driverId |
| | | FROM |
| | | ( |
| | | SELECT |
| | | TIMESTAMPDIFF( |
| | | MINUTE, |
| | | startTime, |
| | | CASE |
| | | WHEN endTime IS NULL THEN |
| | | NOW() |
| | | ELSE |
| | | endTime |
| | | END |
| | | ) timeNumber, |
| | | driverId |
| | | FROM |
| | | t_driver_work |
| | | WHERE |
| | | date_format(startTime, '%Y-%m-%d') = #{times} |
| | | |
| | | ) o GROUP BY |
| | | driverId |
| | | ) o ON o.driverId = d.id |
| | | WHERE |
| | | date_format(startTime, '%Y-%m-%d') = #{times} |
| | | GROUP BY |
| | | w.driverId |
| | | select |
| | | b.`name`, |
| | | a.duration as timeNumber |
| | | from t_driver_online a |
| | | left join t_driver b on (a.driverId = b.id) |
| | | where assessment = 0 and DATE_FORMAT(date, '%Y-%m-%d') = '2022-12-29' |
| | | </select> |
| | | <select id="getTotal" resultType="map"> |
| | | SELECT COUNT(o.driverId) driverNum,SUM(o.timeNumber) timeNumber from (SELECT |
| | |
| | | |
| | | <!--根据条件查询广告列表--> |
| | | <select id="getAdvertisementList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT rr.`name` as provinceName,aa.* FROM t_advertisement as aa |
| | | LEFT JOIN t_region as rr on rr.id = aa.provinceId) as o |
| | | SELECT * FROM (SELECT rr.chineseName as provinceName,aa.* FROM t_advertisement as aa |
| | | LEFT JOIN t_city as rr on rr.id = aa.cityId) as o |
| | | <where> |
| | | 1=1 |
| | | type in (1, 2) |
| | | <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> |
| | |
| | | order by o.id desc |
| | | </select> |
| | | |
| | | <select id="getAdvertisementList1" resultType="java.util.Map"> |
| | | SELECT * FROM (SELECT rr.chineseName as provinceName,aa.* FROM t_advertisement as aa |
| | | LEFT JOIN t_city as rr on rr.id = aa.cityId) as o where o.type=3 order by o.id desc |
| | | </select> |
| | | |
| | | <select id="getAdvertisementList2" resultType="java.util.Map"> |
| | | SELECT * FROM (SELECT rr.chineseName as provinceName,aa.* FROM t_advertisement as aa |
| | | LEFT JOIN t_city as rr on rr.id = aa.cityId) as o where o.type=4 order by o.id desc |
| | | |
| | | </select> |
| | | </mapper> |
New file |
| | |
| | | <?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.TAdvertisementUserMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TAdvertisementUser"> |
| | | <id column="id" property="id" /> |
| | | <result column="advertisementId" property="advertisementId" /> |
| | | <result column="driverId" property="driverId" /> |
| | | <result column="userId" property="userId" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, advertisementId, driverId, userId |
| | | </sql> |
| | | |
| | | <select id="selectTAdvertisementUser" resultMap="BaseResultMap"> |
| | | select * from t_advertisement_user where advertisementId =#{id} |
| | | </select> |
| | | <select id="selectTAdvertisementInform" resultMap="BaseResultMap"> |
| | | select * from t_advertisement_user where advertisementId =#{id} |
| | | </select> |
| | | </mapper> |
| | |
| | | <result column="useType" property="useType" /> |
| | | <result column="content" property="content" /> |
| | | <result column="type" property="type" /> |
| | | <result column="language" property="language"/> |
| | | <result column="flag" property="flag" /> |
| | | <result column="insertTime" property="insertTime" /> |
| | | <result column="insertUser" property="insertUser" /> |
| | |
| | | name as name, |
| | | DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i:%s') as insertTime |
| | | from t_car_color where state = 1 |
| | | <if test="null != createTime and '' != createTime"> |
| | | and insertTime between CONCAT(#{createTime}, ' 00:00:00') and CONCAT(#{createTime}, ' 23:59:59') |
| | | <if test="null != start and '' != start and null != end and '' != end"> |
| | | and insertTime between CONCAT(#{start}, ' 00:00:00') and CONCAT(#{end}, ' 23:59:59') |
| | | </if> |
| | | <if test="null != name and '' != name"> |
| | | and name like CONCAT('%', #{name}, '%') |
| | |
| | | select |
| | | count(1) |
| | | from t_car_color where state = 1 |
| | | <if test="null != createTime and '' != createTime"> |
| | | and insertTime between CONCAT(#{createTime}, ' 00:00:00') and CONCAT(#{createTime}, ' 23:59:59') |
| | | <if test="null != start and '' != start and null != end and '' != end"> |
| | | and insertTime between CONCAT(#{start}, ' 00:00:00') and CONCAT(#{end}, ' 23:59:59') |
| | | </if> |
| | | <if test="null != name and '' != name"> |
| | | and name like CONCAT('%', #{name}, '%') |
| | |
| | | <result column="GPSInstallDate" property="GPSInstallDate"/> |
| | | <result column="registerDate" property="registerDate"/> |
| | | <result column="commercialType" property="commercialType"/> |
| | | <result column="driverId" property="driverId"/> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | |
| | | 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 '包车' |
| | | when type = 4 then '市内小件物流' |
| | | else '' end ) as serverStr,carId from t_car_service GROUP BY carId) as ds on ds.carId = cc.id |
| | | LEFT JOIN (select * from t_driver where flag != 3) AS dd on dd.carId = cc.id) as o |
| | | <where> |
| | |
| | | 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 '包车' |
| | | when type = 4 then '市内小件物流' |
| | | else '' end ) as serverStr,carId from t_car_service GROUP BY carId) as ds on ds.carId = cc.id |
| | | LEFT JOIN (select * from t_driver where flag != 3) AS dd on dd.carId = cc.id) as o |
| | | <where> |
| | |
| | | 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 '包车' |
| | | when type = 4 then '市内小件物流' |
| | | else '' end ) as serverStr,carId from t_car_service GROUP BY carId) as ds on ds.carId = cc.id |
| | | LEFT JOIN (select * from t_driver where flag != 3) AS dd on dd.carId = cc.id) as o |
| | | <where> |
| | |
| | | <select id="getCompanyList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT ui.account,IFNULL(ci.num,0) as franchiseeNum,IFNULL(ca.num,0) as carNumber,IFNULL(di.num,0) as driverNumber, |
| | | CONCAT(case when cc.isSpe = 1 then '专车,' else '' end, |
| | | case when cc.isTaxi = 1 then '出租车,' else '' end, |
| | | case when cc.isCross = 1 then '跨城出行,' else '' end, |
| | | case when cc.isCrossLogistics = 1 then '跨城小件物流,' else '' end, |
| | | case when cc.isSameLogistics = 1 then '同城小件物流,' else '' end, |
| | | case when cc.isCharter = 1 then '包车,' else '' end) as serverStr, |
| | | case when cc.isSameLogistics = 1 then '市内小件物流,' else '' end, |
| | | cc.* FROM t_company as cc |
| | | LEFT JOIN (SELECT * FROM sys_user where roleType = 2) as ui on ui.objectId = cc.id |
| | | LEFT JOIN (SELECT COUNT(id) as num,superiorId FROM t_company where type = 3 and flag != 3 GROUP BY superiorId) as ci on ci.superiorId = cc.id |
| | |
| | | |
| | | <!--根据公司ID获取公司经营区域--> |
| | | <select id="getCompanyScopeById" resultType="map"> |
| | | SELECT CONCAT(case when r1.`name` is not null then r1.`name` else '' end, |
| | | case when r2.`name` is not null then r2.`name` else '' end, |
| | | case when r3.`name` is not null then r3.`name` else '' end) as value,cc.* FROM t_company_city as cc |
| | | LEFT JOIN t_region as r1 on r1.code = cc.provinceCode |
| | | LEFT JOIN t_region as r2 on r2.code = cc.cityCode |
| | | LEFT JOIN t_region as r3 on r3.code = cc.areaCode |
| | | SELECT r1.chineseName as value,cc.* FROM t_company_city as cc |
| | | LEFT JOIN t_city as r1 on r1.id = cc.cityId |
| | | where cc.companyId = #{id} and cc.state = 1 order by id asc |
| | | </select> |
| | | |
| | |
| | | <select id="getFranchiseeList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT ui.account,ci.`name` as companyName,IFNULL(ca.num,0) as carNumber,IFNULL(di.num,0) as driverNumber, |
| | | CONCAT(case when cc.isSpe = 1 then '专车,' else '' end, |
| | | case when cc.isTaxi = 1 then '出租车,' else '' end, |
| | | case when cc.isCross = 1 then '跨城出行,' else '' end, |
| | | case when cc.isCrossLogistics = 1 then '跨城小件物流,' else '' end, |
| | | case when cc.isSameLogistics = 1 then '同城小件物流,' else '' end, |
| | | case when cc.isCharter = 1 then '包车,' else '' end) as serverStr, |
| | | case when cc.isSameLogistics = 1 then '市内小件物流,' else '' end, |
| | | cc.* FROM t_company as cc |
| | | LEFT JOIN (SELECT * FROM sys_user where roleType = 3) as ui on ui.objectId = cc.id |
| | | LEFT JOIN (select * from t_company where type = 2 and flag != 3) as ci on ci.id = cc.superiorId |
| | |
| | | </if> |
| | | group by DATE_FORMAT(insertTime, '%Y-%m-%d') |
| | | union all |
| | | select DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time, 0, count(a.id) as `online`, 0 as orderNum, 0 as cancelNum, 0 as onlinePay, 0 as offlinePay, 0 as money, 0 as complaint |
| | | select DATE_FORMAT(a.date, '%Y-%m-%d') as time, 0, count(a.id) as `online`, 0 as orderNum, 0 as cancelNum, 0 as onlinePay, 0 as offlinePay, 0 as money, 0 as complaint |
| | | from t_driver_online a |
| | | left join t_driver b on (a.driverId = b.id) |
| | | where 1 = 1 |
| | | where assessment = 0 |
| | | <if test="null != companyId"> |
| | | and if(b.franchiseeId is null or b.franchiseeId = 0, b.companyId = #{companyId}, b.franchiseeId = #{companyId}) |
| | | </if> |
| | | <if test="null != start and '' != start and null != end and '' != end"> |
| | | and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} |
| | | and DATE_FORMAT(a.date, '%Y-%m-%d') between #{start} and #{end} |
| | | </if> |
| | | group by DATE_FORMAT(a.insertTime, '%Y-%m-%d') |
| | | group by DATE_FORMAT(a.date, '%Y-%m-%d') |
| | | union all |
| | | <if test="1 == type"> |
| | | select DATE_FORMAT(travelTime, '%Y-%m-%d'), 0, 0, count(id), 0, 0, 0, 0, 0 from t_order_private_car where isDelete = 1 |
| | |
| | | <result column="idCardImgUrl2" property="idCardImgUrl2" /> |
| | | <result column="placeOfEmployment" property="placeOfEmployment" /> |
| | | <result column="birthday" property="birthday" /> |
| | | <result column="email" property="email"/> |
| | | <result column="bankCardNumber" property="bankCardNumber" /> |
| | | <result column="driverNationality" property="driverNationality" /> |
| | | <result column="driverNation" property="driverNation" /> |
| | |
| | | <result column="driverContactAddress" property="driverContactAddress" /> |
| | | <result column="driverAge" property="driverAge" /> |
| | | <result column="driveCard" property="driveCard" /> |
| | | <result column="driveCardImgUrl" property="driveCardImgUrl" /> |
| | | <result column="driveCardImgUrl1" property="driveCardImgUrl1" /> |
| | | <result column="driveCardImgUrl2" property="driveCardImgUrl2" /> |
| | | <result column="driverType" property="driverType" /> |
| | | <result column="getDriverLicenseDate" property="getDriverLicenseDate" /> |
| | | <result column="driverLicenseOn" property="driverLicenseOn" /> |
| | |
| | | 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 '包车' |
| | | when type = 4 then '市内小件物流' |
| | | else '' end ) as serverStr,driverId from t_driver_service GROUP BY driverId) as ds on ds.driverId = dd.id |
| | | ) as o |
| | | <where> |
| | |
| | | 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 '包车' |
| | | when type = 4 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> |
| | |
| | | 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 '包车' |
| | | when type = 4 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 |
| | | 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 '包车' |
| | | when type = 4 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 |
| | |
| | | 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 '包车' |
| | | when type = 4 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 |
| | |
| | | |
| | | <!--根据条件查询用反馈记录列表--> |
| | | <select id="getFeedbackList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT dd.`name` as driverName,dd.phone as driverPhone,uu.`name` as userName,uu.phone as userPhone,su.`name` as handleUserName, |
| | | SELECT * FROM (SELECT dd.`name` as driverName,dd.phone as driverPhone,uu.nickName as userName,uu.phone as userPhone,su.`name` as handleUserName, |
| | | fb.* FROM t_feedback as fb |
| | | LEFT JOIN t_driver as dd on dd.id = fb.userId |
| | | LEFT JOIN t_user as uu on uu.id = fb.userId |
| | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TOpenCity"> |
| | | <id column="id" property="id" /> |
| | | <result column="code" property="code" /> |
| | | <result column="cityId" property="cityId" /> |
| | | <result column="lon" property="lon" /> |
| | | <result column="lat" property="lat" /> |
| | | <result column="isQualifications" property="isQualifications" /> |
| | |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, code, lon, lat, isQualifications, areaName, cityName, provinceName, flag, insertTime, insertUser, updateTime, updateUser |
| | | id, cityId, lon, lat, isQualifications, areaName, cityName, provinceName, flag, insertTime, insertUser, updateTime, updateUser |
| | | </sql> |
| | | |
| | | <!--根据条件查询开通城市列表--> |
| | | <select id="getOpenCityList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> |
| | | SELECT * FROM (SELECT ocb.str as business,oc.* FROM t_open_city as oc |
| | | SELECT * FROM (SELECT ocb.str as business,oc.*,b.chineseName FROM t_open_city as oc |
| | | left join t_city b on (oc.cityId = b.id) |
| | | LEFT JOIN ( |
| | | SELECT GROUP_CONCAT( |
| | | CONCAT((case when businessType = 1 then '专车' |
| | | when businessType = 2 then '出租车' |
| | | when businessType = 3 then '跨城出行' |
| | | when businessType = 4 then '同城小件物流' |
| | | when businessType = 5 then '跨城小件物流' |
| | | when businessType = 6 then '包车' |
| | | when businessType = 4 then '市内小件物流' |
| | | else '' end),' :',sort)) as str,openCityId from t_open_city_business where flag != 3 GROUP BY openCityId |
| | | ) as ocb on ocb.openCityId = oc.id) as o |
| | | <where> |
| | |
| | | AND (o.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) |
| | | </if> |
| | | <if test="condition != null and condition != ''"> |
| | | and (o.areaName LIKE CONCAT('%',#{condition},'%') or o.cityName LIKE CONCAT('%',#{condition},'%') or o.provinceName LIKE CONCAT('%',#{condition},'%')) |
| | | and (b.chineseName LIKE CONCAT('%',#{condition},'%') or b.englishName LIKE CONCAT('%',#{condition},'%') or b.frenchName LIKE CONCAT('%',#{condition},'%')) |
| | | </if> |
| | | </where> |
| | | order by o.id desc |
| | |
| | | <select id="getBusinessByCityId" resultType="map"> |
| | | SELECT DATE_FORMAT(bb.insertTime,'%Y-%m-%d') as insertTimeStr, |
| | | case when bb.businessType = 1 then '专车' |
| | | when bb.businessType = 2 then '出租车' |
| | | when bb.businessType = 3 then '跨城出行' |
| | | when bb.businessType = 4 then '同城小件物流' |
| | | when bb.businessType = 5 then '跨城小件物流' |
| | | when bb.businessType = 6 then '包车' |
| | | when bb.businessType = 4 then '市内小件物流' |
| | | else '' end as businessTypeStr,bb.* |
| | | FROM t_open_city_business as bb where bb.openCityId = #{openCityId} and bb.flag != 3 |
| | | </select> |
| | |
| | | when ot.payType = 3 then '余额' else '' end as payTypeStr, |
| | | ui.nickName as userName,ui.phone as userPhone, |
| | | CONCAT(di.`name`,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car, |
| | | '市内小件物流' as typeStr, |
| | | dd.name as companyName, |
| | | ot.* FROM t_order_logistics as ot |
| | | LEFT JOIN t_user as ui on ui.id = ot.userId |
| | | LEFT JOIN t_driver as di on di.id = ot.driverId |
| | | LEFT JOIN t_car as ci on ci.id= ot.carId |
| | | LEFT JOIN t_car_brand as cb on cb.id = ci.carBrandId |
| | | LEFT JOIN t_company as cc on cc.id = ot.companyId |
| | | LEFT JOIN t_company as dd on dd.id = ci.companyId |
| | | where ot.id = #{orderId} |
| | | </select> |
| | | |
| | |
| | | LEFT JOIN t_server_carmodel as sc on sc.id = ot.serverCarModelId |
| | | LEFT JOIN (SELECT ii.money,ii.incomeId,cc.type FROM t_income as ii |
| | | LEFT JOIN t_company as cc on ii.objectId = cc.id |
| | | where ii.userType = 1 and ii.type = 2 and ii.orderType = 1 GROUP BY ii.incomeId) as income1 on income1.incomeId = ot.id |
| | | LEFT JOIN (SELECT * FROM t_income where userType = 2 and type = 2 and orderType = 1 GROUP BY incomeId) as income2 on income2.incomeId = ot.id |
| | | where ii.userType = 1 and ii.type = 2 and ii.orderType = 1) as income1 on income1.incomeId = ot.id |
| | | LEFT JOIN (SELECT incomeId, money FROM t_income where userType = 2 and type = 2 and orderType = 1) as income2 on income2.incomeId = ot.id |
| | | where ot.id = #{orderId} |
| | | </select> |
| | | |
| | |
| | | a.orderType as orderType, |
| | | a.orderId as orderId, |
| | | b.phone as phone, |
| | | b.nickName as nickName, |
| | | b.name as name |
| | | b.nickName as nickName |
| | | from |
| | | t_pub_transaction_details a |
| | | inner join |
New file |
| | |
| | | <?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.TReportLossMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TReportLoss"> |
| | | <id column="id" property="id" /> |
| | | <result column="userId" property="userId" /> |
| | | <result column="orderType" property="orderType" /> |
| | | <result column="orderId" property="orderId" /> |
| | | <result column="remark" property="remark" /> |
| | | <result column="image" property="image" /> |
| | | <result column="state" property="state" /> |
| | | <result column="status" property="status" /> |
| | | <result column="handleTime" property="handleTime" /> |
| | | <result column="insertTime" property="insertTime" /> |
| | | <result column="handleUserId" property="handleUserId" /> |
| | | <result column="disposeInfo" property="disposeInfo" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, userId, orderType, orderId, remark, image, state, status, handleTime, insertTime, handleUserId,disposeInfo |
| | | </sql> |
| | | |
| | | <select id="getReportLossList" resultType="java.util.Map"> |
| | | select t1.*,t2.nickName,t2.phone ,t3.phone as handleUser from t_report_loss t1 left join t_user t2 on t1.userId = t2.id left join sys_user t3 on t1.handleUserId =t3.id |
| | | <where> |
| | | t1.state !=3 |
| | | <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''"> |
| | | AND (t1.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) |
| | | </if> |
| | | <if test="phone != null and phone != ''"> |
| | | and t2.phone LIKE CONCAT('%',#{phone},'%') |
| | | </if> |
| | | <if test="status != null and status != ''"> |
| | | and t1.status =#{status} |
| | | </if> |
| | | </where> |
| | | order by t1.insertTime desc,status asc |
| | | </select> |
| | | |
| | | <select id="getCarNumber1" resultType="java.lang.String"> |
| | | select t2.carLicensePlate from t_order_private_car t1 left join t_car t2 on t1.carId = t2.id where t1.id=#{orderId} |
| | | </select> |
| | | |
| | | <select id="getCarNumber2" resultType="java.lang.String"> |
| | | select t2.carLicensePlate from t_order_taxi t1 left join t_car t2 on t1.carId = t2.id where t1.id=#{orderId} |
| | | </select> |
| | | |
| | | <select id="getCarNumber3" resultType="java.lang.String"> |
| | | select t2.carLicensePlate from t_order_cross_city t1 left join t_car t2 on t1.carId = t2.id where t1.id=#{orderId} |
| | | </select> |
| | | <select id="getCarNumber4" resultType="java.lang.String"> |
| | | select t2.carLicensePlate from t_order_logistics t1 left join t_car t2 on t1.carId = t2.id where t1.id=#{orderId} and t1.type=4 |
| | | </select> |
| | | <select id="getCarNumber5" resultType="java.lang.String"> |
| | | select t2.carLicensePlate from t_order_logistics t1 left join t_car t2 on t1.carId = t2.id where t1.id=#{orderId} and t1.type=5 |
| | | </select> |
| | | <select id="getCarNumber6" resultType="java.lang.String"> |
| | | select t3.carLicensePlate from t_order_chartered_car t1 left join t_car_service t2 on t1.serverCarModelId = t2.serverCarModelId |
| | | left join t_car t3 on t2.carId = t3.id where t1.id=#{orderId} |
| | | </select> |
| | | </mapper> |
| | |
| | | <result column="emergencyContact" property="emergencyContact" /> |
| | | <result column="emergencyContactNumber" property="emergencyContactNumber" /> |
| | | <result column="isAuth" property="isAuth" /> |
| | | <result column="name" property="name" /> |
| | | <result column="lastName" property="lastName" /> |
| | | <result column="firstName" property="firstName" /> |
| | | <result column="idCard" property="idCard" /> |
| | | <result column="idCardFront" property="idCardFront" /> |
| | | <result column="idCardReverse" property="idCardReverse" /> |
| | |
| | | <result column="updateTime" property="updateTime" /> |
| | | <result column="updateUser" property="updateUser" /> |
| | | <result column="uid" property="uid"/> |
| | | <result column="email" property="email"/> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, companyId, registIp, registAreaCode, phone, nickName, avatar, birthday, sex, emergencyContact, emergencyContactNumber, isAuth, name, idCard, idCardFront, idCardReverse, consumption, balance, integral, passWord, openId, unionid, remark, state, flag, insertTime, insertUser, updateTime, updateUser,uid |
| | | id, companyId, registIp, registAreaCode,email, phone, nickName, avatar, birthday, sex, emergencyContact, emergencyContactNumber, isAuth, name, idCard, idCardFront, idCardReverse, consumption, balance, integral, passWord, openId, unionid, remark, state, flag, insertTime, insertUser, updateTime, updateUser,uid |
| | | </sql> |
| | | |
| | | <!--根据条件查询用户列表--> |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotations.TableField; |
| | | import com.baomidou.mybatisplus.annotations.TableId; |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | | import com.baomidou.mybatisplus.enums.IdType; |
| | | |
| | | /** |
| | | * 城市 |
| | | */ |
| | | @TableName("t_city") |
| | | public class City { |
| | | //主键 |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | @TableField("id") |
| | | private Integer id; |
| | | //中文名称 |
| | | @TableField("chineseName") |
| | | private String chineseName; |
| | | //英文名称 |
| | | @TableField("englishName") |
| | | private String englishName; |
| | | //法文名称 |
| | | @TableField("frenchName") |
| | | private String frenchName; |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getChineseName() { |
| | | return chineseName; |
| | | } |
| | | |
| | | public void setChineseName(String chineseName) { |
| | | this.chineseName = chineseName; |
| | | } |
| | | |
| | | public String getEnglishName() { |
| | | return englishName; |
| | | } |
| | | |
| | | public void setEnglishName(String englishName) { |
| | | this.englishName = englishName; |
| | | } |
| | | |
| | | public String getFrenchName() { |
| | | return frenchName; |
| | | } |
| | | |
| | | public void setFrenchName(String frenchName) { |
| | | this.frenchName = frenchName; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "City{" + |
| | | "id=" + id + |
| | | ", chineseName='" + chineseName + '\'' + |
| | | ", englishName='" + englishName + '\'' + |
| | | ", frenchName='" + frenchName + '\'' + |
| | | '}'; |
| | | } |
| | | } |
| | |
| | | @TableField("orderId") |
| | | private Integer orderId; |
| | | /** |
| | | * 订单类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=包车) |
| | | * 订单类型(1=专车,4=市内小件物流) |
| | | */ |
| | | @TableField("orderType") |
| | | private Integer orderType; |
| | |
| | | /** |
| | | * 所属省Id |
| | | */ |
| | | private Integer provinceId; |
| | | private Integer cityId; |
| | | |
| | | public Integer getProvinceId() { |
| | | return provinceId; |
| | | public Integer getCityId() { |
| | | return cityId; |
| | | } |
| | | |
| | | public void setProvinceId(Integer provinceId) { |
| | | this.provinceId = provinceId; |
| | | public void setCityId(Integer cityId) { |
| | | this.cityId = cityId; |
| | | } |
| | | |
| | | public Integer getState() { |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.model; |
| | | |
| | | import com.baomidou.mybatisplus.enums.IdType; |
| | | 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 2022-09-30 |
| | | */ |
| | | @TableName("t_advertisement_user") |
| | | public class TAdvertisementUser extends Model<TAdvertisementUser> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 自定义广告id |
| | | */ |
| | | private Integer advertisementId; |
| | | /** |
| | | * 司机id |
| | | */ |
| | | private String driverId; |
| | | /** |
| | | * 用户id |
| | | */ |
| | | private String userId; |
| | | |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Integer getAdvertisementId() { |
| | | return advertisementId; |
| | | } |
| | | |
| | | public void setAdvertisementId(Integer advertisementId) { |
| | | this.advertisementId = advertisementId; |
| | | } |
| | | |
| | | public String getDriverId() { |
| | | return driverId; |
| | | } |
| | | |
| | | public void setDriverId(String driverId) { |
| | | this.driverId = driverId; |
| | | } |
| | | |
| | | public String getUserId() { |
| | | return userId; |
| | | } |
| | | |
| | | public void setUserId(String userId) { |
| | | this.userId = userId; |
| | | } |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "TAdvertisementUser{" + |
| | | "id=" + id + |
| | | ", advertisementId=" + advertisementId + |
| | | ", driverId=" + driverId + |
| | | ", userId=" + userId + |
| | | "}"; |
| | | } |
| | | } |
| | |
| | | */ |
| | | private Integer useType; |
| | | /** |
| | | * 语言类型(1=简体中文,2=英语,3=法语) |
| | | */ |
| | | private Integer language; |
| | | /** |
| | | * 协议内容 |
| | | */ |
| | | private String content; |
| | |
| | | this.useType = useType; |
| | | } |
| | | |
| | | public Integer getLanguage() { |
| | | return language; |
| | | } |
| | | |
| | | public void setLanguage(Integer language) { |
| | | this.language = language; |
| | | } |
| | | |
| | | public String getContent() { |
| | | return content; |
| | | } |
| | |
| | | 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; |
| | |
| | | private Integer addObjectId; |
| | | |
| | | private Integer authState; |
| | | /** |
| | | * 上传司机id |
| | | */ |
| | | @TableField("driverId") |
| | | private Integer driverId; |
| | | |
| | | public Integer getAuthState() { |
| | | return authState; |
| | |
| | | this.commercialType = commercialType; |
| | | } |
| | | |
| | | public Integer getDriverId() { |
| | | return driverId; |
| | | } |
| | | |
| | | public void setDriverId(Integer driverId) { |
| | | this.driverId = driverId; |
| | | } |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | |
| | | */ |
| | | private Integer carId; |
| | | /** |
| | | * 类型(1=专车,2=出租车,3=城际(跨城出行),4=小件物流-同城,5=小件物流-跨城,6=包车) |
| | | * 类型(1=专车,4=市内小件物流) |
| | | */ |
| | | private Integer type; |
| | | /** |
| | |
| | | */ |
| | | private Integer areaCode; |
| | | /** |
| | | * 城市id |
| | | */ |
| | | private Integer cityId; |
| | | /** |
| | | * 1=正常,2=删除 |
| | | */ |
| | | private Integer state; |
| | |
| | | this.state = state; |
| | | } |
| | | |
| | | public Integer getCityId() { |
| | | return cityId; |
| | | } |
| | | |
| | | public void setCityId(Integer cityId) { |
| | | this.cityId = cityId; |
| | | } |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | |
| | | */ |
| | | private Date birthday; |
| | | /** |
| | | * 邮件 |
| | | */ |
| | | private String email; |
| | | /** |
| | | * 银行卡号 |
| | | */ |
| | | private String bankCardNumber; |
| | |
| | | /** |
| | | * 驾驶证照片 |
| | | */ |
| | | private String driveCardImgUrl; |
| | | private String driveCardImgUrl1; |
| | | /** |
| | | * 驾驶证照片 |
| | | */ |
| | | private String driveCardImgUrl2; |
| | | /** |
| | | * 准驾车型 |
| | | */ |
| | |
| | | this.birthday = birthday; |
| | | } |
| | | |
| | | public String getEmail() { |
| | | return email; |
| | | } |
| | | |
| | | public void setEmail(String email) { |
| | | this.email = email; |
| | | } |
| | | |
| | | public String getBankCardNumber() { |
| | | return bankCardNumber; |
| | | } |
| | |
| | | this.driveCard = driveCard; |
| | | } |
| | | |
| | | public String getDriveCardImgUrl() { |
| | | return driveCardImgUrl; |
| | | public String getDriveCardImgUrl1() { |
| | | return driveCardImgUrl1; |
| | | } |
| | | |
| | | public void setDriveCardImgUrl(String driveCardImgUrl) { |
| | | this.driveCardImgUrl = driveCardImgUrl; |
| | | public void setDriveCardImgUrl1(String driveCardImgUrl1) { |
| | | this.driveCardImgUrl1 = driveCardImgUrl1; |
| | | } |
| | | |
| | | public String getDriveCardImgUrl2() { |
| | | return driveCardImgUrl2; |
| | | } |
| | | |
| | | public void setDriveCardImgUrl2(String driveCardImgUrl2) { |
| | | this.driveCardImgUrl2 = driveCardImgUrl2; |
| | | } |
| | | |
| | | public String getDriverType() { |
| | |
| | | ", driverContactAddress='" + driverContactAddress + '\'' + |
| | | ", driverAge=" + driverAge + |
| | | ", driveCard='" + driveCard + '\'' + |
| | | ", driveCardImgUrl='" + driveCardImgUrl + '\'' + |
| | | ", driverType='" + driverType + '\'' + |
| | | ", getDriverLicenseDate=" + getDriverLicenseDate + |
| | | ", driverLicenseOn=" + driverLicenseOn + |
| | |
| | | */ |
| | | private Integer driverId; |
| | | /** |
| | | * 类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=包车) |
| | | * 类型(1=专车,4=市内小件物流) |
| | | */ |
| | | private Integer type; |
| | | |
| | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 城市code(6位) |
| | | */ |
| | | private String code; |
| | | /** |
| | | * 经度 |
| | | */ |
| | | private Double lon; |
| | |
| | | */ |
| | | private Integer isQualifications; |
| | | /** |
| | | * 省份名称 |
| | | */ |
| | | private Integer areaId; |
| | | private String areaName; |
| | | /** |
| | | * 市名称 |
| | | */ |
| | | private Integer cityId; |
| | | private String cityName; |
| | | /** |
| | | * 区县名称 |
| | | */ |
| | | private Integer provinceId; |
| | | private String provinceName; |
| | | /** |
| | | * 1:创建,2:修改,3:删除 |
| | | */ |
| | |
| | | private Date updateTime; |
| | | private Integer updateUser; |
| | | |
| | | public Integer getAreaId() { |
| | | return areaId; |
| | | } |
| | | |
| | | public void setAreaId(Integer areaId) { |
| | | this.areaId = areaId; |
| | | } |
| | | |
| | | public Integer getCityId() { |
| | | return cityId; |
| | | } |
| | |
| | | this.cityId = cityId; |
| | | } |
| | | |
| | | public Integer getProvinceId() { |
| | | return provinceId; |
| | | } |
| | | |
| | | public void setProvinceId(Integer provinceId) { |
| | | this.provinceId = provinceId; |
| | | } |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getCode() { |
| | | return code; |
| | | } |
| | | |
| | | public void setCode(String code) { |
| | | this.code = code; |
| | | } |
| | | |
| | | public Double getLon() { |
| | |
| | | |
| | | public void setIsQualifications(Integer isQualifications) { |
| | | this.isQualifications = isQualifications; |
| | | } |
| | | |
| | | public String getAreaName() { |
| | | return areaName; |
| | | } |
| | | |
| | | public void setAreaName(String areaName) { |
| | | this.areaName = areaName; |
| | | } |
| | | |
| | | public String getCityName() { |
| | | return cityName; |
| | | } |
| | | |
| | | public void setCityName(String cityName) { |
| | | this.cityName = cityName; |
| | | } |
| | | |
| | | public String getProvinceName() { |
| | | return provinceName; |
| | | } |
| | | |
| | | public void setProvinceName(String provinceName) { |
| | | this.provinceName = provinceName; |
| | | } |
| | | |
| | | public String getFlag() { |
| | |
| | | public String toString() { |
| | | return "TOpenCity{" + |
| | | "id=" + id + |
| | | ", code=" + code + |
| | | ", lon=" + lon + |
| | | ", lat=" + lat + |
| | | ", isQualifications=" + isQualifications + |
| | | ", areaName=" + areaName + |
| | | ", cityName=" + cityName + |
| | | ", provinceName=" + provinceName + |
| | | ", flag=" + flag + |
| | | ", insertTime=" + insertTime + |
| | | ", insertUser=" + insertUser + |
| | |
| | | */ |
| | | private Integer openCityId; |
| | | /** |
| | | * 业务类型(1=专车,2=出租车,3=跨城出行,4=同城小件物流,5=跨城小件物流,6=包车) |
| | | * 业务类型(1=专车,4=市内小件物流) |
| | | */ |
| | | private Integer businessType; |
| | | /** |
| | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 订单类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=包车) |
| | | * 订单类型(1=专车,4=市内小件物流) |
| | | */ |
| | | private Integer orderType; |
| | | /** |
| | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 订单类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=包车) |
| | | * 订单类型(1=专车,4=市内小件物流) |
| | | */ |
| | | private Integer orderType; |
| | | /** |
New file |
| | |
| | | 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 2022-09-29 |
| | | */ |
| | | @TableName("t_report_loss") |
| | | public class TReportLoss extends Model<TReportLoss> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 用户id |
| | | */ |
| | | private Integer userId; |
| | | /** |
| | | * 业务类型(1=专车,4=市内小件物流) |
| | | */ |
| | | private Integer orderType; |
| | | /** |
| | | * 订单id |
| | | */ |
| | | private Integer orderId; |
| | | /** |
| | | * 备注 |
| | | */ |
| | | private String remark; |
| | | /** |
| | | * 图片 |
| | | */ |
| | | private String image; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | private Integer state; |
| | | /** |
| | | * 处理状态(1=待处理,2=已处理) |
| | | */ |
| | | private Integer status; |
| | | /** |
| | | * 处理时间 |
| | | */ |
| | | private Date handleTime; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | private Date insertTime; |
| | | /** |
| | | * 处理人id |
| | | */ |
| | | private Integer handleUserId; |
| | | |
| | | /** |
| | | * 处理信息 |
| | | */ |
| | | private String disposeInfo; |
| | | |
| | | public String getDisposeInfo() { |
| | | return disposeInfo; |
| | | } |
| | | |
| | | public void setDisposeInfo(String disposeInfo) { |
| | | this.disposeInfo = disposeInfo; |
| | | } |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Integer getUserId() { |
| | | return userId; |
| | | } |
| | | |
| | | public void setUserId(Integer userId) { |
| | | this.userId = userId; |
| | | } |
| | | |
| | | public Integer getOrderType() { |
| | | return orderType; |
| | | } |
| | | |
| | | public void setOrderType(Integer orderType) { |
| | | this.orderType = orderType; |
| | | } |
| | | |
| | | public Integer getOrderId() { |
| | | return orderId; |
| | | } |
| | | |
| | | public void setOrderId(Integer orderId) { |
| | | this.orderId = orderId; |
| | | } |
| | | |
| | | public String getRemark() { |
| | | return remark; |
| | | } |
| | | |
| | | public void setRemark(String remark) { |
| | | this.remark = remark; |
| | | } |
| | | |
| | | public String getImage() { |
| | | return image; |
| | | } |
| | | |
| | | public void setImage(String image) { |
| | | this.image = image; |
| | | } |
| | | |
| | | public Integer getState() { |
| | | return state; |
| | | } |
| | | |
| | | public void setState(Integer state) { |
| | | this.state = state; |
| | | } |
| | | |
| | | public Integer getStatus() { |
| | | return status; |
| | | } |
| | | |
| | | public void setStatus(Integer status) { |
| | | this.status = status; |
| | | } |
| | | |
| | | public Date getHandleTime() { |
| | | return handleTime; |
| | | } |
| | | |
| | | public void setHandleTime(Date handleTime) { |
| | | this.handleTime = handleTime; |
| | | } |
| | | |
| | | public Date getInsertTime() { |
| | | return insertTime; |
| | | } |
| | | |
| | | public void setInsertTime(Date insertTime) { |
| | | this.insertTime = insertTime; |
| | | } |
| | | |
| | | public Integer getHandleUserId() { |
| | | return handleUserId; |
| | | } |
| | | |
| | | public void setHandleUserId(Integer handleUserId) { |
| | | this.handleUserId = handleUserId; |
| | | } |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "TReportLoss{" + |
| | | "id=" + id + |
| | | ", userId=" + userId + |
| | | ", orderType=" + orderType + |
| | | ", orderId=" + orderId + |
| | | ", remark=" + remark + |
| | | ", image=" + image + |
| | | ", state=" + state + |
| | | ", status=" + status + |
| | | ", handleTime=" + handleTime + |
| | | ", insertTime=" + insertTime + |
| | | ", handleUserId=" + handleUserId + |
| | | "}"; |
| | | } |
| | | } |
| | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 业务类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=包车) |
| | | * 业务类型(1=专车,4=市内小件物流) |
| | | */ |
| | | private Integer type; |
| | | /** |
| | |
| | | */ |
| | | private String emergencyContact; |
| | | /** |
| | | * 邮箱 |
| | | */ |
| | | private String email; |
| | | |
| | | public String getEmail() { |
| | | return email; |
| | | } |
| | | |
| | | public void setEmail(String email) { |
| | | this.email = email; |
| | | } |
| | | |
| | | /** |
| | | * 紧急联系电话 |
| | | */ |
| | | private String emergencyContactNumber; |
| | |
| | | */ |
| | | private Integer isAuth; |
| | | /** |
| | | * 真实姓名 |
| | | * 姓氏 |
| | | */ |
| | | private String name; |
| | | private String lastName; |
| | | /** |
| | | * 名字 |
| | | */ |
| | | private String firstName; |
| | | /** |
| | | * 身份证号 |
| | | */ |
| | |
| | | this.isAuth = isAuth; |
| | | } |
| | | |
| | | public String getName() { |
| | | return name; |
| | | public String getLastName() { |
| | | return lastName; |
| | | } |
| | | |
| | | public void setName(String name) { |
| | | this.name = name; |
| | | public void setLastName(String lastName) { |
| | | this.lastName = lastName; |
| | | } |
| | | |
| | | public String getFirstName() { |
| | | return firstName; |
| | | } |
| | | |
| | | public void setFirstName(String firstName) { |
| | | this.firstName = firstName; |
| | | } |
| | | |
| | | public String getIdCard() { |
| | |
| | | ", emergencyContact='" + emergencyContact + '\'' + |
| | | ", emergencyContactNumber='" + emergencyContactNumber + '\'' + |
| | | ", isAuth=" + isAuth + |
| | | ", name='" + name + '\'' + |
| | | ", idCard='" + idCard + '\'' + |
| | | ", idCardFront='" + idCardFront + '\'' + |
| | | ", idCardReverse='" + idCardReverse + '\'' + |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import com.stylefeng.guns.modular.system.model.City; |
| | | |
| | | public interface ICityService extends IService<City> { |
| | | } |
| | |
| | | @Param("endTime") String endTime, |
| | | @Param("type") Integer type, |
| | | @Param("name") String name); |
| | | |
| | | List<Map<String, Object>> getAdvertisementList1(@Param("page") Page<Map<String, Object>> page); |
| | | |
| | | |
| | | List<Map<String, Object>> getAdvertisementList2(Page<Map<String, Object>> page); |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TAdvertisementUser; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 服务类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2022-09-30 |
| | | */ |
| | | public interface ITAdvertisementUserService extends IService<TAdvertisementUser> { |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TReportLoss; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * 报失 服务类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2022-09-29 |
| | | */ |
| | | public interface ITReportLossService extends IService<TReportLoss> { |
| | | |
| | | |
| | | List<Map<String, Object>> getReportLossList(String beginTime, String endTime, String phone, Integer status); |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.stylefeng.guns.modular.system.dao.CityMapper; |
| | | import com.stylefeng.guns.modular.system.model.City; |
| | | import com.stylefeng.guns.modular.system.service.ICityService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | @Service |
| | | public class CityServiceImpl extends ServiceImpl<CityMapper, City> implements ICityService { |
| | | } |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.stylefeng.guns.modular.system.dao.TAdvertisementUserMapper; |
| | | import com.stylefeng.guns.modular.system.model.TAdvertisement; |
| | | import com.stylefeng.guns.modular.system.dao.TAdvertisementMapper; |
| | | import com.stylefeng.guns.modular.system.model.TAdvertisementUser; |
| | | import com.stylefeng.guns.modular.system.service.ITAdvertisementService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | |
| | | @Service |
| | | public class TAdvertisementServiceImpl extends ServiceImpl<TAdvertisementMapper, TAdvertisement> implements ITAdvertisementService { |
| | | |
| | | @Autowired |
| | | private TAdvertisementUserMapper tAdvertisementUserMapper; |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> getAdvertisementList(Page<Map<String, Object>> page, String beginTime, String endTime, Integer type, String name) { |
| | | return this.baseMapper.getAdvertisementList(page, beginTime, endTime, type, name); |
| | | } |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> getAdvertisementList1(Page<Map<String, Object>> page) { |
| | | List<Map<String, Object>> advertisementList1 = this.baseMapper.getAdvertisementList1(page); |
| | | for (Map<String, Object> stringObjectMap : advertisementList1) { |
| | | Integer id = (Integer)stringObjectMap.get("id"); |
| | | TAdvertisementUser tAdvertisementUser = tAdvertisementUserMapper.selectTAdvertisementUser(id); |
| | | if("[]".equals(tAdvertisementUser.getDriverId()) && "[]".equals(tAdvertisementUser.getUserId())){ |
| | | // all |
| | | stringObjectMap.put("sendUser",1); |
| | | }else if("[]".equals(tAdvertisementUser.getDriverId()) && !"[]".equals(tAdvertisementUser.getUserId())){ |
| | | // driver |
| | | stringObjectMap.put("sendUser",2); |
| | | }else if(!"[]".equals(tAdvertisementUser.getDriverId()) && "[]".equals(tAdvertisementUser.getUserId())){ |
| | | stringObjectMap.put("sendUser",3); |
| | | }else if(!"[]".equals(tAdvertisementUser.getDriverId()) && !"[]".equals(tAdvertisementUser.getUserId())){ |
| | | stringObjectMap.put("sendUser",4); |
| | | } |
| | | } |
| | | return advertisementList1; |
| | | } |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> getAdvertisementList2(Page<Map<String, Object>> page) { |
| | | List<Map<String, Object>> advertisementList1 = this.baseMapper.getAdvertisementList2(page); |
| | | for (Map<String, Object> stringObjectMap : advertisementList1) { |
| | | Integer id = (Integer)stringObjectMap.get("id"); |
| | | TAdvertisementUser tAdvertisementUser = tAdvertisementUserMapper.selectTAdvertisementInform(id); |
| | | if("[]".equals(tAdvertisementUser.getDriverId()) && "[]".equals(tAdvertisementUser.getUserId())){ |
| | | // all |
| | | stringObjectMap.put("sendUser",1); |
| | | }else if("[]".equals(tAdvertisementUser.getDriverId()) && !"[]".equals(tAdvertisementUser.getUserId())){ |
| | | // driver |
| | | stringObjectMap.put("sendUser",2); |
| | | }else if(!"[]".equals(tAdvertisementUser.getDriverId()) && "[]".equals(tAdvertisementUser.getUserId())){ |
| | | stringObjectMap.put("sendUser",3); |
| | | }else if(!"[]".equals(tAdvertisementUser.getDriverId()) && !"[]".equals(tAdvertisementUser.getUserId())){ |
| | | stringObjectMap.put("sendUser",4); |
| | | } |
| | | } |
| | | return advertisementList1; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TAdvertisementUser; |
| | | import com.stylefeng.guns.modular.system.dao.TAdvertisementUserMapper; |
| | | import com.stylefeng.guns.modular.system.service.ITAdvertisementUserService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2022-09-30 |
| | | */ |
| | | @Service |
| | | public class TAdvertisementUserServiceImpl extends ServiceImpl<TAdvertisementUserMapper, TAdvertisementUser> implements ITAdvertisementUserService { |
| | | |
| | | } |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.stylefeng.guns.core.util.ToolUtil; |
| | | import com.stylefeng.guns.modular.system.dao.TCarColorMapper; |
| | | import com.stylefeng.guns.modular.system.model.TCarColor; |
| | | import com.stylefeng.guns.modular.system.service.ITCarColorService; |
| | |
| | | @Override |
| | | public Map<String, Object> list(String createTime, String name, Integer offset, Integer limit) throws Exception { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | List<Map<String, Object>> list = tCarColorMapper.list(createTime, name, offset, limit); |
| | | int i = tCarColorMapper.listCount(createTime, name); |
| | | String start = ""; |
| | | String end = ""; |
| | | if(ToolUtil.isNotEmpty(createTime)){ |
| | | start = createTime.split(" - ")[0]; |
| | | end = createTime.split(" - ")[1]; |
| | | } |
| | | List<Map<String, Object>> list = tCarColorMapper.list(start, end, name, offset, limit); |
| | | int i = tCarColorMapper.listCount(start, end, name); |
| | | map.put("rows", list); |
| | | map.put("total", i); |
| | | return map; |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TReportLoss; |
| | | import com.stylefeng.guns.modular.system.dao.TReportLossMapper; |
| | | import com.stylefeng.guns.modular.system.service.ITReportLossService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * 报失 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2022-09-29 |
| | | */ |
| | | @Service |
| | | public class TReportLossServiceImpl extends ServiceImpl<TReportLossMapper, TReportLoss> implements ITReportLossService { |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> getReportLossList(String beginTime, String endTime, String phone, Integer status) { |
| | | List<Map<String, Object>> reportLossList = this.baseMapper.getReportLossList(beginTime, endTime, phone, status); |
| | | for (Map<String, Object> stringObjectMap : reportLossList) { |
| | | // (1=专车,2=出租车,3=跨城出行,4=同城小件物流,5=跨城小件物流,6=包车 |
| | | Integer orderType = (Integer) stringObjectMap.get("orderType"); |
| | | Integer orderId = (Integer) stringObjectMap.get("orderId"); |
| | | String carNumber=""; |
| | | if(orderType==1){ |
| | | // 专车 |
| | | carNumber = this.baseMapper.getCarNumber1(orderId); |
| | | }else if(orderType==2){ |
| | | carNumber = this.baseMapper.getCarNumber2(orderId); |
| | | }else if(orderType==3){ |
| | | carNumber = this.baseMapper.getCarNumber3(orderId); |
| | | }else if(orderType==4){ |
| | | carNumber = this.baseMapper.getCarNumber4(orderId); |
| | | }else if(orderType==5){ |
| | | carNumber = this.baseMapper.getCarNumber5(orderId); |
| | | }else if(orderType==6){ |
| | | carNumber = this.baseMapper.getCarNumber6(orderId); |
| | | } |
| | | stringObjectMap.put("carNumber",carNumber); |
| | | } |
| | | return reportLossList; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util; |
| | | |
| | | import javax.mail.*; |
| | | import javax.mail.internet.InternetAddress; |
| | | import javax.mail.internet.MimeBodyPart; |
| | | import javax.mail.internet.MimeMessage; |
| | | import javax.mail.internet.MimeMultipart; |
| | | import java.util.Date; |
| | | import java.util.Properties; |
| | | |
| | | /** |
| | | * 邮件工具类 |
| | | */ |
| | | public class EmailUtil { |
| | | |
| | | /* |
| | | * gmail邮箱SSL方式 |
| | | */ |
| | | private static void gmailssl(Properties props) { |
| | | final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory"; |
| | | props.put("mail.debug", "true"); |
| | | props.put("mail.smtp.host", "smtp.gmail.com"); |
| | | props.put("mail.smtp.ssl.enable", "true"); |
| | | props.put("mail.smtp.socketFactory.class", SSL_FACTORY); |
| | | props.put("mail.smtp.port", "465"); |
| | | props.put("mail.smtp.socketFactory.port", "465"); |
| | | props.put("mail.smtp.auth", "true"); |
| | | } |
| | | |
| | | |
| | | //gmail邮箱的TLS方式 |
| | | private static void gmailtls(Properties props) { |
| | | props.put("mail.smtp.auth", "true"); |
| | | props.put("mail.smtp.starttls.enable", "true"); |
| | | props.put("mail.smtp.host", "smtp.gmail.com"); |
| | | props.put("mail.smtp.port", "587"); |
| | | } |
| | | |
| | | /** |
| | | * 创建邮件内容 |
| | | * |
| | | * @param sentToEmail 接收人邮箱 |
| | | * @param subject 设置邮件主题 |
| | | * @param content 内容 |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | public static boolean send(String sentToEmail, String subject, String content) throws Exception { |
| | | //1.创建一封邮件的实例对象 |
| | | Properties props = new Properties(); |
| | | //选择ssl方式 |
| | | gmailssl(props); |
| | | |
| | | final String username = "southwindservice@gmail.com";// gmail 邮箱 |
| | | final String password = "ogsntijmguisoiuk";// Google应用专用密码 |
| | | // 当做多商户的时候需要使用getInstance, 如果只是一个邮箱发送的话就用getDefaultInstance |
| | | // Session.getDefaultInstance 会将username,password保存在session会话中 |
| | | // Session.getInstance 不进行保存 |
| | | Session session = Session.getInstance(props, |
| | | new Authenticator() { |
| | | protected PasswordAuthentication getPasswordAuthentication() { |
| | | return new PasswordAuthentication(username, password); |
| | | } |
| | | }); |
| | | MimeMessage msg = new MimeMessage(session); |
| | | //2.设置发件人地址 |
| | | msg.setFrom(new InternetAddress(sentToEmail)); |
| | | /** |
| | | * 3.设置收件人地址(可以增加多个收件人、抄送、密送),即下面这一行代码书写多行 |
| | | * MimeMessage.RecipientType.TO:发送 |
| | | * MimeMessage.RecipientType.CC:抄送 |
| | | * MimeMessage.RecipientType.BCC:密送 |
| | | */ |
| | | msg.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(sentToEmail)); |
| | | //4.设置邮件主题 |
| | | msg.setSubject(subject, "UTF-8"); |
| | | // 6. 创建文本"节点" |
| | | MimeBodyPart text = new MimeBodyPart(); |
| | | // 这里添加图片的方式是将整个图片包含到邮件内容中, 实际上也可以以 http 链接的形式添加网络图片 |
| | | text.setContent(content, "text/html;charset=UTF-8"); |
| | | // 7. (文本+图片)设置 文本 和 图片"节点"的关系(将 文本 和 图片"节点"合成一个混合"节点") |
| | | MimeMultipart mm_text_image = new MimeMultipart(); |
| | | mm_text_image.addBodyPart(text); |
| | | mm_text_image.setSubType("related"); // 关联关系 |
| | | // 11. 设置整个邮件的关系(将最终的混合"节点"作为邮件的内容添加到邮件对象) |
| | | msg.setContent(mm_text_image); |
| | | //设置邮件的发送时间,默认立即发送 |
| | | msg.setSentDate(new Date()); |
| | | |
| | | Transport.send(msg); |
| | | return true; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util.GoogleMap; |
| | | |
| | | public class AddressComponentsVo { |
| | | /** |
| | | * 长名称 |
| | | */ |
| | | private String longName; |
| | | /** |
| | | * 短名称 |
| | | */ |
| | | private String shortName; |
| | | |
| | | public String getLongName() { |
| | | return longName; |
| | | } |
| | | |
| | | public void setLongName(String longName) { |
| | | this.longName = longName; |
| | | } |
| | | |
| | | public String getShortName() { |
| | | return shortName; |
| | | } |
| | | |
| | | public void setShortName(String shortName) { |
| | | this.shortName = shortName; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util.GoogleMap; |
| | | |
| | | public class DistancematrixVo { |
| | | /** |
| | | * 预估时间(秒) |
| | | */ |
| | | private Long duration; |
| | | |
| | | /** |
| | | * 预估里程(米) |
| | | */ |
| | | private Long distance; |
| | | |
| | | public Long getDuration() { |
| | | return duration; |
| | | } |
| | | |
| | | public void setDuration(Long duration) { |
| | | this.duration = duration; |
| | | } |
| | | |
| | | public Long getDistance() { |
| | | return distance; |
| | | } |
| | | |
| | | public void setDistance(Long distance) { |
| | | this.distance = distance; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util.GoogleMap; |
| | | |
| | | public class FindPlaceFromTextVo { |
| | | /** |
| | | * 名称 |
| | | */ |
| | | private String name; |
| | | /** |
| | | * 详细地址 |
| | | */ |
| | | private String address; |
| | | /** |
| | | * 纬度 |
| | | */ |
| | | private Double lat; |
| | | /** |
| | | * 经度 |
| | | */ |
| | | private Double lng; |
| | | |
| | | public String getName() { |
| | | return name; |
| | | } |
| | | |
| | | public void setName(String name) { |
| | | this.name = name; |
| | | } |
| | | |
| | | public String getAddress() { |
| | | return address; |
| | | } |
| | | |
| | | public void setAddress(String address) { |
| | | this.address = address; |
| | | } |
| | | |
| | | public Double getLat() { |
| | | return lat; |
| | | } |
| | | |
| | | public void setLat(Double lat) { |
| | | this.lat = lat; |
| | | } |
| | | |
| | | public Double getLng() { |
| | | return lng; |
| | | } |
| | | |
| | | public void setLng(Double lng) { |
| | | this.lng = lng; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util.GoogleMap; |
| | | |
| | | public class GeocodeVo { |
| | | /** |
| | | * 纬度 |
| | | */ |
| | | private double lat; |
| | | /** |
| | | * 经度 |
| | | */ |
| | | private double lng; |
| | | |
| | | public double getLat() { |
| | | return lat; |
| | | } |
| | | |
| | | public void setLat(double lat) { |
| | | this.lat = lat; |
| | | } |
| | | |
| | | public double getLng() { |
| | | return lng; |
| | | } |
| | | |
| | | public void setLng(double lng) { |
| | | this.lng = lng; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util.GoogleMap; |
| | | |
| | | import com.google.gson.Gson; |
| | | import com.google.gson.GsonBuilder; |
| | | import com.google.maps.*; |
| | | import com.google.maps.model.*; |
| | | |
| | | /** |
| | | * 谷歌地图工具类 |
| | | */ |
| | | public class GoogleMapUtil { |
| | | |
| | | private final static String key = "AIzaSyA_FEliOkbkL1IAHQsnBpbpo9MlIp729H0"; |
| | | |
| | | |
| | | /** |
| | | * 地理编码(地址获取位置坐标) |
| | | * @param address 地址信息 |
| | | * @throws Exception |
| | | */ |
| | | public static GeocodeVo getGeocode(String address) throws Exception{ |
| | | GeoApiContext context = new GeoApiContext.Builder() |
| | | .apiKey(key) |
| | | .build(); |
| | | GeocodingResult[] results = GeocodingApi.geocode(context, address).await(); |
| | | GeocodeVo vo = null; |
| | | if(results.length > 0){ |
| | | Gson gson = new GsonBuilder().setPrettyPrinting().create(); |
| | | System.out.println(gson.toJson(results[0].addressComponents)); |
| | | |
| | | Geometry geometry = results[0].geometry; |
| | | LatLng location = geometry.location; |
| | | vo = new GeocodeVo(); |
| | | vo.setLat(location.lat); |
| | | vo.setLng(location.lng); |
| | | } |
| | | context.shutdown(); |
| | | return vo; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 逆地理编码获取地址信息 |
| | | * @param lat 纬度 |
| | | * @param lng 经度 |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | public static ReverseGeocodeVo getReverseGeocode(double lat, double lng) throws Exception{ |
| | | GeoApiContext context = new GeoApiContext.Builder() |
| | | .apiKey(key) |
| | | .build(); |
| | | GeocodingApiRequest request = GeocodingApi.reverseGeocode(context, new LatLng(lat, lng)); |
| | | GeocodingResult[] results = request.await(); |
| | | ReverseGeocodeVo vo = null; |
| | | if(results.length > 0){ |
| | | Gson gson = new GsonBuilder().setPrettyPrinting().create(); |
| | | System.out.println(gson.toJson(results[0].addressComponents)); |
| | | |
| | | |
| | | vo = new ReverseGeocodeVo(); |
| | | AddressComponent[] addressComponents = results[0].addressComponents; |
| | | AddressComponentsVo[] addressComponentsVos = new AddressComponentsVo[addressComponents.length]; |
| | | for (int i = 0; i < addressComponents.length; i++) { |
| | | AddressComponentsVo addressComponentsVo = new AddressComponentsVo(); |
| | | addressComponentsVo.setLongName(addressComponents[i].longName); |
| | | addressComponentsVo.setShortName(addressComponents[i].shortName); |
| | | addressComponentsVos[i] = addressComponentsVo; |
| | | } |
| | | String address = results[0].formattedAddress; |
| | | vo.setAddressComponentsVos(addressComponentsVos); |
| | | vo.setAddress(address); |
| | | } |
| | | context.shutdown(); |
| | | return vo; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 搜索地图获取地图结果 |
| | | * @param input |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | public static FindPlaceFromTextVo findplacefromtext(String input) throws Exception{ |
| | | GeoApiContext context = new GeoApiContext.Builder() |
| | | .apiKey(key) |
| | | .build(); |
| | | FindPlaceFromTextRequest request = new FindPlaceFromTextRequest(context); |
| | | request.input(input); |
| | | request.inputType(FindPlaceFromTextRequest.InputType.TEXT_QUERY); |
| | | FindPlaceFromText findPlaceFromText = request.await(); |
| | | PlacesSearchResult[] candidates = findPlaceFromText.candidates; |
| | | FindPlaceFromTextVo vo = null; |
| | | if(candidates.length > 0){ |
| | | vo = new FindPlaceFromTextVo(); |
| | | String formattedAddress = candidates[0].formattedAddress; |
| | | String name = candidates[0].name; |
| | | Geometry geometry = candidates[0].geometry; |
| | | LatLng location = geometry.location; |
| | | double lat = location.lat; |
| | | double lng = location.lng; |
| | | |
| | | vo.setName(name); |
| | | vo.setAddress(formattedAddress); |
| | | vo.setLat(lat); |
| | | vo.setLng(lng); |
| | | } |
| | | return vo; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 模糊搜索地图内容 |
| | | * @param query |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | public static FindPlaceFromTextVo textsearch(String query) throws Exception{ |
| | | GeoApiContext context = new GeoApiContext.Builder() |
| | | .apiKey(key) |
| | | .build(); |
| | | TextSearchRequest request = new TextSearchRequest(context); |
| | | request.query(query); |
| | | PlacesSearchResponse placesSearchResponse = request.await(); |
| | | PlacesSearchResult[] results = placesSearchResponse.results; |
| | | FindPlaceFromTextVo vo = null; |
| | | if(results.length > 0){ |
| | | vo = new FindPlaceFromTextVo(); |
| | | String formattedAddress = results[0].formattedAddress; |
| | | String name = results[0].name; |
| | | Geometry geometry = results[0].geometry; |
| | | LatLng location = geometry.location; |
| | | double lat = location.lat; |
| | | double lng = location.lng; |
| | | |
| | | vo.setName(name); |
| | | vo.setAddress(formattedAddress); |
| | | vo.setLat(lat); |
| | | vo.setLng(lng); |
| | | } |
| | | return vo; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 获取两个地点之间的预估里程和预估时间 |
| | | * @param origin 起点 |
| | | * @param destination 终点 |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | public static DistancematrixVo getDistancematrix(String origin, String destination) throws Exception{ |
| | | GeoApiContext context = new GeoApiContext.Builder() |
| | | .apiKey(key) |
| | | .build(); |
| | | DistanceMatrixApiRequest request = DistanceMatrixApi.getDistanceMatrix(context, new String[]{origin}, new String[]{destination}); |
| | | request.mode(TravelMode.DRIVING);//出行方式(驾车) |
| | | DistanceMatrix distanceMatrix = request.await(); |
| | | Gson gson = new GsonBuilder().setPrettyPrinting().create(); |
| | | System.out.println(gson.toJson(distanceMatrix)); |
| | | context.shutdown(); |
| | | |
| | | DistanceMatrixElement elements = distanceMatrix.rows[0].elements[0]; |
| | | DistancematrixVo vo = new DistancematrixVo(); |
| | | vo.setDistance(elements.distance.inMeters); |
| | | vo.setDuration(elements.duration.inSeconds); |
| | | return vo; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取两点之间的距离 |
| | | * @param sLat |
| | | * @param sLnt |
| | | * @param eLat |
| | | * @param eLnt |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | public static DistancematrixVo getDistancematrix(Double sLat, Double sLnt, Double eLat, Double eLnt) throws Exception{ |
| | | ReverseGeocodeVo reverseGeocode = getReverseGeocode(sLat, sLnt); |
| | | ReverseGeocodeVo reverseGeocode1 = getReverseGeocode(eLat, eLnt); |
| | | if(null != reverseGeocode && null != reverseGeocode1){ |
| | | String origin = reverseGeocode.getAddress(); |
| | | String destination = reverseGeocode1.getAddress(); |
| | | return getDistancematrix(origin, destination); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取两地点之间的线路规划 |
| | | * @param origin 起点 要计算方向的位置ID、地址或文本纬度/经度值。目标参数的选项与原点参数的相同。 |
| | | * @param destination 终点 要计算方向的位置ID、地址或文本纬度/经度值。目标参数的选项与原点参数的相同。 |
| | | * |
| | | */ |
| | | public static void getDirections(String origin, String destination) throws Exception{ |
| | | GeoApiContext context = new GeoApiContext.Builder() |
| | | .apiKey(key) |
| | | .build(); |
| | | DirectionsApiRequest directions = DirectionsApi.getDirections(context, origin, destination); |
| | | directions.mode(TravelMode.DRIVING);//出行方式(驾车) |
| | | DirectionsResult result = directions.await(); |
| | | |
| | | Gson gson = new GsonBuilder().setPrettyPrinting().create(); |
| | | System.out.println(gson.toJson(result)); |
| | | context.shutdown(); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | public static void main(String[] ages){ |
| | | try { |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util.GoogleMap; |
| | | |
| | | public class ReverseGeocodeVo { |
| | | /** |
| | | * 完整地址名称 |
| | | */ |
| | | private String address; |
| | | /** |
| | | * 分段地址名称数组 |
| | | */ |
| | | private AddressComponentsVo[] addressComponentsVos; |
| | | |
| | | |
| | | public String getAddress() { |
| | | return address; |
| | | } |
| | | |
| | | public void setAddress(String address) { |
| | | this.address = address; |
| | | } |
| | | |
| | | public AddressComponentsVo[] getAddressComponentsVos() { |
| | | return addressComponentsVos; |
| | | } |
| | | |
| | | public void setAddressComponentsVos(AddressComponentsVo[] addressComponentsVos) { |
| | | this.addressComponentsVos = addressComponentsVos; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.util; |
| | | |
| | | import com.obs.services.ObsClient; |
| | | import com.obs.services.model.PutObjectResult; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.util.UUID; |
| | | |
| | | public class OBSUploadUtil { |
| | | |
| | | //OSS图片访问域名 |
| | | public static String endPoint = "https://obs.af-south-1.myhuaweicloud.com"; |
| | | public static String accessKey = "RGQE7AADCGJB1TINX14N"; |
| | | public static String accessKeySecret = "oCaIH0CzUB02mTt2gDinMP5SybdrzuBP78UPZd3X"; |
| | | public static String bucketName="i-go"; |
| | | |
| | | |
| | | /** |
| | | * 流式上传 |
| | | * @param file |
| | | * @return |
| | | * @throws IOException |
| | | */ |
| | | public static String inputStreamUpload(MultipartFile file) throws IOException { |
| | | // 创建ObsClient实例 |
| | | ObsClient obsClient = new ObsClient(accessKey, accessKeySecret, endPoint); |
| | | String originalFilename = file.getOriginalFilename(); |
| | | String fileName = UUID.randomUUID().toString().replaceAll("-","") + originalFilename.subSequence(originalFilename.lastIndexOf("."), originalFilename.length()); |
| | | // 待上传的本地文件路径,需要指定到具体的文件名 |
| | | InputStream content = file.getInputStream();//获得指定文件的输入流 |
| | | PutObjectResult putObjectResult = obsClient.putObject(bucketName, fileName, content); |
| | | String objectUrl = putObjectResult.getObjectUrl(); |
| | | return objectUrl; |
| | | } |
| | | } |
| | |
| | | package com.stylefeng.guns.modular.system.util; |
| | | |
| | | public class PushURL { |
| | | public static String order_push_url = "http://116.63.168.184:8081/driver/base/order/pushOrderState"; |
| | | public static String driver_auth_url = "http://116.63.168.184:8081/driver/base/driver/sendsms"; |
| | | public static String withdraw_auth_url = "http://116.63.168.184:8081/driver/base/withdrawal/withdrawalAudit"; |
| | | public static String cancel_order_url = "http://116.63.168.184:8081/user/base/order/sendOrderState"; |
| | | public static String freeze_user_url = "http://116.63.168.184:8081/user/base/user/freeze"; |
| | | public static String zull_user_url = "http://116.63.168.184:8081"; |
| | | public static String ministry_of_transport_data = "http://120.77.11.218:8868/ministryOfTransport"; |
| | | public static String ministry_of_transport_ftp = "http://120.77.11.218:8868/ftp"; |
| | | public static String order_push_url = "http://182.160.16.251:80/driver/base/order/pushOrderState"; |
| | | public static String driver_auth_url = "http://182.160.16.251:80/driver/base/driver/sendsms"; |
| | | public static String withdraw_auth_url = "http://182.160.16.251:80/driver/base/withdrawal/withdrawalAudit"; |
| | | public static String cancel_order_url = "http://182.160.16.251:80/user/base/order/sendOrderState"; |
| | | public static String freeze_user_url = "http://182.160.16.251:80/user/base/user/freeze"; |
| | | public static String zull_user_url = "http://182.160.16.251:80"; |
| | | |
| | | // public static String order_push_url = "http://express.feimadache.com:80/driver/base/order/pushOrderState"; |
| | | // public static String driver_auth_url = "http://express.feimadache.com:80/driver/base/driver/sendsms"; |
| | |
| | | // public static String cancel_order_url = "http://express.feimadache.com:80/user/base/order/sendOrderState"; |
| | | // public static String freeze_user_url = "http://express.feimadache.com:80/user/base/user/freeze"; |
| | | // public static String zull_user_url = "http://express.feimadache.com:80"; |
| | | // public static String ministry_of_transport_data = "http://express.feimadache.com:8868/ministryOfTransport"; |
| | | // public static String ministry_of_transport_ftp = "http://express.feimadache.com:8868/ftp"; |
| | | |
| | | /*public static String order_push_url = "http://localhost:80/driver/base/order/pushOrderState"; |
| | | public static String driver_auth_url = "http://localhost:80/driver/base/driver/sendsms"; |
| | | public static String withdraw_auth_url = "http://localhost:80/driver/base/withdrawal/withdrawalAudit"; |
| | | public static String cancel_order_url = "http://localhost:80/user/base/order/sendOrderState"; |
| | | public static String freeze_user_url = "http://localhost:80/user/base/user/freeze"; |
| | | public static String zull_user_url = "http://localhost:80"; |
| | | public static String ministry_of_transport_data = "http://localhost:8868/ministryOfTransport"; |
| | | public static String ministry_of_transport_ftp = "http://localhost:8868/ftp";*/ |
| | | public static String zull_user_url = "http://localhost:80";*/ |
| | | } |
| | |
| | | private ITLocationService locationService; |
| | | |
| | | @Autowired |
| | | private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; |
| | | |
| | | @Value("${pushMinistryOfTransport}") |
| | | private boolean pushMinistryOfTransport; |
| | | |
| | | @Autowired |
| | | private ITDriverService driverService; |
| | | |
| | | |
| | |
| | | @Scheduled(cron = "0 0 1 1 * *") |
| | | public void taskMonth(){ |
| | | try { |
| | | if(pushMinistryOfTransport){ |
| | | List<TDriver> tDrivers = driverService.selectList(new EntityWrapper<TDriver>().eq("authState", 2).ne("flag", 3)); |
| | | for(TDriver driver : tDrivers){ |
| | | pushMinistryOfTransportUtil.baseInfoDriverStat(driver.getId()); |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | |
| | | notice.setInsertTime(new Date()); |
| | | notice.setRead(1); |
| | | tSystemNoticeService.insert(notice); |
| | | |
| | | /*Map<String,Object> map = new HashMap<String,Object>(); |
| | | map.put("sound", userInfo.getIsVoice()); //是否有声音 1=否 2=是 |
| | | map.put("vibrate", userInfo.getIsShake()); //是否有震动 1=否 2=是 |
| | | map.put("type", 2); //消息类型 1=互动 2=公告 |
| | | map.put("id", record.getId()); //对象ID |
| | | JpushUtil.SendPushWithCustomForTransmission(String.valueOf(userInfo.getId()),"【超级过客】提醒您,您有一条新的公告消息。","通知消息",map);*/ |
| | | } |
| | | } |
| | | if (tNotices.getIsDriver() == 2){ |
| | |
| | | notice.setInsertTime(new Date()); |
| | | notice.setRead(1); |
| | | tSystemNoticeService.insert(notice); |
| | | |
| | | /*Map<String,Object> map = new HashMap<String,Object>(); |
| | | map.put("sound", userInfo.getIsVoice()); //是否有声音 1=否 2=是 |
| | | map.put("vibrate", userInfo.getIsShake()); //是否有震动 1=否 2=是 |
| | | map.put("type", 2); //消息类型 1=互动 2=公告 |
| | | map.put("id", record.getId()); //对象ID |
| | | JpushUtil.SendPushWithCustomForTransmission(String.valueOf(userInfo.getId()),"【超级过客】提醒您,您有一条新的公告消息。","通知消息",map);*/ |
| | | |
| | | if (tNotices.getIsBroadcast() == 1){ |
| | | //增加极光推送 |
| | |
| | | |
| | | spring: |
| | | profiles: |
| | | active: local |
| | | # active: dev |
| | | active: produce |
| | | mvc: |
| | | static-path-pattern: /static/** |
| | | view: |
| | |
| | | configuration.map-underscore-to-camel-case: true #是否开启自动驼峰命名规则(camel case)映射 |
| | | log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl #输出Sql,如需打印Sql注释该配置 |
| | | |
| | | logging: |
| | | level.root: error |
| | | level.com.stylefeng: debug |
| | | path: logs/ |
| | | file: guns.log |
| | | |
| | | |
| | | #eureka: |
| | | # client: |
| | |
| | | |
| | | --- |
| | | |
| | | #spring: |
| | | # profiles: local |
| | | # datasource: |
| | | # url: jdbc:mysql://Rm-wz9rpe0t74ys3b1h8go.mysql.rds.aliyuncs.com:3306/oktravel?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8 |
| | | # username: root |
| | | # password: Root2020! |
| | | # db-name: oktravel #用来搜集数据库的所有表 |
| | | # filters: wall,mergeStat |
| | | |
| | | ################# 测试环境 ################### |
| | | spring: |
| | | profiles: local |
| | | datasource: |
| | | url: jdbc:mysql://116.63.168.184:3306/feima?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai |
| | | url: jdbc:mysql://127.0.0.1:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai |
| | | username: root |
| | | password: root |
| | | password: HjKbXilb9zajmXbl |
| | | db-name: guns #用来搜集数据库的所有表 |
| | | filters: wall,mergeStat |
| | | |
| | | ################# 测试环境 ################### |
| | | #spring: |
| | | # datasource: |
| | | # url: jdbc:mysql://127.0.0.1:3306/igotravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai |
| | | # username: root |
| | | # password: 123456 |
| | | # db-name: igotravel #用来搜集数据库的所有表 |
| | | # filters: wall,mergeStat |
| | | |
| | | |
| | | #多数据源情况的配置 |
| | |
| | | - dataSourceGuns |
| | | - dataSourceBiz |
| | | |
| | | --- |
| | | |
| | | spring: |
| | | profiles: produce |
| | | datasource: |
| | | url: jdbc:mysql://120.24.34.190:3306/mask?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8 |
| | | username: root |
| | | password: Root2020! |
| | | db-name: mask #用来搜集数据库的所有表 |
| | | filters: wall,mergeStat |
| | | |
| | | --- |
| | | |
| | | #filePath: /usr/local/server/orderPostionFile/ #存储订单轨迹文件路径 |
| | | filePath: C:/orderPostionFile/ #存储订单轨迹文件路径 |
| | | |
| | | |
| | | #交通部推送数据功能开关 |
| | | pushMinistryOfTransport: false |
| | | filePath: /usr/local/server/orderPostionFile/ #存储订单轨迹文件路径 |
| | | #filePath: d:/orderPostionFile/ #存储订单轨迹文件路径 |
| | | |
| | | #quartz配置 |
| | | spring: |
| | |
| | | threadsInheritContextClassLoaderOfInitializingThread: true |
| | | job-store-type: jdbc |
| | | |
| | | --- |
| | | |
| | | spring: |
| | | mail: |
| | | host: smtp.gmail.com # 配置 smtp 服务器地址 |
| | | port: 465 # smtp 服务器的端口 |
| | | username: southwindservice@gmail.com # 配置邮箱用户名(你的邮箱地址) |
| | | password: ogsntijmguisoiuk # 配置申请到的授权码(刚让复制的授权码) |
| | | default-encoding: UTF-8 # 配置邮件编码 |
| | | properties: |
| | | mail: |
| | | smtp: |
| | | socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂 |
| | | debug: true |
| | | from: southwindservice@gmail.com # 发送方邮件,配在yml中可方便更改 |
| | | template-path: /usr/local/nginx/html/mailbox/ |
| | | |
| | | --- |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <configuration> |
| | | <!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,比如: 如果设置为WARN,则低于WARN的信息都不会输出 --> |
| | | <!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true --> |
| | | <!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。 --> |
| | | <!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 --> |
| | | <configuration scan="true" scanPeriod="10 seconds"> |
| | | <contextName>logback</contextName> |
| | | |
| | | <!--定义日志存放的位置--> |
| | | <springProperty scope="context" name="gunsLogPath" source="log.path" defaultValue="guns-logs"/> |
| | | <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 --> |
| | | <property name="log.path" value="/usr/local/server/logs/admin"/> |
| | | |
| | | <!-- ****************************************************************************************** --> |
| | | <!-- ****************************** 本地开发只在控制台打印日志 ******************************** --> |
| | | <!-- ****************************************************************************************** --> |
| | | <springProfile name="local"> |
| | | <!--0. 日志格式和颜色渲染 --> |
| | | <!-- 彩色日志依赖的渲染类 --> |
| | | <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> |
| | | <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> |
| | | <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> |
| | | <!-- 彩色日志格式 --> |
| | | <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> |
| | | |
| | | <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> |
| | | <!--encoder 默认配置为PatternLayoutEncoder--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %logger Line:%-3L - %msg%n</pattern> |
| | | <charset>utf-8</charset> |
| | | </encoder> |
| | | </appender> |
| | | <!--1. 输出到控制台--> |
| | | <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> |
| | | <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息--> |
| | | <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> |
| | | <level>debug</level> |
| | | </filter> |
| | | <encoder> |
| | | <Pattern>${CONSOLE_LOG_PATTERN}</Pattern> |
| | | <!-- 设置字符集 --> |
| | | <charset>UTF-8</charset> |
| | | </encoder> |
| | | </appender> |
| | | |
| | | <!-- 日志记录器,日期滚动记录 --> |
| | | <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文件的路径及文件名 --> |
| | | <file>${gunsLogPath}/log_error.log</file> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。 |
| | | 而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 --> |
| | | <fileNamePattern>${gunsLogPath}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, |
| | | 命名日志文件,例如log-error-2013-12-21.0.log --> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>2MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | </rollingPolicy> |
| | | <!-- 追加方式记录日志 --> |
| | | <append>true</append> |
| | | <!-- 日志文件的格式 --> |
| | | <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern> |
| | | <charset>utf-8</charset> |
| | | </encoder> |
| | | <!-- 日志文件记录级别配置。 |
| | | 日志级别:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF |
| | | onMatch="ACCEPT" 表示匹配该级别及以上 |
| | | onMatch="DENY" 表示不匹配该级别及以上 |
| | | onMatch="NEUTRAL" 表示该级别及以上的,由下一个filter处理,如果当前是最后一个,则表示匹配该级别及以上 |
| | | onMismatch="ACCEPT" 表示匹配该级别以下 |
| | | onMismatch="NEUTRAL" 表示该级别及以下的,由下一个filter处理,如果当前是最后一个,则不匹配该级别以下的 |
| | | onMismatch="DENY" 表示不匹配该级别以下的 |
| | | --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>ERROR</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | <!--2. 输出到文档--> |
| | | <!-- 2.1 level为 DEBUG 日志,时间滚动输出 --> |
| | | <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文档的路径及文档名 --> |
| | | <file>${log.path}/debug.log</file> |
| | | <!--日志文档输出格式--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- 设置字符集 --> |
| | | </encoder> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <!-- 日志归档 --> |
| | | <fileNamePattern>${log.path}/%d{yyyy-MM-dd}/debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--日志文档保留天数--> |
| | | <maxHistory>15</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- 此日志文档只记录debug级别的 --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>debug</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <root level="INFO"> |
| | | <appender-ref ref="STDOUT"/> |
| | | <appender-ref ref="FILE"/> |
| | | <!-- 2.2 level为 INFO 日志,时间滚动输出 --> |
| | | <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文档的路径及文档名 --> |
| | | <file>${log.path}/info.log</file> |
| | | <!--日志文档输出格式--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> |
| | | </encoder> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <!-- 每天日志归档路径以及格式 --> |
| | | <fileNamePattern>${log.path}/%d{yyyy-MM-dd}/info-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--日志文档保留天数--> |
| | | <maxHistory>15</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- 此日志文档只记录info级别的 --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>info</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 2.3 level为 WARN 日志,时间滚动输出 --> |
| | | <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文档的路径及文档名 --> |
| | | <file>${log.path}/warn.log</file> |
| | | <!--日志文档输出格式--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- 此处设置字符集 --> |
| | | </encoder> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <fileNamePattern>${log.path}/%d{yyyy-MM-dd}/warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--日志文档保留天数--> |
| | | <maxHistory>15</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- 此日志文档只记录warn级别的 --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>warn</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 2.4 level为 ERROR 日志,时间滚动输出 --> |
| | | <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文档的路径及文档名 --> |
| | | <file>${log.path}/error.log</file> |
| | | <!--日志文档输出格式--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- 此处设置字符集 --> |
| | | </encoder> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <fileNamePattern>${log.path}/%d{yyyy-MM-dd}/error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--日志文档保留天数--> |
| | | <maxHistory>15</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- 此日志文档只记录ERROR级别的 --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>ERROR</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 2.5 所有 除了DEBUG级别的其它高于DEBUG的 日志,记录到一个文件 --> |
| | | <appender name="ALL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文档的路径及文档名 --> |
| | | <file>${log.path}/all.log</file> |
| | | <!--日志文档输出格式--> |
| | | <encoder> |
| | | <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> <!-- 此处设置字符集 --> |
| | | </encoder> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <fileNamePattern>${log.path}/%d{yyyy-MM-dd}/all-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>100MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | <!--日志文档保留天数--> |
| | | <maxHistory>15</maxHistory> |
| | | </rollingPolicy> |
| | | <!-- 此日志文档记录除了DEBUG级别的其它高于DEBUG的 --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>DEBUG</level> |
| | | <onMatch>DENY</onMatch> |
| | | <onMismatch>ACCEPT</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- |
| | | <logger>用来设置某一个包或者具体的某一个类的日志打印级别、 |
| | | 以及指定<appender>。<logger>仅有一个name属性, |
| | | 一个可选的level和一个可选的addtivity属性。 |
| | | name:用来指定受此logger约束的某一个包或者具体的某一个类。 |
| | | level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF, |
| | | 还有一个特殊值INHERITED或者同义词NULL,代表强制执行上级的级别。 |
| | | 如果未设置此属性,那么当前logger将会继承上级的级别。 |
| | | addtivity:是否向上级logger传递打印信息。默认是true。 |
| | | <logger name="org.springframework.web" level="info"/> |
| | | <logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/> |
| | | --> |
| | | |
| | | <!-- |
| | | root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性 |
| | | level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF, |
| | | 不能设置为INHERITED或者同义词NULL。默认是DEBUG |
| | | 可以包含零个或多个元素,标识这个appender将会添加到这个logger。 |
| | | --> |
| | | |
| | | <!-- 4 最终的策略: |
| | | 基本策略(root级) + 根据profile在启动时, logger标签中定制化package日志级别(优先级高于上面的root级)--> |
| | | <springProfile name="dev"> |
| | | <root level="info"> |
| | | <appender-ref ref="CONSOLE" /> |
| | | <appender-ref ref="DEBUG_FILE" /> |
| | | <appender-ref ref="INFO_FILE" /> |
| | | <appender-ref ref="WARN_FILE" /> |
| | | <appender-ref ref="ERROR_FILE" /> |
| | | <appender-ref ref="ALL_FILE" /> |
| | | </root> |
| | | <logger name="com.stylefeng.guns.modular.system.dao" level="debug"/> |
| | | <logger name="business-log" level="warn"/> |
| | | </springProfile> |
| | | |
| | | <!-- ****************************************************************************************** --> |
| | | <!-- ********************** 放到服务器上不管在什么环境都只在文件记录日志 ********************** --> |
| | | <!-- ****************************************************************************************** --> |
| | | <springProfile name="!local"> |
| | | |
| | | <!-- 日志记录器,日期滚动记录 --> |
| | | <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文件的路径及文件名 --> |
| | | <file>${gunsLogPath}/log_error.log</file> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。 |
| | | 而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 --> |
| | | <fileNamePattern>${gunsLogPath}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, |
| | | 命名日志文件,例如log-error-2013-12-21.0.log --> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>2MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | </rollingPolicy> |
| | | <!-- 追加方式记录日志 --> |
| | | <append>true</append> |
| | | <!-- 日志文件的格式 --> |
| | | <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> |
| | | <pattern>===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern> |
| | | <charset>utf-8</charset> |
| | | </encoder> |
| | | <!-- 此日志文件只记录error级别的 --> |
| | | <filter class="ch.qos.logback.classic.filter.LevelFilter"> |
| | | <level>error</level> |
| | | <onMatch>ACCEPT</onMatch> |
| | | <onMismatch>DENY</onMismatch> |
| | | </filter> |
| | | </appender> |
| | | |
| | | <!-- 日志记录器,日期滚动记录 --> |
| | | <appender name="FILE_ALL" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| | | <!-- 正在记录的日志文件的路径及文件名 --> |
| | | <file>${gunsLogPath}/log_total.log</file> |
| | | <!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
| | | <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| | | <!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。 |
| | | 而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 --> |
| | | <fileNamePattern>${gunsLogPath}/total/log-total-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
| | | <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, |
| | | 命名日志文件,例如log-error-2013-12-21.0.log --> |
| | | <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
| | | <maxFileSize>2MB</maxFileSize> |
| | | </timeBasedFileNamingAndTriggeringPolicy> |
| | | </rollingPolicy> |
| | | <!-- 追加方式记录日志 --> |
| | | <append>true</append> |
| | | <!-- 日志文件的格式 --> |
| | | <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> |
| | | <pattern>===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern> |
| | | <charset>utf-8</charset> |
| | | </encoder> |
| | | </appender> |
| | | |
| | | <root level="INFO"> |
| | | <appender-ref ref="FILE_ERROR"/> |
| | | <appender-ref ref="FILE_ALL"/> |
| | | <springProfile name="fat"> |
| | | <root level="info"> |
| | | <appender-ref ref="CONSOLE" /> |
| | | <appender-ref ref="DEBUG_FILE" /> |
| | | <appender-ref ref="INFO_FILE" /> |
| | | <appender-ref ref="WARN_FILE" /> |
| | | <appender-ref ref="ERROR_FILE" /> |
| | | <appender-ref ref="ALL_FILE" /> |
| | | </root> |
| | | |
| | | <logger name="com.stylefeng.guns.modular.system.dao" level="debug"/> |
| | | <logger name="business-log" level="warn"/> |
| | | </springProfile> |
| | | |
| | | </configuration> |
| | | <springProfile name="produce"> |
| | | <root level="warn"> |
| | | <!-- 生产环境最好不配置console写文件 --> |
| | | <appender-ref ref="DEBUG_FILE" /> |
| | | <appender-ref ref="INFO_FILE" /> |
| | | <appender-ref ref="WARN_FILE" /> |
| | | <appender-ref ref="ERROR_FILE" /> |
| | | <appender-ref ref="ALL_FILE" /> |
| | | </root> |
| | | <logger name="com.stylefeng.guns.modular.system.dao" level="debug"/> |
| | | <logger name="business-log" level="warn"/> |
| | | </springProfile> |
| | | |
| | | |
| | | </configuration> |
| | |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| | | |
| | | |
| | | <title>喜望出行 - 404 页面</title> |
| | | <title>IGO出行 - 404 页面</title> |
| | | <link rel="shortcut icon" href="${ctxPath}/static/favicon1.ico"> <link href="${ctxPath}/static/css/bootstrap.min.css?v=3.3.6" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/font-awesome.css?v=4.4.0" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/style.css?v=4.1.0" rel="stylesheet"> |
| | |
| | | <div class="navbar-header"><a class="navbar-minimalize minimalize-styl-2 btn btn-primary " href="#"><i class="fa fa-bars"></i> </a> |
| | | <form role="search" class="navbar-form-custom" method="post" action="search_results.html"> |
| | | <div class="form-group"> |
| | | <input type="text" placeholder="喜望出行后台管理系统 …" class="form-control" name="top-search" id="top-search" value="喜望出行后台管理系统" disabled> |
| | | <input type="text" placeholder="IGO出行后台管理系统 …" class="form-control" name="top-search" id="top-search" value="IGO出行后台管理系统" disabled> |
| | | </div> |
| | | </form> |
| | | </div> |
| | |
| | | <iframe class="J_iframe" name="iframe0" width="100%" height="100%" src="${ctxPath}/blackboard?type=${type}" frameborder="0" data-id="${ctxPath}/blackboard" seamless></iframe> |
| | | </div> |
| | | <div class="footer"> |
| | | <div class="pull-right">© 2019-2021 <a href="#" onclick="return false" target="_blank">喜望出行</a> |
| | | <div class="pull-right">© 2019-2022 <a href="#" onclick="return false" target="_blank">IGO出行</a> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <small>专车订单数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail2">0</h1> |
| | | <small>出租车订单</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail3">0</h1> |
| | | <small>跨城出行订单</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail4">0</h1> |
| | | <small>同城小件物流订单</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail5">0</h1> |
| | | <small>跨城小件物流订单</small> |
| | | <small>市内小件物流订单</small> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <small>专车订单数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail21">0</h1> |
| | | <small>出租车订单数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail31">0</h1> |
| | | <small>跨城出行订单数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail41">0</h1> |
| | | <small>同城小件物流订单数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail51">0</h1> |
| | | <small>跨城小件物流订单数</small> |
| | | <small>市内小件物流订单数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="paiceSum1">0</h1> |
| | |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins"> |
| | | <span class="dynamicsparkline" id="orderDetail22">Loading..</span> |
| | | </h1> |
| | | <small>出租车订单趋势图</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins"> |
| | | <span class="dynamicsparkline" id="orderDetail32">Loading..</span> |
| | | </h1> |
| | | <small>跨城出行订单趋势图</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins"> |
| | | <span class="dynamicsparkline" id="orderDetail42">Loading..</span> |
| | | </h1> |
| | | <small>同城小件物流订单趋势图</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins"> |
| | | <span class="dynamicsparkline" id="orderDetail52">Loading..</span> |
| | | </h1> |
| | | <small>跨城小件物流订单趋势图</small> |
| | | <small>市内小件物流订单趋势图</small> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="col-sm-8" style="padding: 0px;"> |
| | | <div class="form-group" style="padding: 0px 5px;"> |
| | | <div id="container" style="height: 47em;"></div> |
| | | <div id="map" style="height: 47em;"></div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-2" style="padding: 0px; height: 47em; overflow: auto"> |
| | |
| | | </div> |
| | | |
| | | <div class="row content" id="orderDiv"> |
| | | <div class="col-sm-8" style="padding: 0px;"> |
| | | <div class="form-group" style="padding: 0px 5px;"> |
| | | <div id="map1" style="height: 47em;width: 1800px;"></div> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" style="height: 80px; padding-top: 20px; background-color: #FFFFFF;margin-bottom: 8px;"> |
| | | <div class="col-sm-12"> |
| | | <div id="container_" style="height: 47em;"></div> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=c59c0ec8058a8305009eb315584e07d1"></script> |
| | | <script src="https://webapi.amap.com/maps?v=1.4.15&key=c59c0ec8058a8305009eb315584e07d1&plugin=AMap.MouseTool"></script> |
| | | <script type="text/javascript" src='https://a.amap.com/jsapi_demos/static/citys.js'></script> |
| | | <script async src="https://maps.googleapis.com/maps/api/js?key=AIzaSyA_FEliOkbkL1IAHQsnBpbpo9MlIp729H0&callback=initMap&v=weekly"></script> |
| | | <script src="${ctxPath}/static/home.js"></script> |
| | | <script src="${ctxPath}/static/js/jquery.sparkline 2.1.2.js"></script> |
| | | @} |
| | |
| | | <meta charset="utf-8"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| | | <meta name="renderer" content="webkit"> |
| | | <title>喜望出行 - 主页</title> |
| | | <title>IGO出行 - 主页</title> |
| | | <link rel="shortcut icon" href="${ctxPath}/static/favicon.ico"> |
| | | <link href="${ctxPath}/static/css/bootstrap.min.css?v=3.3.6" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/font-awesome.min.css?v=4.4.0" rel="stylesheet"> |
| | |
| | | <meta charset="utf-8"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| | | |
| | | <title>喜望出行 - 登录</title> |
| | | <title>IGO出行 - 登录</title> |
| | | |
| | | <link rel="shortcut icon" href="${ctxPath}/static/favicon.ico"> |
| | | <link href="${ctxPath}/static/css/bootstrap.min.css?v=3.3.6" rel="stylesheet"> |
| | |
| | | <img src="${ctxPath}/static/img/index4.png" style="width: 300px;height: 400px;z-index: 1000"> |
| | | <div style="position: relative;left: -20px; max-width: 300px;min-height: 300px;background: white;border-radius: 8px;box-sizing: border-box;padding: 0 30px 0 50px;display: flex;align-items: center;justify-content: center;"> |
| | | <div style="max-height: 100%"> |
| | | <h3 style="color: black;"><img src="${ctxPath}/static/img/logo.png" width="30px" height="30px"/> 喜望出行管理后台</h3> |
| | | <h3 style="color: black;"><img src="${ctxPath}/static/img/logo.png" width="30px" height="30px"/> IGO出行管理后台</h3> |
| | | <br/> |
| | | <h4 style="color: red;">${tips!}</h4> |
| | | <form class="m-t" role="form" action="${ctxPath}/login" method="post"> |
| | |
| | | </label>--> |
| | | </div> |
| | | </div> |
| | | <button type="submit" class="btn full-width m-b" style="background-color: #d56b29;color: black;">登 录</button> |
| | | <button type="submit" class="btn full-width m-b" style="background-color: #82C04B;color: #FFF;">登 录</button> |
| | | </p> |
| | | </form> |
| | | </div> |
| | |
| | | 专车累计在线 <input type="text" id="num4" class="form-control newWidth" /> 小时奖励 |
| | | <input type="text" id="num5" class="form-control newWidth" /> 元 |
| | | <br/> |
| | | <!-- |
| | | <br/> |
| | | 出租车累计在线 <input type="text" id="num6" class="form-control newWidth" /> 小时奖励 |
| | | <input type="text" id="num7" class="form-control newWidth" /> 元 |
| | |
| | | 跨城出行累计在线 <input type="text" id="num8" class="form-control newWidth" /> 小时奖励 |
| | | <input type="text" id="num9" class="form-control newWidth" /> 元 |
| | | <br/> |
| | | --> |
| | | <br/> |
| | | 司机累计达到规定订单数奖励 |
| | | <br/> |
| | |
| | | @} |
| | | name="zc7" class="form-control newWidth" readonly/> 元 |
| | | <br/> |
| | | <!-- |
| | | <br/> |
| | | 出租车累计在线 <input type="text" @if(isNotEmpty(online2)){ |
| | | value="${online2.online}" |
| | |
| | | @} |
| | | name="zc7" class="form-control newWidth" readonly/> 元 |
| | | <br/> |
| | | --> |
| | | <br/> |
| | | 司机累计达到规定订单数奖励 |
| | | <br/> |
| | |
| | | @} |
| | | name="zc7" id="num5" class="form-control newWidth"/> 元 |
| | | <br/> |
| | | <!-- |
| | | <br/> |
| | | 出租车累计在线 <input type="text" @if(isNotEmpty(online2)){ |
| | | value="${online2.online}" |
| | |
| | | @} |
| | | name="zc7" id="num9" class="form-control newWidth"/> 元 |
| | | <br/> |
| | | --> |
| | | <br/> |
| | | 司机累计达到规定订单数奖励 |
| | | <br/> |
| | |
| | | <h4><a href="#" onclick="driverActivityHistory(3,${id3})">领取列表</a></h4> |
| | | </div> |
| | | </div> |
| | | <!-- |
| | | <div class="col-sm-3"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | |
| | | <h4><a href="#" onclick="driverActivityHistory(3,${id5})">领取列表</a></h4> |
| | | </div> |
| | | </div> |
| | | --> |
| | | <div class="col-sm-3"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | |
| | | <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"> |
| | |
| | | <#SelectCon id="type" name="类别" > |
| | | <option value="1">专车</option> |
| | | <!--<option value="2">出租车</option> |
| | | <option value="3">跨城</option> |
| | | <option value="4">小件物流</option>--> |
| | | <option value="3">跨城</option>--> |
| | | <option value="4">小件物流</option> |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | |
| | | <option value="">全部</option> |
| | | <option value="0">通用券</option> |
| | | <option value="1">专车券</option> |
| | | <option value="2">出租车券</option> |
| | | <option value="3">跨城出行券</option> |
| | | <!--<option value="2">出租车券</option>--> |
| | | <!--<option value="3">跨城出行券</option>--> |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | |
| | | <option value="">全部</option> |
| | | <option value="0">通用券</option> |
| | | <option value="1">专车券</option> |
| | | <option value="2">出租车券</option> |
| | | <option value="3">跨城出行券</option> |
| | | <!--<option value="2">出租车券</option>--> |
| | | <!--<option value="3">跨城出行券</option>--> |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-3"> |
New file |
| | |
| | | @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="insertTime" name="注册时间" isTime="false"/> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="companyName" name="所属分公司/加盟商" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="phone" name="手机号" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="name" 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="2">正常</option> |
| | | <option value="3">冻结</option> |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#SelectCon id="state" name="运营状态" > |
| | | <option value="">全部</option> |
| | | <option value="3">服务中</option> |
| | | <option value="2">听单中</option> |
| | | <option value="1">离线</option> |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#SelectCon id="teamId" name="车队" > |
| | | <option value="">全部</option> |
| | | @for(tDriverTeams in TDriverTeams){ |
| | | <option value="${tDriverTeams.id}">${tDriverTeams.teamName}</option> |
| | | @} |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#button name="搜索" icon="fa-search" clickFun="YesDriver.search()"/> |
| | | <#button name="重置" icon="fa-trash" clickFun="YesDriver.resetSearch()" space="true"/> |
| | | <#button btnCss="info" name="确定" id="ensure" icon="fa-check" clickFun="YesDriver.selectUserOpt()" space="true"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="YesDriver.close()" space="true"/> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <input type="file" name="file" style="width:0px;height:0px;" id="uploadEventFile" onchange="YesDriver.exportDriver()"> |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="YesDriverTableToolbar" role="group"> |
| | | |
| | | </div> |
| | | <#table id="YesDriverTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <script src="${ctxPath}/static/modular/system/tAdvertisement/yesDriver.js"></script> |
| | | <script> |
| | | laydate.render({ |
| | | elem: '#insertTime' |
| | | ,range: true |
| | | }); |
| | | </script> |
| | | @} |
| | |
| | | <option value="1">弹窗广告</option> |
| | | <option value="2">首页底部广告</option> |
| | | </#select> |
| | | <#select id="provinceId" name="所属省:"> |
| | | <#select id="cityId" name="所属城市:"> |
| | | <option value="">选择所属省</option> |
| | | @for(province in list){ |
| | | <option value="${province.id}"> ${province.name} </option> |
| | | <option value="${province.id}"> ${province.chineseName} </option> |
| | | @} |
| | | </#select> |
| | | <#select id="isJump" name="是否跳转:" onchange="TAdvertisementInfoDlg.isJump()"> |
New file |
| | |
| | | @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> |
| | | <div class="hidden-xs" id="TAdvertisementTableToolbar" role="group"> |
| | | @if(shiro.hasPermission("/tAdvertisement_defined/add")){ |
| | | <#button name="添加" icon="fa-plus" clickFun="TAdvertisement.openAddTAdvertisement()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tAdvertisement_defined/update")){ |
| | | <#button name="编辑" icon="fa-edit" clickFun="TAdvertisement.openTAdvertisementDetail()" space="true"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tAdvertisement/delete")){ |
| | | <#button name="删除" icon="fa-remove" clickFun="TAdvertisement.delete()" space="true"/> |
| | | @} |
| | | </div> |
| | | <#table id="TAdvertisementTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tAdvertisement/tAdvertisement_defined.js"></script> |
| | | <script> |
| | | laydate.render({ |
| | | elem: '#insertTime' |
| | | ,range: true |
| | | }); |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal" id="advertisementInfoForm"> |
| | | |
| | | <div class="row"> |
| | | <div class="col-sm-10"> |
| | | <#input id="name" name="广告图标题"/> |
| | | <div class="form-group" id="contentDiv"> |
| | | <label class="col-sm-3 control-label">内容:</label> |
| | | <div class="col-sm-9"> |
| | | <textarea type="text/plain" id="editor" style="width:100%;height:350px;"></textarea> |
| | | </div> |
| | | </div> |
| | | <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="sendType1" value="1" name="sendType" checked="" > |
| | | <label for="sendType1"> 全部用户 </label> |
| | | </div> |
| | | <div class="radio radio-success radio-inline"> |
| | | <input type="radio" id="sendType2" value="2" name="sendType" > |
| | | <label for="sendType2"> 选择用户 </label> |
| | | </div> |
| | | <#button name="选择" icon="fa-plus" clickFun="TAdvertisementInfoDlg.toSelectUserOpt()"/> |
| | | <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: 300px;">注册地所属分公司</th> |
| | | <th style="width: 100px;">操作</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody id="coun"> |
| | | |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-9 left:50px" style="display: flex;align-items: center;left: 341px;"> |
| | | <div class="radio radio-info radio-inline"> |
| | | <input type="radio" id="sendType3" value="1" name="sendType1" checked="" > |
| | | <label for="sendType3"> 全部司机 </label> |
| | | </div> |
| | | <div class="radio radio-success radio-inline"> |
| | | <input type="radio" id="sendType4" value="2" name="sendType1" > |
| | | <label for="sendType4"> 选择司机 </label> |
| | | </div> |
| | | <#button name="选择" icon="fa-plus" clickFun="TAdvertisementInfoDlg.toSelectUserOpt1()"/> |
| | | <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: 300px;">注册地所属分公司</th> |
| | | <th style="width: 100px;">操作</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody id="coun1"> |
| | | |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </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="TAdvertisementInfoDlg.addSubmit1()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TAdvertisementInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tAdvertisement/tAdvertisement_info.js"></script> |
| | | @} |
| | |
| | | <option value="1" ${1 == item.type ? 'selected=selected' : ''}>弹窗广告</option> |
| | | <option value="2" ${2 == item.type ? 'selected=selected' : ''}>首页底部广告</option> |
| | | </#select> |
| | | <#select id="provinceId" name="所属省:"> |
| | | <option value="">选择所属省</option> |
| | | <#select id="cityId" name="所属城市:"> |
| | | <option value="">选择所属城市</option> |
| | | @for(province in list){ |
| | | <option value="${province.id}" ${province.id == item.provinceId ? 'selected=selected' : ''}> ${province.name} </option> |
| | | <option value="${province.id}" ${province.id == item.cityId ? 'selected=selected' : ''}> ${province.chineseName} </option> |
| | | @} |
| | | </#select> |
| | | <#select id="isJump" name="是否跳转:" onchange="TAdvertisementInfoDlg.isJump()"> |
New file |
| | |
| | | @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> |
| | | <div class="hidden-xs" id="TAdvertisementTableToolbar" role="group"> |
| | | @if(shiro.hasPermission("/tAdvertisement_defined/add")){ |
| | | <#button name="添加" icon="fa-plus" clickFun="TAdvertisement.openAddTAdvertisement()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tAdvertisement_defined/update")){ |
| | | <#button name="编辑" icon="fa-edit" clickFun="TAdvertisement.openTAdvertisementDetail()" space="true"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tAdvertisement/delete")){ |
| | | <#button name="删除" icon="fa-remove" clickFun="TAdvertisement.delete()" space="true"/> |
| | | @} |
| | | </div> |
| | | <#table id="TAdvertisementTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tAdvertisement/tAdvertisement_inform.js"></script> |
| | | <script> |
| | | laydate.render({ |
| | | elem: '#insertTime' |
| | | ,range: true |
| | | }); |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal" id="advertisementInfoForm"> |
| | | |
| | | <div class="row"> |
| | | <div class="col-sm-10"> |
| | | <#input id="name" name="通知标题"/> |
| | | <div class="form-group" id="contentDiv"> |
| | | <label class="col-sm-3 control-label">通知内容:</label> |
| | | <div class="col-sm-9"> |
| | | <textarea type="text/plain" id="editor" style="width:100%;height:350px;"></textarea> |
| | | </div> |
| | | </div> |
| | | <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="sendType1" value="1" name="sendType" checked="" > |
| | | <label for="sendType1"> 全部用户 </label> |
| | | </div> |
| | | <div class="radio radio-success radio-inline"> |
| | | <input type="radio" id="sendType2" value="2" name="sendType" > |
| | | <label for="sendType2"> 选择用户 </label> |
| | | </div> |
| | | <#button name="选择" icon="fa-plus" clickFun="TAdvertisementInfoDlg.toSelectUserOpt()"/> |
| | | <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: 300px;">注册地所属分公司</th> |
| | | <th style="width: 100px;">操作</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody id="coun"> |
| | | |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-9 left:50px" style="display: flex;align-items: center;left: 341px;"> |
| | | <div class="radio radio-info radio-inline"> |
| | | <input type="radio" id="sendType3" value="1" name="sendType1" checked="" > |
| | | <label for="sendType3"> 全部司机 </label> |
| | | </div> |
| | | <div class="radio radio-success radio-inline"> |
| | | <input type="radio" id="sendType4" value="2" name="sendType1" > |
| | | <label for="sendType4"> 选择司机 </label> |
| | | </div> |
| | | <#button name="选择" icon="fa-plus" clickFun="TAdvertisementInfoDlg.toSelectUserOpt1()"/> |
| | | <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: 300px;">注册地所属分公司</th> |
| | | <th style="width: 100px;">操作</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody id="coun1"> |
| | | |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </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="TAdvertisementInfoDlg.addSubmit2()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TAdvertisementInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tAdvertisement/tAdvertisement_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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="insertTime" name="注册时间" isTime="false"/> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="id" name="用户ID" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="nickName" name="昵称" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="phone" name="手机号" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#SelectCon id="isAuth" name="是否实名认证" > |
| | | <option value="">全部</option> |
| | | <option value="1">否</option> |
| | | <option value="2">是</option> |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#SelectCon id="state" name="状态" > |
| | | <option value="">全部</option> |
| | | <option value="1">正常</option> |
| | | <option value="2">冻结</option> |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="companyName" name="注册地所在分公司" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#button name="搜索" icon="fa-search" clickFun="TUser.search()"/> |
| | | <#button name="重置" icon="fa-trash" clickFun="TUser.resetSearch()" space="true"/> |
| | | <#button btnCss="info" name="确定" id="ensure" icon="fa-check" clickFun="TUser.selectUserOpt()" space="true"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TUser.close()" space="true"/> |
| | | |
| | | </div> |
| | | </div> |
| | | <#table id="TUserTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tAdvertisement/tUser.js"></script> |
| | | <script> |
| | | laydate.render({ |
| | | elem: '#insertTime' |
| | | ,range: true |
| | | }); |
| | | </script> |
| | | @} |
| | |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <input type="hidden" id="id" value="${one.id}"> |
| | | <div class="tabs-container"> |
| | | <ul class="nav nav-tabs"> |
| | | <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">常见问题设置</a></li> |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="panel-body"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | | <option value="2">英文</option> |
| | | <option value="3">法文</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="panel-body" style="padding-top: 60px;"> |
| | | <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | |
| | | $(function () { |
| | | //初始化编辑器 |
| | | editor_1 = UE.getEditor('editor_1'); |
| | | |
| | | $('#language').on('change', function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){ |
| | | editor_1.setContent(data.content); |
| | | $('#id').val(data.id); |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("language", $(this).val()); |
| | | ajax.set("type", 12); |
| | | ajax.set("useType", 1); |
| | | ajax.start(); |
| | | }) |
| | | }); |
| | | |
| | | function update_1(id){ |
| | |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_1.getContent(),id); |
| | | submitData(editor_1.getContent(), $('#id').val()); |
| | | } |
| | | |
| | | function submitData(content,id) { |
| | |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <input type="hidden" id="id" value="${one.id}"> |
| | | <div class="tabs-container"> |
| | | <ul class="nav nav-tabs"> |
| | | <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">司机注册协议设置</a></li> |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="panel-body"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | | <option value="2">英文</option> |
| | | <option value="3">法文</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="panel-body" style="padding-top: 60px;"> |
| | | <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | |
| | | $(function () { |
| | | //初始化编辑器 |
| | | editor_1 = UE.getEditor('editor_1'); |
| | | |
| | | $('#language').on('change', function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){ |
| | | if(null != data){ |
| | | editor_1.setContent(data.content); |
| | | $('#id').val(data.id); |
| | | } |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("language", $(this).val()); |
| | | ajax.set("type", 9); |
| | | ajax.set("useType", 1); |
| | | ajax.start(); |
| | | }) |
| | | }); |
| | | |
| | | function update_1(id){ |
| | |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_1.getContentTxt(),id); |
| | | submitData(editor_1.getContent(), $('#id').val()); |
| | | } |
| | | |
| | | function submitData(content,id) { |
| | |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <input type="hidden" id="id" value="${one.id}"> |
| | | <div class="tabs-container"> |
| | | <ul class="nav nav-tabs"> |
| | | <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">改派说明设置</a></li> |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="panel-body"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | | <option value="2">英文</option> |
| | | <option value="3">法文</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="panel-body" style="padding-top: 60px;"> |
| | | <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | |
| | | $(function () { |
| | | //初始化编辑器 |
| | | editor_1 = UE.getEditor('editor_1'); |
| | | |
| | | $('#language').on('change', function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){ |
| | | if(null != data){ |
| | | editor_1.setContent(data.content); |
| | | $('#id').val(data.id); |
| | | } |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("language", $(this).val()); |
| | | ajax.set("type", 10); |
| | | ajax.set("useType", 1); |
| | | ajax.start(); |
| | | }) |
| | | }); |
| | | |
| | | function update_1(id){ |
| | |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_1.getContent(),id); |
| | | submitData(editor_1.getContent(), $('#id').val()); |
| | | } |
| | | |
| | | function submitData(content,id) { |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <style> |
| | | .newWidth, .single-line{ |
| | | max-width:350px !important;display: initial !important; |
| | | } |
| | | </style> |
| | | <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 type="hidden" id="id" value="${one.id}"> |
| | | <div class="tabs-container"> |
| | | <ul class="nav nav-tabs"> |
| | | <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">新司机培训设置</a></li> |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | | <option value="2">英文</option> |
| | | <option value="3">法文</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="panel-body" style="padding-top: 60px;"> |
| | | <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea> |
| | | <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="update_1(${one.id});"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <script type="text/javascript"> |
| | | var editor_1 = null; |
| | | $(function () { |
| | | //初始化编辑器 |
| | | editor_1 = UE.getEditor('editor_1'); |
| | | |
| | | $('#language').on('change', function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){ |
| | | if(null != data){ |
| | | editor_1.setContent(data.content); |
| | | $('#id').val(data.id); |
| | | } |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("language", $(this).val()); |
| | | ajax.set("type", 16); |
| | | ajax.set("useType", 1); |
| | | ajax.start(); |
| | | }) |
| | | }); |
| | | |
| | | function update_1(id){ |
| | | if (editor_1.getContentTxt() == ""){ |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_1.getContent(), $('#id').val()); |
| | | } |
| | | |
| | | function submitData(content,id) { |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tAgreement/updateAppParam", function(data){ |
| | | Feng.success("编辑成功!"); |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("context", content); |
| | | ajax.set("id", id); |
| | | ajax.start(); |
| | | } |
| | | </script> |
| | | @} |
| | |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <input type="hidden" id="id" value="${one.id}"> |
| | | <div class="tabs-container"> |
| | | <ul class="nav nav-tabs"> |
| | | <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">计价规则设置</a></li> |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="panel-body"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | | <option value="2">英文</option> |
| | | <option value="3">法文</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="panel-body" style="padding-top: 60px;"> |
| | | <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | |
| | | $(function () { |
| | | //初始化编辑器 |
| | | editor_1 = UE.getEditor('editor_1'); |
| | | |
| | | $('#language').on('change', function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){ |
| | | editor_1.setContent(data.content); |
| | | $('#id').val(data.id); |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("language", $(this).val()); |
| | | ajax.set("type", 13); |
| | | ajax.set("useType", 1); |
| | | ajax.start(); |
| | | }) |
| | | }); |
| | | |
| | | function update_1(id){ |
| | |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_1.getContent(),id); |
| | | submitData(editor_1.getContent(), $('#id').val()); |
| | | } |
| | | |
| | | function submitData(content,id) { |
| | |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="panel-body"> |
| | | <input type="hidden" id="id1" value="${one.id}"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language1"> |
| | | <option value="1">中文</option> |
| | | <option value="2">英文</option> |
| | | <option value="3">法文</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="panel-body" style="padding-top: 60px;"> |
| | | <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | |
| | | </div> |
| | | </div> |
| | | <div id="tab-2" class="tab-pane"> |
| | | <div class="panel-body"> |
| | | <input type="hidden" id="id2" value="${two.id}"> |
| | | <div class="col-sm-3" style="padding-top: 10px;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language2"> |
| | | <option value="1">中文</option> |
| | | <option value="2">英文</option> |
| | | <option value="3">法文</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="panel-body" style="padding-top: 60px;"> |
| | | <textarea type="text/plain" id="editor_2" style="width:1200px;height:400px;">${two.content}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | |
| | | </div> |
| | | </div> |
| | | <div id="tab-3" class="tab-pane"> |
| | | <div class="panel-body"> |
| | | <input type="hidden" id="id3" value="${three.id}"> |
| | | <div class="col-sm-3" style="padding-top: 10px;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language3"> |
| | | <option value="1">中文</option> |
| | | <option value="2">英文</option> |
| | | <option value="3">法文</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="panel-body" style="padding-top: 60px;"> |
| | | <textarea type="text/plain" id="editor_3" style="width:1200px;height:400px;">${three.content}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | |
| | | editor_1 = UE.getEditor('editor_1'); |
| | | editor_2 = UE.getEditor('editor_2'); |
| | | editor_3 = UE.getEditor('editor_3'); |
| | | |
| | | $('#language1').on('change', function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){ |
| | | if(null != data){ |
| | | editor_1.setContent(data.content); |
| | | $('#id1').val(data.id); |
| | | } |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("language", $(this).val()); |
| | | ajax.set("type", 6); |
| | | ajax.set("useType", 1); |
| | | ajax.start(); |
| | | }) |
| | | $('#language2').on('change', function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){ |
| | | if(null != data){ |
| | | editor_2.setContent(data.content); |
| | | $('#id2').val(data.id); |
| | | } |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("language", $(this).val()); |
| | | ajax.set("type", 2); |
| | | ajax.set("useType", 1); |
| | | ajax.start(); |
| | | }) |
| | | $('#language3').on('change', function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){ |
| | | if(null != data){ |
| | | editor_3.setContent(data.content); |
| | | $('#id3').val(data.id); |
| | | } |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("language", $(this).val()); |
| | | ajax.set("type", 1); |
| | | ajax.set("useType", 1); |
| | | ajax.start(); |
| | | }) |
| | | }); |
| | | |
| | | function update_1(id){ |
| | |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_1.getContent(),id); |
| | | submitData(editor_1.getContent(),$('#id1').val()); |
| | | } |
| | | function update_2(id){ |
| | | if (editor_2.getContentTxt() == ""){ |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_2.getContent(),id); |
| | | submitData(editor_2.getContent(),$('#id2').val()); |
| | | } |
| | | function update_3(id){ |
| | | if (editor_3.getContentTxt() == ""){ |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_3.getContent(),id); |
| | | submitData(editor_3.getContent(),$('#id3').val()); |
| | | } |
| | | |
| | | function submitData(content,id) { |
| | |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="panel-body"> |
| | | <input type="hidden" id="id1" value="${one.id}"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language1"> |
| | | <option value="1">中文</option> |
| | | <option value="2">英文</option> |
| | | <option value="3">法文</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="panel-body" style="padding-top: 60px;"> |
| | | <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | |
| | | </div> |
| | | </div> |
| | | <div id="tab-2" class="tab-pane"> |
| | | <div class="panel-body"> |
| | | <input type="hidden" id="id2" value="${two.id}"> |
| | | <div class="col-sm-3" style="padding-top: 10px;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language2"> |
| | | <option value="1">中文</option> |
| | | <option value="2">英文</option> |
| | | <option value="3">法文</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="panel-body" style="padding-top: 60px;"> |
| | | <textarea type="text/plain" id="editor_2" style="width:1200px;height:400px;">${two.content}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | |
| | | </div> |
| | | </div> |
| | | <div id="tab-3" class="tab-pane"> |
| | | <div class="panel-body"> |
| | | <input type="hidden" id="id3" value="${three.id}"> |
| | | <div class="col-sm-3" style="padding-top: 10px;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language3"> |
| | | <option value="1">中文</option> |
| | | <option value="2">英文</option> |
| | | <option value="3">法文</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="panel-body" style="padding-top: 60px;"> |
| | | <textarea type="text/plain" id="editor_3" style="width:1200px;height:400px;">${three.content}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | |
| | | editor_1 = UE.getEditor('editor_1'); |
| | | editor_2 = UE.getEditor('editor_2'); |
| | | editor_3 = UE.getEditor('editor_3'); |
| | | |
| | | $('#language1').on('change', function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){ |
| | | if(null != data){ |
| | | editor_1.setContent(data.content); |
| | | $('#id1').val(data.id); |
| | | } |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("language", $(this).val()); |
| | | ajax.set("type", 6); |
| | | ajax.set("useType", 2); |
| | | ajax.start(); |
| | | }) |
| | | $('#language2').on('change', function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){ |
| | | if(null != data){ |
| | | editor_2.setContent(data.content); |
| | | $('#id2').val(data.id); |
| | | } |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("language", $(this).val()); |
| | | ajax.set("type", 2); |
| | | ajax.set("useType", 2); |
| | | ajax.start(); |
| | | }) |
| | | $('#language3').on('change', function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){ |
| | | if(null != data){ |
| | | editor_3.setContent(data.content); |
| | | $('#id3').val(data.id); |
| | | } |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("language", $(this).val()); |
| | | ajax.set("type", 1); |
| | | ajax.set("useType", 2); |
| | | ajax.start(); |
| | | }) |
| | | }); |
| | | |
| | | function update_1(id){ |
| | |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_1.getContent(),id); |
| | | submitData(editor_1.getContent(),$('#id1').val()); |
| | | } |
| | | function update_2(id){ |
| | | if (editor_2.getContentTxt() == ""){ |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_2.getContent(),id); |
| | | submitData(editor_2.getContent(),$('#id2').val()); |
| | | } |
| | | function update_3(id){ |
| | | if (editor_3.getContentTxt() == ""){ |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_3.getContent(),id); |
| | | submitData(editor_3.getContent(),$('#id3').val()); |
| | | } |
| | | |
| | | function submitData(content,id) { |
| | |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <input type="hidden" id="id" value="${one.id}"> |
| | | <div class="tabs-container"> |
| | | <ul class="nav nav-tabs"> |
| | | <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">法律法规设置</a></li> |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="panel-body"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | | <option value="2">英文</option> |
| | | <option value="3">法文</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="panel-body" style="padding-top: 60px;"> |
| | | <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | |
| | | $(function () { |
| | | //初始化编辑器 |
| | | editor_1 = UE.getEditor('editor_1'); |
| | | |
| | | $('#language').on('change', function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){ |
| | | if(null != data){ |
| | | editor_1.setContent(data.content); |
| | | $('#id').val(data.id); |
| | | } |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("language", $(this).val()); |
| | | ajax.set("type", 4); |
| | | ajax.set("useType", 1); |
| | | ajax.start(); |
| | | }) |
| | | }); |
| | | |
| | | function update_1(id){ |
| | |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_1.getContent(),id); |
| | | submitData(editor_1.getContent(), $('#id').val()); |
| | | } |
| | | |
| | | function submitData(content,id) { |
| | |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <input type="hidden" id="id" value="${one.id}"> |
| | | <div class="tabs-container"> |
| | | <ul class="nav nav-tabs"> |
| | | <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">关于我们设置</a></li> |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="panel-body"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | | <option value="2">英文</option> |
| | | <option value="3">法文</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="panel-body" style="padding-top: 60px;"> |
| | | <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | |
| | | $(function () { |
| | | //初始化编辑器 |
| | | editor_1 = UE.getEditor('editor_1'); |
| | | |
| | | $('#language').on('change', function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){ |
| | | if(null != data){ |
| | | editor_1.setContent(data.content); |
| | | $('#id').val(data.id); |
| | | } |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("language", $(this).val()); |
| | | ajax.set("type", 5); |
| | | ajax.set("useType", 1); |
| | | ajax.start(); |
| | | }) |
| | | }); |
| | | |
| | | function update_1(id){ |
| | |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_1.getContent(),id); |
| | | submitData(editor_1.getContent(), $('#id').val()); |
| | | } |
| | | |
| | | function submitData(content,id) { |
| | |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <input type="hidden" id="id" value="${one.id}"> |
| | | <div class="tabs-container"> |
| | | <ul class="nav nav-tabs"> |
| | | <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">取消订单说明</a></li> |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="panel-body"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | | <option value="2">英文</option> |
| | | <option value="3">法文</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="panel-body" style="padding-top: 60px;"> |
| | | <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | |
| | | $(function () { |
| | | //初始化编辑器 |
| | | editor_1 = UE.getEditor('editor_1'); |
| | | |
| | | $('#language').on('change', function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){ |
| | | if(null != data){ |
| | | editor_1.setContent(data.content); |
| | | $('#id').val(data.id); |
| | | } |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("language", $(this).val()); |
| | | ajax.set("type", 7); |
| | | ajax.set("useType", 1); |
| | | ajax.start(); |
| | | }) |
| | | }); |
| | | |
| | | function update_1(id){ |
| | |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_1.getContent(),id); |
| | | submitData(editor_1.getContent(), $('#id').val()); |
| | | } |
| | | |
| | | function submitData(content,id) { |
| | |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <input type="hidden" id="id" value="${one.id}"> |
| | | <div class="tabs-container"> |
| | | <ul class="nav nav-tabs"> |
| | | <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">充值领券规则设置</a></li> |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="panel-body"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | | <option value="2">英文</option> |
| | | <option value="3">法文</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="panel-body" style="padding-top: 60px;"> |
| | | <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | |
| | | $(function () { |
| | | //初始化编辑器 |
| | | editor_1 = UE.getEditor('editor_1'); |
| | | |
| | | $('#language').on('change', function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){ |
| | | if(null != data){ |
| | | editor_1.setContent(data.content); |
| | | $('#id').val(data.id); |
| | | } |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("language", $(this).val()); |
| | | ajax.set("type", 8); |
| | | ajax.set("useType", 1); |
| | | ajax.start(); |
| | | }) |
| | | }); |
| | | |
| | | function update_1(id){ |
| | |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_1.getContent(),id); |
| | | submitData(editor_1.getContent(), $('#id').val()); |
| | | } |
| | | |
| | | function submitData(content,id) { |
| | |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <input type="hidden" id="id" value="${one.id}"> |
| | | <div class="tabs-container"> |
| | | <ul class="nav nav-tabs"> |
| | | <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">小件物流协议设置</a></li> |
| | | <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">邮寄包裹指南</a></li> |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="panel-body"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | | <option value="2">英文</option> |
| | | <option value="3">法文</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="panel-body" style="padding-top: 60px;"> |
| | | <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | |
| | | $(function () { |
| | | //初始化编辑器 |
| | | editor_1 = UE.getEditor('editor_1'); |
| | | |
| | | $('#language').on('change', function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){ |
| | | editor_1.setContent(data.content); |
| | | $('#id').val(data.id); |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("language", $(this).val()); |
| | | ajax.set("type", 15); |
| | | ajax.set("useType", 1); |
| | | ajax.start(); |
| | | }) |
| | | }); |
| | | |
| | | function update_1(id){ |
| | |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_1.getContent(),id); |
| | | submitData(editor_1.getContent(), $('#id').val()); |
| | | } |
| | | |
| | | function submitData(content,id) { |
| | |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <input type="hidden" id="id" value="${one.id}"> |
| | | <div class="tabs-container"> |
| | | <ul class="nav nav-tabs"> |
| | | <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">用户指南设置</a></li> |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="panel-body"> |
| | | <div class="col-sm-3" style="padding-top: 10px;display: none;"> |
| | | <div class="input-group" style="width: 100%;"> |
| | | <select class="form-control" id="language"> |
| | | <option value="1">中文</option> |
| | | <option value="2">英文</option> |
| | | <option value="3">法文</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="panel-body" style="padding-top: 60px;"> |
| | | <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.content}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | |
| | | $(function () { |
| | | //初始化编辑器 |
| | | editor_1 = UE.getEditor('editor_1'); |
| | | |
| | | $('#language').on('change', function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAgreement/getAgreement", function(data){ |
| | | if(null != data){ |
| | | editor_1.setContent(data.content); |
| | | $('#id').val(data.id); |
| | | } |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("language", $(this).val()); |
| | | ajax.set("type", 3); |
| | | ajax.set("useType", 1); |
| | | ajax.start(); |
| | | }) |
| | | }); |
| | | |
| | | function update_1(id){ |
| | |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_1.getContent(),id); |
| | | submitData(editor_1.getContent(), $('#id').val()); |
| | | } |
| | | |
| | | function submitData(content,id) { |
| | |
| | | <div class="checkbox checkbox-success checkbox-inline"> |
| | | <input type="checkbox" name="serverBox" id="serverBox1" value="1" onclick="TCarInfoDlg.zcServerClick()"> |
| | | <label for="serverBox1"> 专车 </label> |
| | | </div> |
| | | </div><!-- |
| | | <div class="checkbox checkbox-success checkbox-inline"> |
| | | <input type="checkbox" name="serverBox" id="serverBox2" value="2"> |
| | | <label for="serverBox2"> 出租车 </label> |
| | |
| | | <div class="checkbox checkbox-success checkbox-inline"> |
| | | <input type="checkbox" name="serverBox" id="serverBox3" value="3" onclick="TCarInfoDlg.kcServerClick()"> |
| | | <label for="serverBox3"> 跨城出行 </label> |
| | | </div> |
| | | </div>--> |
| | | <div class="checkbox checkbox-success checkbox-inline"> |
| | | <input type="checkbox" name="serverBox" id="serverBox4" value="4"> |
| | | <label for="serverBox4"> 小件物流-同城 </label> |
| | | </div> |
| | | <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 class="checkbox checkbox-success checkbox-inline"> |
| | | <input type="checkbox" name="serverBox" id="serverBox6" value="6"> |
| | | <label for="serverBox6"> 包车 </label> |
| | | </div> |
| | | </div>--> |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <!-- |
| | | <div class="form-group" style="display: none;" id="kcModelDiv"> |
| | | <label class="col-sm-3 control-label">跨城出行车型:</label> |
| | | <div class="col-sm-9"> |
| | |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | --> |
| | | <#select id="carBrandId" name="车辆品牌:" onchange="TCarInfoDlg.brandChange(this)"> |
| | | <option value="">选择车辆品牌</option> |
| | | @for(obj in brandList){ |
| | |
| | | </#select> |
| | | <#input id="carLicensePlate" name="车牌号" /> |
| | | <#avatar id="carPhoto" name="车辆照片:" /> |
| | | <#input id="drivingLicenseNumber" name="行驶证编号" /> |
| | | <#avatar id="drivingLicensePhoto" name="行驶证照片:" /> |
| | | <#input id="drivingLicenseNumber" name="roadworthiness sticker" /> |
| | | <#avatar id="drivingLicensePhoto" name="roadworthiness sticker照片:" /> |
| | | <#input id="annualInspectionTime" name="年检到期时间" type="text"/> |
| | | <#input id="commercialInsuranceTime" name="商业保险到期时间" type="text"/> |
| | | <#input id="plateColor" name="车牌颜色" /> |
| | | <#input id="vehicleType" name="车辆类型" /> |
| | | <#input id="ownerName" name="车辆所有人" /> |
| | | <#input id="engineId" name="发动机号" /> |
| | | <!-- |
| | | <#input id="VIN" name="车辆VIN码" /> |
| | | <#input id="certifyDateA" name="车辆注册日期" type="text"/> |
| | | <#input id="fuelType" name="车辆燃料类型" /> |
| | |
| | | <option value="2">巡游出租汽车</option> |
| | | <option value="3">私人小客车合乘</option> |
| | | </#select> |
| | | --> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <input type="checkbox" name="serverBox" id="serverBox1" value="1" ${2 == one ? 'checked=checked' : ''} onclick="TCarInfoDlg.zcServerClick()"> |
| | | <label for="serverBox1"> 专车 </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> |
| | | </fieldset> |
| | | </div> |
| | |
| | | <div class="checkbox checkbox-success checkbox-inline"> |
| | | <input type="checkbox" name="serverBox" id="serverBox1" value="1" ${2 == one ? 'checked=checked' : ''} onclick="TCarInfoDlg.zcServerClick()"> |
| | | <label for="serverBox1"> 专车 </label> |
| | | </div> |
| | | </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 class="checkbox checkbox-success checkbox-inline"> |
| | | <input type="checkbox" name="serverBox" id="serverBox3" value="3" ${2 == three ? 'checked=checked' : ''} onclick="TCarInfoDlg.kcServerClick()"> |
| | | <label for="serverBox3"> 跨城出行 </label> |
| | | </div> |
| | | </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> |
| | | <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 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>--> |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <!-- |
| | | <div class="form-group" id="kcModelDiv"> |
| | | <label class="col-sm-3 control-label">跨城出行车型:</label> |
| | | <div class="col-sm-9"> |
| | |
| | | </select> |
| | | </div> |
| | | </div> |
| | | --> |
| | | <#select id="carBrandId" name="车辆品牌:" onchange="TCarInfoDlg.brandChange(this)"> |
| | | <option value="">选择车辆品牌</option> |
| | | @for(obj in brandList){ |
| | |
| | | </#select> |
| | | <#input id="carLicensePlate" name="车牌号" value="${item.carLicensePlate}"/> |
| | | <#avatar id="carPhoto" name="车辆照片:" avatarImg="${item.carPhoto}"/> |
| | | <#input id="drivingLicenseNumber" name="行驶证编号" value="${item.drivingLicenseNumber}"/> |
| | | <#avatar id="drivingLicensePhoto" name="行驶证照片:" avatarImg="${item.drivingLicensePhoto}"/> |
| | | <#input id="drivingLicenseNumber" name="roadworthiness sticker" value="${item.drivingLicenseNumber}"/> |
| | | <#avatar id="drivingLicensePhoto" name="roadworthiness sticker照片:" avatarImg="${item.drivingLicensePhoto}"/> |
| | | <#input id="annualInspectionTime" name="年检到期时间" type="text" value="${item.annualInspectionTime}"/> |
| | | <#input id="commercialInsuranceTime" name="商业保险到期时间" type="text" value="${item.commercialInsuranceTime}"/> |
| | | <#input id="plateColor" name="车牌颜色" value="${item.plateColor}"/> |
| | | <#input id="vehicleType" name="车辆类型" value="${item.vehicleType}"/> |
| | | <#input id="ownerName" name="车辆所有人" value="${item.ownerName}"/> |
| | | <#input id="engineId" name="发动机号" value="${item.engineId}"/> |
| | | <!-- |
| | | <#input id="VIN" name="车辆VIN码" value="${item.VIN}"/> |
| | | <#input id="certifyDateA" name="车辆注册日期" type="text" value="${item.certifyDateA}"/> |
| | | <#input id="fuelType" name="车辆燃料类型" value="${item.fuelType}"/> |
| | |
| | | <option value="2" ${'2' == item.commercialType ? 'selected=selected' : ''}>巡游出租汽车</option> |
| | | <option value="3" ${'3' == item.commercialType ? 'selected=selected' : ''}>私人小客车合乘</option> |
| | | </#select> |
| | | --> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-primary"> |
| | | <input name="checkbox" id="checkbox2" type="checkbox" value="2" ${1 == item.isTaxi ? 'checked=checked' : ''} onclick="TCompanyInfoDlg.checkbox2()"> |
| | | <label for="checkbox2"> |
| | |
| | | 跨城出行 |
| | | </label> |
| | | </div> |
| | | --> |
| | | <div class="checkbox checkbox-info"> |
| | | <input name="checkbox" id="checkbox4" type="checkbox" value="4" ${1 == item.isSameLogistics ? 'checked=checked' : ''} onclick="TCompanyInfoDlg.checkbox4()"> |
| | | <label for="checkbox4"> |
| | | 同城小件物流 |
| | | 市内小件物流 |
| | | </label> |
| | | <fieldset> |
| | | <div class="row" style="display: none;" id="tcxDiv"> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-warning"> |
| | | <input name="checkbox" id="checkbox5" type="checkbox" value="5" ${1 == item.isCrossLogistics ? 'checked=checked' : ''} onclick="TCompanyInfoDlg.checkbox5()"> |
| | | <label for="checkbox5"> |
| | |
| | | 包车 |
| | | </label> |
| | | </div> |
| | | --> |
| | | </fieldset> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">经营区域:</label> |
| | | <div class="col-sm-2"> |
| | | <select class="form-control" id="province" onchange="TCompanyInfoDlg.provinceChange(this)"> |
| | | <option value="">选择省</option> |
| | | @for(obj in provinceList){ |
| | | <option value="${obj.code}">${obj.name}</option> |
| | | <select class="form-control" id="province"> |
| | | <option value="">选择城市</option> |
| | | @for(obj in city){ |
| | | <option value="${obj.id}">${obj.chineseName}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="form-control" id="city" onchange="TCompanyInfoDlg.cityChage(this)"> |
| | | <option value="">选择市</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="form-control" id="area"> |
| | | <option value="">选择区</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-1"> |
| | |
| | | @for(obj in scopeList){ |
| | | <tr class="timeClass"> |
| | | <td><input type="hidden" id="recordId" name="recordId" value="${obj.id}"> |
| | | <input type="hidden" id="provinceCode" name="provinceCode" value="${obj.provinceCode}"> |
| | | <input type="hidden" id="cityCode" name="cityCode" value="${obj.cityCode}"> |
| | | <input type="hidden" id="areaCode" name="areaCode" value="${obj.areaCode}">${obj.value}</td> |
| | | <input type="hidden" id="cityId" name="cityId" value="${obj.cityId}">${obj.value}</td> |
| | | <td><button onclick="deleteSub(this)">移除</button></td> |
| | | </tr> |
| | | @} |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">是否需要摆渡车:</label> |
| | | <div class="col-sm-9" style="display: flex;align-items: center;"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | --> |
| | | <!-- <div class="form-group"> |
| | | <label class="col-sm-2 control-label">限登录MAC地址:</label> |
| | | <div class="col-sm-9"> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-primary"> |
| | | <input name="checkbox" id="checkbox2" type="checkbox" value="2" onclick="TCompanyInfoDlg.checkbox2()"> |
| | | <label for="checkbox2"> |
| | |
| | | 跨城出行 |
| | | </label> |
| | | </div> |
| | | --> |
| | | <div class="checkbox checkbox-info"> |
| | | <input name="checkbox" id="checkbox4" type="checkbox" value="4" onclick="TCompanyInfoDlg.checkbox4()"> |
| | | <label for="checkbox4"> |
| | | 同城小件物流 |
| | | 市内小件物流 |
| | | </label> |
| | | <fieldset> |
| | | <div class="row" style="display: none;" id="tcxDiv"> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-warning"> |
| | | <input name="checkbox" id="checkbox5" type="checkbox" value="5" onclick="TCompanyInfoDlg.checkbox5()"> |
| | | <label for="checkbox5"> |
| | |
| | | 包车 |
| | | </label> |
| | | </div> |
| | | --> |
| | | </fieldset> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">经营区域:</label> |
| | | <div class="col-sm-2"> |
| | | <select class="form-control" id="province" onchange="TCompanyInfoDlg.provinceChange(this)"> |
| | | <option value="">选择省</option> |
| | | @for(obj in provinceList){ |
| | | <option value="${obj.code}">${obj.name}</option> |
| | | <select class="form-control" id="province"> |
| | | <option value="">选择城市</option> |
| | | @for(obj in city){ |
| | | <option value="${obj.id}">${obj.chineseName}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="form-control" id="city" onchange="TCompanyInfoDlg.cityChage(this)"> |
| | | <option value="">选择市</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="form-control" id="area"> |
| | | <option value="">选择区</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-1"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">是否需要摆渡车:</label> |
| | | <div class="col-sm-9" style="display: flex;align-items: center;"> |
| | |
| | | <input type="text" class="form-control" id="mac" name="mac" > |
| | | </div> |
| | | </div> |
| | | --> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">登录账号:</label> |
| | | <div class="col-sm-9"> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-primary"> |
| | | <input name="checkbox" id="checkbox2" type="checkbox" value="2" onclick="FranchiseeInfoDlg.checkbox2()"> |
| | | <label for="checkbox2"> |
| | |
| | | 跨城出行 |
| | | </label> |
| | | </div> |
| | | --> |
| | | <div class="checkbox checkbox-info"> |
| | | <input name="checkbox" id="checkbox4" type="checkbox" value="4" onclick="FranchiseeInfoDlg.checkbox4()"> |
| | | <label for="checkbox4"> |
| | | 同城小件物流 |
| | | 市内小件物流 |
| | | </label> |
| | | <fieldset> |
| | | <div class="row" style="display: none;" id="tcxDiv"> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-warning"> |
| | | <input name="checkbox" id="checkbox5" type="checkbox" value="5" onclick="FranchiseeInfoDlg.checkbox5()"> |
| | | <label for="checkbox5"> |
| | |
| | | 包车 |
| | | </label> |
| | | </div> |
| | | --> |
| | | </fieldset> |
| | | </div> |
| | | </div> |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">是否需要摆渡车:</label> |
| | | <div class="col-sm-9" style="display: flex;align-items: center;"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | --> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">登录账号:</label> |
| | | <div class="col-sm-9"> |
| | |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#label id="mac" name="限登录MAC地址" value="${item.mac}"/> |
| | | <#label id="scopeCode" name="分公司区划代码" value="${item.scopeCode}"/> |
| | | <#label id="detailAddress" name="分公司具体地址" value="${item.detailAddress}"/> |
| | | <#label id="principalPhone" name="负责人电话" value="${item.principalPhone}"/> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-primary"> |
| | | <input name="checkbox" id="checkbox2" type="checkbox" disabled value="2" ${1 == item.isTaxi ? 'checked=checked' : ''} > |
| | | <label for="checkbox2"> |
| | |
| | | 跨城出行 |
| | | </label> |
| | | </div> |
| | | --> |
| | | <div class="checkbox checkbox-info"> |
| | | <input name="checkbox" id="checkbox4" type="checkbox" disabled value="4" ${1 == item.isSameLogistics ? 'checked=checked' : ''}> |
| | | <label for="checkbox4"> |
| | | 同城小件物流 |
| | | 市内小件物流 |
| | | </label> |
| | | <fieldset> |
| | | <div class="row" style="display: none;" id="tcxDiv"> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-warning"> |
| | | <input name="checkbox" id="checkbox5" type="checkbox" disabled value="5" ${1 == item.isCrossLogistics ? 'checked=checked' : ''} > |
| | | <label for="checkbox5"> |
| | |
| | | 包车 |
| | | </label> |
| | | </div> |
| | | --> |
| | | </fieldset> |
| | | </div> |
| | | </div> |
| | |
| | | @for(obj in scopeList){ |
| | | <tr class="timeClass" style="text-align: center;"> |
| | | <td><input type="hidden" id="recordId" name="recordId" value="${obj.id}"> |
| | | <input type="hidden" id="provinceCode" name="provinceCode" value="${obj.provinceCode}"> |
| | | <input type="hidden" id="cityCode" name="cityCode" value="${obj.cityCode}"> |
| | | <input type="hidden" id="areaCode" name="areaCode" value="${obj.areaCode}">${obj.value}</td> |
| | | <input type="hidden" id="cityId" name="cityId" value="${obj.cityId}">${obj.value}</td> |
| | | <!--<td><button onclick="deleteSub(this)">移除</button></td>--> |
| | | </tr> |
| | | @} |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">是否需要摆渡车:</label> |
| | | <div class="col-sm-9" style="display: flex;align-items: center;"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | --> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-primary"> |
| | | <input name="checkbox" id="checkbox2" type="checkbox" disabled value="2" ${1 == item.isTaxi ? 'checked=checked' : ''}> |
| | | <label for="checkbox2"> |
| | |
| | | 跨城出行 |
| | | </label> |
| | | </div> |
| | | --> |
| | | <div class="checkbox checkbox-info"> |
| | | <input name="checkbox" id="checkbox4" type="checkbox" disabled value="4" ${1 == item.isSameLogistics ? 'checked=checked' : ''} > |
| | | <label for="checkbox4"> |
| | | 同城小件物流 |
| | | 市内小件物流 |
| | | </label> |
| | | <fieldset> |
| | | <div class="row" style="display: none;" id="tcxDiv"> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-warning"> |
| | | <input name="checkbox" id="checkbox5" type="checkbox" disabled value="5" ${1 == item.isCrossLogistics ? 'checked=checked' : ''} > |
| | | <label for="checkbox5"> |
| | |
| | | 包车 |
| | | </label> |
| | | </div> |
| | | --> |
| | | </fieldset> |
| | | </div> |
| | | </div> |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">是否需要摆渡车:</label> |
| | | <div class="col-sm-9" style="display: flex;align-items: center;"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | --> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-primary"> |
| | | <input name="checkbox" id="checkbox2" type="checkbox" value="2" ${1 == item.isTaxi ? 'checked=checked' : ''} onclick="TCompanyInfoDlg.checkbox2()"> |
| | | <label for="checkbox2"> |
| | |
| | | 跨城出行 |
| | | </label> |
| | | </div> |
| | | --> |
| | | <div class="checkbox checkbox-info"> |
| | | <input name="checkbox" id="checkbox4" type="checkbox" value="4" ${1 == item.isSameLogistics ? 'checked=checked' : ''} onclick="TCompanyInfoDlg.checkbox4()"> |
| | | <label for="checkbox4"> |
| | | 同城小件物流 |
| | | 市内小件物流 |
| | | </label> |
| | | <fieldset> |
| | | <div class="row" style="display: none;" id="tcxDiv"> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-warning"> |
| | | <input name="checkbox" id="checkbox5" type="checkbox" value="5" ${1 == item.isCrossLogistics ? 'checked=checked' : ''} onclick="TCompanyInfoDlg.checkbox5()"> |
| | | <label for="checkbox5"> |
| | |
| | | 包车 |
| | | </label> |
| | | </div> |
| | | --> |
| | | </fieldset> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">经营区域:</label> |
| | | <div class="col-sm-2"> |
| | | <select class="form-control" id="province" onchange="TCompanyInfoDlg.provinceChange(this)"> |
| | | <option value="">选择省</option> |
| | | @for(obj in provinceList){ |
| | | <option value="${obj.code}">${obj.name}</option> |
| | | <select class="form-control" id="province"> |
| | | <option value="">选择城市</option> |
| | | @for(obj in city){ |
| | | <option value="${obj.id}">${obj.chineseName}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="form-control" id="city" onchange="TCompanyInfoDlg.cityChage(this)"> |
| | | <option value="">选择市</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="form-control" id="area"> |
| | | <option value="">选择区</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-1"> |
| | |
| | | @for(obj in scopeList){ |
| | | <tr class="timeClass"> |
| | | <td><input type="hidden" id="recordId" name="recordId" value="${obj.id}"> |
| | | <input type="hidden" id="provinceCode" name="provinceCode" value="${obj.provinceCode}"> |
| | | <input type="hidden" id="cityCode" name="cityCode" value="${obj.cityCode}"> |
| | | <input type="hidden" id="areaCode" name="areaCode" value="${obj.areaCode}">${obj.value}</td> |
| | | <input type="hidden" id="cityId" name="cityId" value="${obj.cityId}">${obj.value}</td> |
| | | <td><button onclick="deleteSub(this)">移除</button></td> |
| | | </tr> |
| | | @} |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">是否需要摆渡车:</label> |
| | | <div class="col-sm-9" style="display: flex;align-items: center;"> |
| | |
| | | <input type="text" class="form-control" id="mac" name="mac" value="${item.mac}"> |
| | | </div> |
| | | </div> |
| | | --> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">登录账号:</label> |
| | | <div class="col-sm-9"> |
| | |
| | | </div> |
| | | </div> |
| | | </fieldset> |
| | | </div>--> |
| | | </div> |
| | | <div class="checkbox checkbox-success"> |
| | | <input name="checkbox" id="checkbox3" type="checkbox" value="3" ${1 == item.isCross ? 'checked=checked' : ''} onclick="FranchiseeInfoDlg.checkbox3()"> |
| | | <label for="checkbox3"> |
| | | 跨城出行 |
| | | </label> |
| | | </div> |
| | | <!--<div class="checkbox checkbox-info"> |
| | | </div>--> |
| | | <div class="checkbox checkbox-info"> |
| | | <input name="checkbox" id="checkbox4" type="checkbox" value="4" ${1 == item.isSameLogistics ? 'checked=checked' : ''} onclick="FranchiseeInfoDlg.checkbox4()"> |
| | | <label for="checkbox4"> |
| | | 同城小件物流 |
| | | 市内小件物流 |
| | | </label> |
| | | <fieldset> |
| | | <div class="row" style="display: none;" id="tcxDiv"> |
| | |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div class="checkbox checkbox-warning"> |
| | | <input name="checkbox" id="checkbox5" type="checkbox" value="5" ${1 == item.isCrossLogistics ? 'checked=checked' : ''} onclick="FranchiseeInfoDlg.checkbox5()"> |
| | | <label for="checkbox5"> |
| | |
| | | </fieldset> |
| | | </div> |
| | | </div> |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">是否需要摆渡车:</label> |
| | | <div class="col-sm-9" style="display: flex;align-items: center;"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | --> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">登录账号:</label> |
| | | <div class="col-sm-9"> |
| | |
| | | </div> |
| | | |
| | | <#avatar id="headImgUrl" name="头像:" /> |
| | | <#avatar id="faceImgUrl" name="人脸识别照片:" /> |
| | | <!--<#avatar id="faceImgUrl" name="人脸识别照片:" />--> |
| | | <!--<#input id="phone" name="手机号" />--> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">性别:</label> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <#input id="birthday" name="出生日期"/> |
| | | <#input id="email" name="邮箱地址" type="email"/> |
| | | <#input id="driveCard" name="驾驶证号码"/> |
| | | <#avatar id="driveCardImgUrl" name="驾驶证照片:" /> |
| | | <#avatar id="driveCardImgUrl1" name="驾驶证正面照片:" /> |
| | | <#avatar id="driveCardImgUrl2" name="驾驶证背面照片:" /> |
| | | <#input id="driverAge" name="驾龄" /> |
| | | <#input id="idCard" name="身份证号" /> |
| | | <#avatar id="idCardImgUrl1" name="身份证正面照片:" /> |
| | | <#avatar id="idCardImgUrl2" 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="checkbox checkbox-success checkbox-inline"> |
| | | <input type="checkbox" name="serverBox" id="serverBox1" value="1"> |
| | | <label for="serverBox1"> 专车 </label> |
| | | </div> |
| | | </div><!-- |
| | | <div class="checkbox checkbox-success checkbox-inline"> |
| | | <input type="checkbox" name="serverBox" id="serverBox2" value="2"> |
| | | <label for="serverBox2"> 出租车 </label> |
| | |
| | | <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>--> |
| | | <div class="checkbox checkbox-success checkbox-inline"> |
| | | <input type="checkbox" name="serverBox" id="serverBox4" value="4"> |
| | | <label for="serverBox4"> 小件物流-同城 </label> |
| | | </div> |
| | | <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 class="checkbox checkbox-success checkbox-inline"> |
| | | <input type="checkbox" name="serverBox" id="serverBox6" value="6"> |
| | | <label for="serverBox6"> 包车 </label> |
| | | </div> |
| | | </div>--> |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | <!-- |
| | | <div id="lineDiv" style="display: none;"> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">关联线路:</label> |
| | |
| | | </div> |
| | | </div> |
| | | </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"> |
| | |
| | | <#input id="emergencyContact" name="紧急联系人"/> |
| | | <#input id="emergencyContactPhone" name="紧急联系电话"/> |
| | | <#input id="emergencyContactAddress" name="紧急联系地址"/> |
| | | --> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | laydate.render({ |
| | | elem: '#registerDate' |
| | | }); |
| | | laydate.render({ |
| | | elem: '#birthday' |
| | | }); |
| | | </script> |
| | | @} |
| | |
| | | </div> |
| | | |
| | | <#avatar id="headImgUrl" name="头像:" avatarImg="${item.headImgUrl}"/> |
| | | <#avatar id="faceImgUrl" name="人脸识别照片:" avatarImg="${item.faceImgUrl}"/> |
| | | <!--<#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> |
| | | </div> |
| | | </div> |
| | | <#input id="birthday" name="出生日期" value="${item.birthday}"/> |
| | | <#input id="email" name="邮箱地址" value="${item.email}" type="email"/> |
| | | <#input id="driveCard" name="驾驶证号码" value="${item.driveCard}"/> |
| | | <#avatar id="driveCardImgUrl" name="驾驶证照片:" avatarImg="${item.driveCardImgUrl}"/> |
| | | <#avatar id="driveCardImgUrl1" name="驾驶证正面照片:" avatarImg="${item.driveCardImgUrl1}"/> |
| | | <#avatar id="driveCardImgUrl2" name="驾驶证背面照片:" avatarImg="${item.driveCardImgUrl2}"/> |
| | | <#input id="driverAge" name="驾龄" value="${item.driverAge}"/> |
| | | <#input id="idCard" name="身份证号" value="${item.idCard}"/> |
| | | <#avatar id="idCardImgUrl1" name="身份证正面照片:" avatarImg="${item.idCardImgUrl1}"/> |
| | | <#avatar id="idCardImgUrl2" name="身份证背面照片:" avatarImg="${item.idCardImgUrl2}"/> |
| | | <#input id="driverAddress" name="居住地址" value="${item.driverAddress}"/> |
| | | <#input id="taxiAptitudeCard" name="出租车资格证号" value="${item.taxiAptitudeCard}"/> |
| | | <#input id="jobNumber" name="工号(选填)" value="${item.jobNumber}"/> |
| | | <!--<#input id="jobNumber" name="工号(选填)" value="${item.jobNumber}"/>--> |
| | | <div class="form-group"> |
| | | <fieldset> |
| | | <label class="col-sm-3 control-label">经营业务:</label> |
| | |
| | | <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"> |
| | | <!--<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>--> |
| | | <div class="checkbox checkbox-success checkbox-inline"> |
| | | <input type="checkbox" name="serverBox" id="serverBox4" value="4" ${2 == four ? 'checked=checked' : ''}> |
| | | <label for="serverBox4"> 小件物流-同城 </label> |
| | | <label for="serverBox4"> 市内小件物流 </label> |
| | | </div> |
| | | <div class="checkbox checkbox-success checkbox-inline"> |
| | | <!--<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>--> |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | |
| | | <!-- |
| | | <div id="lineDiv" style="display: none;"> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">关联线路:</label> |
| | |
| | | </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"> |
| | |
| | | <#input id="emergencyContact" name="紧急联系人" value="${item.emergencyContact}"/> |
| | | <#input id="emergencyContactPhone" name="紧急联系电话" value="${item.emergencyContactPhone}"/> |
| | | <#input id="emergencyContactAddress" name="紧急联系地址" value="${item.emergencyContactAddress}"/> |
| | | |
| | | --> |
| | | |
| | | </div> |
| | | </div> |
| | |
| | | laydate.render({ |
| | | elem: '#registerDate' |
| | | }); |
| | | laydate.render({ |
| | | elem: '#birthday' |
| | | }); |
| | | |
| | | $(function() { |
| | | var serverBox3 = $('#serverBox3').prop('checked'); |
| | |
| | | <div class="col-sm-6"> |
| | | <div id="driveCardImgUrlPreId"> |
| | | <div> |
| | | @if(isEmpty(item.driveCardImgUrl)){ |
| | | @if(isEmpty(item.driveCardImgUrl1)){ |
| | | <img onclick="lookBigImg('${ctxPath}/static/img/NoPIC.png')" src="${ctxPath}/static/img/NoPIC.png" style="max-width:150px;"> |
| | | @}else{ |
| | | <img onclick="lookBigImg('${item.driveCardImgUrl}')" src="${item.driveCardImgUrl}" style="max-width:250px;"> |
| | | <img onclick="lookBigImg('${item.driveCardImgUrl1}')" src="${item.driveCardImgUrl1}" style="max-width:250px;"> |
| | | @} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <input type="hidden" id="driveCardImgUrl" name="driveCardImgUrl" value="${item.driveCardImgUrl}"/> |
| | | <input type="hidden" id="driveCardImgUrl" name="driveCardImgUrl1" value="${item.driveCardImgUrl1}"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <#label id="idCard" name="身份证号码" value="${item.idCard}"/> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">身份证正面照片:</label> |
| | | <div class="col-sm-9"> |
| | | <div class="form-group"> |
| | | <div class="col-sm-6"> |
| | | <div id="idCardImgUrl1PreId"> |
| | | <div> |
| | | @if(isEmpty(item.idCardImgUrl1)){ |
| | | <img onclick="lookBigImg('${ctxPath}/static/img/NoPIC.png')" src="${ctxPath}/static/img/NoPIC.png" style="max-width:150px;"> |
| | | @}else{ |
| | | <img onclick="lookBigImg('${item.idCardImgUrl1}')" src="${item.idCardImgUrl1}" style="max-width:250px;"> |
| | | @} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <input type="hidden" id="idCardImgUrl1" name="idCardImgUrl1" value="${item.idCardImgUrl1}"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">身份证背面照片:</label> |
| | | <div class="col-sm-9"> |
| | | <div class="form-group"> |
| | | <div class="col-sm-6"> |
| | | <div id="idCardImgUrl2PreId"> |
| | | <div> |
| | | @if(isEmpty(item.idCardImgUrl2)){ |
| | | <img onclick="lookBigImg('${ctxPath}/static/img/NoPIC.png')" src="${ctxPath}/static/img/NoPIC.png" style="max-width:150px;"> |
| | | @}else{ |
| | | <img onclick="lookBigImg('${item.idCardImgUrl2}')" src="${item.idCardImgUrl2}" style="max-width:250px;"> |
| | | @} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <input type="hidden" id="idCardImgUrl2" name="idCardImgUrl2" value="${item.idCardImgUrl2}"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <#label id="driverAddress" name="居住地址" value="${item.driverAddress}"/> |
| | | <#label id="taxiAptitudeCard" name="出租车资格证号" value="${item.taxiAptitudeCard}"/> |
| | | <#label id="serverStr" name="服务模式" value="${item.serverStr}"/> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">审核结果:</label> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <#label id="companyName" name="所属机构" value="${item.companyName}"/> |
| | | <#label id="companyName" name="邮箱地址" value="${item.email}"/> |
| | | <#label id="companyName" name="出生日期" value="${item.birthday}"/> |
| | | <#label id="driverAge" name="驾龄" value="${item.driverAge}"/> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="col-sm-6"> |
| | | <div id="driveCardImgUrlPreId"> |
| | | <div> |
| | | @if(isEmpty(item.driveCardImgUrl)){ |
| | | @if(isEmpty(item.driveCardImgUrl1)){ |
| | | <img onclick="lookBigImg('${ctxPath}/static/img/NoPIC.png')" src="${ctxPath}/static/img/NoPIC.png" style="max-width:150px;"> |
| | | @}else{ |
| | | <img onclick="lookBigImg('${item.driveCardImgUrl}')" src="${item.driveCardImgUrl}" style="max-width:250px;"> |
| | | <img onclick="lookBigImg('${item.driveCardImgUrl1}')" src="${item.driveCardImgUrl1}" style="max-width:250px;"> |
| | | @} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <input type="hidden" id="driveCardImgUrl" name="driveCardImgUrl" value="${item.driveCardImgUrl}"/> |
| | | <input type="hidden" id="driveCardImgUrl" name="driveCardImgUrl1" value="${item.driveCardImgUrl1}"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <#label id="idCard" name="身份证号码" value="${item.idCard}"/> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">身份证正面照片:</label> |
| | | <div class="col-sm-9"> |
| | | <div class="form-group"> |
| | | <div class="col-sm-6"> |
| | | <div id="idCardImgUrl1PreId"> |
| | | <div> |
| | | @if(isEmpty(item.idCardImgUrl1)){ |
| | | <img onclick="lookBigImg('${ctxPath}/static/img/NoPIC.png')" src="${ctxPath}/static/img/NoPIC.png" style="max-width:150px;"> |
| | | @}else{ |
| | | <img onclick="lookBigImg('${item.idCardImgUrl1}')" src="${item.idCardImgUrl1}" style="max-width:250px;"> |
| | | @} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <input type="hidden" id="idCardImgUrl1" name="idCardImgUrl1" value="${item.idCardImgUrl1}"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">身份证背面照片:</label> |
| | | <div class="col-sm-9"> |
| | | <div class="form-group"> |
| | | <div class="col-sm-6"> |
| | | <div id="idCardImgUrl2PreId"> |
| | | <div> |
| | | @if(isEmpty(item.idCardImgUrl2)){ |
| | | <img onclick="lookBigImg('${ctxPath}/static/img/NoPIC.png')" src="${ctxPath}/static/img/NoPIC.png" style="max-width:150px;"> |
| | | @}else{ |
| | | <img onclick="lookBigImg('${item.idCardImgUrl2}')" src="${item.idCardImgUrl2}" style="max-width:250px;"> |
| | | @} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <input type="hidden" id="idCardImgUrl2" name="idCardImgUrl2" value="${item.idCardImgUrl2}"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <#label id="driverAddress" name="居住地址" value="${item.driverAddress}"/> |
| | | <#label id="taxiAptitudeCard" name="出租车资格证号" value="${item.taxiAptitudeCard}"/> |
| | | <#label id="serverStr" name="服务模式" value="${item.serverStr}"/> |
| | | <#label id="authStateStr" name="审核结果" value="${item.authStateStr}"/> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <#label id="companyName" name="所属机构" value="${item.companyName}"/> |
| | | <#label id="companyName" name="邮箱地址" value="${item.email}"/> |
| | | <#label id="companyName" name="出生日期" value="${item.birthday}"/> |
| | | <#label id="driverAge" name="驾龄" value="${item.driverAge}"/> |
| | | </div> |
| | | </div> |
| | |
| | | <#TimeCon id="insertTime" name="添加时间" isTime="false"/> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="condition" name="省/市/区名称" /> |
| | | <#NameCon id="condition" name="城市名称" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#button name="搜索" icon="fa-search" clickFun="TOpenCity.search()"/> |
| | |
| | | <div class="form-horizontal" id="openCityForm"> |
| | | <div class="row"> |
| | | <div class="col-sm-10"> |
| | | <#select id="provinceId" name="省:" onchange="TOpenCityInfoDlg.provinceChange()"> |
| | | <option value="">选择省</option> |
| | | @for(province in provinceList){ |
| | | <option value="${province.id}">${province.name}</option> |
| | | <#select id="cityId" name="城市:"> |
| | | <option value="">选择城市</option> |
| | | @for(item in city){ |
| | | <option value="${item.id}">${item.chineseName}</option> |
| | | @} |
| | | </#select> |
| | | <#select id="cityId" name="市:" onchange="TOpenCityInfoDlg.cityChange()"> |
| | | <option value="">选择市</option> |
| | | </#select> |
| | | <#select id="areaId" name="区:"> |
| | | <option value="">选择区</option> |
| | | </#select> |
| | | <#select id="isQualifications" name="是否需要网约车资格证:"> |
| | | <option value="">选择是否需要网约车资格证</option> |
| | | <option value="1">是</option> |
| | | <option value="2">否</option> |
| | | </#select> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">经营业务:</label> |
| | |
| | | <select class="form-control" id="businessType"> |
| | | <option value="">选择经营业务</option> |
| | | <option value="1">专车</option> |
| | | <option value="2">出租车</option> |
| | | <option value="3">跨城出行</option> |
| | | <option value="4">跨城小件物流</option> |
| | | <option value="5">同城小件物流</option> |
| | | <option value="6">包车</option> |
| | | <option value="4">市内小件物流</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-3" > |
| | |
| | | <input type="hidden" id="id" name="id" value="${item.id}"> |
| | | <div class="row"> |
| | | <div class="col-sm-10"> |
| | | <#select id="provinceId" name="省:" onchange="TOpenCityInfoDlg.provinceChange()"> |
| | | <option value="">选择省</option> |
| | | @for(province in provinceList){ |
| | | <option value="${province.id}" ${province.id == item.areaId ? 'selected=selected' : ''}>${province.name}</option> |
| | | <#select id="cityId" name="城市:"> |
| | | <option value="">选择城市</option> |
| | | @for(obj in city){ |
| | | <option value="${obj.id}" ${obj.id == item.cityId ? 'selected=selected' : ''}>${obj.chineseName}</option> |
| | | @} |
| | | </#select> |
| | | <#select id="cityId" name="市:" onchange="TOpenCityInfoDlg.cityChange()"> |
| | | <option value="">选择市</option> |
| | | @for(city in cityList){ |
| | | <option value="${city.id}" ${city.id == item.cityId ? 'selected=selected' : ''}>${city.name}</option> |
| | | @} |
| | | </#select> |
| | | <#select id="areaId" name="区:"> |
| | | <option value="">选择区</option> |
| | | @for(area in areaList){ |
| | | <option value="${area.id}" ${area.id == item.provinceId ? 'selected=selected' : ''}>${area.name}</option> |
| | | @} |
| | | </#select> |
| | | <#select id="isQualifications" name="是否需要网约车资格证:"> |
| | | <option value="">选择是否需要网约车资格证</option> |
| | | <option value="1" ${1 == item.isQualifications ? 'selected=selected' : ''}>是</option> |
| | | <option value="2" ${2 == item.isQualifications ? 'selected=selected' : ''}>否</option> |
| | | </#select> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">经营业务:</label> |
| | |
| | | <select class="form-control" id="businessType"> |
| | | <option value="">选择经营业务</option> |
| | | <option value="1">专车</option> |
| | | <option value="2">出租车</option> |
| | | <option value="3">跨城出行</option> |
| | | <option value="4">跨城小件物流</option> |
| | | <option value="5">同城小件物流</option> |
| | | <option value="6">包车</option> |
| | | <option value="4">市内小件物流</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-3" > |
| | |
| | | <option value="">全部</option> |
| | | <option value="1">专车</option> |
| | | <!--<option value="2">出租车</option> |
| | | <option value="3">跨城出行</option> |
| | | <option value="4">跨城小件物流</option> |
| | | <option value="5">同城小件物流</option> |
| | | <option value="3">跨城出行</option>--> |
| | | <option value="4">市内小件物流</option> |
| | | <!--<option value="5">同城小件物流</option> |
| | | <option value="6">包车</option>--> |
| | | </#SelectCon> |
| | | </div> |
| | |
| | | <#input id="id" name="" underline="true"/> |
| | | <#input id="orderId" name="订单id" underline="true"/> |
| | | <#input id="driverId" name="司机id" underline="true"/> |
| | | <#input id="orderType" name="1=专车,2=出租车,3=跨城出行,4=跨城小件物流,5=同城小件物流,6=包车"/> |
| | | <#input id="orderType" name="1=专车,4=市内小件物流"/> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | |
| | | <#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="orderType" name="1=专车,2=出租车,3=跨城出行,4=跨城小件物流,5=同城小件物流,6=包车" value="${item.orderType}" /> |
| | | <#input id="orderType" name="1=专车,4=市内小件物流" value="${item.orderType}" /> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | |
| | | <div class="col-sm-3"> |
| | | <#SelectCon id="type" name="订单类型" > |
| | | <option value="">全部</option> |
| | | <option value="4">同城物流</option> |
| | | <option value="5">跨城物流</option> |
| | | <option value="4">市内小件物流</option> |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | |
| | | <#label id="orderNum" name="订单编号" value="${item.orderNum}"/> |
| | | <#label id="travelTimeStr" name="乘车时间" value="${item.travelTimeStr}"/> |
| | | <#label id="userPhone" name="下单用户手机号" value="${item.userPhone}"/> |
| | | <#label id="passengersPhone" name="收货人手机号" value="${item.passengersPhone}"/> |
| | | <#label id="passengersPhone" name="收货人手机号" value="${item.recipientPhone}"/> |
| | | <#label id="endAddress" name="终点" value="${item.endAddress}"/> |
| | | <#label id="car" name="接单车辆" value="${item.car}"/> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="row"> |
| | | <div class="col-sm-10"> |
| | | <div class="form-horizontal" id="container" style="margin-left: 50px;width: 100%; height: 500px;"></div> |
| | | <div class="input-card" style="margin-left: 50px;"> |
| | | <h4>轨迹回放控制</h4> |
| | | <div class="input-item"> |
| | | <input type="button" class="btn" value="开始动画" id="start" onclick="startAnimation()"/> |
| | | <input type="button" class="btn" value="暂停动画" id="pause" onclick="pauseAnimation()"/> |
| | | <input type="button" class="btn" value="继续动画" id="resume" onclick="resumeAnimation()"/> |
| | | <input type="button" class="btn" value="停止动画" id="stop" onclick="stopAnimation()"/> |
| | | </div> |
| | | <div class="input-item"> |
| | | </div> |
| | | </div> |
| | | <div class="form-horizontal" id="map" style="margin-left: 50px;width: 100%; height: 500px;"></div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script> |
| | | <script src="https://webapi.amap.com/maps?v=1.4.8&key=e17d799b2506d05faf7f88320a266803"></script> |
| | | <script src="https://cache.amap.com/lbs/static/addToolbar.js"></script> |
| | | <script defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyA_FEliOkbkL1IAHQsnBpbpo9MlIp729H0&callback=initMap&v=weekly"></script> |
| | | <script src="${ctxPath}/static/modular/system/tOrderPrivateCar/tOrderPrivateCar_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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="insertTime" name="反馈时间" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="phone" name="用户手机号" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#SelectCon id="status" name="状态" > |
| | | <option value="">全部</option> |
| | | <option value="1">未处理</option> |
| | | <option value="2">已处理</option> |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#button name="查询" icon="fa-search" clickFun="TReportLoss.search()"/> |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TReportLossTableToolbar" role="group"> |
| | | @if(shiro.hasPermission("/tReportLoss/dispose")){ |
| | | <#button name="立即处理" icon="fa-plus" clickFun="TReportLoss.openTReportLossDetail()"/> |
| | | @} |
| | | </div> |
| | | <#table id="TReportLossTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tReportLoss/tReportLoss.js"></script> |
| | | <script> |
| | | laydate.render({ |
| | | elem: '#insertTime' |
| | | ,range: true |
| | | }); |
| | | </script> |
| | | @} |
New file |
| | |
| | | @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="userId" name="用户id" underline="true"/> |
| | | <#input id="orderType" name="业务类型(1=专车,4=市内小件物流)" underline="true"/> |
| | | <#input id="orderId" name="订单id" underline="true"/> |
| | | <#input id="remark" name="备注" underline="true"/> |
| | | <#input id="image" name="图片"/> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="state" name="状态(1=正常,2=冻结,3=删除)" underline="true"/> |
| | | <#input id="status" name="处理状态(1=待处理,2=已处理)" underline="true"/> |
| | | <#input id="handleTime" name="处理时间" underline="true"/> |
| | | <#input id="insertTime" name="添加时间" underline="true"/> |
| | | <#input id="handleUserId" name="处理人id" 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="TReportLossInfoDlg.addSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TReportLossInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tReportLoss/tReportLoss_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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="userId" name="用户id" value="${item.userId}" underline="true"/> |
| | | <#input id="orderType" name="业务类型(1=专车,4=市内小件物流)" value="${item.orderType}" underline="true"/> |
| | | <#input id="orderId" name="订单id" value="${item.orderId}" underline="true"/> |
| | | <#input id="remark" name="备注" value="${item.remark}" underline="true"/> |
| | | <#input id="image" name="图片" value="${item.image}" /> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="state" name="状态(1=正常,2=冻结,3=删除)" value="${item.state}" underline="true"/> |
| | | <#input id="status" name="处理状态(1=待处理,2=已处理)" value="${item.status}" underline="true"/> |
| | | <#input id="handleTime" name="处理时间" value="${item.handleTime}" underline="true"/> |
| | | <#input id="insertTime" name="添加时间" value="${item.insertTime}" underline="true"/> |
| | | <#input id="handleUserId" name="处理人id" value="${item.handleUserId}" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10"> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TReportLossInfoDlg.editSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TReportLossInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tReportLoss/tReportLoss_info.js"></script> |
| | | @} |
| | |
| | | <br/> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">改派设置:</label> |
| | | <div class="col-sm-10"> |
| | |
| | | name="one" id="one" class="form-control newWidth" /> 元;<br/> |
| | | </div> |
| | | </div> |
| | | |
| | | --> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">积分设置:</label> |
| | | <div class="col-sm-10"> |
| | |
| | | name="two" id="two" class="form-control newWidth" /> 积分;<br/> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- |
| | | <div class="form-group" style="height: 70px;"> |
| | | <label class="col-sm-2 control-label">人脸识别:</label> |
| | | <div class="col-sm-10"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | --> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">专车改派:</label> |
| | | <div class="col-sm-10"> |
| | |
| | | * 提交操作 |
| | | */ |
| | | function setUp() { |
| | | var one = $("#one").val().trim(); |
| | | // var one = $("#one").val().trim(); |
| | | var one = "0.00"; |
| | | var two = $("#two").val().trim(); |
| | | var three = $("input[name='three']:checked").val(); |
| | | var openValue = $("#openValue").val(); |
| | | // var three = $("input[name='three']:checked").val(); |
| | | var three = "2"; |
| | | // var openValue = $("#openValue").val(); |
| | | var openValue = "0"; |
| | | |
| | | var isSpecialCar = $("#isSpecialCar").is(":checked"); |
| | | if (isSpecialCar){ |
| | |
| | | Feng.info("输入框不能为空!"); |
| | | return; |
| | | }else if (1 == three){ |
| | | if ("" == openValue || null == openValue || undefined == openValue){ |
| | | Feng.info("人脸识别分钟数不能为空!"); |
| | | return; |
| | | }else if (!regInt.test(openValue)) { |
| | | Feng.info("人脸识别分钟数格式不正确!"); |
| | | return; |
| | | } |
| | | // if ("" == openValue || null == openValue || undefined == openValue){ |
| | | // Feng.info("人脸识别分钟数不能为空!"); |
| | | // return; |
| | | // }else if (!regInt.test(openValue)) { |
| | | // Feng.info("人脸识别分钟数格式不正确!"); |
| | | // return; |
| | | // } |
| | | } else if (!regDouble.test(one) || !regInt.test(two) |
| | | |
| | | || !regDouble.test(zc1) || !regInt.test(zc2) || !regDouble.test(zc3) |
| | |
| | | |
| | | <div class="row"> |
| | | <div class="col-sm-11"> |
| | | <!-- |
| | | <div class="ibox-title"> |
| | | <h3>跨城小件物流价格设置:</h3> |
| | | </div> |
| | |
| | | name="num102" id="num102" class="form-control newWidth" /> 元/件<br/> |
| | | </div> |
| | | </div> |
| | | |
| | | --> |
| | | <div class="ibox-title"> |
| | | <h3>同城小件物流价格设置:</h3> |
| | | <h3>市内小件物流价格设置:</h3> |
| | | </div> |
| | | <input type="hidden" id="tcId" name="tcId" |
| | | @if(isNotEmpty(tcId)){ |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-1 control-label"></label> |
| | | <div class="col-sm-10"> |
| | | 普通小件价格为(根据起点终点距离收费):<br/> |
| | | 价格为(根据起点终点距离收费):<br/> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | name="num11" id="num11" class="form-control newWidth" />元/件 <br/> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-1 control-label"></label> |
| | | <div class="col-sm-10"> |
| | |
| | | name="num22" id="num22" class="form-control newWidth" />元/件 <br/> |
| | | </div> |
| | | </div> |
| | | |
| | | --> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | function addSubmit() { |
| | | //验证数据格式-跨城小件物流价格设置 |
| | | var kcId = $("#kcId").val(); |
| | | var num101 = $("#num101").val(); |
| | | var num102 = $("#num102").val(); |
| | | if ("" == num101 || "" == num102){ |
| | | Feng.error("【跨城小件物流价格设置】输入框不能为空"); |
| | | return; |
| | | }else if (!regDouble.test(num101) || !regDouble.test(num102)){ |
| | | Feng.error("【跨城小件物流价格设置】输入框格式不正确"); |
| | | return; |
| | | } |
| | | // var num101 = $("#num101").val(); |
| | | // var num102 = $("#num102").val(); |
| | | // if ("" == num101 || "" == num102){ |
| | | // Feng.error("【跨城小件物流价格设置】输入框不能为空"); |
| | | // return; |
| | | // }else if (!regDouble.test(num101) || !regDouble.test(num102)){ |
| | | // Feng.error("【跨城小件物流价格设置】输入框格式不正确"); |
| | | // return; |
| | | // } |
| | | //验证数据格式-同城小件物流价格设置 |
| | | var tcId = $("#tcId").val(); |
| | | var num1 = $("#num1").val(); |
| | |
| | | var num9 = $("#num9").val(); |
| | | var num10 = $("#num10").val(); |
| | | var num11 = $("#num11").val(); |
| | | var num12 = $("#num12").val(); |
| | | var num13 = $("#num13").val(); |
| | | var num14 = $("#num14").val(); |
| | | var num15 = $("#num15").val(); |
| | | var num16 = $("#num16").val(); |
| | | var num17 = $("#num17").val(); |
| | | var num18 = $("#num18").val(); |
| | | var num19 = $("#num19").val(); |
| | | var num20 = $("#num20").val(); |
| | | var num21 = $("#num21").val(); |
| | | var num22 = $("#num22").val(); |
| | | // var num12 = $("#num12").val(); |
| | | // var num13 = $("#num13").val(); |
| | | // var num14 = $("#num14").val(); |
| | | // var num15 = $("#num15").val(); |
| | | // var num16 = $("#num16").val(); |
| | | // var num17 = $("#num17").val(); |
| | | // var num18 = $("#num18").val(); |
| | | // var num19 = $("#num19").val(); |
| | | // var num20 = $("#num20").val(); |
| | | // var num21 = $("#num21").val(); |
| | | // var num22 = $("#num22").val(); |
| | | |
| | | if ("" == num1 || "" == num2 || "" == num3 || "" == num4 || "" == num5 || "" == num6 || "" == num7 || "" == num8 || "" == num9 || "" == num10 |
| | | || "" == num11 || "" == num12 || "" == num13 || "" == num14 || "" == num15 || "" == num16 || "" == num17 || "" == num18 || "" == num19 || "" == num20 |
| | | || "" == num21 || "" == num22 ){ |
| | | || "" == num11 /*|| "" == num12 || "" == num13 || "" == num14 || "" == num15 || "" == num16 || "" == num17 || "" == num18 || "" == num19 || "" == num20 |
| | | || "" == num21 || "" == num22 */){ |
| | | Feng.error("【同城小件物流价格设置】输入框不能为空"); |
| | | return; |
| | | }else if (!regDouble.test(num1) || !regDouble.test(num2) || !regDouble.test(num3) || !regDouble.test(num4) || !regDouble.test(num5) || !regDouble.test(num6) |
| | | || !regDouble.test(num7) || !regDouble.test(num8) || !regDouble.test(num9) || !regDouble.test(num10) || !regDouble.test(num11) || !regDouble.test(num12) |
| | | || !regDouble.test(num7) || !regDouble.test(num8) || !regDouble.test(num9) || !regDouble.test(num10) || !regDouble.test(num11)/* || !regDouble.test(num12) |
| | | || !regDouble.test(num13) || !regDouble.test(num14) || !regDouble.test(num15) || !regDouble.test(num16) || !regDouble.test(num17) || !regDouble.test(num18) |
| | | || !regDouble.test(num19) || !regDouble.test(num20) || !regDouble.test(num21) || !regDouble.test(num22) ){ |
| | | || !regDouble.test(num19) || !regDouble.test(num20) || !regDouble.test(num21) || !regDouble.test(num22)*/ ){ |
| | | Feng.error("【同城小件物流价格设置】输入框格式不正确"); |
| | | return; |
| | | } |
| | | //封装数据 |
| | | var json1 = '{"num1":"'+num101+'","num2":"'+num102+'"}'; |
| | | // var json1 = '{"num1":"'+num101+'","num2":"'+num102+'"}'; |
| | | var json2 = '{"num1":"'+num1+'","num2":"'+num2+'","num3":"'+num3+'","num4":"'+num4+'","num5":"'+num5+'","num6":"'+num6+'"' + |
| | | ',"num7":"'+num7+'","num8":"'+num8+'","num9":"'+num9+'","num10":"'+num10+'","num11":"'+num11+'","num12":"'+num12+'"' + |
| | | ',"num7":"'+num7+'","num8":"'+num8+'","num9":"'+num9+'","num10":"'+num10+'","num11":"'+num11+/*'","num12":"'+num12+'"' + |
| | | ',"num13":"'+num13+'","num14":"'+num14+'","num15":"'+num15+'","num16":"'+num16+'","num17":"'+num17+'","num18":"'+num18+'"' + |
| | | ',"num19":"'+num19+'","num20":"'+num20+'","num21":"'+num21+'","num22":"'+num22+'"}'; |
| | | ',"num19":"'+num19+'","num20":"'+num20+'","num21":"'+num21+'","num22":"'+num22+*/'"}'; |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tSystemPrice/smallSubmit", function(data){ |
| | |
| | | Feng.error("操作失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("kcId", kcId); |
| | | ajax.set("json1", json1); |
| | | // ajax.set("json1", json1); |
| | | ajax.set("tcId", tcId); |
| | | ajax.set("json2", json2); |
| | | ajax.start(); |
| | |
| | | <br/> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">夜间行驶费用设置:</label> |
| | | <div class="col-sm-10"> |
| | |
| | | <br/> |
| | | </div> |
| | | </div> |
| | | |
| | | --> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">高峰期费用设置:</label> |
| | | <div class="col-sm-10"> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">选择车型:</label> |
| | | <div class="col-sm-10"> |
| | | <select class="form-control" id="serverCarModelId" name="serverCarModelId" style="width: 200px;"> |
| | | <select class="form-control" id="serverCarModelId" name="serverCarModelId" disabled style="width: 200px;"> |
| | | <option value="">选择车型</option> |
| | | @for(obj in modelList!){ |
| | | <option value="${obj.id}" ${obj.id == item.serverCarModelId ? 'selected=selected' : ''}>${obj.name}</option> |
| | |
| | | <br/> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">夜间行驶费用设置:</label> |
| | | <div class="col-sm-10"> |
| | |
| | | <br/> |
| | | </div> |
| | | </div> |
| | | |
| | | --> |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">高峰期费用设置:</label> |
| | | <div class="col-sm-10"> |
| | |
| | | <input type="text" name="zc1" id="num4" class="form-control newWidth" /> 张 |
| | | <input type="text" name="zc1" id="num5" class="form-control newWidth" placeholder="请选择" readonly="readonly" onclick="RegistInfoDlg.selecteCoupon(1)"/> 元专车优惠券 |
| | | <br/> |
| | | <br/> |
| | | 送 |
| | | <input type="text" name="zc1" id="num6" class="form-control newWidth" /> 张 |
| | | <input type="text" name="zc1" id="num7" class="form-control newWidth" placeholder="请选择" readonly="readonly" onclick="RegistInfoDlg.selecteCoupon(2)"/> 元出租车优惠券 |
| | | <br/> |
| | | <br/> |
| | | 送 |
| | | <input type="text" name="zc1" id="num8" class="form-control newWidth" /> 张 |
| | | <input type="text" name="zc1" id="num9" class="form-control newWidth" placeholder="请选择" readonly="readonly" onclick="RegistInfoDlg.selecteCoupon(3)"/> 元城际优惠券 |
| | | <br/> |
| | | <!--<br/>--> |
| | | <!--送--> |
| | | <!-- <input type="text" name="zc1" id="num6" class="form-control newWidth" /> 张--> |
| | | <!-- <input type="text" name="zc1" id="num7" class="form-control newWidth" placeholder="请选择" readonly="readonly" onclick="RegistInfoDlg.selecteCoupon(2)"/> 元出租车优惠券--> |
| | | <!--<br/>--> |
| | | <!--<br/>--> |
| | | <!--送--> |
| | | <!-- <input type="text" name="zc1" id="num8" class="form-control newWidth" /> 张--> |
| | | <!-- <input type="text" name="zc1" id="num9" class="form-control newWidth" placeholder="请选择" readonly="readonly" onclick="RegistInfoDlg.selecteCoupon(3)"/> 元城际优惠券--> |
| | | <!--<br/>--> |
| | | <br/> |
| | | 有效期 |
| | | <input type="text" name="zc1" id="num10" class="form-control newWidth" /> 天, |
| | |
| | | {title: '专车券领取总数', field: 'speNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '专车券使用总数', field: 'speUseNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '专车券使用总金额', field: 'speUserMoney', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '出租车券领取总数', field: 'taxiNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '出租车券使用总数', field: 'taxiUseNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '出租车券使用总金额', field: 'taxiUserMoney', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '城际券领取总数', field: 'intercityNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '城际券使用总数', field: 'intercityUseNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '城际券使用总金额', field: 'intercityUserMoney', visible: true, align: 'center', valign: 'middle'}, |
| | | // {title: '出租车券领取总数', field: 'taxiNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | // {title: '出租车券使用总数', field: 'taxiUseNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | // {title: '出租车券使用总金额', field: 'taxiUserMoney', visible: true, align: 'center', valign: 'middle'}, |
| | | // {title: '城际券领取总数', field: 'intercityNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | // {title: '城际券使用总数', field: 'intercityUseNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | // {title: '城际券使用总金额', field: 'intercityUserMoney', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '', field: 'insertTime', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ''; |
| | |
| | | <th style="width: 300px;">通用券数量</th> |
| | | <th style="width: 300px;">专车券金额</th> |
| | | <th style="width: 300px;">专车券数量</th> |
| | | <th style="width: 400px;">出租车券金额</th> |
| | | <th style="width: 400px;">出租车券数量</th> |
| | | <th style="width: 300px;">城际金额</th> |
| | | <th style="width: 300px;">城际券数量</th> |
| | | <!--<th style="width: 400px;">出租车券金额</th>--> |
| | | <!--<th style="width: 400px;">出租车券数量</th>--> |
| | | <!--<th style="width: 300px;">城际金额</th>--> |
| | | <!--<th style="width: 300px;">城际券数量</th>--> |
| | | <th style="width: 100px;">操作</th> |
| | | </tr> |
| | | </thead> |
| | |
| | | |
| | | <input type="text" name="zc1" id="content5Num1" class="form-control newWidth" /> 折 |
| | | <br/> |
| | | <!-- |
| | | <br/> |
| | | 出租车活动打折: |
| | | |
| | | <input type="text" name="zc1" id="content5Num2" class="form-control newWidth" /> 折 |
| | | <br/> |
| | | --> |
| | | <br/> |
| | | 小件物流活动打折: |
| | | <input type="text" name="zc1" id="content5Num3" class="form-control newWidth" /> 折 |
| | |
| | | <th style="width: 300px;">通用券数量</th> |
| | | <th style="width: 300px;">专车券金额</th> |
| | | <th style="width: 300px;">专车券数量</th> |
| | | <th style="width: 400px;">出租车券金额</th> |
| | | <th style="width: 400px;">出租车券数量</th> |
| | | <th style="width: 300px;">城际金额</th> |
| | | <th style="width: 300px;">城际券数量</th> |
| | | <!--<th style="width: 400px;">出租车券金额</th>--> |
| | | <!--<th style="width: 400px;">出租车券数量</th>--> |
| | | <!--<th style="width: 300px;">城际金额</th>--> |
| | | <!--<th style="width: 300px;">城际券数量</th>--> |
| | | </tr> |
| | | </thead> |
| | | <tbody id="coun"> |
| | | @for(obj in balanceInfoList){ |
| | | <tr class="timeClass">' + |
| | | <tr class="timeClass"> |
| | | <td><input type="hidden" id="num1" name="num1" value="${obj.money}">${obj.money}</td> |
| | | <td><input type="hidden" id="num10" name="num10" value="${obj.effective}">${obj.effective}</td> |
| | | <td><input type="hidden" id="num11" name="num3" value="${obj.totalPrice}">${obj.totalPrice}</td> |
| | |
| | | <td><input type="hidden" id="num5" name="num5" value="${obj.specialCouponMoney}">${obj.specialCouponMoney}</td> |
| | | <td><input type="hidden" id="num4" name="num4" value="${obj.specialNum}">${obj.specialNum}</td> |
| | | |
| | | <td><input type="hidden" id="num7" name="num7" value="${obj.taxiCouponMoney}">${obj.taxiCouponMoney}</td> |
| | | <td><input type="hidden" id="num6" name="num6" value="${obj.taxiNum}">${obj.taxiNum}</td> |
| | | <!--<td><input type="hidden" id="num7" name="num7" value="${obj.taxiCouponMoney}">${obj.taxiCouponMoney}</td>--> |
| | | <!--<td><input type="hidden" id="num6" name="num6" value="${obj.taxiNum}">${obj.taxiNum}</td>--> |
| | | |
| | | <td><input type="hidden" id="num9" name="num9" value="${obj.intercityCouponMoney}">${obj.intercityCouponMoney}</td> |
| | | <td><input type="hidden" id="num8" name="num8" value="${obj.intercityNum}">${obj.intercityNum}</td> |
| | | <!--<td><input type="hidden" id="num9" name="num9" value="${obj.intercityCouponMoney}">${obj.intercityCouponMoney}</td>--> |
| | | <!--<td><input type="hidden" id="num8" name="num8" value="${obj.intercityNum}">${obj.intercityNum}</td>--> |
| | | </tr> |
| | | @} |
| | | </tbody> |
| | |
| | | @} |
| | | name="zc1" id="content5Num1" class="form-control newWidth" readonly/> |
| | | <br/> |
| | | <!-- |
| | | <br/> |
| | | 出租车活动打折: |
| | | |
| | |
| | | @} |
| | | name="zc1" id="content5Num2" class="form-control newWidth" readonly/> |
| | | <br/> |
| | | --> |
| | | <br/> |
| | | 距离: |
| | | <input type="text" |
| | |
| | | <th style="width: 300px;">通用券数量</th> |
| | | <th style="width: 300px;">专车券金额</th> |
| | | <th style="width: 300px;">专车券数量</th> |
| | | <th style="width: 400px;">出租车券金额</th> |
| | | <th style="width: 400px;">出租车券数量</th> |
| | | <th style="width: 300px;">城际金额</th> |
| | | <th style="width: 300px;">城际券数量</th> |
| | | <!--<th style="width: 400px;">出租车券金额</th>--> |
| | | <!--<th style="width: 400px;">出租车券数量</th>--> |
| | | <!--<th style="width: 300px;">城际金额</th>--> |
| | | <!--<th style="width: 300px;">城际券数量</th>--> |
| | | <th style="width: 100px;">操作</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody id="coun"> |
| | | @for(obj in balanceInfoList){ |
| | | <tr class="timeClass">' + |
| | | <tr class="timeClass"> |
| | | <td><input type="hidden" id="id1" name="id1" value="${obj.generalCouponId}"><input type="hidden" id="num1" name="num1" value="${obj.money}">${obj.money}</td> |
| | | <td><input type="hidden" id="id2" name="id2" value="${obj.specialCouponId}"><input type="hidden" id="num10" name="num10" value="${obj.effective}">${obj.effective}</td> |
| | | <td><input type="hidden" id="num11" name="num11" value="${obj.totalPrice}">${obj.totalPrice}</td> |
| | |
| | | @} |
| | | name="zc1" id="content5Num1" class="form-control newWidth" /> |
| | | <br/> |
| | | <!-- |
| | | <br/> |
| | | 出租车活动打折: |
| | | |
| | |
| | | @} |
| | | name="zc1" id="content5Num2" class="form-control newWidth" /> |
| | | <br/> |
| | | --> |
| | | <br/> |
| | | 小件物流活动打折: |
| | | <input type="text" |
| | |
| | | var uid = $("#3dnzNxplgTiHaddR",top.window.document).val(); |
| | | var markers = []; |
| | | var companyId = ''; |
| | | var mark_last;//记录上一次点击的mark |
| | | |
| | | var Home = { |
| | | id: "VersionTable", //表格id |
| | |
| | | }); |
| | | getData(); |
| | | getCompanyByUid(); |
| | | // setInterval(function () { |
| | | // Home.webSocketClient(null); |
| | | // }, 60000 * 5); |
| | | // setInterval(function () { |
| | | // Home.getAllOrder(); |
| | | // }, 60000 * 5); |
| | | setInterval(function () { |
| | | Home.webSocketClient(null); |
| | | }, 60000 * 5); |
| | | setInterval(function () { |
| | | Home.getAllOrder(); |
| | | }, 60000 * 5); |
| | | }); |
| | | |
| | | |
| | | |
| | | var map = new AMap.Map('container',{ |
| | | resizeEnable: true, |
| | | zoom:10 |
| | | }); |
| | | let map; |
| | | let markers = []; |
| | | |
| | | let map2; |
| | | |
| | | let markers2 = []; |
| | | |
| | | function initMap() { |
| | | // The location of Uluru |
| | | const uluru = { lat: 5.668430499999999, lng: -0.060339 }; |
| | | // The map, centered at Uluru |
| | | map = new google.maps.Map(document.getElementById("map"), { |
| | | zoom: 8, |
| | | center: uluru, |
| | | }); |
| | | |
| | | // The map, centered at Uluru |
| | | map2 = new google.maps.Map(document.getElementById("map1"), { |
| | | zoom: 7, |
| | | center: uluru, |
| | | }); |
| | | } |
| | | |
| | | |
| | | var map_ = new AMap.Map('container_',{ |
| | | resizeEnable: true, |
| | | mapStyle: 'amap://styles/1de318cbb8d12c02303a22c550b9ccc9', |
| | | zoom:10 |
| | | }); |
| | | |
| | | var mouseTool = new AMap.MouseTool(map); |
| | | //监听draw事件可获取画好的覆盖物 |
| | | var overlays = []; |
| | | var name = null; |
| | | var coordinate = '';//存储坐标 |
| | | mouseTool.on('draw',function(e){ |
| | | overlays.push(e.obj); |
| | | console.log(e.obj.getPath()); |
| | | |
| | | switch (name) { |
| | | case 'polyline':{//折线图 |
| | | var polyline = e.obj.getPath(); |
| | | getCoordinate(polyline); |
| | | break; |
| | | } |
| | | case 'polygon':{//多边形 |
| | | var polygon = e.obj.getPath(); |
| | | getCoordinate(polygon); |
| | | break; |
| | | } |
| | | case 'rectangle':{//矩形 |
| | | var rectangle = e.obj.getPath(); |
| | | getCoordinate(rectangle); |
| | | break; |
| | | } |
| | | case 'circle':{//圆行 |
| | | var center = e.obj.getCenter(); |
| | | var radius = e.obj.getRadius(); |
| | | if(radius > 5000){ |
| | | Feng.error("创建电子围栏失败,圆半径不能大于5000米"); |
| | | return; |
| | | } |
| | | coordinate = center.lng + ',' + center.lat + ';' + radius; |
| | | break; |
| | | } |
| | | } |
| | | console.log(coordinate); |
| | | }) |
| | | |
| | | window.initMap = initMap; |
| | | |
| | | function getCompanyByUid() { |
| | | $.ajax({ |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | function clearMarkers() { |
| | | for (let i = 0; i < markers.length; i++) { |
| | | markers[i].setMap(null); |
| | | } |
| | | markers = []; |
| | | } |
| | | |
| | | function clearMarkers1() { |
| | | for (let i = 0; i < markers2.length; i++) { |
| | | markers2[i].setMap(null); |
| | | } |
| | | markers2 = []; |
| | | } |
| | | |
| | | |
| | | |
| | | Home.webSocketClient = function (companyId) { |
| | | $.ajax({ |
| | | url: Feng.ctxPath + '/home/getDriverPosition', |
| | | type: 'POST', |
| | | data: { |
| | | companyId: companyId, |
| | | //暂定修改此处,不改方法 |
| | | state:$("#driverState").val() |
| | | companyId: companyId |
| | | }, |
| | | success: function (res) { |
| | | map.remove(markers); |
| | | markers = []; |
| | | var data = res.driver; |
| | | clearMarkers(); |
| | | var data1 = res.driver1; |
| | | var data2 = res.driver2; |
| | | var order = res.order; |
| | | var d = ''; |
| | | for(var i in data){ |
| | | var driver = data[i].driver; |
| | | var driverId = driver.id |
| | | var state='<span style="font-size:12px;padding:3px 3px;float: right" class="label label-error">离</span>'; |
| | | if("2"==driver.state){ |
| | | state='<span style="font-size:12px;padding:3px 3px;float: right" class="label label-warning">听</span>'; |
| | | }else if("3"==driver.state){ |
| | | state='<span style="font-size:12px;padding:3px 3px;float: right" class="label label-primary">载</span>'; |
| | | } |
| | | d += '<li style="font-size: 12px;" class="list-group-item" ondblclick="Home.dblclickDriver('+i+')" id="' + driverId + '">' + driver.name + '-' + driver.phone +state+ '</li>'; |
| | | if('' != data[i].lon){ |
| | | // 创建 AMap.Icon 实例: |
| | | var icon = new AMap.Icon({ |
| | | size: new AMap.Size(40, 50), // 图标尺寸 |
| | | image: '/static/car.png', // Icon的图像 |
| | | // imageOffset: new AMap.Pixel(0, -60), // 图像相对展示区域的偏移量,适于雪碧图等 |
| | | imageSize: new AMap.Size(40, 50), // 根据所设置的大小拉伸或压缩图片 |
| | | }); |
| | | for(var i in data1){ |
| | | var driver = data1[i].driver; |
| | | var driverId = driver.id; |
| | | d += '<li class="list-group-item" id="' + driverId + '">' + driver.name + '-' + driver.phone + '</li>'; |
| | | if('' != data1[i].lon){ |
| | | const image = { |
| | | url: "/static/icon_car@2x.png", |
| | | size: new google.maps.Size(50, 50), |
| | | origin: new google.maps.Point(16, 15), |
| | | anchor: new google.maps.Point(0, 0), |
| | | }; |
| | | const shape = { |
| | | coords: [1, 1, 1, 20, 18, 20, 18, 1], |
| | | type: "poly", |
| | | }; |
| | | |
| | | var marker = new AMap.Marker({ |
| | | position: new AMap.LngLat(data[i].lon, data[i].lat), // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9] |
| | | offset: new AMap.Pixel(-10, -10), |
| | | icon: icon, // 添加 Icon 实例 |
| | | }); |
| | | marker.setExtData([driverId]) |
| | | marker.on('click', function(){ |
| | | Home.openNetCarInfo(this); |
| | | }); |
| | | //console.log(marker); |
| | | markers.push(marker) |
| | | markers.push( |
| | | new google.maps.Marker({ |
| | | position: { lat: parseFloat(data1[i].lat), lng: parseFloat(data1[i].lon) }, |
| | | map, |
| | | icon: image, |
| | | shape: shape, |
| | | title: driver.name + '-' + driver.phone, |
| | | zIndex: driverId, |
| | | }) |
| | | ) |
| | | } |
| | | } |
| | | |
| | | for(var i in data2){ |
| | | var driver = data2[i].driver; |
| | | var driverId = driver.id; |
| | | d += '<li class="list-group-item" id="' + driverId + '">' + driver.name + '-' + driver.phone + '</li>'; |
| | | if('' != data2[i].lon){ |
| | | const image = { |
| | | url: "/static/car.png", |
| | | size: new google.maps.Size(50, 50), |
| | | origin: new google.maps.Point(0, 0), |
| | | anchor: new google.maps.Point(0, 50), |
| | | }; |
| | | const shape = { |
| | | coords: [1, 1, 1, 20, 18, 20, 18, 1], |
| | | type: "poly", |
| | | }; |
| | | |
| | | markers.push( |
| | | new google.maps.Marker({ |
| | | position: { lat: parseFloat(data2[i].lat), lng: parseFloat(data2[i].lon) }, |
| | | map, |
| | | icon: image, |
| | | shape: shape, |
| | | title: driver.name + '-' + driver.phone, |
| | | zIndex: driverId, |
| | | }) |
| | | ) |
| | | } |
| | | } |
| | | $('#netcardriver').html(d); |
| | | map.add(markers); |
| | | |
| | | //订单数据 |
| | | var privateCar=order.privateCar; |
| | | var zhuanche = order.zhuanche; |
| | | var kuacheng = order.kuacheng; |
| | | var chuzu = order.chuzu; |
| | | var kuahceng = order.kuahceng; |
| | | var o = ''; |
| | | $('#order').html(o); |
| | | console.log(order); |
| | | |
| | | var zc = '<div class="list-group"><a href="#" class="list-group-item active">专车未接订单</a>' |
| | | for(var i in privateCar){ |
| | | zc += '<a href="#" class="list-group-item"><p class="list-group-item-text">起点:' + privateCar[i].start + '</p><p class="list-group-item-text">终点:' + privateCar[i].end + '</p>' + |
| | | '<p class="list-group-item-text">下单时间:' + privateCar[i].travelTime + '</p><p class="list-group-item-text">车型:' + privateCar[i].carModel + '</p>' + |
| | | '<p class="list-group-item-text">人数:' + privateCar[i].num + '</p></a>'; |
| | | for(var i in zhuanche){ |
| | | zc += '<a href="#" class="list-group-item"><p class="list-group-item-text">起点:' + zhuanche[i].startAddress + '</p><p class="list-group-item-text">终点:' + zhuanche[i].endAddress + '</p>' + |
| | | '<p class="list-group-item-text">下单时间:' + new Date(zhuanche[i].travelTime) + '</p>' + |
| | | '</a>'; |
| | | } |
| | | zc += '</div>'; |
| | | o += zc; |
| | | |
| | | var kc = '<div class="list-group"><a href="#" class="list-group-item active">跨城出行未接订单</a>' |
| | | var kc = '<div class="list-group"><a href="#" class="list-group-item active">市内小件物流未接订单</a>' |
| | | for(var i in kuacheng){ |
| | | kc += '<a href="#" class="list-group-item"><p class="list-group-item-text">起点:' + kuacheng[i].start + '</p><p class="list-group-item-text">终点:' + kuacheng[i].end + '</p>' + |
| | | '<p class="list-group-item-text">下单时间:' + kuacheng[i].travelTime + '</p><p class="list-group-item-text">车型:' + kuacheng[i].carModel + '</p>' + |
| | | '<p class="list-group-item-text">人数:' + kuacheng[i].num + '</p></a>'; |
| | | kc += '<a href="#" class="list-group-item"><p class="list-group-item-text">起点:' + kuacheng[i].startAddress + '</p><p class="list-group-item-text">终点:' + kuacheng[i].endAddress + '</p>' + |
| | | '<p class="list-group-item-text">下单时间:' + new Date(kuacheng[i].travelTime) + '</p><p class="list-group-item-text">物品类型:' + kuacheng[i].cargoName + '</p>' + |
| | | '<p class="list-group-item-text">数量:' + kuacheng[i].cargoNumber + '</p></a>'; |
| | | } |
| | | |
| | | kc += '</div>'; |
| | | o += kc; |
| | | |
| | | var cz = '<div class="list-group"><a href="#" class="list-group-item active">出租车未接订单</a>' |
| | | for(var i in chuzu){ |
| | | cz += '<a href="#" class="list-group-item"><p class="list-group-item-text">起点:' + chuzu[i].start + '</p><p class="list-group-item-text">终点:' + chuzu[i].end + '</p>' + |
| | | '<p class="list-group-item-text">下单时间:' + chuzu[i].travelTime + '</p><p class="list-group-item-text">车型:' + chuzu[i].carModel + '</p>' + |
| | | '<p class="list-group-item-text">人数:' + chuzu[i].num + '</p></a>'; |
| | | } |
| | | cz += '</div>'; |
| | | o += cz; |
| | | |
| | | var cx = '<div class="list-group"><a href="#" class="list-group-item active">城乡出行未接订单</a>' |
| | | for(var i in kuahceng){ |
| | | cx += '<a href="#" class="list-group-item"><p class="list-group-item-text">起点:' + kuahceng[i].start + '</p><p class="list-group-item-text">终点:' + kuahceng[i].end + '</p>' + |
| | | '<p class="list-group-item-text">下单时间:' + kuahceng[i].travelTime + '</p><p class="list-group-item-text">车型:' + kuahceng[i].carModel + '</p>' + |
| | | '<p class="list-group-item-text">人数:' + kuahceng[i].num + '</p></a>'; |
| | | } |
| | | cx += '</div>'; |
| | | o += cx; |
| | | |
| | | $('#order').html(o); |
| | | } |
| | |
| | | $.ajax({ |
| | | url: Feng.ctxPath + '/home/getAllOrder', |
| | | type: 'POST', |
| | | data: { |
| | | companyId: companyId, |
| | | uid: uid |
| | | }, |
| | | success: function (res) { |
| | | var style = [{ |
| | | url: 'https://a.amap.com/jsapi_demos/static/images/mass0.png', |
| | | anchor: new AMap.Pixel(6, 6), |
| | | size: new AMap.Size(11, 11) |
| | | }, { |
| | | url: 'https://a.amap.com/jsapi_demos/static/images/mass1.png', |
| | | anchor: new AMap.Pixel(4, 4), |
| | | size: new AMap.Size(7, 7) |
| | | }, { |
| | | url: 'https://a.amap.com/jsapi_demos/static/images/mass2.png', |
| | | anchor: new AMap.Pixel(3, 3), |
| | | size: new AMap.Size(5, 5) |
| | | }]; |
| | | |
| | | var mass = new AMap.MassMarks(citys, { |
| | | opacity: 0.8, |
| | | zIndex: 111, |
| | | cursor: 'pointer', |
| | | style: style |
| | | }); |
| | | |
| | | var marker = new AMap.Marker({content: ' ', map: map_}); |
| | | |
| | | mass.on('mouseover', function (e) { |
| | | |
| | | marker.setPosition(e.data.lnglat); |
| | | marker.setLabel({content: e.data.name}) |
| | | }); |
| | | |
| | | var data = []; |
| | | clearMarkers1() |
| | | for(var i in res){ |
| | | var obj = { |
| | | lnglat: [res[i].lon, res[i].lat] |
| | | } |
| | | data.push(obj); |
| | | markers2.push( |
| | | new google.maps.Marker({ |
| | | position: { lat: parseFloat(res[i].lat), lng: parseFloat(res[i].lon) }, |
| | | map: map2, |
| | | }) |
| | | ) |
| | | } |
| | | mass.setData(data); |
| | | mass.setMap(map_); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //双击司机li |
| | | /*Home.dblclickDriver=function (lon,lat) { |
| | | var markerPosition = [lon,lat]; |
| | | map.panTo(markerPosition); |
| | | |
| | | }*/ |
| | | Home.dblclickDriver=function (i) { |
| | | var marker=markers[i]; |
| | | var position=[marker.w.position.lng,marker.w.position.lat]; |
| | | map.panTo(position); |
| | | var iconOld = new AMap.Icon({ |
| | | size: new AMap.Size(40, 50), // 图标尺寸 |
| | | image: '/static/car.png', // Icon的图像 |
| | | imageSize: new AMap.Size(40, 50), // 根据所设置的大小拉伸或压缩图片 |
| | | }); |
| | | var iconNew = new AMap.Icon({ |
| | | size: new AMap.Size(40, 50), // 图标尺寸 |
| | | image: '/static/car_blue.jpg', // Icon的图像 |
| | | imageSize: new AMap.Size(40, 50), // 根据所设置的大小拉伸或压缩图片 |
| | | }); |
| | | //标记当前这个的样式 |
| | | marker.setIcon(iconNew); |
| | | //还原上一个的样式 |
| | | if(typeof (mark_last) != "undefined"){ |
| | | if(mark_last!=marker){ |
| | | mark_last.setIcon(iconOld); |
| | | } |
| | | |
| | | } |
| | | //记录为最后一个标记的 |
| | | mark_last=marker; |
| | | } |
| | | |
| | | |
| | | function getData1() { |
| | |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | | } |
| | | if (!re.test($("#num7").val())) { |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | | } |
| | | if (!re.test($("#num9").val())) { |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | | } |
| | | // if (!re.test($("#num7").val())) { |
| | | // Feng.error("请输入正确金额数!"); |
| | | // return; |
| | | // } |
| | | // if (!re.test($("#num9").val())) { |
| | | // Feng.error("请输入正确金额数!"); |
| | | // return; |
| | | // } |
| | | if (!re.test($("#num11").val())) { |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | |
| | | Feng.error("请输入正确小时数!"); |
| | | return; |
| | | } |
| | | if (!/^[1-9]\d*$/.test($("#num6").val())) { |
| | | Feng.error("请输入正确小时数!"); |
| | | return; |
| | | } |
| | | if (!/^[1-9]\d*$/.test($("#num8").val())) { |
| | | Feng.error("请输入正确小时数!"); |
| | | return; |
| | | } |
| | | // if (!/^[1-9]\d*$/.test($("#num6").val())) { |
| | | // Feng.error("请输入正确小时数!"); |
| | | // return; |
| | | // } |
| | | // if (!/^[1-9]\d*$/.test($("#num8").val())) { |
| | | // Feng.error("请输入正确小时数!"); |
| | | // return; |
| | | // } |
| | | if (!/^[1-9]\d*$/.test($("#num10").val())) { |
| | | Feng.error("请输入正确单数!"); |
| | | return; |
| | |
| | | ajax.set("num3",$("#num3").val()); |
| | | ajax.set("num4",$("#num4").val()); |
| | | ajax.set("num5",$("#num5").val()); |
| | | ajax.set("num6",$("#num6").val()); |
| | | ajax.set("num7",$("#num7").val()); |
| | | ajax.set("num8",$("#num8").val()); |
| | | ajax.set("num9",$("#num9").val()); |
| | | ajax.set("num6",0); |
| | | ajax.set("num7",0); |
| | | ajax.set("num8",0); |
| | | ajax.set("num9",0); |
| | | ajax.set("num10",$("#num10").val()); |
| | | ajax.set("num11",$("#num11").val()); |
| | | ajax.start(); |
| | |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | | } |
| | | if (!re.test($("#num7").val())) { |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | | } |
| | | if (!re.test($("#num9").val())) { |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | | } |
| | | // if (!re.test($("#num7").val())) { |
| | | // Feng.error("请输入正确金额数!"); |
| | | // return; |
| | | // } |
| | | // if (!re.test($("#num9").val())) { |
| | | // Feng.error("请输入正确金额数!"); |
| | | // return; |
| | | // } |
| | | if (!re.test($("#num11").val())) { |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | |
| | | Feng.error("请输入正确小时数!"); |
| | | return; |
| | | } |
| | | if (!/^[1-9]\d*$/.test($("#num6").val())) { |
| | | Feng.error("请输入正确小时数!"); |
| | | return; |
| | | } |
| | | if (!/^[1-9]\d*$/.test($("#num8").val())) { |
| | | Feng.error("请输入正确小时数!"); |
| | | return; |
| | | } |
| | | // if (!/^[1-9]\d*$/.test($("#num6").val())) { |
| | | // Feng.error("请输入正确小时数!"); |
| | | // return; |
| | | // } |
| | | // if (!/^[1-9]\d*$/.test($("#num8").val())) { |
| | | // Feng.error("请输入正确小时数!"); |
| | | // return; |
| | | // } |
| | | if (!/^[1-9]\d*$/.test($("#num10").val())) { |
| | | Feng.error("请输入正确单数!"); |
| | | return; |
| | |
| | | ajax.set("num3",$("#num3").val()); |
| | | ajax.set("num4",$("#num4").val()); |
| | | ajax.set("num5",$("#num5").val()); |
| | | ajax.set("num6",$("#num6").val()); |
| | | ajax.set("num7",$("#num7").val()); |
| | | ajax.set("num8",$("#num8").val()); |
| | | ajax.set("num9",$("#num9").val()); |
| | | ajax.set("num6",0); |
| | | ajax.set("num7",0); |
| | | ajax.set("num8",0); |
| | | ajax.set("num9",0); |
| | | ajax.set("num10",$("#num10").val()); |
| | | ajax.set("num11",$("#num11").val()); |
| | | ajax.set("id",$("#id").val()); |
| | |
| | | return [ |
| | | [ |
| | | {field: 'selectItem', radio: true, colspan: 1, rowspan: 2}, |
| | | {title: '主键id', field: 'id', visible: false, align: 'center', valign: 'middle', colspan: 1, rowspan: 2}, |
| | | {title: '日期', field: 'time', visible: true, align: 'center', valign: 'middle',width:'150px',colspan: 1, rowspan: 2}, |
| | | {title: '用户注册数量', field: 'register', visible: true, align: 'center', valign: 'middle',width:'100px',colspan: 1, rowspan: 2}, |
| | | {title: '在线司机数', field: 'online', visible: true, align: 'center', valign: 'middle',width:'100px',colspan: 1, rowspan: 2}, |
| | |
| | | [ |
| | | {title: '下单数量', field: 'orderNum', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '乘客取消数量', field: 'cancelNum', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '取消占比', field: 'cancelProportion', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '取消占比%', field: 'cancelProportion', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '通过平台支付(单)', field: 'onlinePay', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '通过其它支付(单)', field: 'offlinePay', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '合计', field: 'total', visible: true, align: 'center', valign: 'middle'}, |
| | |
| | | var table = new BSTable(OperationalData.id, "/report/queryOperationalData", defaultColunms); |
| | | table.setPaginationType("server"); |
| | | table.setQueryParams({ |
| | | type: 2, |
| | | type: $('#type').val(), |
| | | }) |
| | | OperationalData.table = table.init(); |
| | | }); |
| | |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '所属省', field: 'provinceName', visible: true, align: 'center', valign: 'middle', |
| | | {title: '所属城市', field: 'provinceName', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.provinceName != '' && row.provinceName != null) { |
New file |
| | |
| | | /** |
| | | * 广告设置管理初始化 |
| | | */ |
| | | var TAdvertisement = { |
| | | id: "TAdvertisementTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TAdvertisement.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: 'sendUser', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | if(data==1){ |
| | | return '所有用户/所有司机' |
| | | } |
| | | if(data==2){ |
| | | return '部分用户/所有司机' |
| | | } |
| | | if(data==3){ |
| | | return '所有用户/部分司机' |
| | | } |
| | | if(data==4){ |
| | | return '部分用户/部分司机' |
| | | } |
| | | } |
| | | }, |
| | | {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | return "已发送" |
| | | } |
| | | }, |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TAdvertisement.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TAdvertisement.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 点击添加广告设置 |
| | | */ |
| | | TAdvertisement.openAddTAdvertisement = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加邮件广告', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tAdvertisementDefined/tAdvertisement_add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看广告设置详情 |
| | | */ |
| | | TAdvertisement.openTAdvertisementDetail = function () { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '编辑广告图', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tAdvertisementDefined/tAdvertisement_update/' + TAdvertisement.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 删除广告设置 |
| | | */ |
| | | TAdvertisement.delete = function () { |
| | | if (this.check()) { |
| | | var name = TAdvertisement.seItem.name; |
| | | if (name == "" || name == null || name == undefined) { |
| | | name = "该广告"; |
| | | } else { |
| | | name = "【" + name + "】"; |
| | | } |
| | | swal({ |
| | | title: "您是否确认删除" + name + "?", |
| | | text: "请谨慎操作,删除后不可恢复!", |
| | | type: "warning", |
| | | showCancelButton: true, |
| | | confirmButtonColor: "#DD6B55", |
| | | confirmButtonText: "删除", |
| | | closeOnConfirm: false |
| | | }, function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAdvertisementDefined/delete", function (data) { |
| | | swal("删除成功", "您已经成功删除了" + name + "。", "success"); |
| | | TAdvertisement.table.refresh(); |
| | | }, function (data) { |
| | | swal("删除失败", data.responseJSON.message + "!", "warning"); |
| | | }); |
| | | ajax.set("tAdvertisementId",TAdvertisement.seItem.id); |
| | | ajax.start(); |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 上线 |
| | | */ |
| | | TAdvertisement.up = function(){ |
| | | if (this.check()) { |
| | | var name = TAdvertisement.seItem.name; |
| | | if (name == "" || name == null || name == undefined) { |
| | | name = "该广告"; |
| | | } else { |
| | | name = "【" + name + "】"; |
| | | } |
| | | if (TAdvertisement.seItem.state != 2) { |
| | | swal("上线失败", "【已下线】状态下才能执行此操作", "warning"); |
| | | return; |
| | | } else { |
| | | swal({ |
| | | title: "您是否确认上线" + name + "?", |
| | | text: "请谨慎操作!", |
| | | type: "warning", |
| | | showCancelButton: true, |
| | | confirmButtonColor: "#DD6B55", |
| | | confirmButtonText: "上线", |
| | | closeOnConfirm: false |
| | | }, function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAdvertisement/opt", function (data) { |
| | | swal("上线成功", "您已经成功上线了" + name + "。", "success"); |
| | | TAdvertisement.table.refresh(); |
| | | }, function (data) { |
| | | swal("上线失败", data.responseJSON.message + "!", "warning"); |
| | | }); |
| | | ajax.set("tAdvertisementId", TAdvertisement.seItem.id); |
| | | ajax.set("optType", 1); |
| | | ajax.start(); |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 下线 |
| | | */ |
| | | TAdvertisement.down = function(){ |
| | | if (this.check()) { |
| | | var name = TAdvertisement.seItem.name; |
| | | if (name == "" || name == null || name == undefined) { |
| | | name = "该广告"; |
| | | } else { |
| | | name = "【" + name + "】"; |
| | | } |
| | | if (TAdvertisement.seItem.state != 1) { |
| | | swal("下线失败", "【已上线】状态下才能执行此操作", "warning"); |
| | | return; |
| | | } else { |
| | | swal({ |
| | | title: "您是否确认下线" + name + "?", |
| | | text: "请谨慎操作!", |
| | | type: "warning", |
| | | showCancelButton: true, |
| | | confirmButtonColor: "#DD6B55", |
| | | confirmButtonText: "下线", |
| | | closeOnConfirm: false |
| | | }, function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAdvertisement/opt", function (data) { |
| | | swal("下线成功", "您已经成功下线了" + name + "。", "success"); |
| | | TAdvertisement.table.refresh(); |
| | | }, function (data) { |
| | | swal("下线失败", data.responseJSON.message + "!", "warning"); |
| | | }); |
| | | ajax.set("tAdvertisementId", TAdvertisement.seItem.id); |
| | | ajax.set("optType", 2); |
| | | ajax.start(); |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 查询广告设置列表 |
| | | */ |
| | | TAdvertisement.search = function () { |
| | | var queryData = {}; |
| | | TAdvertisement.table.refresh({query: queryData}); |
| | | }; |
| | | TAdvertisement.resetSearch = function () { |
| | | $("#insertTime").val(""); |
| | | $("#name").val(""); |
| | | $("#type").val(""); |
| | | TAdvertisement.search(); |
| | | }; |
| | | |
| | | $(function () { |
| | | var defaultColunms = TAdvertisement.initColumn(); |
| | | var table = new BSTable(TAdvertisement.id, "/tAdvertisementDefined/list", defaultColunms); |
| | | table.setPaginationType("server"); |
| | | TAdvertisement.table = table.init(); |
| | | }); |
| | |
| | | } |
| | | } |
| | | }, |
| | | provinceCode: { |
| | | cityId: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '请先选择所属省' |
| | | message: '请先选择所属城市' |
| | | } |
| | | } |
| | | }, |
| | |
| | | */ |
| | | TAdvertisementInfoDlg.clearData = function() { |
| | | this.tAdvertisementInfoData = {}; |
| | | } |
| | | TAdvertisementInfoDlg.toSelectUserOpt = function() { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '选择用户', |
| | | area: ['90%', '80%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tAdvertisement/user' |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | TAdvertisementInfoDlg.toSelectUserOpt1 = function() { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '选择司机', |
| | | area: ['90%', '80%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tAdvertisement/driver' |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | |
| | | /** |
| | |
| | | .set('updateTime') |
| | | .set('updateUser') |
| | | .set('state') |
| | | .set('provinceId'); |
| | | .set('cityId'); |
| | | } |
| | | |
| | | /** |
| | |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | var isJump = $('#isJump').val(); |
| | | var imgUrl = $("#imgUrl").valueOf(); |
| | | if ("" == imgUrl){ |
| | | Feng.info("请上传广告图图片"); |
| | | return; |
| | | } |
| | | if(1 == isJump){ |
| | | var jumpType = $('#jumpType').val(); |
| | | if('' == jumpType){ |
| | | Feng.info("请选择跳转类型"); |
| | | return; |
| | | } |
| | | var jumpUrl = $('#jumpUrl').val(); |
| | | if(1 == jumpType && '' == jumpUrl){ |
| | | Feng.info("请输入外部跳转链接"); |
| | | return; |
| | | } |
| | | var editor = TAdvertisementInfoDlg.editor.getContent(); |
| | | if(2 == jumpType && ('' == editor || typeof editor == "undefined")){ |
| | | Feng.info("请输入内部跳转内容"); |
| | | return; |
| | | } |
| | | } |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tAdvertisement/add", function(data){ |
| | |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tAdvertisementInfoData); |
| | | ajax.start(); |
| | | } |
| | | TAdvertisementInfoDlg.addSubmit1 = function() { |
| | | this.clearData(); |
| | | this.collectData(); |
| | | var name = $("#name").val(); |
| | | var editor = TAdvertisementInfoDlg.editor.getContent(); |
| | | if ("" == name){ |
| | | Feng.info("请输入广告标题"); |
| | | return; |
| | | } |
| | | var subArr=[]; |
| | | $(".timeClass").each(function () { |
| | | subArr.push({ |
| | | userId:$(this).find("input[name*='userId']").val(), |
| | | }) |
| | | }); |
| | | var subArr1=[]; |
| | | $(".timeClass1").each(function () { |
| | | subArr1.push({ |
| | | //companyName,nickName,phone |
| | | userId:$(this).find("input[name*='userId']").val(), |
| | | }) |
| | | }); |
| | | var sendType = $("input[name='sendType']:checked").val(); |
| | | console.log(sendType) |
| | | if(sendType==2 && subArr.length <= 0){ |
| | | Feng.error("请选择用户"); |
| | | return; |
| | | } |
| | | console.log(subArr) |
| | | console.log(subArr1) |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tAdvertisement/addInfo", function(data){ |
| | | Feng.success("添加成功!"); |
| | | window.parent.TAdvertisement.table.refresh(); |
| | | TAdvertisementInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("userId",JSON.stringify(subArr)) |
| | | ajax.set("driverId",JSON.stringify(subArr1)) |
| | | ajax.set("name",name) |
| | | ajax.set("content",editor) |
| | | ajax.start(); |
| | | } |
| | | TAdvertisementInfoDlg.addSubmit2 = function() { |
| | | this.clearData(); |
| | | this.collectData(); |
| | | var name = $("#name").val(); |
| | | var editor = TAdvertisementInfoDlg.editor.getContent(); |
| | | if ("" == name){ |
| | | Feng.info("请输入通知标题"); |
| | | return; |
| | | } |
| | | var subArr=[]; |
| | | $(".timeClass").each(function () { |
| | | subArr.push({ |
| | | userId:$(this).find("input[name*='userId']").val(), |
| | | }) |
| | | }); |
| | | var subArr1=[]; |
| | | $(".timeClass1").each(function () { |
| | | subArr1.push({ |
| | | //companyName,nickName,phone |
| | | userId:$(this).find("input[name*='userId']").val(), |
| | | }) |
| | | }); |
| | | var sendType = $("input[name='sendType']:checked").val(); |
| | | console.log(sendType) |
| | | if(sendType==2 && subArr.length <= 0){ |
| | | Feng.error("请选择用户"); |
| | | return; |
| | | } |
| | | console.log(subArr) |
| | | console.log(subArr1) |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tAdvertisement/addInfo1", function(data){ |
| | | Feng.success("添加成功!"); |
| | | window.parent.TAdvertisement.table.refresh(); |
| | | TAdvertisementInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("userId",JSON.stringify(subArr)) |
| | | ajax.set("driverId",JSON.stringify(subArr1)) |
| | | ajax.set("name",name) |
| | | ajax.set("content",editor) |
| | | ajax.start(); |
| | | } |
| | | |
| | |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | var isJump = $('#isJump').val(); |
| | | var imgUrl = $("#imgUrl").valueOf(); |
| | | if ("" == imgUrl){ |
| | | Feng.info("请上传广告图图片"); |
| | | return; |
| | | } |
| | | if(1 == isJump){ |
| | | var jumpType = $('#jumpType').val(); |
| | | if('' == jumpType){ |
| | | Feng.info("请选择跳转类型"); |
| | | return; |
| | | } |
| | | var jumpUrl = $('#jumpUrl').val(); |
| | | if(1 == jumpType && '' == jumpUrl){ |
| | | Feng.info("请输入外部跳转链接"); |
| | | return; |
| | | } |
| | | var editor = TAdvertisementInfoDlg.editor.getContent(); |
| | | if(2 == jumpType && ('' == editor || typeof editor == "undefined")){ |
| | | Feng.info("请输入内部跳转内容"); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tAdvertisement/update", function(data){ |
| | | Feng.success("修改成功!"); |
| | |
| | | $("#internalDiv").hide(); |
| | | $("#externalDiv").hide(); |
| | | } |
| | | |
| | | } |
| | | TAdvertisementInfoDlg.selecUserOpt1=function(id,companyName,nickName,phone){ |
| | | //获取所有的值 |
| | | var subArr=[]; |
| | | $(".timeClass").each(function () { |
| | | subArr.push({ |
| | | userId:$(this).find("input[name*='userId']").val(), |
| | | }) |
| | | }); |
| | | for(var i=0;i<subArr.length;i++){ |
| | | var userId = subArr[i].userId; |
| | | if (userId == id) { |
| | | Feng.info("用户已选择,请重新选择"); |
| | | return; |
| | | } |
| | | } |
| | | console.log(subArr); |
| | | var str = '<tr class="timeClass">' + |
| | | '<td><input type="hidden" id="userId" name="userId" value="'+id+'"><input type="hidden" id="nickName" name="nickName" value="'+nickName+'">' + nickName + '</td>' + |
| | | '<td><input type="hidden" id="phone" name="phone" value="'+phone+'">' + phone + '</td>' + |
| | | '<td><input type="hidden" id="companyName" name="companyName" value="'+companyName+'">' + companyName + '</td><td><button onclick="deleteSub1(this)">移除</button></td></tr>'; |
| | | $("#coun").append(str); |
| | | } |
| | | function deleteSub1(e) { |
| | | $(e).parent().parent().remove(); |
| | | } |
| | | TAdvertisementInfoDlg.selecUserOpt2=function(id,companyName,nickName,phone){ |
| | | //获取所有的值 |
| | | var subArr1=[]; |
| | | $(".timeClass1").each(function () { |
| | | subArr1.push({ |
| | | userId:$(this).find("input[name*='userId']").val(), |
| | | }) |
| | | }); |
| | | for(var i=0;i<subArr1.length;i++){ |
| | | var userId = subArr1[i].userId; |
| | | if (userId == id) { |
| | | Feng.info("用户已选择,请重新选择"); |
| | | return; |
| | | } |
| | | } |
| | | console.log(subArr1); |
| | | var str = '<tr class="timeClass1">' + |
| | | '<td><input type="hidden" id="userId" name="userId" value="'+id+'"><input type="hidden" id="nickName" name="nickName" value="'+nickName+'">' + nickName + '</td>' + |
| | | '<td><input type="hidden" id="phone" name="phone" value="'+phone+'">' + phone + '</td>' + |
| | | '<td><input type="hidden" id="companyName" name="companyName" value="'+companyName+'">' + companyName + '</td><td><button onclick="deleteSub2(this)">移除</button></td></tr>'; |
| | | $("#coun1").append(str); |
| | | } |
| | | function deleteSub2(e) { |
| | | $(e).parent().parent().remove(); |
| | | } |
| | | |
New file |
| | |
| | | /** |
| | | * 初始化广告设置详情对话框 |
| | | */ |
| | | var TAdvertisementInfoDlg = { |
| | | tAdvertisementInfoData : {}, |
| | | editor: null, |
| | | validateFields: { |
| | | name: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '广告图名称不能为空' |
| | | } |
| | | } |
| | | }, |
| | | type: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '请先选择广告类型' |
| | | } |
| | | } |
| | | }, |
| | | provinceCode: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '请先选择所属城市' |
| | | } |
| | | } |
| | | }, |
| | | isJump: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '请先选择是否跳转' |
| | | } |
| | | } |
| | | }, |
| | | isJump: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '请先选择跳转类型' |
| | | } |
| | | } |
| | | }, |
| | | jumpUrl: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '跳转路径不能为空' |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 验证数据是否为空 |
| | | */ |
| | | TAdvertisementInfoDlg.validate = function () { |
| | | $('#advertisementInfoForm').data("bootstrapValidator").resetForm(); |
| | | $('#advertisementInfoForm').bootstrapValidator('validate'); |
| | | return $("#advertisementInfoForm").data('bootstrapValidator').isValid(); |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 清除数据 |
| | | */ |
| | | TAdvertisementInfoDlg.clearData = function() { |
| | | this.tAdvertisementInfoData = {}; |
| | | } |
| | | TAdvertisementInfoDlg.toSelectUserOpt = function() { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '选择用户', |
| | | area: ['90%', '80%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tAdvertisement/user' |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TAdvertisementInfoDlg.set = function(key, val) { |
| | | this.tAdvertisementInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; |
| | | return this; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TAdvertisementInfoDlg.get = function(key) { |
| | | return $("#" + key).val(); |
| | | } |
| | | |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | TAdvertisementInfoDlg.close = function() { |
| | | parent.layer.close(window.parent.TAdvertisement.layerIndex); |
| | | } |
| | | |
| | | /** |
| | | * 收集数据 |
| | | */ |
| | | TAdvertisementInfoDlg.collectData = function() { |
| | | this.tAdvertisementInfoData['content'] = TAdvertisementInfoDlg.editor.getContent(); |
| | | this |
| | | .set('id') |
| | | .set('name') |
| | | .set('imgUrl') |
| | | .set('type') |
| | | .set('isJump') |
| | | .set('jumpType') |
| | | .set('jumpUrl') |
| | | .set('flag') |
| | | .set('insertTime') |
| | | .set('insertUser') |
| | | .set('updateTime') |
| | | .set('updateUser') |
| | | .set('state') |
| | | .set('cityId'); |
| | | } |
| | | |
| | | /** |
| | | * 提交添加 |
| | | */ |
| | | TAdvertisementInfoDlg.addSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | var imgUrl = $("#imgUrl").valueOf(); |
| | | if ("" == imgUrl){ |
| | | Feng.info("请上传广告图图片"); |
| | | return; |
| | | } |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tAdvertisement/add", function(data){ |
| | | Feng.success("添加成功!"); |
| | | window.parent.TAdvertisement.table.refresh(); |
| | | TAdvertisementInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tAdvertisementInfoData); |
| | | ajax.start(); |
| | | } |
| | | TAdvertisementInfoDlg.addSubmit1 = function() { |
| | | console.log(111) |
| | | this.clearData(); |
| | | this.collectData(); |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | var name = $("#name").valueOf(); |
| | | console.log(name) |
| | | if ("" == name){ |
| | | Feng.info("请输入广告标题"); |
| | | return; |
| | | } |
| | | var subArr=[]; |
| | | $(".timeClass").each(function () { |
| | | subArr.push({ |
| | | //companyName,nickName,phone |
| | | userId:$(this).find("input[name*='userId']").val(), |
| | | }) |
| | | }); |
| | | if(sendType==2 && subArr.length <= 0){ |
| | | Feng.error("请选择用户"); |
| | | return; |
| | | } |
| | | console.log(subArr) |
| | | //提交信息 |
| | | // var ajax = new $ax(Feng.ctxPath + "/tAdvertisement/add", function(data){ |
| | | // Feng.success("添加成功!"); |
| | | // window.parent.TAdvertisement.table.refresh(); |
| | | // TAdvertisementInfoDlg.close(); |
| | | // },function(data){ |
| | | // Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | // }); |
| | | // ajax.set(this.tAdvertisementInfoData); |
| | | // ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 提交修改 |
| | | */ |
| | | TAdvertisementInfoDlg.editSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | var imgUrl = $("#imgUrl").valueOf(); |
| | | if ("" == imgUrl){ |
| | | Feng.info("请上传广告图图片"); |
| | | return; |
| | | } |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tAdvertisement/update", function(data){ |
| | | Feng.success("修改成功!"); |
| | | window.parent.TAdvertisement.table.refresh(); |
| | | TAdvertisementInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tAdvertisementInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | $(function() { |
| | | Feng.initValidator("advertisementInfoForm", TAdvertisementInfoDlg.validateFields); |
| | | //初始化编辑器 |
| | | TAdvertisementInfoDlg.editor = UE.getEditor('editor'); |
| | | // 初始化图片上传 |
| | | var imgUrl = new $WebUpload("imgUrl"); |
| | | imgUrl.setUploadBarId("progressBar"); |
| | | imgUrl.init(); |
| | | }); |
| | | |
| | | /** |
| | | * 是否跳转 |
| | | */ |
| | | TAdvertisementInfoDlg.isJump = function () { |
| | | var isJump = $("#isJump").val(); |
| | | if (1 == isJump){ |
| | | $("#yesDiv").show(); |
| | | } else { |
| | | $("#yesDiv").hide(); |
| | | } |
| | | } |
| | | /** |
| | | * 跳转类型 |
| | | */ |
| | | TAdvertisementInfoDlg.jumpType = function () { |
| | | var jumpType = $("#jumpType").val(); |
| | | if (1 == jumpType){ |
| | | $("#internalDiv").show(); |
| | | $("#externalDiv").hide(); |
| | | } else if (2 == jumpType) { |
| | | $("#internalDiv").hide(); |
| | | $("#externalDiv").show(); |
| | | } else { |
| | | $("#internalDiv").hide(); |
| | | $("#externalDiv").hide(); |
| | | } |
| | | |
| | | } |
| | | TAdvertisementInfoDlg.selecUserOpt1=function(id,companyName,nickName,phone){ |
| | | //获取所有的值 |
| | | var subArr=[]; |
| | | $(".timeClass").each(function () { |
| | | subArr.push({ |
| | | userId:$(this).find("input[name*='userId']").val(), |
| | | }) |
| | | }); |
| | | for(var i=0;i<subArr.length;i++){ |
| | | var userId = subArr[i].userId; |
| | | if (userId == id) { |
| | | Feng.info("用户已选择,请重新选择"); |
| | | return; |
| | | } |
| | | } |
| | | console.log(subArr); |
| | | var str = '<tr class="timeClass">' + |
| | | '<td><input type="hidden" id="userId" name="userId" value="'+id+'"><input type="hidden" id="nickName" name="nickName" value="'+nickName+'">' + nickName + '</td>' + |
| | | '<td><input type="hidden" id="phone" name="phone" value="'+phone+'">' + phone + '</td>' + |
| | | '<td><input type="hidden" id="companyName" name="companyName" value="'+companyName+'">' + companyName + '</td><td><button onclick="deleteSub(this)">移除</button></td></tr>'; |
| | | $("#coun").append(str); |
| | | } |
| | | function deleteSub(e) { |
| | | $(e).parent().parent().remove(); |
| | | } |
| | | |
New file |
| | |
| | | /** |
| | | * 广告设置管理初始化 |
| | | */ |
| | | var TAdvertisement = { |
| | | id: "TAdvertisementTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TAdvertisement.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: 'sendUser', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | if(data==1){ |
| | | return '所有用户/所有司机' |
| | | } |
| | | if(data==2){ |
| | | return '部分用户/所有司机' |
| | | } |
| | | if(data==3){ |
| | | return '所有用户/部分司机' |
| | | } |
| | | if(data==4){ |
| | | return '部分用户/部分司机' |
| | | } |
| | | } |
| | | }, |
| | | {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | return "已发送" |
| | | } |
| | | }, |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TAdvertisement.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TAdvertisement.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 点击添加广告设置 |
| | | */ |
| | | TAdvertisement.openAddTAdvertisement = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加通知', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tAdvertisementInform/tAdvertisement_add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看广告设置详情 |
| | | */ |
| | | TAdvertisement.openTAdvertisementDetail = function () { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '编辑广告图', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tAdvertisementDefined/tAdvertisement_update/' + TAdvertisement.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 删除广告设置 |
| | | */ |
| | | TAdvertisement.delete = function () { |
| | | if (this.check()) { |
| | | var name = TAdvertisement.seItem.name; |
| | | if (name == "" || name == null || name == undefined) { |
| | | name = "该广告"; |
| | | } else { |
| | | name = "【" + name + "】"; |
| | | } |
| | | swal({ |
| | | title: "您是否确认删除" + name + "?", |
| | | text: "请谨慎操作,删除后不可恢复!", |
| | | type: "warning", |
| | | showCancelButton: true, |
| | | confirmButtonColor: "#DD6B55", |
| | | confirmButtonText: "删除", |
| | | closeOnConfirm: false |
| | | }, function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAdvertisementInform/delete", function (data) { |
| | | swal("删除成功", "您已经成功删除了" + name + "。", "success"); |
| | | TAdvertisement.table.refresh(); |
| | | }, function (data) { |
| | | swal("删除失败", "warning"); |
| | | }); |
| | | ajax.set("tAdvertisementId",TAdvertisement.seItem.id); |
| | | ajax.start(); |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 上线 |
| | | */ |
| | | TAdvertisement.up = function(){ |
| | | if (this.check()) { |
| | | var name = TAdvertisement.seItem.name; |
| | | if (name == "" || name == null || name == undefined) { |
| | | name = "该广告"; |
| | | } else { |
| | | name = "【" + name + "】"; |
| | | } |
| | | if (TAdvertisement.seItem.state != 2) { |
| | | swal("上线失败", "【已下线】状态下才能执行此操作", "warning"); |
| | | return; |
| | | } else { |
| | | swal({ |
| | | title: "您是否确认上线" + name + "?", |
| | | text: "请谨慎操作!", |
| | | type: "warning", |
| | | showCancelButton: true, |
| | | confirmButtonColor: "#DD6B55", |
| | | confirmButtonText: "上线", |
| | | closeOnConfirm: false |
| | | }, function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAdvertisement/opt", function (data) { |
| | | swal("上线成功", "您已经成功上线了" + name + "。", "success"); |
| | | TAdvertisement.table.refresh(); |
| | | }, function (data) { |
| | | swal("上线失败", data.responseJSON.message + "!", "warning"); |
| | | }); |
| | | ajax.set("tAdvertisementId", TAdvertisement.seItem.id); |
| | | ajax.set("optType", 1); |
| | | ajax.start(); |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 下线 |
| | | */ |
| | | TAdvertisement.down = function(){ |
| | | if (this.check()) { |
| | | var name = TAdvertisement.seItem.name; |
| | | if (name == "" || name == null || name == undefined) { |
| | | name = "该广告"; |
| | | } else { |
| | | name = "【" + name + "】"; |
| | | } |
| | | if (TAdvertisement.seItem.state != 1) { |
| | | swal("下线失败", "【已上线】状态下才能执行此操作", "warning"); |
| | | return; |
| | | } else { |
| | | swal({ |
| | | title: "您是否确认下线" + name + "?", |
| | | text: "请谨慎操作!", |
| | | type: "warning", |
| | | showCancelButton: true, |
| | | confirmButtonColor: "#DD6B55", |
| | | confirmButtonText: "下线", |
| | | closeOnConfirm: false |
| | | }, function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tAdvertisement/opt", function (data) { |
| | | swal("下线成功", "您已经成功下线了" + name + "。", "success"); |
| | | TAdvertisement.table.refresh(); |
| | | }, function (data) { |
| | | swal("下线失败", data.responseJSON.message + "!", "warning"); |
| | | }); |
| | | ajax.set("tAdvertisementId", TAdvertisement.seItem.id); |
| | | ajax.set("optType", 2); |
| | | ajax.start(); |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 查询广告设置列表 |
| | | */ |
| | | TAdvertisement.search = function () { |
| | | var queryData = {}; |
| | | TAdvertisement.table.refresh({query: queryData}); |
| | | }; |
| | | TAdvertisement.resetSearch = function () { |
| | | $("#insertTime").val(""); |
| | | $("#name").val(""); |
| | | $("#type").val(""); |
| | | TAdvertisement.search(); |
| | | }; |
| | | |
| | | $(function () { |
| | | var defaultColunms = TAdvertisement.initColumn(); |
| | | var table = new BSTable(TAdvertisement.id, "/tAdvertisementInform/list", defaultColunms); |
| | | table.setPaginationType("server"); |
| | | TAdvertisement.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 用户管理管理初始化 |
| | | */ |
| | | var TUser = { |
| | | id: "TUserTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 鼠标悬停提示框 class .toolTip 为无效样式,作用于个别选择器使用 |
| | | */ |
| | | TUser.tooltip = function(){ |
| | | $(".toolTip").tooltip(); |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TUser.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', radio: true}, |
| | | {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: '用户ID', field: 'id', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '注册地IP', field: 'registIp', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.registIp != '' && row.registIp != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.registIp + '" onfocus="TUser.tooltip()">' + row.registIp + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '注册地所属分公司ID', field: 'companyId', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '注册地所属分公司', field: 'companyName', 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>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '昵称', field: 'nickName', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.nickName != '' && row.nickName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.nickName + '" onfocus="TUser.tooltip()">' + row.nickName + '</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: 'emergencyContact', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.emergencyContact != '' && row.emergencyContact != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.emergencyContact + '" onfocus="TUser.tooltip()">' + row.emergencyContact + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '紧急联系人电话', field: 'emergencyContactNumber', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.emergencyContactNumber != '' && row.emergencyContactNumber != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.emergencyContactNumber + '" onfocus="TUser.tooltip()">' + row.emergencyContactNumber + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '是否实名认证', field: 'isAuth', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.isAuth != '' && row.isAuth != null) { |
| | | if (row.isAuth == 1){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="否" onfocus="TUser.tooltip()">否</p>'] |
| | | } else if (row.isAuth == 2){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="是" onfocus="TUser.tooltip()">是</p>'] |
| | | } |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '历史出行次数', field: 'historyNum', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.historyNum != '' && row.historyNum != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.historyNum + '" onfocus="TUser.tooltip()">' + row.historyNum + '</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: 'consumption', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.consumption != '' && row.consumption != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="¥' + row.consumption + '" onfocus="TUser.tooltip()">¥' + row.consumption + '</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: 'integral', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.integral != '' && row.integral != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.integral + '" onfocus="TUser.tooltip()">' + row.integral + '</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: '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: 'state', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.state != '' && row.state != null) { |
| | | if (row.state == 1){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: #0d8ddb;" title="正常" onfocus="TUser.tooltip()">正常</p>'] |
| | | } else if (row.state == 2){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: red;" title="冻结" onfocus="TUser.tooltip()">冻结</p>'] |
| | | } |
| | | } |
| | | return btn; |
| | | } |
| | | } |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TUser.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TUser.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | /** |
| | | * 关闭选择用户页面 |
| | | */ |
| | | TUser.close = function () { |
| | | parent.layer.close(window.parent.TAdvertisementInfoDlg.layerIndex); |
| | | } |
| | | |
| | | /** |
| | | * 确认选择 |
| | | */ |
| | | TUser.selectUserOpt = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if (selected.length == 0) { |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | } |
| | | var id = selected[0].id; |
| | | var companyName = selected[0].companyName; |
| | | if(companyName==undefined)companyName=""; |
| | | var nickName = selected[0].nickName; |
| | | var phone = selected[0].phone; |
| | | if ("" == id || null == id || undefined == id){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return ; |
| | | } |
| | | var obj = $("#obj").val(); |
| | | window.parent.TAdvertisementInfoDlg.selecUserOpt1(id,companyName,nickName,phone); |
| | | TUser.close(); |
| | | } |
| | | /** |
| | | * 查询用户管理列表 |
| | | */ |
| | | TUser.search = function () { |
| | | var queryData = {}; |
| | | queryData['insertTime'] = $("#insertTime").val(); |
| | | queryData['id'] = $("#id").val(); |
| | | queryData['nickName'] = $("#nickName").val(); |
| | | queryData['isAuth'] = $("#isAuth").val(); |
| | | queryData['state'] = $("#state").val(); |
| | | queryData['phone'] = $("#phone").val(); |
| | | queryData['companyName'] = $("#companyName").val(); |
| | | TUser.table.refresh({query: queryData}); |
| | | }; |
| | | TUser.resetSearch = function () { |
| | | $("#insertTime").val(""); |
| | | $("#id").val(""); |
| | | $("#nickName").val(""); |
| | | $("#isAuth").val(""); |
| | | $("#companyName").val(""); |
| | | $("#state").val(""); |
| | | $("#phone").val(""); |
| | | TUser.search(); |
| | | }; |
| | | |
| | | $(function () { |
| | | var defaultColunms = TUser.initColumn(); |
| | | var table = new BSTable(TUser.id, "/tUser/list", defaultColunms); |
| | | // 设置物理分页server(逻辑分页client) |
| | | table.setPaginationType("server"); |
| | | TUser.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 司机审核列表管理初始化 |
| | | */ |
| | | var YesDriver = { |
| | | id: "YesDriverTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1, |
| | | teamList: [{value:"",text:"空"}] |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | YesDriver.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:'7%', |
| | | 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',width:'5%', |
| | | 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:'8%', |
| | | 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: '登录账号<br/>【手机号】', field: 'phone', visible: true, align: 'center', valign: 'middle',width:'5%', |
| | | 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: 'sex', visible: true, align: 'center', valign: 'middle',width:'3%', |
| | | 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>'] |
| | | } |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '出生日期', field: 'birthday', visible: true, align: 'center', valign: 'middle',width:'3%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.birthday != '' && row.birthday != null) { |
| | | var birthday = row.birthday; |
| | | birthday = birthday.substring(0, birthday.indexOf(" ")); |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + birthday + '" onfocus="TUser.tooltip()">' + birthday + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '司机来源', field: 'addType', visible: true, align: 'center', valign: 'middle',width:'5%', |
| | | 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>'] |
| | | } |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '企业id', field: 'companyId', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '所属<br/>分公司', field: 'companyName', visible: true, align: 'center', valign: 'middle',width:'8%', |
| | | 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>'] |
| | | }else{ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="-" onfocus="TUser.tooltip()">-</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '所属<br/>加盟商', field: 'franchiseeName', visible: true, align: 'center', valign: 'middle',width:'8%', |
| | | 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>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '当前车辆', field: 'carLicensePlate', visible: true, align: 'center', valign: 'middle',width:'7%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.carLicensePlate != '' && row.carLicensePlate != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.carLicensePlate + '" onfocus="TUser.tooltip()">' + row.carLicensePlate + '</p>'] |
| | | }else{ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="-" onfocus="TUser.tooltip()">-</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '服务模式', field: 'serverStr', visible: true, align: 'center', valign: 'middle',width:'7%', |
| | | 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:'运营状态',filed:'state',visible: true, align: 'center', valign: 'middle',width:'10%', |
| | | formatter:function (value, row) { |
| | | if(row.state=='3'){ |
| | | return '<span class="label label-primary">服务中</span>'; |
| | | }else if(row.state=='2'){ |
| | | return '<span class="label label-warning">听单中</span>'; |
| | | }else if(row.state=='1'){ |
| | | return '<span class="label label-error">离线</span>'; |
| | | }else{ |
| | | return '' |
| | | } |
| | | } |
| | | },/* |
| | | {title: '车队', field: 'teamId', visible: true, align: 'center', valign: 'middle',width:'15%',editable:{ |
| | | type: 'select', |
| | | title: '车队', |
| | | source: YesDriver.teamList, |
| | | emptytext: "暂无车队" |
| | | }},*/ |
| | | {title: '关联线路', field: 'lineStr', visible: true, align: 'center', valign: 'middle',width:'7%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.lineStr != '' && row.lineStr != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.lineStr + '" onfocus="TUser.tooltip()">' + row.lineStr + '</p>'] |
| | | }else{ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="-" onfocus="TUser.tooltip()">-</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '评分', field: 'evaluateNum', visible: true, align: 'center', valign: 'middle',width:'7%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.evaluateNum != '' && row.evaluateNum != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.evaluateNum + '" onfocus="TUser.tooltip()">' + row.evaluateNum + '</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: '历史<br/>接单数', field: 'historyNum', visible: true, align: 'center', valign: 'middle',width:'7%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.historyNum != '' && row.historyNum != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.historyNum + '" onfocus="TUser.tooltip()">' + row.historyNum + '</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: '历史订单<br/>总金额', field: 'historyMoney', visible: true, align: 'center', valign: 'middle',width:'8%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.historyMoney != '' && row.historyMoney != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.historyMoney + '" onfocus="TUser.tooltip()">' + row.historyMoney + '</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: '当前钱<br/>包余额', field: 'balance', visible: true, align: 'center', valign: 'middle',width:'8%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.balance != '' && row.balance != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.balance + '" onfocus="TUser.tooltip()">' + row.balance + '</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: '钱包活<br/>动余额', field: 'laveActivityMoney', visible: true, align: 'center', valign: 'middle',width:'8%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.laveActivityMoney != '' && row.laveActivityMoney != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.laveActivityMoney + '" onfocus="TUser.tooltip()">' + row.laveActivityMoney + '</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: '钱包收<br/>入余额', field: 'laveBusinessMoney', visible: true, align: 'center', valign: 'middle',width:'8%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.laveBusinessMoney != '' && row.laveBusinessMoney != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.laveBusinessMoney + '" onfocus="TUser.tooltip()">' + row.laveBusinessMoney + '</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: 'authState', visible: true, align: 'center', valign: 'middle',width:'8%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.authState != '' && row.authState != null) { |
| | | if (row.authState == 2) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="正常" onfocus="TUser.tooltip()">正常</p>'] |
| | | }else if (row.authState == 3){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: red;" title="冻结" onfocus="TUser.tooltip()">冻结</p>'] |
| | | }else if (row.authState == 1) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: #4858ff;" title="待审核" onfocus="TUser.tooltip()">待审核</p>'] |
| | | }else if (row.authState == 4){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: rgba(60,70,63,0.54)" title="已拒绝" onfocus="TUser.tooltip()">已拒绝</p>'] |
| | | } |
| | | } |
| | | return btn; |
| | | } |
| | | } |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | YesDriver.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | YesDriver.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | YesDriver.selectUserOpt = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if (selected.length == 0) { |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | } |
| | | var id = selected[0].id; |
| | | var companyName = selected[0].companyName; |
| | | if(companyName==undefined)companyName=""; |
| | | var nickName = selected[0].name; |
| | | var phone = selected[0].phone; |
| | | if ("" == id || null == id || undefined == id){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return ; |
| | | } |
| | | var obj = $("#obj").val(); |
| | | window.parent.TAdvertisementInfoDlg.selecUserOpt2(id,companyName,nickName,phone); |
| | | YesDriver.close(); |
| | | } |
| | | |
| | | /** |
| | | * 添加司机 |
| | | */ |
| | | YesDriver.add = function(){ |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加司机', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tDriver/tDriver_add' |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | |
| | | /** |
| | | * 编辑司机 |
| | | */ |
| | | YesDriver.update = function(){ |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '编辑司机', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tDriver/tDriver_update/' + YesDriver.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | YesDriver.close = function () { |
| | | parent.layer.close(window.parent.TAdvertisementInfoDlg.layerIndex); |
| | | } |
| | | /** |
| | | * 跳转至更换车辆页面 |
| | | */ |
| | | YesDriver.changeCar = function(){ |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '更换车辆', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tDriver/tDriver_changeCar/' + YesDriver.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 冻结司机 |
| | | */ |
| | | YesDriver.freeze = function(){ |
| | | if (this.check()) { |
| | | var nickname = YesDriver.seItem.name; |
| | | if (YesDriver.seItem.authState == 3 ){ |
| | | swal("冻结失败", "【正常】状态下才能执行此操作", "warning"); |
| | | return; |
| | | } |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '冻结司机'+"【"+nickname+"】", |
| | | area: ['720px', '450px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tDriver/tDriver_optDriver/' + YesDriver.seItem.id +"/"+2 |
| | | }); |
| | | this.layerIndex = index; |
| | | |
| | | /*var nickname = YesDriver.seItem.name; |
| | | if (nickname == "" || nickname == null || nickname == undefined){ |
| | | nickname = "该司机"; |
| | | }else{ |
| | | nickname = "【"+nickname+"】"; |
| | | } |
| | | if (YesDriver.seItem.authState == 3 ){ |
| | | swal("冻结失败", "【正常】状态下才能执行此操作", "warning"); |
| | | return; |
| | | }else{ |
| | | swal({ |
| | | title: "您是否确认冻结"+ nickname + "?", |
| | | text: "请谨慎操作!", |
| | | type: "warning", |
| | | showCancelButton: true, |
| | | confirmButtonColor: "#DD6B55", |
| | | confirmButtonText: "冻结", |
| | | closeOnConfirm: true |
| | | }, function () { |
| | | /!*var ajax = new $ax(Feng.ctxPath + "/tDriver/optDriver", function (data) { |
| | | swal("冻结成功", "您已经冻结了"+ nickname + "。", "success"); |
| | | YesDriver.table.refresh(); |
| | | }, function (data) { |
| | | swal("冻结失败", data.responseJSON.message+"!", "warning"); |
| | | }); |
| | | ajax.set("driverId",YesDriver.seItem.id); |
| | | ajax.set("optType",2); |
| | | ajax.start();*!/ |
| | | }); |
| | | }*/ |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 解冻司机 |
| | | */ |
| | | YesDriver.thaw = function(){ |
| | | if (this.check()) { |
| | | var nickname = YesDriver.seItem.name; |
| | | if (YesDriver.seItem.authState == 2 ){ |
| | | swal("解冻失败", "【冻结】状态下才能执行此操作", "warning"); |
| | | return; |
| | | } |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '解冻司机'+"【"+nickname+"】", |
| | | area: ['720px', '450px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tDriver/tDriver_optDriver/' + YesDriver.seItem.id +"/"+1 |
| | | }); |
| | | this.layerIndex = index; |
| | | /*var nickname = YesDriver.seItem.name; |
| | | if (nickname == "" || nickname == null || nickname == undefined){ |
| | | nickname = "该司机"; |
| | | }else{ |
| | | nickname = "【"+nickname+"】"; |
| | | } |
| | | if (YesDriver.seItem.authState == 2 ){ |
| | | swal("解冻失败", "【冻结】状态下才能执行此操作", "warning"); |
| | | return; |
| | | }else{ |
| | | swal({ |
| | | title: "您是否确认解冻"+ nickname + "?", |
| | | text: "请谨慎操作!", |
| | | type: "warning", |
| | | showCancelButton: true, |
| | | confirmButtonColor: "#DD6B55", |
| | | confirmButtonText: "解冻", |
| | | closeOnConfirm: true |
| | | }, function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tDriver/optDriver", function (data) { |
| | | swal("解冻成功", "您已经解冻了"+ nickname + "。", "success"); |
| | | YesDriver.table.refresh(); |
| | | }, function (data) { |
| | | swal("解冻失败", data.responseJSON.message+"!", "warning"); |
| | | }); |
| | | ajax.set("driverId",YesDriver.seItem.id); |
| | | ajax.set("optType",1); |
| | | ajax.start(); |
| | | }); |
| | | }*/ |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 删除司机 |
| | | */ |
| | | YesDriver.deleteDriver = function(){ |
| | | if (this.check()) { |
| | | var nickname = YesDriver.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"); |
| | | YesDriver.table.refresh(); |
| | | }, function (data) { |
| | | swal("删除失败", data.responseJSON.message + "!", "warning"); |
| | | }); |
| | | ajax.set("tDriverId", YesDriver.seItem.id); |
| | | ajax.start(); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | YesDriver.training = function(){ |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加培训', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tDriver/showTraining?id=' + YesDriver.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | |
| | | |
| | | YesDriver.punish = function(){ |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加处罚', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tDriver/showPunish?id=' + YesDriver.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询司机审核列表列表 |
| | | */ |
| | | YesDriver.search = function () { |
| | | var queryData = {}; |
| | | queryData['insertTime'] = $("#insertTime").val(); |
| | | queryData['companyName'] = $("#companyName").val(); |
| | | queryData['phone'] = $("#phone").val(); |
| | | queryData['name'] = $("#name").val(); |
| | | queryData['addType'] = $("#addType").val(); |
| | | queryData['authState'] = $("#authState").val(); |
| | | queryData['state']=$("#state").val(); |
| | | queryData['teamId']=$("#teamId").val(); |
| | | YesDriver.table.refresh({query: queryData}); |
| | | }; |
| | | YesDriver.resetSearch = function () { |
| | | $("#insertTime").val(""); |
| | | $("#companyName").val(""); |
| | | $("#phone").val(""); |
| | | $("#name").val(""); |
| | | $("#addType").val(""); |
| | | $("#authState").val(""); |
| | | $("#state").val(""); |
| | | $("#teamId").val(""); |
| | | YesDriver.search(); |
| | | }; |
| | | //查询所有车队 |
| | | YesDriver.findAllDriverTeam=function(){ |
| | | var ajax = new $ax(Feng.ctxPath + "/tDriverTeam/findAllList", function (data) { |
| | | $.each(data, function (key, value) { |
| | | YesDriver.teamList.push({ value: value.id, text: value.teamName }); |
| | | }); |
| | | }, function (data) { |
| | | }); |
| | | ajax.start(); |
| | | } |
| | | |
| | | $(function () { |
| | | YesDriver.findAllDriverTeam(); |
| | | var defaultColunms = YesDriver.initColumn(); |
| | | var table = new BSTable(YesDriver.id, "/tDriver/listYesDriver", defaultColunms); |
| | | table.setPaginationType("server"); |
| | | YesDriver.table = table.init(); |
| | | }); |
| | | |
| | | /** |
| | | * 下载模板 |
| | | */ |
| | | YesDriver.uploadDriverModel = function () { |
| | | window.location.href = Feng.ctxPath + "/tDriver/uploadDriverModel"; |
| | | } |
| | | |
| | | var agreement = function(){ |
| | | this.init = function(){ |
| | | //模拟上传excel |
| | | $("#uploadEventBtn").unbind("click").bind("click",function(){ |
| | | $("#uploadEventFile").click(); |
| | | }); |
| | | }; |
| | | } |
| | | /** |
| | | * 导入合同 |
| | | */ |
| | | YesDriver.exportDriver = function () { |
| | | var uploadEventFile = $("#uploadEventFile").val(); |
| | | if(uploadEventFile == ''){ |
| | | Feng.info("请选择Excel,再上传"); |
| | | }else if(uploadEventFile.lastIndexOf(".xls")<0){//可判断以.xls和.xlsx结尾的excel |
| | | Feng.info("只能上传Excel文件"); |
| | | }else{ |
| | | var url = Feng.ctxPath + '/tDriver/exportDriver'; |
| | | var file = document.querySelector('input[name=file]').files[0]; |
| | | var reader = new FileReader(); |
| | | if (file) { |
| | | var formData = new FormData(); |
| | | formData.append("myfile", file); |
| | | this.sendAjaxRequest(url, 'POST', formData); |
| | | } |
| | | } |
| | | } |
| | | YesDriver.sendAjaxRequest = function(url,type,data){ |
| | | $.ajax({ |
| | | url : url, |
| | | type : type, |
| | | data : data, |
| | | success : function(result) { |
| | | if(result.code==500) { |
| | | Feng.info(result.message); |
| | | }else { |
| | | Feng.success("导入成功!"); |
| | | } |
| | | YesDriver.table.refresh(); |
| | | }, |
| | | error : function() { |
| | | Feng.error("excel上传失败!"); |
| | | }, |
| | | cache : false, |
| | | contentType : false, |
| | | processData : false |
| | | }); |
| | | }; |
| | | |
| | | /** |
| | | * 查看分享信息 |
| | | */ |
| | | YesDriver.inviteInfo=function(){ |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '邀请信息', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tDriver/inviteInfo/'+ YesDriver.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | |
| | | } |
| | | }; |
| | | |
| | | YesDriver.income=function(){ |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '收入明细', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tIncome?id='+ YesDriver.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | |
| | | } |
| | | }; |
| | | var agreement; |
| | | $(function(){ |
| | | agreement = new agreement(); |
| | | agreement.init(); |
| | | }); |
| | | |
| | | /** |
| | | * 监听修改事件 |
| | | * @param $el |
| | | * @param field |
| | | * @param row |
| | | * @param oldValue |
| | | * @returns |
| | | */ |
| | | $("#"+YesDriver.id).on("editable-save.bs.table", function ( $el, field,row,oldValue) { |
| | | //保存编辑 |
| | | var driverTeamData={}; |
| | | driverTeamData['id']=row.id; |
| | | driverTeamData['teamId']=row.teamId; |
| | | |
| | | //修改权限判断 |
| | | if($("#updateTeamId").length<=0){ |
| | | Feng.error("无修改权限!"); |
| | | YesDriver.search(); |
| | | return; |
| | | } |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tDriver/updateDriverTeam", function(data){ |
| | | console.log(data); |
| | | YesDriver.search(); |
| | | },function(data){ |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(driverTeamData); |
| | | ajax.start(); |
| | | }) |
| | | |
| | | /** |
| | | * 导出司机操作 |
| | | */ |
| | | YesDriver.outDriver = function () { |
| | | var operation = function() { |
| | | window.location.href = Feng.ctxPath + "/tDriver/outDriver"; |
| | | }; |
| | | Feng.confirm("是否确认导出司机信息?", operation); |
| | | } |
| | |
| | | }, |
| | | events: 'operateEvents' |
| | | }, |
| | | {title: '行驶证<br/>号码', field: 'drivingLicenseNumber', visible: true, align: 'center', valign: 'middle',width:'8%', |
| | | {title: 'roadworthiness sticker', field: 'drivingLicenseNumber', visible: true, align: 'center', valign: 'middle',width:'8%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.drivingLicenseNumber != '' && row.drivingLicenseNumber != null) { |
| | |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '行驶证<br/>照片', field: 'drivingLicensePhoto', visible: true, align: 'center', valign: 'middle',width:'8%', |
| | | {title: 'roadworthiness sticker照片', field: 'drivingLicensePhoto', visible: true, align: 'center', valign: 'middle',width:'8%', |
| | | formatter: function (value, row) { |
| | | if (row.drivingLicensePhoto == null || row.drivingLicensePhoto == '') { |
| | | return '<a class = "view" href="javascript:void(0)"><img style="width: 50px;height:50px;" src="' + Feng.ctxPath + '/static/img/NoPIC.png" /></a>'; |
| | |
| | | }, |
| | | events: 'operateEvents' |
| | | }, |
| | | {title: '行驶证<br/>号码', field: 'drivingLicenseNumber', visible: true, align: 'center', valign: 'middle',width:'8%', |
| | | {title: 'roadworthiness sticker', field: 'drivingLicenseNumber', visible: true, align: 'center', valign: 'middle',width:'8%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.drivingLicenseNumber != '' && row.drivingLicenseNumber != null) { |
| | |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '行驶证<br/>照片', field: 'drivingLicensePhoto', visible: true, align: 'center', valign: 'middle',width:'8%', |
| | | {title: 'roadworthiness sticker照片', field: 'drivingLicensePhoto', visible: true, align: 'center', valign: 'middle',width:'8%', |
| | | formatter: function (value, row) { |
| | | if (row.drivingLicensePhoto == null || row.drivingLicensePhoto == '') { |
| | | return '<a class = "view" href="javascript:void(0)"><img style="width: 50px;height:50px;" src="' + Feng.ctxPath + '/static/img/NoPIC.png" /></a>'; |
| | |
| | | serverBox.push($(this).val()); |
| | | }); |
| | | if (serverBox.length == 0){ |
| | | Feng.info("请选择经营业务"); |
| | | Feng.info("请选择服务模式"); |
| | | return; |
| | | } |
| | | var carPhoto = $("#carPhoto").valueOf(); |
| | |
| | | serverBox.push($(this).val()); |
| | | }); |
| | | if (serverBox.length == 0){ |
| | | Feng.info("请选择经营业务"); |
| | | Feng.info("请选择服务模式"); |
| | | return; |
| | | } |
| | | var carPhoto = $("#carPhoto").valueOf(); |
| | |
| | | }); |
| | | if(authState==2){ |
| | | if (serverBox.length == 0){ |
| | | Feng.info("请选择经营业务"); |
| | | Feng.info("请选择服务模式"); |
| | | return; |
| | | } |
| | | } |
| | |
| | | if (1 == tcx){ |
| | | var tcxPercent = $("#tcxPercent").val(); |
| | | if ("" == tcxPercent){ |
| | | Feng.info("同城小件物流比例抽成不能为空!"); |
| | | Feng.info("市内小件物流比例抽成不能为空!"); |
| | | return; |
| | | }else if (!regDouble.test(tcxPercent)) { |
| | | Feng.info("同城小件物流比例抽成格式不正确!"); |
| | | Feng.info("市内小件物流比例抽成格式不正确!"); |
| | | return; |
| | | } |
| | | }else if (2 == tcx){ |
| | | var tcxMoney = $("#tcxMoney").val(); |
| | | if ("" == tcxMoney){ |
| | | Feng.info("同城小件物流固定金额抽成不能为空!"); |
| | | Feng.info("市内小件物流固定金额抽成不能为空!"); |
| | | return; |
| | | }else if (!regDouble.test(tcxMoney)) { |
| | | Feng.info("同城小件物流固定金额抽成格式不正确!"); |
| | | Feng.info("市内小件物流固定金额抽成格式不正确!"); |
| | | return; |
| | | } |
| | | } |
| | |
| | | if (1 == tcx){ |
| | | var tcxPercent = $("#tcxPercent").val(); |
| | | if ("" == tcxPercent){ |
| | | Feng.info("同城小件物流比例抽成不能为空!"); |
| | | Feng.info("市内小件物流比例抽成不能为空!"); |
| | | return; |
| | | }else if (!regDouble.test(tcxPercent)) { |
| | | Feng.info("同城小件物流比例抽成格式不正确!"); |
| | | Feng.info("市内小件物流比例抽成格式不正确!"); |
| | | return; |
| | | } |
| | | }else if (2 == tcx){ |
| | | var tcxMoney = $("#tcxMoney").val(); |
| | | if ("" == tcxMoney){ |
| | | Feng.info("同城小件物流固定金额抽成不能为空!"); |
| | | Feng.info("市内小件物流固定金额抽成不能为空!"); |
| | | return; |
| | | }else if (!regDouble.test(tcxMoney)) { |
| | | Feng.info("同城小件物流固定金额抽成格式不正确!"); |
| | | Feng.info("市内小件物流固定金额抽成格式不正确!"); |
| | | return; |
| | | } |
| | | } |
| | |
| | | if (1 == tcx){ |
| | | var tcxPercent = $("#tcxPercent").val(); |
| | | if ("" == tcxPercent){ |
| | | Feng.info("同城小件物流比例抽成不能为空!"); |
| | | Feng.info("市内小件物流比例抽成不能为空!"); |
| | | return; |
| | | }else if (!regDouble.test(tcxPercent)) { |
| | | Feng.info("同城小件物流比例抽成格式不正确!"); |
| | | Feng.info("市内小件物流比例抽成格式不正确!"); |
| | | return; |
| | | } |
| | | }else if (2 == tcx){ |
| | | var tcxMoney = $("#tcxMoney").val(); |
| | | if ("" == tcxMoney){ |
| | | Feng.info("同城小件物流固定金额抽成不能为空!"); |
| | | Feng.info("市内小件物流固定金额抽成不能为空!"); |
| | | return; |
| | | }else if (!regDouble.test(tcxMoney)) { |
| | | Feng.info("同城小件物流固定金额抽成格式不正确!"); |
| | | Feng.info("市内小件物流固定金额抽成格式不正确!"); |
| | | return; |
| | | } |
| | | } |
| | |
| | | if (1 == tcx){ |
| | | var tcxPercent = $("#tcxPercent").val(); |
| | | if ("" == tcxPercent){ |
| | | Feng.info("同城小件物流比例抽成不能为空!"); |
| | | Feng.info("市内小件物流比例抽成不能为空!"); |
| | | return; |
| | | }else if (!regDouble.test(tcxPercent)) { |
| | | Feng.info("同城小件物流比例抽成格式不正确!"); |
| | | Feng.info("市内小件物流比例抽成格式不正确!"); |
| | | return; |
| | | } |
| | | }else if (2 == tcx){ |
| | | var tcxMoney = $("#tcxMoney").val(); |
| | | if ("" == tcxMoney){ |
| | | Feng.info("同城小件物流固定金额抽成不能为空!"); |
| | | Feng.info("市内小件物流固定金额抽成不能为空!"); |
| | | return; |
| | | }else if (!regDouble.test(tcxMoney)) { |
| | | Feng.info("同城小件物流固定金额抽成格式不正确!"); |
| | | Feng.info("市内小件物流固定金额抽成格式不正确!"); |
| | | return; |
| | | } |
| | | } |
| | |
| | | $(".timeClass").each(function () { |
| | | subArr.push({ |
| | | recordId:$(this).find("input[name*='recordId']").val(), |
| | | provinceCode:$(this).find("input[name*='provinceCode']").val(), |
| | | cityCode:$(this).find("input[name*='cityCode']").val(), |
| | | areaCode:$(this).find("input[name*='areaCode']").val(), |
| | | cityId:$(this).find("input[name*='cityId']").val(), |
| | | }) |
| | | }); |
| | | if(subArr.length <= 0){ |
| | |
| | | //添加区域 |
| | | TCompanyInfoDlg.addScope = function () { |
| | | var province = $("#province").val(); |
| | | var city = $("#city").val(); |
| | | var area = $("#area").val(); |
| | | if ("" == province){ |
| | | Feng.info("请选择区域"); |
| | | Feng.info("请选择城市"); |
| | | return; |
| | | } |
| | | var subArr=[]; |
| | | $(".timeClass").each(function () { |
| | | subArr.push({ |
| | | recordId:$(this).find("input[name*='recordId']").val(), |
| | | provinceCode:$(this).find("input[name*='provinceCode']").val(), |
| | | cityCode:$(this).find("input[name*='cityCode']").val(), |
| | | areaCode:$(this).find("input[name*='areaCode']").val(), |
| | | cityId:$(this).find("input[name*='cityId']").val() |
| | | }) |
| | | }); |
| | | for(var i=0;i<subArr.length;i++){ |
| | | var provinceCode = subArr[i].provinceCode; |
| | | var cityCode = subArr[i].cityCode; |
| | | var areaCode = subArr[i].areaCode; |
| | | if (province == provinceCode && city == cityCode && area == areaCode) { |
| | | Feng.info("区域已存在,请重新选择"); |
| | | var provinceCode = subArr[i].cityId; |
| | | if (province == provinceCode) { |
| | | Feng.info("城市已存在,请重新选择"); |
| | | return; |
| | | } |
| | | } |
| | | var provinceValue = $("#province option:selected").text(); |
| | | var cityValue = ""; |
| | | if (city != ""){ |
| | | cityValue = $("#city option:selected").text(); |
| | | } |
| | | var areaValue = ""; |
| | | if (area != ""){ |
| | | areaValue = $("#area option:selected").text(); |
| | | } |
| | | |
| | | var str = '<tr class="timeClass">' + |
| | | '<td><input type="hidden" id="recordId" name="recordId" value="0">' + |
| | | '<input type="hidden" id="provinceCode" name="provinceCode" value="'+province+'">' + |
| | | '<input type="hidden" id="cityCode" name="cityCode" value="'+city+'">' + |
| | | '<input type="hidden" id="areaCode" name="areaCode" value="'+area+'">'+provinceValue+cityValue+areaValue+'</td>' + |
| | | '<td><input type="hidden" id="recordId" name="recordId" value="">' + |
| | | '<input type="hidden" id="cityId" name="cityId" value="' + province + '">'+provinceValue+'</td>' + |
| | | '<td><button onclick="deleteSub(this)">移除</button></td></tr>'; |
| | | $("#conn").append(str); |
| | | } |
| | |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '出生日期', field: 'birthday', visible: true, align: 'center', valign: 'middle',width:'3%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.birthday != '' && row.birthday != null) { |
| | | var birthday = row.birthday; |
| | | birthday = birthday.substring(0, birthday.indexOf(" ")); |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + birthday + '" onfocus="TUser.tooltip()">' + birthday + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '驾驶证号码', field: 'driveCard', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | |
| | | .set('licenselImgUrl') |
| | | .set('driverAge') |
| | | .set('driveCard') |
| | | .set('driveCardImgUrl') |
| | | .set('driveCardImgUrl1') |
| | | .set('driveCardImgUrl2') |
| | | .set('driverType') |
| | | .set('getDriverLicenseDate') |
| | | .set('driverLicenseOn') |
| | |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '出生日期', field: 'birthday', visible: true, align: 'center', valign: 'middle',width:'3%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.birthday != '' && row.birthday != null) { |
| | | var birthday = row.birthday; |
| | | birthday = birthday.substring(0, birthday.indexOf(" ")); |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + birthday + '" onfocus="TUser.tooltip()">' + birthday + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '司机来源', field: 'addType', visible: true, align: 'center', valign: 'middle',width:'5%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | |
| | | return '' |
| | | } |
| | | } |
| | | }, |
| | | },/* |
| | | {title: '车队', field: 'teamId', visible: true, align: 'center', valign: 'middle',width:'15%',editable:{ |
| | | type: 'select', |
| | | title: '车队', |
| | | source: YesDriver.teamList, |
| | | emptytext: "暂无车队" |
| | | }}, |
| | | }},*/ |
| | | {title: '关联线路', field: 'lineStr', visible: true, align: 'center', valign: 'middle',width:'7%', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | |
| | | .set('licenselImgUrl') |
| | | .set('driverAge') |
| | | .set('driveCard') |
| | | .set('driveCardImgUrl') |
| | | .set('driveCardImgUrl1') |
| | | .set('driveCardImgUrl2') |
| | | .set('driverType') |
| | | .set('getDriverLicenseDate') |
| | | .set('driverLicenseOn') |
| | |
| | | .set('insertUser') |
| | | .set('updateTime') |
| | | .set('updateUser') |
| | | .set('addType'); |
| | | .set('addType') |
| | | .set('birthday') |
| | | .set('email'); |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | // if(!this.validate()){ |
| | | // return ; |
| | | // } |
| | | var roleType = $("#roleType").val(); //1=平台 2=分公司 3=加盟商 |
| | | var companyType = $("input[name='companyType']:checked").val(); |
| | | if (1 == roleType){ |
| | |
| | | return; |
| | | } |
| | | var faceImgUrl = $("#faceImgUrl").val(); |
| | | if ("" == faceImgUrl){ |
| | | Feng.info("请上传人脸识别照片"); |
| | | // if ("" == faceImgUrl){ |
| | | // Feng.info("请上传人脸识别照片"); |
| | | // return; |
| | | // } |
| | | var driveCardImgUrl1 = $("#driveCardImgUrl1").val(); |
| | | if ("" == driveCardImgUrl1){ |
| | | Feng.info("请上传驾驶证正面照片"); |
| | | return; |
| | | } |
| | | var driveCardImgUrl = $("#driveCardImgUrl").val(); |
| | | if ("" == driveCardImgUrl){ |
| | | Feng.info("请上传驾驶证照片"); |
| | | var driveCardImgUrl2 = $("#driveCardImgUrl2").val(); |
| | | if ("" == driveCardImgUrl2){ |
| | | Feng.info("请上传驾驶证背面照片"); |
| | | return; |
| | | } |
| | | var serverBox =[]; |
| | |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | // if(!this.validate()){ |
| | | // return ; |
| | | // } |
| | | var roleType = $("#roleType").val(); //1=平台 2=分公司 3=加盟商 |
| | | var companyType = $("input[name='companyType']:checked").val(); |
| | | if (1 == roleType){ |
| | |
| | | return; |
| | | } |
| | | var faceImgUrl = $("#faceImgUrl").val(); |
| | | if ("" == faceImgUrl){ |
| | | Feng.info("请上传人脸识别照片"); |
| | | // if ("" == faceImgUrl){ |
| | | // Feng.info("请上传人脸识别照片"); |
| | | // return; |
| | | // } |
| | | var driveCardImgUrl1 = $("#driveCardImgUrl1").val(); |
| | | if ("" == driveCardImgUrl1){ |
| | | Feng.info("请上传驾驶证正面照片"); |
| | | return; |
| | | } |
| | | var driveCardImgUrl = $("#driveCardImgUrl").val(); |
| | | if ("" == driveCardImgUrl){ |
| | | Feng.info("请上传驾驶证照片"); |
| | | var driveCardImgUrl2 = $("#driveCardImgUrl2").val(); |
| | | if ("" == driveCardImgUrl2){ |
| | | Feng.info("请上传驾驶证背面照片"); |
| | | return; |
| | | } |
| | | var serverBox =[]; |
| | |
| | | var faceImgUrl = new $WebUpload("faceImgUrl"); |
| | | faceImgUrl.setUploadBarId("progressBar"); |
| | | faceImgUrl.init(); |
| | | var driveCardImgUrl = new $WebUpload("driveCardImgUrl"); |
| | | driveCardImgUrl.setUploadBarId("progressBar"); |
| | | driveCardImgUrl.init(); |
| | | var driveCardImgUrl1 = new $WebUpload("driveCardImgUrl1"); |
| | | driveCardImgUrl1.setUploadBarId("progressBar"); |
| | | driveCardImgUrl1.init(); |
| | | var driveCardImgUrl2 = new $WebUpload("driveCardImgUrl2"); |
| | | driveCardImgUrl2.setUploadBarId("progressBar"); |
| | | driveCardImgUrl2.init(); |
| | | var networkCarlssueImg = new $WebUpload("networkCarlssueImg"); |
| | | networkCarlssueImg.setUploadBarId("progressBar"); |
| | | networkCarlssueImg.init(); |
| | | var idCardImgUrl1 = new $WebUpload("idCardImgUrl1"); |
| | | idCardImgUrl1.setUploadBarId("progressBar"); |
| | | idCardImgUrl1.init(); |
| | | var idCardImgUrl2 = new $WebUpload("idCardImgUrl2"); |
| | | idCardImgUrl2.setUploadBarId("progressBar"); |
| | | idCardImgUrl2.init(); |
| | | }); |
| | | |
| | | /** |
| | |
| | | {field: 'selectItem',visible: true, radio: true}, |
| | | {title: '日期', field: 'times', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '在线司机数', field: 'driverNum', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '在线时长', field: 'timeNumber', visible: true, align: 'center', valign: 'middle'} |
| | | {title: '在线时长(秒)', field: 'timeNumber', visible: true, align: 'center', valign: 'middle'} |
| | | ]; |
| | | }; |
| | | |
| | |
| | | TIncome.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem',visible: false, radio: true}, |
| | | {title: '司机名称', field: 'NAME', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '在线时长', field: 'timeNumber', visible: true, align: 'center', valign: 'middle'} |
| | | {title: '司机名称', field: 'name', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '在线时长(秒)', field: 'timeNumber', visible: true, align: 'center', valign: 'middle'} |
| | | ]; |
| | | }; |
| | | |
| | |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '省', field: 'areaName', visible: true, align: 'center', valign: 'middle', |
| | | {title: '城市', field: 'chineseName', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.areaName != '' && row.areaName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.areaName + '" onfocus="TUser.tooltip()">' + row.areaName + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '市', field: 'cityName', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.cityName != '' && row.cityName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.cityName + '" onfocus="TUser.tooltip()">' + row.cityName + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | | }, |
| | | {title: '区', field: 'provinceName', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.provinceName != '' && row.provinceName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.provinceName + '" onfocus="TUser.tooltip()">' + row.provinceName + '</p>'] |
| | | if(row.chineseName != '' && row.chineseName != null) { |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.chineseName + '" onfocus="TUser.tooltip()">' + row.chineseName + '</p>'] |
| | | } |
| | | return btn; |
| | | } |
| | |
| | | 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: '是否需要<br/>网约车资格证', field: 'isQualifications', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | var btn = ""; |
| | | if(row.isQualifications != '' && row.isQualifications != null) { |
| | | if (row.isQualifications == 1){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="是" onfocus="TUser.tooltip()">是</p>'] |
| | | } else if (row.isQualifications == 2){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="否" onfocus="TUser.tooltip()">否</p>'] |
| | | } |
| | | } |
| | | return btn; |
| | | } |
| | |
| | | var btn = ""; |
| | | if(row.type != '' && row.type != null) { |
| | | if (row.type == 4){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="同城物流" onfocus="TUser.tooltip()">同城物流</p>'] |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="市内小件物流" onfocus="TUser.tooltip()">市内小件物流</p>'] |
| | | } else if (row.type == 5){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="跨城物流" onfocus="TUser.tooltip()">跨城物流</p>'] |
| | | } |
| | |
| | | ajax.set("money",$("#orderMoney").val()); |
| | | ajax.start(); |
| | | } |
| | | var map = new AMap.Map("container", { |
| | | resizeEnable: true, |
| | | zoom: 14 |
| | | }); |
| | | |
| | | |
| | | var map; |
| | | |
| | | function initMap() { |
| | | map = new google.maps.Map(document.getElementById("map"), { |
| | | zoom: 14, |
| | | center: { lat: 0, lng: -180 }, |
| | | mapTypeId: "terrain", |
| | | }); |
| | | } |
| | | |
| | | |
| | | $(function() { |
| | | window.initMap = initMap(); |
| | | getTrajectory(); |
| | | }); |
| | | |
| | |
| | | var data = res.data; |
| | | if(data.length > 0){ |
| | | orderTrack(data); |
| | | }/*else{ |
| | | }else{ |
| | | Feng.error("当前订单没有轨迹"); |
| | | }*/ |
| | | } |
| | | }else{ |
| | | Feng.error(res.msg); |
| | | } |
| | |
| | | }); |
| | | } |
| | | |
| | | var marker, lineArr = []; |
| | | |
| | | function orderTrack(data) { |
| | | //重新设置地图中心点 |
| | | map.setCenter({ lat: parseFloat(data[0].lat), lng: parseFloat(data[0].lon) }) |
| | | const image = { |
| | | url: "/car.png", |
| | | size: new google.maps.Size(50, 50), |
| | | origin: new google.maps.Point(0, 0), |
| | | anchor: new google.maps.Point(30, 40), |
| | | }; |
| | | new google.maps.Marker({ |
| | | map, |
| | | icon: image, |
| | | position: { lat: parseFloat(data[0].lat), lng: parseFloat(data[0].lon) }, |
| | | title: "origin", |
| | | }); |
| | | new google.maps.Marker({ |
| | | map, |
| | | position: { lat: parseFloat(data[data.length - 1].lat), lng: parseFloat(data[data.length - 1].lon) }, |
| | | title: "destination", |
| | | }); |
| | | |
| | | |
| | | const flightPlanCoordinates = []; |
| | | for(var i in data){ |
| | | var waypoints = []; |
| | | var lon = parseFloat(data[i].lon); |
| | | var lat = parseFloat(data[i].lat); |
| | | waypoints.push(lon); |
| | | waypoints.push(lat); |
| | | lineArr.push(waypoints); |
| | | flightPlanCoordinates.push({ |
| | | lat: lat, |
| | | lng: lon |
| | | }) |
| | | } |
| | | |
| | | marker = new AMap.Marker({ |
| | | map: map, |
| | | position: lineArr[0], |
| | | icon: "https://webapi.amap.com/images/car.png", |
| | | offset: new AMap.Pixel(-26, -13), |
| | | autoRotation: true, |
| | | angle:-90, |
| | | const flightPath = new google.maps.Polyline({ |
| | | path: flightPlanCoordinates, |
| | | geodesic: true, |
| | | strokeColor: "#FF0000", |
| | | strokeOpacity: 1.0, |
| | | strokeWeight: 5, |
| | | }); |
| | | |
| | | // 绘制轨迹 |
| | | var polyline = new AMap.Polyline({ |
| | | map: map, |
| | | path: lineArr, |
| | | showDir:true, |
| | | strokeColor: "#28F", //线颜色 |
| | | // strokeOpacity: 1, //线透明度 |
| | | strokeWeight: 6, //线宽 |
| | | // strokeStyle: "solid" //线样式 |
| | | }); |
| | | |
| | | var passedPolyline = new AMap.Polyline({ |
| | | map: map, |
| | | // path: lineArr, |
| | | strokeColor: "#AF5", //线颜色 |
| | | // strokeOpacity: 1, //线透明度 |
| | | strokeWeight: 6, //线宽 |
| | | // strokeStyle: "solid" //线样式 |
| | | }); |
| | | |
| | | |
| | | marker.on('moving', function (e) { |
| | | passedPolyline.setPath(e.passedPath); |
| | | }); |
| | | |
| | | map.setFitView(); |
| | | } |
| | | |
| | | |
| | | function startAnimation () { |
| | | marker.moveAlong(lineArr, 200); |
| | | } |
| | | |
| | | function pauseAnimation () { |
| | | marker.pauseMove(); |
| | | } |
| | | |
| | | function resumeAnimation () { |
| | | marker.resumeMove(); |
| | | } |
| | | |
| | | function stopAnimation () { |
| | | marker.stopMove(); |
| | | } |
| | | flightPath.setMap(map); |
| | | } |
| | |
| | | if (row.state == 1){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="提交申请" onfocus="TUser.tooltip()">提交申请</p>'] |
| | | } else if (row.state == 2){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="已支付" onfocus="TUser.tooltip()">已支付</p>'] |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="提交申请" onfocus="TUser.tooltip()">提交申请</p>'] |
| | | } else if (row.state == 3){ |
| | | btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="已改派" onfocus="TUser.tooltip()">已改派</p>'] |
| | | } else if (row.state == 4){ |
New file |
| | |
| | | /** |
| | | * 管理初始化 |
| | | */ |
| | | var TReportLoss = { |
| | | id: "TReportLossTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TReportLoss.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'}, |
| | | {title: '用户姓名', field: 'nickName', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '联系方式', field: 'phone', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '司机车牌号', field: 'carNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '内容', field: 'remark', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '图片', field: 'image', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function(data){ |
| | | if(data==1){ |
| | | return '未处理' |
| | | }else { |
| | | return '已处理' |
| | | } |
| | | } |
| | | }, |
| | | {title: '处理时间', field: 'handleTime', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '处理人id', field: 'handleUser', visible: true, align: 'center', valign: 'middle'}, |
| | | |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TReportLoss.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TReportLoss.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 点击添加 |
| | | */ |
| | | TReportLoss.openAddTReportLoss = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tReportLoss/tReportLoss_add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看详情 |
| | | */ |
| | | TReportLoss.openTReportLossDetail = function () { |
| | | if (this.check()) { |
| | | let status = this.seItem.status |
| | | if(status==2){ |
| | | Feng.info("该信息已经处理过了") |
| | | return false; |
| | | } |
| | | let id = this.seItem.id |
| | | layer.open({ |
| | | type: 1 |
| | | , title: '' |
| | | , area: ['30%', '30%'] |
| | | , offset: 'auto' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset |
| | | , id: 'layerDemo' //防止重复弹出cge |
| | | , content: '<div class="form-horizontal">' + |
| | | ' <div class="col-sm-11" style="margin-top: 30px">' + |
| | | ' <div class="col-sm-11">' + |
| | | ' <div class="form-group">\n' + |
| | | ' <label class="col-sm-3 control-label">备注:</label>\n' + |
| | | ' <div class="col-sm-9">\n' + |
| | | ' <textarea id="info" style="height: 150px;width: 250px" placeholder="多行输入,最多500字" maxlength="500"></textarea>\n' + |
| | | ' </div>\n' + |
| | | ' </div>\n' + |
| | | ' </div>' + |
| | | ' </div>' + |
| | | '</div>' |
| | | , btn: ['提交处理'] |
| | | , btnAlign: 'c' //按钮居中 |
| | | , shade: 0.5 //不显示遮罩 |
| | | , yes: function () { |
| | | console.log(1111) |
| | | let info = $("#info").val() |
| | | var ajax = new $ax(Feng.ctxPath + "/tReportLoss/dispose", function (data) { |
| | | if (data.code == 200) { |
| | | TReportLoss.table.refresh(); |
| | | window.parent.layer.closeAll(); |
| | | Feng.success("处理成功!"); |
| | | } else { |
| | | return Feng.error(data.msg); |
| | | } |
| | | }, function (data) { |
| | | return Feng.error("操作失败!"); |
| | | }); |
| | | ajax.set("id",id) |
| | | ajax.set("info",info) |
| | | ajax.start(); |
| | | layer.closeAll(); |
| | | }, |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TReportLoss.delete = function () { |
| | | if (this.check()) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tReportLoss/delete", function (data) { |
| | | Feng.success("删除成功!"); |
| | | TReportLoss.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("删除失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tReportLossId",this.seItem.id); |
| | | ajax.start(); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | TReportLoss.search = function () { |
| | | var queryData = {}; |
| | | queryData['insertTime'] = $("#insertTime").val(); |
| | | queryData['phone'] = $("#phone").val(); |
| | | queryData['status'] = $("#status").val(); |
| | | TReportLoss.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | $(function () { |
| | | var defaultColunms = TReportLoss.initColumn(); |
| | | var table = new BSTable(TReportLoss.id, "/tReportLoss/list", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TReportLoss.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 初始化详情对话框 |
| | | */ |
| | | var TReportLossInfoDlg = { |
| | | tReportLossInfoData : {} |
| | | }; |
| | | |
| | | /** |
| | | * 清除数据 |
| | | */ |
| | | TReportLossInfoDlg.clearData = function() { |
| | | this.tReportLossInfoData = {}; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TReportLossInfoDlg.set = function(key, val) { |
| | | this.tReportLossInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; |
| | | return this; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TReportLossInfoDlg.get = function(key) { |
| | | return $("#" + key).val(); |
| | | } |
| | | |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | TReportLossInfoDlg.close = function() { |
| | | parent.layer.close(window.parent.TReportLoss.layerIndex); |
| | | } |
| | | |
| | | /** |
| | | * 收集数据 |
| | | */ |
| | | TReportLossInfoDlg.collectData = function() { |
| | | this |
| | | .set('id') |
| | | .set('userId') |
| | | .set('orderType') |
| | | .set('orderId') |
| | | .set('remark') |
| | | .set('image') |
| | | .set('state') |
| | | .set('status') |
| | | .set('handleTime') |
| | | .set('insertTime') |
| | | .set('handleUserId'); |
| | | } |
| | | |
| | | /** |
| | | * 提交添加 |
| | | */ |
| | | TReportLossInfoDlg.addSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tReportLoss/add", function(data){ |
| | | Feng.success("添加成功!"); |
| | | window.parent.TReportLoss.table.refresh(); |
| | | TReportLossInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tReportLossInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 提交修改 |
| | | */ |
| | | TReportLossInfoDlg.editSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tReportLoss/update", function(data){ |
| | | Feng.success("修改成功!"); |
| | | window.parent.TReportLoss.table.refresh(); |
| | | TReportLossInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tReportLossInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | $(function() { |
| | | |
| | | }); |
| | |
| | | } |
| | | } |
| | | }, |
| | | num16: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【时间】输入框不能为空' |
| | | } |
| | | } |
| | | }, |
| | | num17: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | | num18: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | | num19: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | | num20: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | | num21: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | | num22: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '【元】输入框不能为空' |
| | | }, |
| | | regexp: { |
| | | regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | message: '【元】输入框不能超过3位数,保留两位小数' |
| | | } |
| | | } |
| | | }, |
| | | // num16: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【时间】输入框不能为空' |
| | | // } |
| | | // } |
| | | // }, |
| | | // num17: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【元】输入框不能为空' |
| | | // }, |
| | | // regexp: { |
| | | // regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | // message: '【元】输入框不能超过3位数,保留两位小数' |
| | | // } |
| | | // } |
| | | // }, |
| | | // num18: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【元】输入框不能为空' |
| | | // }, |
| | | // regexp: { |
| | | // regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | // message: '【元】输入框不能超过3位数,保留两位小数' |
| | | // } |
| | | // } |
| | | // }, |
| | | // num19: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【元】输入框不能为空' |
| | | // }, |
| | | // regexp: { |
| | | // regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | // message: '【元】输入框不能超过3位数,保留两位小数' |
| | | // } |
| | | // } |
| | | // }, |
| | | // num20: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【元】输入框不能为空' |
| | | // }, |
| | | // regexp: { |
| | | // regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | // message: '【元】输入框不能超过3位数,保留两位小数' |
| | | // } |
| | | // } |
| | | // }, |
| | | // num21: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【元】输入框不能为空' |
| | | // }, |
| | | // regexp: { |
| | | // regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | // message: '【元】输入框不能超过3位数,保留两位小数' |
| | | // } |
| | | // } |
| | | // }, |
| | | // num22: { |
| | | // validators: { |
| | | // notEmpty: { |
| | | // message: '【元】输入框不能为空' |
| | | // }, |
| | | // regexp: { |
| | | // regexp: /^(0|[1-9]\d{0,2})(\.\d{1,2})?$/, |
| | | // message: '【元】输入框不能超过3位数,保留两位小数' |
| | | // } |
| | | // } |
| | | // }, |
| | | num23: { |
| | | validators: { |
| | | notEmpty: { |
| | |
| | | }if (!re.test(num5)) { |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | | }if (!re.test(num7)) { |
| | | }/*if (!re.test(num7)) { |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | | }if (!re.test(num9)) { |
| | | Feng.error("请输入正确金额数!"); |
| | | return; |
| | | } |
| | | }*/ |
| | | |
| | | if (!/^[1-9]\d*$/.test(num2)) { |
| | | Feng.error("请输入正确张数!"); |
| | |
| | | Feng.error("请输入正确张数!"); |
| | | return; |
| | | } |
| | | if (!/^[1-9]\d*$/.test(num6)) { |
| | | Feng.error("请输入正确张数!"); |
| | | return; |
| | | }if (!/^[1-9]\d*$/.test(num8)) { |
| | | Feng.error("请输入正确张数!"); |
| | | return; |
| | | }if (!/^[1-9]\d*$/.test(num10)) { |
| | | // if (!/^[1-9]\d*$/.test(num6)) { |
| | | // Feng.error("请输入正确张数!"); |
| | | // return; |
| | | // } |
| | | // if (!/^[1-9]\d*$/.test(num8)) { |
| | | // Feng.error("请输入正确张数!"); |
| | | // return; |
| | | // } |
| | | if (!/^[1-9]\d*$/.test(num10)) { |
| | | Feng.error("请输入正确天数!"); |
| | | return; |
| | | } |
| | |
| | | '<td><input type="hidden" id="id4" name="id4" value="'+id4+'"><input type="hidden" id="num2" name="num2" value="'+num2+'">' + num2 + '</td>' + |
| | | '<td><input type="hidden" id="num5" name="num5" value="'+num5+'">' + num5 + '</td>' + |
| | | '<td><input type="hidden" id="num4" name="num4" value="'+num4+'">' + num4 + '</td>' + |
| | | '<td><input type="hidden" id="num7" name="num7" value="'+num7+'">' + num7 + '</td>' + |
| | | '<td><input type="hidden" id="num6" name="num6" value="'+num6+'">' + num6 + '</td>' + |
| | | '<td><input type="hidden" id="num9" name="num9" value="'+num9+'">' + num9 + '</td>' + |
| | | '<td><input type="hidden" id="num8" name="num8" value="'+num8+'">' + num8 + '</td>' + |
| | | // '<td><input type="hidden" id="num7" name="num7" value="'+num7+'">' + num7 + '</td>' + |
| | | // '<td><input type="hidden" id="num6" name="num6" value="'+num6+'">' + num6 + '</td>' + |
| | | // '<td><input type="hidden" id="num9" name="num9" value="'+num9+'">' + num9 + '</td>' + |
| | | // '<td><input type="hidden" id="num8" name="num8" value="'+num8+'">' + num8 + '</td>' + |
| | | '<td><button onclick="deleteSub(this)">移除</button></td></tr>'; |
| | | $("#coun").append(str); |
| | | } |
New file |
| | |
| | | { |
| | | "hints": [], |
| | | "groups": [ |
| | | { |
| | | "sourceType": "com.stylefeng.guns.config.properties.BeetlProperties", |
| | | "name": "beetl", |
| | | "type": "com.stylefeng.guns.config.properties.BeetlProperties" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.config.properties.GunsProperties", |
| | | "name": "guns", |
| | | "type": "com.stylefeng.guns.config.properties.GunsProperties" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.config.datasource.MultiDataSourceConfig", |
| | | "name": "guns.muti-datasource", |
| | | "sourceMethod": "mutiDataSourceProperties()", |
| | | "type": "com.stylefeng.guns.core.config.properties.MutiDataSourceProperties" |
| | | } |
| | | ], |
| | | "properties": [ |
| | | { |
| | | "sourceType": "com.stylefeng.guns.config.properties.BeetlProperties", |
| | | "name": "beetl.delimiter-statement-end", |
| | | "type": "java.lang.String" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.config.properties.BeetlProperties", |
| | | "name": "beetl.delimiter-statement-start", |
| | | "type": "java.lang.String" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.config.properties.BeetlProperties", |
| | | "name": "beetl.properties", |
| | | "type": "java.util.Properties" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.config.properties.BeetlProperties", |
| | | "name": "beetl.resource-auto-check", |
| | | "type": "java.lang.String" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.config.properties.BeetlProperties", |
| | | "name": "beetl.resource-tagroot", |
| | | "type": "java.lang.String" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.config.properties.BeetlProperties", |
| | | "name": "beetl.resource-tagsuffix", |
| | | "type": "java.lang.String" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.config.properties.GunsProperties", |
| | | "name": "guns.file-upload-path", |
| | | "type": "java.lang.String" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.config.properties.GunsProperties", |
| | | "defaultValue": false, |
| | | "name": "guns.kaptcha-open", |
| | | "type": "java.lang.Boolean" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.core.config.properties.MutiDataSourceProperties", |
| | | "name": "guns.muti-datasource.data-source-names", |
| | | "type": "java.lang.String[]" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.core.config.properties.MutiDataSourceProperties", |
| | | "name": "guns.muti-datasource.driver-class-name", |
| | | "type": "java.lang.String" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.core.config.properties.MutiDataSourceProperties", |
| | | "name": "guns.muti-datasource.password", |
| | | "type": "java.lang.String" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.core.config.properties.MutiDataSourceProperties", |
| | | "name": "guns.muti-datasource.url", |
| | | "type": "java.lang.String" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.core.config.properties.MutiDataSourceProperties", |
| | | "name": "guns.muti-datasource.username", |
| | | "type": "java.lang.String" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.core.config.properties.MutiDataSourceProperties", |
| | | "name": "guns.muti-datasource.validation-query", |
| | | "type": "java.lang.String" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.config.properties.GunsProperties", |
| | | "name": "guns.picture-server-address", |
| | | "type": "java.lang.String" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.config.properties.GunsProperties", |
| | | "name": "guns.rest-url", |
| | | "description": "前端接口调用基础路径", |
| | | "type": "java.lang.String" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.config.properties.GunsProperties", |
| | | "name": "guns.session-invalidate-time", |
| | | "description": "session 失效时间(默认为30分钟 单位:秒)", |
| | | "type": "java.lang.Integer" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.config.properties.GunsProperties", |
| | | "name": "guns.session-validation-interval", |
| | | "description": "session 验证失效时间(默认为15分钟 单位:秒)", |
| | | "type": "java.lang.Integer" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.config.properties.GunsProperties", |
| | | "defaultValue": false, |
| | | "name": "guns.spring-session-open", |
| | | "type": "java.lang.Boolean" |
| | | }, |
| | | { |
| | | "sourceType": "com.stylefeng.guns.config.properties.GunsProperties", |
| | | "defaultValue": false, |
| | | "name": "guns.swagger-open", |
| | | "type": "java.lang.Boolean" |
| | | } |
| | | ] |
| | | } |
New file |
| | |
| | | restart.include.beetl=/beetl-2.8.5.jar |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | |
| | | <head> |
| | | |
| | | <meta charset="utf-8"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| | | |
| | | |
| | | <title>IGO出行 - 404 页面</title> |
| | | <link rel="shortcut icon" href="${ctxPath}/static/favicon1.ico"> <link href="${ctxPath}/static/css/bootstrap.min.css?v=3.3.6" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/font-awesome.css?v=4.4.0" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/style.css?v=4.1.0" rel="stylesheet"> |
| | | |
| | | </head> |
| | | |
| | | <body class="gray-bg"> |
| | | |
| | | |
| | | <div class="middle-box text-center"> |
| | | <h1>404</h1> |
| | | <h3 class="font-bold">页面未找到!</h3> |
| | | |
| | | <div class="error-desc"> |
| | | 抱歉,页面好像去火星了~ |
| | | <!--<form class="form-inline m-t" role="form"> |
| | | <div class="form-group"> |
| | | <input type="email" class="form-control" placeholder="请输入您需要查找的内容 …"> |
| | | </div> |
| | | <button type="submit" class="btn btn-primary">搜索</button> |
| | | </form>--> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 全局js --> |
| | | <script src="${ctxPath}/static/js/jquery.min.js?v=2.1.4"></script> |
| | | <script src="${ctxPath}/static/js/bootstrap.min.js?v=3.3.6"></script> |
| | | |
| | | </body> |
| | | |
| | | </html> |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <style type="text/css"> |
| | | .ztree li span.button.add {margin-left:4px; margin-right: -1px; background-position:-144px 0; vertical-align:top; *vertical-align:middle} |
| | | .titleDiv{ |
| | | overflow: hidden; |
| | | } |
| | | .titleItem{ |
| | | float: left;text-align: center;width: 180px; |
| | | line-height: 40px;border-top:1px solid #E7EBEE;border-bottom: 1px solid #E7EBEE; |
| | | border-left:1px solid #E7EBEE;font-size: 16px; |
| | | } |
| | | .titleItemCk{ |
| | | color: #fff !important;background: #1AB395 !important; |
| | | } |
| | | .titleItem:last-child{ |
| | | border-right: 1px solid #E7EBEE; |
| | | } |
| | | .ibox-title{ |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | .ibox-title div span{ |
| | | cursor: pointer; |
| | | } |
| | | .ibox-title div span.active{ |
| | | color:white; |
| | | background: #3d91d9; |
| | | border-radius: 4px; |
| | | } |
| | | .ibox-content{ |
| | | min-height: 130px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | .sp-item{ |
| | | padding:2px 8px; |
| | | |
| | | } |
| | | .sp-col{ |
| | | font-size: 18px; |
| | | } |
| | | .sp-hidden{ |
| | | visibility: hidden !important; |
| | | } |
| | | .flex-div{ |
| | | display: flex; |
| | | align-items: center; |
| | | position: relative; |
| | | flex-wrap: nowrap; |
| | | } |
| | | \@media screen and (min-width: 1200px) { |
| | | .sp-width { |
| | | width:260px; |
| | | } |
| | | } |
| | | \@media screen and (max-width: 1200px) { |
| | | .sp-width { |
| | | width: 180px; |
| | | } |
| | | } |
| | | |
| | | </style> |
| | | <div class="container-fluid" style="padding: 0 !important;"> |
| | | <div class="row content"> |
| | | <div class="col-sm-12"> |
| | | <div class="col-sm-3"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h3>待处理</h3> |
| | | </div> |
| | | <a class="J_menuItem" href="javascript:void(0);" onclick="goddess()" name="tabMenuItem" data-index="27"> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins">${goddessCount}</h1> |
| | | <small>待处理女神认证</small> |
| | | </div> |
| | | </a> |
| | | <a class="J_menuItem" href="javascript:void(0);" onclick="withdrawal()" name="tabMenuItem" data-index="27"> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins">${withdrawalCount}</h1> |
| | | <small>待处理提现申请</small> |
| | | </div> |
| | | </a> |
| | | <a class="J_menuItem" href="javascript:void(0);" onclick="report()" name="tabMenuItem" data-index="27"> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins">${reportCount}</h1> |
| | | <small>待处理用户举报</small> |
| | | </div> |
| | | </a> |
| | | <a class="J_menuItem" href="javascript:void(0);" onclick="feedback()" name="tabMenuItem" data-index="27"> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins">${feedbackCount}</h1> |
| | | <small>待处理用户反馈</small> |
| | | </div> |
| | | </a> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-9"> |
| | | <div class="col-sm-4 "> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h3>非会员付费解锁</h3> |
| | | <div id="noVipUnlockDiv" class="flex-div"> |
| | | <div class="sp-hidden flex-div noVipUnlockTimess sp-width" style="position: absolute;right: 40px;top: 50%;transform: translateY(-50%);"> |
| | | <input type="text" id="noVipUnlockTime" class="form-control layer-date " > |
| | | <#button style="margin: 0;" btnCs="info" name="搜索" id="ensure" icon="fa-check" clickFun="noVipUnlockSubmit()"/> |
| | | </div> |
| | | <div class="noVipUnlockTimes flex-div" style="position: absolute;right: 40px;top: 50%;transform: translateY(-50%);width: 180px;justify-content: flex-end;"> |
| | | <span class="active sp-item">今日</span> |
| | | <span class="sp-item">本周</span> |
| | | <span class="sp-item">本月</span> |
| | | </div> |
| | | <div class="noVipUnlockSpan" onclick="noVipUnlockTime()" style="margin-left: 20px;"><i class="fa fa-calendar-plus-o"></i></div> |
| | | </div> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="sp-col" style="width: 100%;">订单数<span style="margin-left: 50px;font-size: 28px;" id="noVipUnlockNum">${noVipUnlockNumToDay}</span>单</h1> |
| | | <h1 class="sp-col" style="width: 100%;">成交额<span style="margin-left: 50px;font-size: 28px;" id="noVipUnlockMoney">${noVipUnlockMoneyToDay}</span>元</h1> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-4"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h3>会员付费解锁</h3> |
| | | <div id="vipUnlockDiv" class="flex-div"> |
| | | <div class="sp-hidden flex-div vipUnlockTimess sp-width" style="position: absolute;right: 40px;top: 50%;transform: translateY(-50%);"> |
| | | <input type="text" id="vipUnlockTime" class="form-control layer-date " > |
| | | <#button style="margin: 0;" btnCs="info" name="搜索" id="ensure" icon="fa-check" clickFun="vipUnlockSubmit()"/> |
| | | </div> |
| | | <div class="vipUnlockTimes flex-div" style="position: absolute;right: 40px;top: 50%;transform: translateY(-50%);width: 180px;justify-content: flex-end;"> |
| | | <span class="active sp-item">今日</span> |
| | | <span class="sp-item">本周</span> |
| | | <span class="sp-item">本月</span> |
| | | </div> |
| | | <div class="vipUnlockSpan" onclick="vipUnlockTime()" style="margin-left: 20px;"><i class="fa fa-calendar-plus-o"></i></div> |
| | | </div> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="sp-col" style="width: 100%;">订单数<span style="margin-left: 50px;font-size: 28px;" id="vipUnlockNum">${vipUnlockNumToDay}</span>单</h1> |
| | | <h1 class="sp-col" style="width: 100%;">成交额<span style="margin-left: 50px;font-size: 28px;" id="vipUnlockMoney">${vipUnlockMoneyToDay}</span>元</h1> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-4"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h3>总营收</h3> |
| | | <div id="allIncomeDiv" class="flex-div"> |
| | | <div class="sp-hidden flex-div allIncomeTimess sp-width" style="position: absolute;right: 40px;top: 50%;transform: translateY(-50%);"> |
| | | <input type="text" id="allIncomeTime" class="form-control layer-date " > |
| | | <#button style="margin: 0;" btnCs="info" name="搜索" id="ensure" icon="fa-check" clickFun="allIncomeSubmit()"/> |
| | | </div> |
| | | <div class="allIncomeTimes flex-div" style="position: absolute;right: 40px;top: 50%;transform: translateY(-50%);width: 180px;justify-content: flex-end;"> |
| | | <span class="active sp-item">今日</span> |
| | | <span class="sp-item">本周</span> |
| | | <span class="sp-item">本月</span> |
| | | </div> |
| | | <div class="allIncomeSpan" onclick="allIncomeTime()" style="margin-left: 20px;"><i class="fa fa-calendar-plus-o"></i></div> |
| | | </div> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="sp-col" style="width: 100%;">订单数<span style="margin-left: 50px;font-size: 28px;" id="allIncomeNum">${allIncomeNumToDay}</span>单</h1> |
| | | <h1 class="sp-col" style="width: 100%;">成交额<span style="margin-left: 50px;font-size: 28px;" id="allIncomeMoney">${allIncomeMoneyToDay}</span>元</h1> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-4"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h3>新增会员</h3> |
| | | <div id="addVipDiv" class="flex-div"> |
| | | <div class="sp-hidden flex-div addVipTimess sp-width" style="position: absolute;right: 40px;top: 50%;transform: translateY(-50%);"> |
| | | <input type="text" id="addVipTime" class="form-control layer-date " > |
| | | <#button style="margin: 0;" btnCs="info" name="搜索" id="ensure" icon="fa-check" clickFun="addVipSubmit()"/> |
| | | </div> |
| | | <div class="addVipTimes flex-div" style="position: absolute;right: 40px;top: 50%;transform: translateY(-50%);width: 180px;justify-content: flex-end;"> |
| | | <span class="active sp-item">今日</span> |
| | | <span class="sp-item">本周</span> |
| | | <span class="sp-item">本月</span> |
| | | </div> |
| | | <div class="addVipSpan" onclick="addVipTime()" style="margin-left: 20px;"><i class="fa fa-calendar-plus-o"></i></div> |
| | | </div> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="sp-col" style="width: 100%;">新增数<span style="margin-left: 50px;font-size: 28px;" id="addVipNum">${addVipNumToDay}</span>位</h1> |
| | | <h1 class="sp-col" style="width: 100%;">新增收益<span style="margin-left: 50px;font-size: 28px;" id="addVipMoney">${addVipMoneyToDay}</span>元</h1> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-4"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h3>发布活动付费</h3> |
| | | <div id="sendActiveDiv" class="flex-div"> |
| | | <div class="sp-hidden flex-div sendActiveTimess sp-width" style="position: absolute;right: 40px;top: 50%;transform: translateY(-50%);"> |
| | | <input type="text" id="sendActiveTime" class="form-control layer-date " > |
| | | <#button style="margin: 0;" btnCs="info" name="搜索" id="ensure" icon="fa-check" clickFun="sendActiveSubmit()"/> |
| | | </div> |
| | | <div class="sendActiveTimes flex-div" style="position: absolute;right: 40px;top: 50%;transform: translateY(-50%);width: 180px;justify-content: flex-end;"> |
| | | <span class="active sp-item">今日</span> |
| | | <span class="sp-item">本周</span> |
| | | <span class="sp-item">本月</span> |
| | | </div> |
| | | <div class="sendActiveSpan" onclick="sendActiveTime()" style="margin-left: 20px;"><i class="fa fa-calendar-plus-o"></i></div> |
| | | </div> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="sp-col" style="width: 100%;">订单数<span style="margin-left: 50px;font-size: 28px;" id="sendActiveNum">${sendActiveNumDay}</span>单</h1> |
| | | <h1 class="sp-col" style="width: 100%;">成交额<span style="margin-left: 50px;font-size: 28px;" id="sendActiveMoney">${sendActiveMoneyToDay}</span>元</h1> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-4"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h3>历史总营收</h3> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="sp-col" style="text-align: center;"><span style="font-size: 28px;">${historyIncomeMoney}</span>元</h1> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-4"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h4>新增用户</h4> |
| | | <div id="userDiv" class="flex-div"> |
| | | <div class="sp-hidden flex-div userTimess sp-width" style="position: absolute;right: 40px;top: 50%;transform: translateY(-50%);"> |
| | | <input type="text" id="userTime" class="form-control layer-date " > |
| | | <#button style="margin: 0;" btnCs="info" name="搜索" id="ensure" icon="fa-check" clickFun="userSubmit()"/> |
| | | </div> |
| | | <div class="userTimes flex-div" style="position: absolute;right: 40px;top: 50%;transform: translateY(-50%);width: 180px;justify-content: flex-end;"> |
| | | <span class="active sp-item">今日</span> |
| | | <span class="sp-item">本周</span> |
| | | <span class="sp-item">本月</span> |
| | | </div> |
| | | <div class="userSpan" onclick="userTime()" style="margin-left: 20px;"><i class="fa fa-calendar-plus-o"></i></div> |
| | | </div> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="sp-col" style="text-align: center;"><span style="font-size: 28px;" id="userNum">${userNumToDay}</span>位</h1> |
| | | <div class="sp-col" style="display: flex;justify-content: space-between;width: 100%;"> |
| | | <div style="text-align: center;display: inline-block;">男<span style="font-size: 28px;margin: 0 10px" id="maleUserNum">${maleUserNumToDay}</span>位</div> |
| | | <div style="text-align: center;display: inline-block;">女<span style="font-size: 28px;margin: 0 10px" id="femaleUserNum">${femaleUserNumToDay}</span>位</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-4"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h3>总用户数</h3> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="sp-col" style="text-align: center;"><span style="font-size: 28px;" >${userNum}</span>位</h1> |
| | | <div class="sp-col" style="display: flex;justify-content: space-between;width: 100%;"> |
| | | <div style="text-align: center;display: inline-block;">男<span style="font-size: 28px;margin: 0 10px" >${maleUserNum}</span>位</div> |
| | | <div style="text-align: center;display: inline-block;">女<span style="font-size: 28px;margin: 0 10px" >${femaleUserNum}</span>位</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-4"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h3>总会员数</h3> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="sp-col" style="text-align: center;"><span style="font-size: 28px;">${allVipNum}</span>位</h1> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <link rel="icon" href="https://static.jianshukeji.com/highcharts/images/favicon1.ico"> |
| | | <script> |
| | | laydate.render({ |
| | | elem: '#noVipUnlockTime' |
| | | ,range: true |
| | | }); |
| | | laydate.render({ |
| | | elem: '#vipUnlockTime' |
| | | ,range: true |
| | | }); |
| | | laydate.render({ |
| | | elem: '#allIncomeTime' |
| | | ,range: true |
| | | }); |
| | | laydate.render({ |
| | | elem: '#addVipTime' |
| | | ,range: true |
| | | }); |
| | | laydate.render({ |
| | | elem: '#sendActiveTime' |
| | | ,range: true |
| | | }); |
| | | laydate.render({ |
| | | elem: '#userTime' |
| | | ,range: true |
| | | }); |
| | | </script> |
| | | <script type="text/javascript"> |
| | | $(function () { |
| | | //非会员解锁 |
| | | $("#noVipUnlockDiv span").click(function () { |
| | | $(this).addClass("active").siblings().removeClass("active"); |
| | | var ajax = new $ax(Feng.ctxPath + "/blackboard/noVipUnlock", function (data) { |
| | | $("#noVipUnlockNum").html(data.noVipUnlockNum); |
| | | $("#noVipUnlockMoney").html(data.noVipUnlockMoney); |
| | | }, function (data) { |
| | | }); |
| | | ajax.set("active",$(this).html()); |
| | | ajax.start(); |
| | | }); |
| | | //会员解锁 |
| | | $("#vipUnlockDiv span").click(function () { |
| | | $(this).addClass("active").siblings().removeClass("active"); |
| | | var ajax = new $ax(Feng.ctxPath + "/blackboard/vipUnlock", function (data) { |
| | | $("#vipUnlockNum").html(data.vipUnlockNum); |
| | | $("#vipUnlockMoney").html(data.vipUnlockMoney); |
| | | }, function (data) { |
| | | }); |
| | | ajax.set("active",$(this).html()); |
| | | ajax.start(); |
| | | }); |
| | | //总营收 |
| | | $("#allIncomeDiv span").click(function () { |
| | | $(this).addClass("active").siblings().removeClass("active"); |
| | | var ajax = new $ax(Feng.ctxPath + "/blackboard/allIncome", function (data) { |
| | | $("#allIncomeNum").html(data.allIncomeNum); |
| | | $("#allIncomeMoney").html(data.allIncomeMoney); |
| | | }, function (data) { |
| | | }); |
| | | ajax.set("active",$(this).html()); |
| | | ajax.start(); |
| | | }); |
| | | //新增会员 |
| | | $("#addVipDiv span").click(function () { |
| | | $(this).addClass("active").siblings().removeClass("active"); |
| | | var ajax = new $ax(Feng.ctxPath + "/blackboard/addVip", function (data) { |
| | | $("#addVipNum").html(data.addVipNum); |
| | | $("#addVipMoney").html(data.addVipMoney); |
| | | }, function (data) { |
| | | }); |
| | | ajax.set("active",$(this).html()); |
| | | ajax.start(); |
| | | }); |
| | | //发布活动付费 |
| | | $("#sendActiveDiv span").click(function () { |
| | | $(this).addClass("active").siblings().removeClass("active"); |
| | | var ajax = new $ax(Feng.ctxPath + "/blackboard/sendActive", function (data) { |
| | | $("#sendActiveNum").html(data.sendActiveNum); |
| | | $("#sendActiveMoney").html(data.sendActiveMoney); |
| | | }, function (data) { |
| | | }); |
| | | ajax.set("active",$(this).html()); |
| | | ajax.start(); |
| | | }); |
| | | //新增用户 |
| | | $("#userDiv span").click(function () { |
| | | $(this).addClass("active").siblings().removeClass("active"); |
| | | var ajax = new $ax(Feng.ctxPath + "/blackboard/user", function (data) { |
| | | $("#userNum").html(data.userNum); |
| | | $("#maleUserNum").html(data.maleUserNum); |
| | | $("#femaleUserNum").html(data.femaleUserNum); |
| | | }, function (data) { |
| | | }); |
| | | ajax.set("active",$(this).html()); |
| | | ajax.start(); |
| | | }); |
| | | }); |
| | | |
| | | function goddess() { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '待处理女神认证', |
| | | area: ['80%', '80%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/appUserAuth' |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | function withdrawal() { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '待处理提现申请', |
| | | area: ['80%', '80%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/appUserWithdrawal' |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | function report() { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '待处理用户举报', |
| | | area: ['80%', '80%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/appUserReport' |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | function feedback() { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '待处理用户反馈', |
| | | area: ['80%', '80%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/appUserFeedback' |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | |
| | | //非会员解锁日期选择切换 |
| | | function noVipUnlockTime() { |
| | | $('.noVipUnlockSpan').toggleClass("active"); |
| | | $('.noVipUnlockTimess').toggleClass("sp-hidden"); |
| | | $('.noVipUnlockTimes').toggleClass('sp-hidden'); |
| | | $("#noVipUnlockNum").html("0"); |
| | | $("#noVipUnlockMoney").html("0"); |
| | | $("#noVipUnlockTime").val(""); |
| | | if ($(".noVipUnlockTimess").hasClass('sp-hidden')){ |
| | | var ajax = new $ax(Feng.ctxPath + "/blackboard/noVipUnlock", function (data) { |
| | | $("#noVipUnlockNum").html(data.noVipUnlockNum); |
| | | $("#noVipUnlockMoney").html(data.noVipUnlockMoney); |
| | | }, function (data) { |
| | | }); |
| | | ajax.set("active",$("#noVipUnlockDiv .active").html()); |
| | | ajax.start(); |
| | | } |
| | | } |
| | | //非会员解锁日期选择提交 |
| | | function noVipUnlockSubmit(){ |
| | | var time = $("#noVipUnlockTime").val(); |
| | | if ("" == time) { |
| | | Feng.info("请选择查询时间"); |
| | | return; |
| | | } |
| | | var ajax = new $ax(Feng.ctxPath + "/blackboard/noVipUnlockSubmit", function (data) { |
| | | $("#noVipUnlockNum").html(data.noVipUnlockNum); |
| | | $("#noVipUnlockMoney").html(data.noVipUnlockMoney); |
| | | }, function (data) { |
| | | }); |
| | | ajax.set("time",time); |
| | | ajax.start(); |
| | | } |
| | | |
| | | // 会员解锁日期选择切换 |
| | | function vipUnlockTime() { |
| | | $('.vipUnlockSpan').toggleClass("active"); |
| | | $('.vipUnlockTimess').toggleClass("sp-hidden"); |
| | | $('.vipUnlockTimes').toggleClass('sp-hidden'); |
| | | $("#vipUnlockNum").html("0"); |
| | | $("#vipUnlockMoney").html("0"); |
| | | $("#vipUnlockTime").val(""); |
| | | if ($(".vipUnlockTimess").hasClass('sp-hidden')){ |
| | | var ajax = new $ax(Feng.ctxPath + "/blackboard/vipUnlock", function (data) { |
| | | $("#vipUnlockNum").html(data.vipUnlockNum); |
| | | $("#vipUnlockMoney").html(data.vipUnlockMoney); |
| | | }, function (data) { |
| | | }); |
| | | ajax.set("active",$("#vipUnlockDiv .active").html()); |
| | | ajax.start(); |
| | | } |
| | | } |
| | | // 会员解锁日期选择提交 |
| | | function vipUnlockSubmit(){ |
| | | var time = $("#vipUnlockTime").val(); |
| | | if ("" == time) { |
| | | Feng.info("请选择查询时间"); |
| | | return; |
| | | } |
| | | var ajax = new $ax(Feng.ctxPath + "/blackboard/vipUnlockSubmit", function (data) { |
| | | $("#vipUnlockNum").html(data.vipUnlockNum); |
| | | $("#vipUnlockMoney").html(data.vipUnlockMoney); |
| | | }, function (data) { |
| | | }); |
| | | ajax.set("time",time); |
| | | ajax.start(); |
| | | } |
| | | |
| | | |
| | | // 总营收日期选择切换 |
| | | function allIncomeTime() { |
| | | $('.allIncomeSpan').toggleClass("active"); |
| | | $('.allIncomeTimess').toggleClass("sp-hidden"); |
| | | $('.allIncomeTimes').toggleClass('sp-hidden'); |
| | | $("#allIncomeNum").html("0"); |
| | | $("#allIncomeMoney").html("0"); |
| | | $("#allIncomeTime").val(""); |
| | | if ($(".allIncomeTimess").hasClass('sp-hidden')){ |
| | | var ajax = new $ax(Feng.ctxPath + "/blackboard/allIncome", function (data) { |
| | | $("#allIncomeNum").html(data.allIncomeNum); |
| | | $("#allIncomeMoney").html(data.allIncomeMoney); |
| | | }, function (data) { |
| | | }); |
| | | ajax.set("active",$("#allIncomeDiv .active").html()); |
| | | ajax.start(); |
| | | } |
| | | } |
| | | // 总营收日期选择提交 |
| | | function allIncomeSubmit(){ |
| | | var time = $("#allIncomeTime").val(); |
| | | if ("" == time) { |
| | | Feng.info("请选择查询时间"); |
| | | return; |
| | | } |
| | | var ajax = new $ax(Feng.ctxPath + "/blackboard/allIncomeSubmit", function (data) { |
| | | $("#allIncomeNum").html(data.allIncomeNum); |
| | | $("#allIncomeMoney").html(data.allIncomeMoney); |
| | | }, function (data) { |
| | | }); |
| | | ajax.set("time",time); |
| | | ajax.start(); |
| | | } |
| | | |
| | | |
| | | // 新增会员日期选择切换 |
| | | function addVipTime() { |
| | | $('.addVipSpan').toggleClass("active"); |
| | | $('.addVipTimess').toggleClass("sp-hidden"); |
| | | $('.addVipTimes').toggleClass('sp-hidden'); |
| | | $("#addVipNum").html("0"); |
| | | $("#addVipMoney").html("0"); |
| | | $("#addVipTime").val(""); |
| | | if ($(".addVipTimess").hasClass('sp-hidden')){ |
| | | var ajax = new $ax(Feng.ctxPath + "/blackboard/addVip", function (data) { |
| | | $("#addVipNum").html(data.addVipNum); |
| | | $("#addVipMoney").html(data.addVipMoney); |
| | | }, function (data) { |
| | | }); |
| | | ajax.set("active",$("#addVipDiv .active").html()); |
| | | ajax.start(); |
| | | } |
| | | } |
| | | // 新增会员日期选择提交 |
| | | function addVipSubmit(){ |
| | | var time = $("#addVipTime").val(); |
| | | if ("" == time) { |
| | | Feng.info("请选择查询时间"); |
| | | return; |
| | | } |
| | | var ajax = new $ax(Feng.ctxPath + "/blackboard/addVipSubmit", function (data) { |
| | | $("#addVipNum").html(data.addVipNum); |
| | | $("#addVipMoney").html(data.addVipMoney); |
| | | }, function (data) { |
| | | }); |
| | | ajax.set("time",time); |
| | | ajax.start(); |
| | | } |
| | | |
| | | |
| | | // 发布活动付费日期选择切换 |
| | | function sendActiveTime() { |
| | | $('.sendActiveSpan').toggleClass("active"); |
| | | $('.sendActiveTimess').toggleClass("sp-hidden"); |
| | | $('.sendActiveTimes').toggleClass('sp-hidden'); |
| | | $("#sendActiveNum").html("0"); |
| | | $("#sendActiveMoney").html("0"); |
| | | $("#sendActiveTime").val(""); |
| | | if ($(".sendActiveTimess").hasClass('sp-hidden')){ |
| | | var ajax = new $ax(Feng.ctxPath + "/blackboard/sendActive", function (data) { |
| | | $("#sendActiveNum").html(data.sendActiveNum); |
| | | $("#sendActiveMoney").html(data.sendActiveMoney); |
| | | }, function (data) { |
| | | }); |
| | | ajax.set("active",$("#sendActiveDiv .active").html()); |
| | | ajax.start(); |
| | | } |
| | | } |
| | | // 发布活动付费日期选择提交 |
| | | function sendActiveSubmit(){ |
| | | var time = $("#sendActiveTime").val(); |
| | | if ("" == time) { |
| | | Feng.info("请选择查询时间"); |
| | | return; |
| | | } |
| | | var ajax = new $ax(Feng.ctxPath + "/blackboard/sendActiveSubmit", function (data) { |
| | | $("#sendActiveNum").html(data.sendActiveNum); |
| | | $("#sendActiveMoney").html(data.sendActiveMoney); |
| | | }, function (data) { |
| | | }); |
| | | ajax.set("time",time); |
| | | ajax.start(); |
| | | } |
| | | |
| | | // 用户日期选择切换 |
| | | function userTime() { |
| | | $('.userSpan').toggleClass("active"); |
| | | $('.userTimess').toggleClass("sp-hidden"); |
| | | $('.userTimes').toggleClass('sp-hidden'); |
| | | $("#userNum").html("0"); |
| | | $("#maleUserNum").html("0"); |
| | | $("#femaleUserNum").html("0"); |
| | | $("#userTime").val(""); |
| | | if ($(".userTimess").hasClass('sp-hidden')){ |
| | | var ajax = new $ax(Feng.ctxPath + "/blackboard/user", function (data) { |
| | | $("#userNum").html(data.userNum); |
| | | $("#maleUserNum").html(data.maleUserNum); |
| | | $("#femaleUserNum").html(data.femaleUserNum); |
| | | }, function (data) { |
| | | }); |
| | | ajax.set("active",$("#userDiv .active").html()); |
| | | ajax.start(); |
| | | } |
| | | } |
| | | // 用户日期选择提交 |
| | | function userSubmit(){ |
| | | var time = $("#userTime").val(); |
| | | if ("" == time) { |
| | | Feng.info("请选择查询时间"); |
| | | return; |
| | | } |
| | | var ajax = new $ax(Feng.ctxPath + "/blackboard/userSubmit", function (data) { |
| | | $("#userNum").html(data.userNum); |
| | | $("#maleUserNum").html(data.maleUserNum); |
| | | $("#femaleUserNum").html(data.femaleUserNum); |
| | | }, function (data) { |
| | | }); |
| | | ajax.set("time",time); |
| | | ajax.start(); |
| | | } |
| | | </script> |
| | | @} |
| | | |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <style> |
| | | .contact-box { |
| | | background: unset; |
| | | border: unset; |
| | | } |
| | | strong{ |
| | | line-height: 23px; |
| | | } |
| | | </style> |
| | | |
| | | <div class="wrapper wrapper-content animated fadeInRight"> |
| | | <div class="row"> |
| | | <div class="col-sm-6"> |
| | | <div class="contact-box"> |
| | | <div class="col-sm-4"> |
| | | <div class="text-center"> |
| | | @if(user.avatar!=null){ |
| | | <img alt="image" class="img-circle " src="${user.avatar}" style="width: 120px;height: 120px " > |
| | | @} |
| | | @if(user.avatar==null){ |
| | | <img alt="image" class="img-circle " src="${ctxPath}/static/img/login-background.jpg" style="width: 120px;height: 120px" > |
| | | @} |
| | | |
| | | <div class="m-t-xs font-bold">${deptName}</div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-8"> |
| | | <h3><strong>${user.name}</strong></h3> |
| | | <p><i class="fa fa-user-secret"></i> ${roleName}</p> |
| | | <address> |
| | | <strong>E-mail:${user.email}</strong><br> |
| | | <strong>Tel:${user.phone}</strong><br> |
| | | <strong>登录次数:${loginNum}次</strong><br> |
| | | <strong>登录时间:${date}</strong><br> |
| | | </address> |
| | | </div> |
| | | <div class="clearfix"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script> |
| | | $(document).ready(function () { |
| | | $('.contact-box').each(function () { |
| | | animationHover(this, 'pulse'); |
| | | }); |
| | | $(".row").css({ |
| | | height: window.innerHeight+"px", |
| | | display:"flex", |
| | | alignItems: "center", |
| | | justifyContent: "center", |
| | | }) |
| | | }); |
| | | </script> |
| | | |
| | | <script type="text/javascript" src="http://tajs.qq.com/stats?sId=9051096" charset="UTF-8"></script> |
| | | @} |
| | | |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="row" xmlns=""> |
| | | <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="form-horizontal" id="generate"> |
| | | <div class="row"> |
| | | <div class="col-sm-4"> |
| | | <#input id="projectPath" name="项目路径" value="${params.projectPath}"/> |
| | | </div> |
| | | <div class="col-sm-4"> |
| | | <#input id="projectPackage" name="项目的包" value="${params.projectPackage}"/> |
| | | </div> |
| | | <div class="col-sm-4"> |
| | | <#input id="corePackage" name="核心包" value="${params.corePackage}"/> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div class="col-sm-3"> |
| | | <#input id="author" name="作者" value="${params.author!}"/> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#input id="bizName" name="业务名称" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#input id="moduleName" name="模块名称" value="${params.moduleName}"/> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#input id="parentMenuName" name="父级菜单名称" underline="false" value="${params.parentMenuName}" |
| | | hidden="pid" readonly="readonly" |
| | | clickFun="Code.showMenuSelectTree(); return false;" |
| | | style="background-color: #ffffff !important;" |
| | | selectFlag="true" selectId="pcodeTreeDiv" selectTreeId="pcodeTree" selectStyle=""/> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div class="col-sm-3"> |
| | | <#input id="tableName" name="表名称" disabled="disabled"/> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#input id="ignoreTabelPrefix" name="表前缀" value="${params.ignoreTabelPrefix}"/> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#input id="className" name="类名" disabled="disabled"/> |
| | | </div> |
| | | </div> |
| | | <div class="row"> |
| | | <div class="col-sm-6"> |
| | | <button id="genBtn" type="button" class="btn btn-primary mr10" |
| | | onclick="Code.generate()"> |
| | | <span style="padding: 5px 20px;">生成</span> |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div style="padding-top: 10px; overflow: hidden" |
| | | class="container-fluid"> |
| | | <div class="col-md-12"> |
| | | <div class="row admin-form"> |
| | | <div class="col-md-3 col-md-offset-3"> |
| | | <h2>数据表</h2> |
| | | <div class="list-group" id="tableList" |
| | | data-bind="foreach: tables" |
| | | style="height: 500px; overflow-y: scroll"> |
| | | @for(table in tables!){ |
| | | <a href="javascript:void(0)" class="list-group-item" tableName="${table.tableName}" onclick="Code.selectTable('${table.tableName}')">${table.tableName}-${table.tableComment}</a> |
| | | @} |
| | | </div> |
| | | </div> |
| | | <div class="col-md-3"> |
| | | <span><h2>模板</h2></span> |
| | | <div class="list-group" id="templateList" |
| | | style="height: 500px; overflow-y: scroll"> |
| | | @for(template in templates!){ |
| | | <a href="javascript:void(0)" class="list-group-item" key="${template.key}" onclick="Code.selectTemplate('${template.key}')">${template.desc}</a> |
| | | @} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <ul class="nav nav-list"> |
| | | <li class="divider"></li> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/js/common/select-list-object.js"></script> |
| | | <script src="${ctxPath}/static/modular/code/gen.js"></script> |
| | | @} |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| | | <meta name="renderer" content="webkit"/><!-- 让360浏览器默认选择webkit内核 --> |
| | | |
| | | <!--地图--> |
| | | <script src="https://webapi.amap.com/maps?v=1.4.8&key=e17d799b2506d05faf7f88320a266803"></script> |
| | | <!--<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=IRKL4FLGKZUFr6T3gFk3t9X6kKarKu1K"></script>--> |
| | | |
| | | <!-- 全局css --> |
| | | <link rel="shortcut icon" href="${ctxPath}/static/favicon1.ico"> |
| | | <link href="${ctxPath}/static/css/bootstrap.min.css?v=3.3.6" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/plugins/switchery/switchery.css" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/font-awesome.css?v=4.4.0" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/plugins/chosen/chosen.css" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/plugins/bootstrap-table/bootstrap-table.min.css" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/plugins/validate/bootstrapValidator.min.css" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/style.css?v=4.1.0" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/_fstyle.css" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/plugins/iCheck/custom.css" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/plugins/webuploader/webuploader.css" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/plugins/ztree/zTreeStyle.css" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/plugins/bootstrap-treetable/bootstrap-treetable.css" rel="stylesheet"/> |
| | | <link href="${ctxPath}/static/css/plugins/bootstrap-table/bootstrap-editable.css" rel="stylesheet" type="text/css"/> |
| | | <!-- <link href="${ctxPath}/static/css/plugins/ztree/demo.css" rel="stylesheet"> --> |
| | | <link href="${ctxPath}/static/css/plugins/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/plugins/sweetalert/sweetalert.css" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/layui/css/layui.css" rel="stylesheet"> |
| | | |
| | | <!--富文本编辑器 css--> |
| | | <link type="text/css" rel="stylesheet" href="${ctxPath}/static/js/ueditor/jsp/themes/default/css/ueditor.css"> |
| | | |
| | | <!-- 全局js --> |
| | | <script src="${ctxPath}/static/js/jquery.min.js?v=2.1.4"></script> |
| | | <script src="${ctxPath}/static/js/bootstrap.min.js?v=3.3.6"></script> |
| | | <script src="${ctxPath}/static/js/plugins/ztree/jquery.ztree.all.min.js"></script> |
| | | <script src="${ctxPath}/static/js/plugins/bootstrap-table/bootstrap-table.min.js"></script> |
| | | <script src="${ctxPath}/static/js/plugins/validate/bootstrapValidator.min.js"></script> |
| | | <script src="${ctxPath}/static/js/plugins/validate/zh_CN.js"></script> |
| | | <script src="${ctxPath}/static/js/plugins/bootstrap-table/bootstrap-table-mobile.min.js"></script> |
| | | <script src="${ctxPath}/static/js/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.min.js"></script> |
| | | <script src="${ctxPath}/static/js/plugins/bootstrap-treetable/bootstrap-treetable.js"></script> |
| | | <script src="${ctxPath}/static/js/plugins/layer/layer.js"></script> |
| | | <script src="${ctxPath}/static/js/plugins/switchery/switchery.js"></script> |
| | | <script src="${ctxPath}/static/js/plugins/chosen/chosen.jquery.js"></script> |
| | | <script src="${ctxPath}/static/js/plugins/iCheck/icheck.min.js"></script> |
| | | <script src="${ctxPath}/static/js/plugins/laydate/laydate.js"></script> |
| | | <script src="${ctxPath}/static/js/common/laydateChoose.js"></script> |
| | | <script src="${ctxPath}/static/js/plugins/webuploader/webuploader.min.js"></script> |
| | | <script src="${ctxPath}/static/js/common/ajax-object.js"></script> |
| | | <script src="${ctxPath}/static/js/common/bootstrap-table-object.js"></script> |
| | | <script src="${ctxPath}/static/js/common/tree-table-object.js"></script> |
| | | <script src="${ctxPath}/static/js/common/web-upload-object.js"></script> |
| | | <script src="${ctxPath}/static/js/common/web-upload-image.js"></script> |
| | | <script src="${ctxPath}/static/js/common/ztree-object.js"></script> |
| | | <script src="${ctxPath}/static/js/common/Feng.js"></script> |
| | | <script src="${ctxPath}/static/js/plugins/sweetalert/sweetalert.min.js"></script> |
| | | <script src="${ctxPath}/static/layui/layui.js"></script> |
| | | <script src="${ctxPath}/static/js/plugins/bootstrap-table/bootstrap-editable.min.js"></script> |
| | | <script src="${ctxPath}/static/js/plugins/bootstrap-table/bootstrap-table-editable.js"></script> |
| | | <!--富文本编辑器 js--> |
| | | <!-- <script type="text/javascript" charset="utf-8" src="${ctxPath}/static/js/plugins/umeditor/umeditor.config.js"></script> |
| | | <script type="text/javascript" charset="utf-8" src="${ctxPath}/static/js/plugins/umeditor/umeditor.js"></script> |
| | | <script type="text/javascript" charset="utf-8" src="${ctxPath}/static/js/plugins/umeditor/lang/zh-cn/zh-cn.js"></script>--> |
| | | <script type="text/javascript" charset="utf-8" src="${ctxPath}/static/js/ueditor/jsp/ueditor.config.js"></script> |
| | | <script type="text/javascript" charset="utf-8" src="${ctxPath}/static/js/ueditor/jsp/ueditor.all.js"></script> |
| | | <script type="text/javascript" charset="utf-8" src="${ctxPath}/static/js/ueditor/jsp/lang/zh-cn/zh-cn.js"></script> |
| | | <!--<style type="text/css"> |
| | | table{ |
| | | width:100px; |
| | | table-layout:fixed;/* 只有定义了表格的布局算法为fixed,下面td的定义才能起作用。 */ |
| | | } |
| | | td{ |
| | | width:100%; |
| | | word-break:keep-all;/* 不换行 */ |
| | | white-space:nowrap;/* 不换行 */ |
| | | overflow:hidden;/* 内容超出宽度时隐藏超出部分的内容 */ |
| | | text-overflow:ellipsis;/* 当对象内文本溢出时显示省略标记(...) ;需与overflow:hidden;一起使用*/ |
| | | } |
| | | </style>--> |
| | | |
| | | <script type="text/javascript"> |
| | | Feng.addCtx("${ctxPath}"); |
| | | Feng.sessionTimeoutRegistry(); |
| | | //验证电话号码 |
| | | var phoneReg = /^1(3|4|5|7|8|9)\d{9}$/; |
| | | //验证是否输入正整数 |
| | | var reg = /^[0-9]\d*$/; |
| | | //6-12位正整数 |
| | | var regSix = /^[0-9]{6,12}$/; |
| | | //验证是否输入小数 |
| | | var regDouble = /^(([1-9]{1}\d*)|(0{1}))(\.\d{0,2})?$/; |
| | | //保留一位小数 |
| | | var regDoubleOne = /^(([1-9]{1}\d*)|(0{1}))(\.\d{0,1})?$/; |
| | | /** |
| | | * 图片弹出预览框(可选) |
| | | */ |
| | | window.operateEvents = { |
| | | 'click .view': function (e, value, row) { |
| | | // 设置图片路径 |
| | | var imgUrl = value; |
| | | if(imgUrl != "") { |
| | | imgUrl = imgUrl;// 设置图片路径 |
| | | } else { |
| | | imgUrl = Feng.ctxPath + '/static/img/NoPIC.png';// 默认无图 |
| | | } |
| | | layer.open({ |
| | | type: 1, |
| | | title: false, |
| | | closeBtn: 0, |
| | | area: 'auto', |
| | | skin: 'layui-layer-nobg', //没有背景色 |
| | | shadeClose: true, |
| | | content: '<img src="' + imgUrl + '" height="100%" width="100%" />' |
| | | }); |
| | | }, |
| | | }; |
| | | /** |
| | | * 查看大图 |
| | | */ |
| | | function lookBigImg(obj){ |
| | | // 设置图片路径 |
| | | var imgUrl = obj; |
| | | if(imgUrl != "") { |
| | | imgUrl = imgUrl;// 设置图片路径 |
| | | } else { |
| | | imgUrl = Feng.ctxPath + '/static/img/NoPIC.png';// 默认无图 |
| | | } |
| | | layer.open({ |
| | | type: 1, |
| | | title: false, |
| | | closeBtn: 0, |
| | | area: 'auto', |
| | | skin: 'layui-layer-nobg', //没有背景色 |
| | | shadeClose: true, |
| | | content: '<img src="' + imgUrl + '" height="100%" width="100%" />' |
| | | }); |
| | | } |
| | | /*表单验证错误点击叉叉可以清除文本框内容*/ |
| | | $(function () { |
| | | $(".form-control:input").each(function () { |
| | | $(this).click(function () { |
| | | if($(this).next().hasClass("glyphicon-remove")){ |
| | | $(this).val(""); |
| | | } |
| | | }) |
| | | }) |
| | | }) |
| | | /*验证输入字符*/ |
| | | function checkField(value) { |
| | | var newvalue = value.replace(/[^\x00-\xff]/g, "**"); |
| | | var length = newvalue.length; |
| | | return length; |
| | | } |
| | | //字符串操作函数 往指定位置插入字符 删除指定位置字符 替换指定位置字符 |
| | | function insert_flg(str,flg,sn){ |
| | | var newstr=""; |
| | | for(var i=0;i<str.length;i+=sn){ |
| | | var tmp=str.substring(i, i+sn); |
| | | if(sn==i){ |
| | | newstr+=flg; |
| | | } |
| | | newstr+=tmp; |
| | | } |
| | | return newstr; |
| | | } |
| | | |
| | | //获取当前时间,格式YYYY-MM-DD |
| | | function getNowFormatDate() { |
| | | var date = new Date(); |
| | | var seperator1 = "-"; |
| | | var year = date.getFullYear(); |
| | | var month = date.getMonth() + 1; |
| | | var strDate = date.getDate(); |
| | | if (month >= 1 && month <= 9) { |
| | | month = "0" + month; |
| | | } |
| | | if (strDate >= 0 && strDate <= 9) { |
| | | strDate = "0" + strDate; |
| | | } |
| | | var currentdate = year + seperator1 + month + seperator1 + strDate; |
| | | return currentdate; |
| | | } |
| | | |
| | | </script> |
| | | </head> |
| | | |
| | | <body class="gray-bg"> |
| | | <div class="wrapper wrapper-content"> |
| | | ${layoutContent} |
| | | </div> |
| | | <script src="${ctxPath}/static/js/content.js?v=1.0.0"></script> |
| | | </body> |
| | | </html> |
New file |
| | |
| | | <div id="page-wrapper" class="gray-bg dashbard-1"> |
| | | <div class="row border-bottom"> |
| | | <nav class="navbar navbar-static-top" role="navigation" style="margin-bottom: 0"> |
| | | <div class="navbar-header"><a class="navbar-minimalize minimalize-styl-2 btn btn-primary " href="#"><i class="fa fa-bars"></i> </a> |
| | | <form role="search" class="navbar-form-custom" method="post" action="search_results.html"> |
| | | <div class="form-group"> |
| | | <input type="text" placeholder="IGO出行后台管理系统 …" class="form-control" name="top-search" id="top-search" value="IGO出行后台管理系统" disabled> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | <ul class="nav navbar-top-links navbar-right"> |
| | | <li class="dropdown hidden-xs"> |
| | | <a class="right-sidebar-toggle" aria-expanded="false"> |
| | | <i class="fa fa-tasks"></i> 主题 |
| | | </a> |
| | | </li> |
| | | </ul> |
| | | </nav> |
| | | </div> |
| | | <div class="row content-tabs"> |
| | | <button class="roll-nav roll-left J_tabLeft"><i class="fa fa-backward"></i> |
| | | </button> |
| | | <nav class="page-tabs J_menuTabs"> |
| | | <div class="page-tabs-content"> |
| | | <a href="javascript:;" class="active J_menuTab" data-id="${ctxPath}/blackboard">首页</a> |
| | | </div> |
| | | </nav> |
| | | <!--<nav class="page-tabs J_menuTabs"> |
| | | <div class="page-tabs-content"> |
| | | <a href="javascript:;" class="active J_menuTab" data-id="${ctxPath}/blackboard?type=0"></a> |
| | | </div> |
| | | </nav>--> |
| | | <button class="roll-nav roll-right J_tabRight"><i class="fa fa-forward"></i> |
| | | </button> |
| | | <div class="btn-group roll-nav roll-right"> |
| | | <button class="dropdown J_tabClose" data-toggle="dropdown">关闭操作<span class="caret"></span> |
| | | |
| | | </button> |
| | | <ul role="menu" class="dropdown-menu dropdown-menu-right"> |
| | | <li class="J_tabShowActive"><a>定位当前选项卡</a> |
| | | </li> |
| | | <li class="divider"></li> |
| | | <li class="J_tabCloseAll"><a>关闭全部选项卡</a> |
| | | </li> |
| | | <li class="J_tabCloseOther"><a>关闭其他选项卡</a> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | <a href="logout" class="roll-nav roll-right J_tabExit"><i class="fa fa fa-sign-out"></i> 退出</a> |
| | | </div> |
| | | <div class="row J_mainContent" id="content-main"> |
| | | <iframe class="J_iframe" name="iframe0" width="100%" height="100%" src="${ctxPath}/blackboard?type=${type}" frameborder="0" data-id="${ctxPath}/blackboard" seamless></iframe> |
| | | </div> |
| | | <div class="footer"> |
| | | <div class="pull-right">© 2019-2022 <a href="#" onclick="return false" target="_blank">IGO出行</a> |
| | | </div> |
| | | </div> |
| | | </div> |
New file |
| | |
| | | <nav class="navbar-default navbar-static-side" role="navigation"> |
| | | <div class="nav-close"><i class="fa fa-times-circle"></i> |
| | | </div> |
| | | <div class="sidebar-collapse"> |
| | | <ul class="nav" id="side-menu"> |
| | | <li class="nav-header"> |
| | | <div class="dropdown profile-element"> |
| | | <span><img alt="image" class="img-circle" |
| | | @if(isEmpty(avatar)){ |
| | | src="${ctxPath}/static/img/NoPIC.png" |
| | | @}else{ |
| | | src="${avatar}" |
| | | @} |
| | | width="64px" height="64px"/></span> |
| | | <a data-toggle="dropdown" class="dropdown-toggle" href="#"> |
| | | <span class="clear"> |
| | | <span class="block m-t-xs"><strong class="font-bold" id="userNameTab">${userName}</strong></span> |
| | | <span class="text-muted text-xs block">${shiro.getUser().roleNames[0]}<b class="caret"></b></span> |
| | | </span> |
| | | </a> |
| | | <ul class="dropdown-menu m-t-xs"> |
| | | <li><a class="J_menuItem" href="${ctxPath}/mgr/user_info">个人资料</a></li> |
| | | <li><a class="J_menuItem" href="${ctxPath}/mgr/user_chpwd">修改密码</a></li> |
| | | <li class="divider"></li> |
| | | <li><a href="${ctxPath}/logout">安全退出</a> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | <div class="logo-element">MS |
| | | </div> |
| | | </li> |
| | | |
| | | @for(title in titles){ |
| | | @if(tool.isEmpty(title.children)){ |
| | | <li> |
| | | <a class="J_menuItem" href="${ctxPath}${title.url}" name="tabMenuItem"> |
| | | <i class="fa ${title.icon}"></i> |
| | | <span class="nav-label">${title.name}</span> |
| | | </a> |
| | | </li> |
| | | @}else{ |
| | | <li> |
| | | <a href="#"> |
| | | <i class="fa ${title.icon}"></i> |
| | | <span class="nav-label">${title.name}</span> |
| | | <span class="fa arrow"></span> |
| | | </a> |
| | | <ul class="nav nav-second-level"> |
| | | @for(subTitle in title.children){ |
| | | @if(tool.isEmpty(subTitle.children)){ |
| | | <li> |
| | | <a class="J_menuItem" href="${ctxPath}${subTitle.url}" name="tabMenuItem">${subTitle.name}</a> |
| | | </li> |
| | | @}else{ |
| | | <li> |
| | | <a href="#">${subTitle.name} <span class="fa arrow"></span></a> |
| | | <ul class="nav nav-third-level"> |
| | | @for(thirdTitle in subTitle.children){ |
| | | <li> |
| | | <a class="J_menuItem" href="${ctxPath}${thirdTitle.url}" name="tabMenuItem">${thirdTitle.name}</a> |
| | | </li> |
| | | @} |
| | | </ul> |
| | | </li> |
| | | @} |
| | | @} |
| | | </ul> |
| | | </li> |
| | | @} |
| | | @} |
| | | |
| | | </ul> |
| | | </div> |
| | | </nav> |
New file |
| | |
| | | <div id="right-sidebar"> |
| | | <div class="sidebar-container"> |
| | | |
| | | <ul class="nav nav-tabs navs-3"> |
| | | <li class="active"><a data-toggle="tab" href="#tab-1"> <i |
| | | class="fa fa-gear"></i> 主题 |
| | | </a></li> |
| | | </ul> |
| | | |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="sidebar-title"> |
| | | <h3> |
| | | <i class="fa fa-comments-o"></i> 主题设置 |
| | | </h3> |
| | | <small><i class="fa fa-tim"></i> |
| | | 你可以从这里选择和预览主题的布局和样式,这些设置会被保存在本地,下次打开的时候会直接应用这些设置。</small> |
| | | </div> |
| | | <div class="skin-setttings"> |
| | | <div class="title">主题设置</div> |
| | | <div class="setings-item"> |
| | | <span>收起左侧菜单</span> |
| | | <div class="switch"> |
| | | <div class="onoffswitch"> |
| | | <input type="checkbox" name="collapsemenu" |
| | | class="onoffswitch-checkbox" id="collapsemenu"> <label |
| | | class="onoffswitch-label" for="collapsemenu"> <span |
| | | class="onoffswitch-inner"></span> <span |
| | | class="onoffswitch-switch"></span> |
| | | </label> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="setings-item"> |
| | | <span>固定顶部</span> |
| | | |
| | | <div class="switch"> |
| | | <div class="onoffswitch"> |
| | | <input type="checkbox" name="fixednavbar" |
| | | class="onoffswitch-checkbox" id="fixednavbar"> <label |
| | | class="onoffswitch-label" for="fixednavbar"> <span |
| | | class="onoffswitch-inner"></span> <span |
| | | class="onoffswitch-switch"></span> |
| | | </label> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="setings-item"> |
| | | <span> 固定宽度 </span> |
| | | |
| | | <div class="switch"> |
| | | <div class="onoffswitch"> |
| | | <input type="checkbox" name="boxedlayout" |
| | | class="onoffswitch-checkbox" id="boxedlayout"> <label |
| | | class="onoffswitch-label" for="boxedlayout"> <span |
| | | class="onoffswitch-inner"></span> <span |
| | | class="onoffswitch-switch"></span> |
| | | </label> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="title">皮肤选择</div> |
| | | <div class="setings-item default-skin nb"> |
| | | <span class="skin-name "> <a href="#" class="s-skin-0"> |
| | | 默认皮肤 </a> |
| | | </span> |
| | | </div> |
| | | <div class="setings-item blue-skin nb"> |
| | | <span class="skin-name "> <a href="#" class="s-skin-1"> |
| | | 蓝色主题 </a> |
| | | </span> |
| | | </div> |
| | | <div class="setings-item yellow-skin nb"> |
| | | <span class="skin-name "> <a href="#" class="s-skin-3"> |
| | | 黄色/紫色主题 </a> |
| | | </span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
New file |
| | |
| | | @/* |
| | | 名称查询条件标签的参数说明: |
| | | |
| | | name : 查询条件的名称 |
| | | id : 查询内容的input框id |
| | | @*/ |
| | | <div class="input-group"> |
| | | <div class="input-group-btn"> |
| | | <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" |
| | | type="button">${name} |
| | | </button> |
| | | </div> |
| | | <input type="text" class="form-control" id="${id}" placeholder="${placeholder!}" /> |
| | | </div> |
New file |
| | |
| | | @/* |
| | | 选择查询条件标签的参数说明: |
| | | |
| | | name : 查询条件的名称 |
| | | id : 查询内容的input框id |
| | | @*/ |
| | | <div class="input-group"> |
| | | <div class="input-group-btn"> |
| | | <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button"> |
| | | ${name} |
| | | </button> |
| | | </div> |
| | | <select class="form-control" id="${id}"> |
| | | ${tagBody!} |
| | | </select> |
| | | </div> |
New file |
| | |
| | | @/* |
| | | 时间查询条件标签的参数说明: |
| | | |
| | | name : 查询条件的名称 |
| | | id : 查询内容的input框id |
| | | isTime : 日期是否带有小时和分钟(true/false) |
| | | @*/ |
| | | <div class="input-group"> |
| | | <div class="input-group-btn"> |
| | | <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" |
| | | type="button">${name} |
| | | </button> |
| | | </div> |
| | | <input type="text" class="form-control layer-date" id="${id}"/> |
| | | </div> |
New file |
| | |
| | | @/* |
| | | 头像参数的说明: |
| | | name : 名称 |
| | | id : 头像的id |
| | | @*/ |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label head-scu-label">${name}</label> |
| | | <div class="col-sm-4"> |
| | | <div id="${id}PreId"> |
| | | <div><img width="100px" height="100px" |
| | | @if(isEmpty(avatarImg)){ |
| | | src="${ctxPath}/static/img/NoPIC.png"></div> |
| | | @}else{ |
| | | src="${avatarImg}"></div> |
| | | @} |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <div class="head-scu-btn upload-btn" id="${id}BtnId"> |
| | | <i class="fa fa-upload"></i> 上传 |
| | | </div> |
| | | </div> |
| | | <input type="hidden" id="${id}" value="${avatarImg!}"/> |
| | | </div> |
| | | @if(isNotEmpty(underline) && underline == 'true'){ |
| | | <div class="hr-line-dashed"></div> |
| | | @} |
| | | |
| | | |
New file |
| | |
| | | @/* |
| | | 头像参数的说明: |
| | | name : 名称 |
| | | id : 头像的id |
| | | @*/ |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label head-scu-label">${name}</label> |
| | | <div class="col-sm-9"> |
| | | <div id="${id}PreId"> |
| | | <div><img width="100px" height="100px" |
| | | @if(isEmpty(avatarImg)){ |
| | | src="${ctxPath}/static/img/NoPIC.png"></div> |
| | | @}else{ |
| | | src="${avatarImg}"></div> |
| | | @} |
| | | </div> |
| | | </div> |
| | | @if(isNotEmpty(underline) && underline == 'true'){ |
| | | <div class="hr-line-dashed"></div> |
| | | @} |
| | | |
| | | |
New file |
| | |
| | | @/* |
| | | 按钮标签中各个参数的说明: |
| | | |
| | | btnType : 按钮的类型决定了颜色(default-灰色,primary-绿色,success-蓝色,info-淡蓝色,warning-黄色,danger-红色,white-白色) |
| | | space : 按钮左侧是否有间隔(true/false) |
| | | clickFun : 点击按钮所执行的方法 |
| | | icon : 按钮上的图标的样式 |
| | | name : 按钮名称 |
| | | @*/ |
| | | |
| | | @var spaceCss = ""; |
| | | @var btnType = ""; |
| | | @if(isEmpty(space) || space == "false"){ |
| | | @ spaceCss = ""; |
| | | @}else{ |
| | | @ spaceCss = "button-margin"; |
| | | @} |
| | | @if(isEmpty(btnCss)){ |
| | | @ btnType = "primary"; |
| | | @}else{ |
| | | @ btnType = btnCss; |
| | | @} |
| | | <button type="button" class="btn btn-${btnType} ${spaceCss}" onclick="${clickFun!}" id="${id!}" |
| | | @if(isNotEmpty(style)){ |
| | | style="${style}" |
| | | @} |
| | | > |
| | | <i class="fa ${icon}"></i> ${name} |
| | | </button> |
| | | |
New file |
| | |
| | | @/* |
| | | 表单中input框标签中各个参数的说明: |
| | | |
| | | hidden : input hidden框的id |
| | | id : input框id |
| | | name : input框名称 |
| | | readonly : readonly属性 |
| | | clickFun : 点击事件的方法名 |
| | | style : 附加的css属性 |
| | | @*/ |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">${name}:</label> |
| | | <div class="col-sm-9"> |
| | | <input class="form-control" id="${id}" name="${id}" |
| | | @if(isNotEmpty(value)){ |
| | | value="${tool.dateType(value)}" |
| | | @} |
| | | @if(isNotEmpty(type)){ |
| | | type="${type}" |
| | | @}else{ |
| | | type="text" |
| | | @} |
| | | @if(isNotEmpty(readonly)){ |
| | | readonly="${readonly}" |
| | | @} |
| | | @if(isNotEmpty(clickFun)){ |
| | | onclick="${clickFun}" |
| | | @} |
| | | @if(isNotEmpty(style)){ |
| | | style="${style}" |
| | | @} |
| | | @if(isNotEmpty(disabled)){ |
| | | disabled="${disabled}" |
| | | @} |
| | | @if(isNotEmpty(placeholder)){ |
| | | placeholder="${placeholder}" |
| | | @} |
| | | > |
| | | @if(isNotEmpty(hidden)){ |
| | | <input class="form-control" type="hidden" id="${hidden}" value="${hiddenValue!}"> |
| | | @} |
| | | |
| | | @if(isNotEmpty(selectFlag)){ |
| | | <div id="${selectId}" style="display: none; position: absolute; z-index: 200;"> |
| | | <ul id="${selectTreeId}" class="ztree tree-box" style="${selectStyle!}"></ul> |
| | | </div> |
| | | @} |
| | | </div> |
| | | </div> |
| | | @if(isNotEmpty(underline) && underline == 'true'){ |
| | | <div class="hr-line-dashed"></div> |
| | | @} |
| | | |
| | | |
New file |
| | |
| | | @/* |
| | | 表单中input框标签中各个参数的说明: |
| | | |
| | | hidden : input hidden框的id |
| | | id : input框id |
| | | name : input框名称 |
| | | readonly : readonly属性 |
| | | clickFun : 点击事件的方法名 |
| | | style : 附加的css属性 |
| | | @*/ |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label"><span style="color:red">*</span> ${name}:</label> |
| | | <div class="col-sm-9"> |
| | | <input class="form-control" id="${id}" name="${id}" |
| | | @if(isNotEmpty(value)){ |
| | | value="${tool.dateType(value)}" |
| | | @} |
| | | @if(isNotEmpty(type)){ |
| | | type="${type}" |
| | | @}else{ |
| | | type="text" |
| | | @} |
| | | @if(isNotEmpty(readonly)){ |
| | | readonly="${readonly}" |
| | | @} |
| | | @if(isNotEmpty(clickFun)){ |
| | | onclick="${clickFun}" |
| | | @} |
| | | @if(isNotEmpty(style)){ |
| | | style="${style}" |
| | | @} |
| | | @if(isNotEmpty(disabled)){ |
| | | disabled="${disabled}" |
| | | @} |
| | | > |
| | | @if(isNotEmpty(hidden)){ |
| | | <input class="form-control" type="hidden" id="${hidden}" value="${hiddenValue!}"> |
| | | @} |
| | | |
| | | @if(isNotEmpty(selectFlag)){ |
| | | <div id="${selectId}" style="display: none; position: absolute; z-index: 200;"> |
| | | <ul id="${selectTreeId}" class="ztree tree-box" style="${selectStyle!}"></ul> |
| | | </div> |
| | | @} |
| | | </div> |
| | | </div> |
| | | @if(isNotEmpty(underline) && underline == 'true'){ |
| | | <div class="hr-line-dashed"></div> |
| | | @} |
| | | |
| | | |
New file |
| | |
| | | @/* |
| | | 表单中input框标签中各个参数的说明: |
| | | |
| | | hidden : input hidden框的id |
| | | id : input框id |
| | | name : input框名称 |
| | | readonly : readonly属性 |
| | | clickFun : 点击事件的方法名 |
| | | style : 附加的css属性 |
| | | @*/ |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">${name}:</label> |
| | | <div class="col-sm-9"> |
| | | <label class="control-label" id="${id}" name="${id}" |
| | | @if(isNotEmpty(style)){ |
| | | style="${style};text-align: left;" |
| | | @}else{ |
| | | style="text-align: left;" |
| | | @} |
| | | > |
| | | @if(isNotEmpty(value)){ |
| | | ${tool.dateType(value)} |
| | | @} |
| | | </label> |
| | | </div> |
| | | </div> |
| | | @if(isNotEmpty(underline) && underline == 'true'){ |
| | | <div class="hr-line-dashed"></div> |
| | | @} |
| | | |
| | | |
New file |
| | |
| | | @/* |
| | | select标签中各个参数的说明: |
| | | name : select的名称 |
| | | id : select的id |
| | | underline : 是否带分割线 |
| | | @*/ |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">${name}</label> |
| | | <div class="col-sm-9"> |
| | | <select class="form-control" id="${id}" name="${id}" |
| | | @if(isNotEmpty(onchange)){ |
| | | onchange="${onchange}" |
| | | @} |
| | | > |
| | | ${tagBody!} |
| | | </select> |
| | | @if(isNotEmpty(hidden)){ |
| | | <input class="form-control" type="hidden" id="${hidden}" value="${hiddenValue!}"> |
| | | @} |
| | | </div> |
| | | </div> |
| | | @if(isNotEmpty(underline) && underline == 'true'){ |
| | | <div class="hr-line-dashed"></div> |
| | | @} |
| | | |
| | | |
New file |
| | |
| | | @/* |
| | | 表格标签的参数说明: |
| | | |
| | | id : table表格的id |
| | | @*/ |
| | | <table id="${id}" data-mobile-responsive="true" data-click-to-select="true"> |
| | | <thead> |
| | | <tr> |
| | | <th data-field="selectItem" data-checkbox="true"></th> |
| | | </tr> |
| | | </thead> |
| | | </table> |
New file |
| | |
| | | 1 dictSelector(字典选择器) |
| | | 此标签是为了方便在前台form表单中使用系统中维护的字典而开发的,具体说明如下: |
| | | 1.1 标签样例 |
| | | <#dictSelector id="sex" name ="sex" code="sys_sex" readonly="readonly" label="性别" underline="true" value="${user.sex}" /> |
| | | 1.2 属性说明 |
| | | id: (非必须) 控件的id |
| | | name: (非必须) 控件的name |
| | | code:(必须) 字典类型编码,根据code的值去后台查询该类型的字典。 |
| | | type:(非必须) 控件类型,可选项为[select,radio,checkbox],标签会根据填写的类型,生成不同的控件。 |
| | | searchnum:(非必须)下拉框达到多少个,开启搜索框,默认10个,type为select起效。 |
| | | label:(非必须) 字典属性名称 |
| | | width:(非必须) 控件的宽度单位为px,type为select起效。 |
| | | value: (非必须) 控件默认值,多选时值要用,分隔。 |
| | | placeholder:(非必须) 控件提示信息,type为select起效。 |
| | | multiple:(非必须) 是否开启多选,可选值[true,false],默认为false,type为select起效。 |
| | | underline:(非必须) 是否显示分割线,可选值[true,false],默认为false。 |
| | | onchange:(非必须) onchange事件方法名称,会传入更改后的值作为参数,例:onchange="myOnChange" function myOnChange(newVal){}。 |
| | | readonly:(非必须)只读控件,可选值[true,false],默认false |
| | | disabled:(非必须) 禁用控件,可选值[true,false],默认false |
| | | |
| | | |
| | | |
New file |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-2 control-label">上传文件</label> |
| | | <div class="col-sm-6"> |
| | | <input type="file" class="form-control" id="upFile" name="upFile"> |
| | | <input type="hidden" id="${id}" name="${id}"/> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <button class="btn btn-outline btn-success" type="button" onclick="UploadFileFn()"><i class="fa fa-upload"></i>上传文件</button> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-12 progress progress-striped" style="margin-top: 10px;"> |
| | | <div id="progressBarFile" style="width: 0%" aria-valuemax="100" aria-valuemin="0" aria-valuenow="0" role="progressbar" class="progress-bar progress-bar-info"></div> |
| | | </div> |
New file |
| | |
| | | @/* |
| | | 上传文件参数的说明: |
| | | id : 文件的id |
| | | @*/ |
| | | <div class="form-group"> |
| | | <div class="col-sm-4"> |
| | | <div id="${id}PreId"> |
| | | <div><img width="100px" height="100px" |
| | | @if(isEmpty(fileImg)){ |
| | | src="${ctxPath}/static/img/NoPIC.png"> |
| | | @}else{ |
| | | src="${fileImg}"> |
| | | @} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <div class="head-scu-btn upload-btn" id="${id}BtnId"> |
| | | <i class="fa fa-upload"></i> 上传 |
| | | </div> |
| | | </div> |
| | | <input type="hidden" id="${id}" value="${fileImg!}"/> |
| | | </div> |
| | | @if(isNotEmpty(underline) && underline == 'true'){ |
| | | <div class="hr-line-dashed"></div> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="container-fluid" style="padding: 0 !important;"> |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="row" style="border-style: none none solid; border-color: #e7eaec; border-width: 1px 0px;"> |
| | | <ul class="breadcrumb" style="height: 45px; line-height: 45px; padding-left: 20px;"> |
| | | <li><a href="#" class="statistics">运营数据总览</a></li> |
| | | <li><a href="#" class="map">车辆地图总览</a></li> |
| | | <li><a href="#" class="order">订单热点图</a></li> |
| | | </ul> |
| | | </div> |
| | | |
| | | <div class="row content" id="statisticsDiv"> |
| | | <div class="form-group" style="height: 80px; padding-top: 20px; background-color: #FFFFFF;margin-bottom: 8px;"> |
| | | <div class="col-sm-3"> |
| | | <div class="input-group"> |
| | | <div class="input-group-btn"> |
| | | <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" |
| | | type="button">选择查看范围 |
| | | </button> |
| | | </div> |
| | | <div style="padding-left: 0px;"> |
| | | <select class="form-control" id="branchOffice"> |
| | | <option value="">----请选择----</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <#button name="搜索" icon="fa-search" clickFun="getData()"/> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <div class="pull-right" style="margin-top: -10px;"> |
| | | <input type="text" class="layui-input form-control" id="addDate"> |
| | | </div> |
| | | <h5>今日运行情况</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="newPassengerInfo">0</h1> |
| | | <small>新增用户</small> |
| | | </div> |
| | | <div class="ibox-content" onclick="Home.onlineDriver()"> |
| | | <h1 class="no-margins" id="newNetcardriver">0</h1> |
| | | <small>在线司机</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail1">0</h1> |
| | | <small>专车订单数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail2">0</h1> |
| | | <small>出租车订单</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail3">0</h1> |
| | | <small>跨城出行订单</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail4">0</h1> |
| | | <small>同城小件物流订单</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail5">0</h1> |
| | | <small>跨城小件物流订单</small> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <span class="label label-info pull-right">全部</span> |
| | | <h5>运营总数据</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="passengerInfoSum">0</h1> |
| | | <small>总用户</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="netcarDriverSum">0</h1> |
| | | <small>总司机</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="netCarSum">0</h1> |
| | | <small>总车辆</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetailSum">0</h1> |
| | | <small>总订单</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="paiceSum">0</h1> |
| | | <small>交易总金额</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="paySum">0</h1> |
| | | <small>总收益</small> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <div class="pull-right" style="margin-top: -10px;"> |
| | | <input type="text" class="layui-input form-control" id="rangeDate"> |
| | | </div> |
| | | <h5>运营数据增长查询</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="passengerInfoSum1">0</h1> |
| | | <small>用户增长数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="netcarDriverSum1">0</h1> |
| | | <small>新增司机</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail11">0</h1> |
| | | <small>专车订单数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail21">0</h1> |
| | | <small>出租车订单数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail31">0</h1> |
| | | <small>跨城出行订单数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail41">0</h1> |
| | | <small>同城小件物流订单数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="orderDetail51">0</h1> |
| | | <small>跨城小件物流订单数</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="paiceSum1">0</h1> |
| | | <small>交易总金额</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins" id="paySum1">0</h1> |
| | | <small>总收益</small> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <span class="label label-danger pull-right">最近30天</span> |
| | | <h5>运营总趋势</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins"> |
| | | <span class="dynamicsparkline" id="orderDetailSum1">Loading..</span> |
| | | </h1> |
| | | <small>订单数趋势图</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins"> |
| | | <span class="dynamicsparkline" id="passengerInfoSum2">Loading..</span> |
| | | </h1> |
| | | <small>用户注册趋势图</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins"> |
| | | <span class="dynamicsparkline" id="orderDetail12">Loading..</span> |
| | | </h1> |
| | | <small>专车订单趋势图</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins"> |
| | | <span class="dynamicsparkline" id="orderDetail22">Loading..</span> |
| | | </h1> |
| | | <small>出租车订单趋势图</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins"> |
| | | <span class="dynamicsparkline" id="orderDetail32">Loading..</span> |
| | | </h1> |
| | | <small>跨城出行订单趋势图</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins"> |
| | | <span class="dynamicsparkline" id="orderDetail42">Loading..</span> |
| | | </h1> |
| | | <small>同城小件物流订单趋势图</small> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <h1 class="no-margins"> |
| | | <span class="dynamicsparkline" id="orderDetail52">Loading..</span> |
| | | </h1> |
| | | <small>跨城小件物流订单趋势图</small> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row content" id="mapDiv"> |
| | | <div class="form-group" style="height: 80px; padding-top: 20px; background-color: #FFFFFF;margin-bottom: 8px;"> |
| | | <div class="col-sm-3"> |
| | | <div class="input-group"> |
| | | <div class="input-group-btn"> |
| | | <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" |
| | | type="button">选择查看范围 |
| | | </button> |
| | | </div> |
| | | <div style="padding-left: 0px;"> |
| | | <select class="form-control" id="branchOffice1"> |
| | | <option value="">----请选择----</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#SelectCon id="driverState" name="状态" > |
| | | <option value="">全部</option> |
| | | <option value="1">离线</option> |
| | | <option value="2">听单</option> |
| | | <option value="3">载客</option> |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <#button name="搜索" icon="fa-search" clickFun="getData1()"/> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <div class="col-sm-2" style="padding: 0px; height: 47em; overflow: auto"> |
| | | <div class="form-group" style="padding: 0px 5px;"> |
| | | <div class="col-sm-12"> |
| | | <ul class="list-group" id="netcardriver"> |
| | | |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-8" style="padding: 0px;"> |
| | | <div class="form-group" style="padding: 0px 5px;"> |
| | | <div id="container" style="height: 47em;"></div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-2" style="padding: 0px; height: 47em; overflow: auto"> |
| | | <div class="form-group"> |
| | | <div class="col-sm-12" style="padding: 0px 5px;"> |
| | | <ul class="list-group" id="order"> |
| | | |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row content" id="orderDiv"> |
| | | <div class="form-group" style="height: 80px; padding-top: 20px; background-color: #FFFFFF;margin-bottom: 8px;"> |
| | | <div class="col-sm-12"> |
| | | <div id="container_" style="height: 47em;"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=c59c0ec8058a8305009eb315584e07d1"></script> |
| | | <script src="https://webapi.amap.com/maps?v=1.4.15&key=c59c0ec8058a8305009eb315584e07d1&plugin=AMap.MouseTool"></script> |
| | | <script type="text/javascript" src='https://a.amap.com/jsapi_demos/static/citys.js'></script> |
| | | <script src="${ctxPath}/static/home.js"></script> |
| | | <script src="${ctxPath}/static/js/jquery.sparkline 2.1.2.js"></script> |
| | | @} |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| | | <meta name="renderer" content="webkit"> |
| | | <title>IGO出行 - 主页</title> |
| | | <link rel="shortcut icon" href="${ctxPath}/static/favicon.ico"> |
| | | <link href="${ctxPath}/static/css/bootstrap.min.css?v=3.3.6" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/font-awesome.min.css?v=4.4.0" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/style.css?v=4.1.0" rel="stylesheet"> |
| | | </head> |
| | | |
| | | <body class="fixed-sidebar full-height-layout gray-bg" style="overflow:hidden"> |
| | | <div id="wrapper"> |
| | | |
| | | <!--左侧导航开始--> |
| | | @include("/common/_tab.html"){} |
| | | <!--左侧导航结束--> |
| | | |
| | | <!--右侧部分开始--> |
| | | @include("/common/_right.html"){} |
| | | <!--右侧部分结束--> |
| | | |
| | | <!--右侧边栏开始--> |
| | | @include("/common/_theme.html"){} |
| | | <!--右侧边栏结束--> |
| | | |
| | | </div> |
| | | |
| | | <!-- 全局js --> |
| | | <script src="${ctxPath}/static/js/jquery.min.js?v=2.1.4"></script> |
| | | <script src="${ctxPath}/static/js/bootstrap.min.js?v=3.3.6"></script> |
| | | <script src="${ctxPath}/static/js/plugins/metisMenu/jquery.metisMenu.js"></script> |
| | | <script src="${ctxPath}/static/js/plugins/slimscroll/jquery.slimscroll.min.js"></script> |
| | | <script src="${ctxPath}/static/js/plugins/layer/layer.js"></script> |
| | | |
| | | <!-- 自定义js --> |
| | | <script src="${ctxPath}/static/js/hplus.js?v=4.1.0"></script> |
| | | <script type="text/javascript" src="${ctxPath}/static/js/contabs.js"></script> |
| | | |
| | | <!-- 第三方插件 --> |
| | | <script src="${ctxPath}/static/js/plugins/pace/pace.min.js"></script> |
| | | |
| | | </body> |
| | | |
| | | </html> |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| | | |
| | | <title>IGO出行 - 登录</title> |
| | | |
| | | <link rel="shortcut icon" href="${ctxPath}/static/favicon.ico"> |
| | | <link href="${ctxPath}/static/css/bootstrap.min.css?v=3.3.6" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/font-awesome.css?v=4.4.0" rel="stylesheet"> |
| | | <link href="${ctxPath}/static/css/style.css?v=4.1.0" rel="stylesheet"> |
| | | <script>if (window.top !== window.self) { |
| | | window.top.location = window.location; |
| | | }</script> |
| | | <script src="${ctxPath}/static/js/jquery.min.js?v=2.1.4"></script> |
| | | <script src="${ctxPath}/static/js/bootstrap.min.js?v=3.3.6"></script> |
| | | <style> |
| | | .item{ |
| | | display: flex; |
| | | align-items: center; |
| | | /*border: 1px solid red !important;*/ |
| | | margin: 24px 0; |
| | | position: relative; |
| | | } |
| | | .item>img{ |
| | | position: absolute; |
| | | left: 8px; |
| | | /*bottom: 50%;*/ |
| | | } |
| | | .itemInput{ |
| | | background:none; |
| | | outline:none; |
| | | border:0px; |
| | | border-bottom:1px solid grey ; |
| | | padding-left: 30px; |
| | | height: 34px; |
| | | width: 100%; |
| | | } |
| | | .itemInput[type="text"]{ |
| | | |
| | | background: #fff; |
| | | outline: none; |
| | | } |
| | | |
| | | .itemInput:-webkit-autofill { |
| | | -webkit-box-shadow: 0 0 0 1000px white inset; // 背景设为白色 |
| | | -webkit-text-fill-color: #fff; // 字体颜色 |
| | | } |
| | | </style> |
| | | </head> |
| | | |
| | | <body class="gray-bg" style="background:url(${ctxPath}/static/img/index1.png) no-repeat; background-size:cover;"> |
| | | |
| | | <div style="display: flex;align-items: center;justify-content: center;height: 100%"> |
| | | |
| | | |
| | | <img src="${ctxPath}/static/img/index4.png" style="width: 300px;height: 400px;z-index: 1000"> |
| | | <div style="position: relative;left: -20px; max-width: 300px;min-height: 300px;background: white;border-radius: 8px;box-sizing: border-box;padding: 0 30px 0 50px;display: flex;align-items: center;justify-content: center;"> |
| | | <div style="max-height: 100%"> |
| | | <h3 style="color: black;"><img src="${ctxPath}/static/img/logo.png" width="30px" height="30px"/> IGO出行管理后台</h3> |
| | | <br/> |
| | | <h4 style="color: red;">${tips!}</h4> |
| | | <form class="m-t" role="form" action="${ctxPath}/login" method="post"> |
| | | <div class="item"> |
| | | <img src="${ctxPath}/static/img/account.png" /> |
| | | <input class="itemInput" type="text" name="username" placeholder="请输入您的账号" required="" value=""> |
| | | </div> |
| | | <div class="item"> |
| | | <img src="${ctxPath}/static/img/password.png" /> |
| | | <input class="itemInput" type="password" name="password" placeholder="请输入您的密码" required="" value=""> |
| | | </div> |
| | | @if(kaptcha.getKaptchaOnOff() == true){ |
| | | <div class="form-group" style="float: left;"> |
| | | <div class="col-sm-8" style="padding-left: 0px; padding-right: 0px;"> |
| | | <input class="form-control" type="text" name="kaptcha" placeholder="验证码" required=""> |
| | | </div> |
| | | <div class="col-sm-4" style="padding-left: 0px; padding-right: 0px;"> |
| | | <img src="${ctxPath}/kaptcha" id="kaptcha" width="100%" height="100%"/> |
| | | </div> |
| | | </div> |
| | | @} |
| | | <div class="form-group" style="float: left;"> |
| | | <div class="checkbox" style="text-align: left"> |
| | | <!--<label> |
| | | <input type="checkbox" name="remember" style="margin-top: 2px;">记住我 |
| | | </label>--> |
| | | </div> |
| | | </div> |
| | | <button type="submit" class="btn full-width m-b" style="background-color: #82C04B;color: #FFF;">登 录</button> |
| | | </p> |
| | | </form> |
| | | </div> |
| | | </div></div> |
| | | |
| | | <script> |
| | | $(function () { |
| | | $("#kaptcha").on('click', function () { |
| | | $("#kaptcha").attr('src', '${ctxPath}/kaptcha?' + Math.floor(Math.random() * 100)).fadeIn(); |
| | | }); |
| | | }); |
| | | |
| | | window.addEventListener( |
| | | "mousewheel", |
| | | function(event) { |
| | | if (event.ctrlKey === true || event.metaKey) { |
| | | event.preventDefault(); |
| | | } |
| | | }, |
| | | { passive: false } |
| | | ); |
| | | |
| | | //firefox |
| | | window.addEventListener( |
| | | "DOMMouseScroll", |
| | | function(event) { |
| | | if (event.ctrlKey === true || event.metaKey) { |
| | | event.preventDefault(); |
| | | } |
| | | }, |
| | | { passive: false } |
| | | ); |
| | | |
| | | |
| | | function fontSize(designWidth, maxWidth, minWidth) { |
| | | var doc = document, |
| | | win = window, |
| | | docEl = doc.documentElement, |
| | | remStyle = document.createElement("style"), |
| | | tid; |
| | | |
| | | function refreshRem() { |
| | | var width = docEl.getBoundingClientRect().width; |
| | | maxWidth = maxWidth || 540; |
| | | width > maxWidth && (width = maxWidth); |
| | | var rem = (width * 100) / designWidth; |
| | | remStyle.innerHTML = "html{font-size:" + rem + "px;}"; |
| | | } |
| | | |
| | | if (docEl.firstElementChild) { |
| | | docEl.firstElementChild.appendChild(remStyle); |
| | | } else { |
| | | var wrap = doc.createElement("div"); |
| | | wrap.appendChild(remStyle); |
| | | doc.write(wrap.innerHTML); |
| | | wrap = null; |
| | | } |
| | | // 要等 wiewport 设置好后才能执行 refreshRem,不然 refreshRem 会执行2次; |
| | | refreshRem(); |
| | | |
| | | win.addEventListener( |
| | | "resize", |
| | | function(res) { |
| | | // console.log(res); |
| | | if (minWidth < res.currentTarget.innerWidth) { |
| | | clearTimeout(tid); //防止执行两次 |
| | | return; |
| | | } |
| | | |
| | | tid = setTimeout(refreshRem, 10); |
| | | }, |
| | | false |
| | | ); |
| | | |
| | | win.addEventListener( |
| | | "pageshow", |
| | | function(e) { |
| | | if (e.persisted) { |
| | | // 浏览器后退的时候重新计算 |
| | | clearTimeout(tid); |
| | | tid = setTimeout(refreshRem, 300); |
| | | } |
| | | }, |
| | | false |
| | | ); |
| | | |
| | | if (doc.readyState === "complete") { |
| | | doc.body.style.fontSize = "16px"; |
| | | } else { |
| | | doc.addEventListener( |
| | | "DOMContentLoaded", |
| | | function(e) { |
| | | doc.body.style.fontSize = "16px"; |
| | | }, |
| | | false |
| | | ); |
| | | } |
| | | } |
| | | fontSize(768, 1920); |
| | | </script> |
| | | </body> |
| | | |
| | | </html> |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal" id="content"> |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <h4 class="area-div">车辆信息</h4> |
| | | </div> |
| | | <div class="col-sm-6"> |
| | | <#label id="carLicensePlate" name="车牌号" value="${netcar.carLicensePlate}"/> |
| | | <#label id="carModel" name="车辆型号" value="${carModel}" /> |
| | | </div> |
| | | <div class="col-sm-6"> |
| | | <#label id="carBrand" name="车辆品牌" value="${carBrand}" /> |
| | | <#label id="carColor" name="车辆颜色" value="${netcar.carColor}" /> |
| | | </div> |
| | | </div> |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <h4 class="area-div">司机信息</h4> |
| | | </div> |
| | | <div class="col-sm-6"> |
| | | <#label id="name" name="司机姓名" value="${netcarDriver.name}"/> |
| | | <#label id="idCard" name="身份证号" value="${netcarDriver.idCard}"/> |
| | | <#label id="driverLicenseOn" name="驾驶证有效期限起" value="${driverLicenseOn}"/> |
| | | |
| | | </div> |
| | | <div class="col-sm-6"> |
| | | <#label id="phone" name="司机电话" value="${netcarDriver.phone}"/> |
| | | <#label id="getDriverLicenseDate" name="领取驾驶证日期" value="${getDriverLicenseDate}"/> |
| | | <#label id="driverLicenseOff" name="驾驶证有效期限止" value="${driverLicenseOff}"/> |
| | | </div> |
| | | <div class="col-sm-12"> |
| | | <div class="col-sm-6"> |
| | | <#avatarShow id="driveCardImgUrl" name="驾驶证照片" avatarImg="${netcarDriver.driveCardImgUrl}"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <h4 class="area-div">订单信息</h4> |
| | | @if(isNotEmpty(order)){ |
| | | <div class="col-sm-6"> |
| | | <#label id="passengers" name="乘车人" value="${order.passengers}"/> |
| | | <#label id="startAddress" name="出发地" value="${order.startAddress}"/> |
| | | </div> |
| | | <div class="col-sm-6"> |
| | | <#label id="passengersPhone" name="乘车人电话" value="${order.passengersPhone}"/> |
| | | <#label id="endAddress" name="目的地" value="${order.endAddress}"/> |
| | | </div> |
| | | @} |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/netCarInfo.js"></script> |
| | | @} |
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/quartz/job.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/quartz/job_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/quartz/job_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/appOpenInfo/appOpenInfo.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/appOpenInfo/appOpenInfo_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/appOpenInfo/appOpenInfo_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/appWithdrawalRule/appWithdrawalRule.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/appWithdrawalRule/appWithdrawalRule_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/appWithdrawalRule/appWithdrawalRule_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/code/code.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/dept/dept.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/dept/dept_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/dept/dept_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/dict/dict.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/dict/dict_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/dict/dict_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/driverActivity/driverActivity.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/driverActivity/driverActivity_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/driverActivity/driverActivity_detail.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/driverActivity/driverActivity_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/driverActivity/driverActivity_immediately.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/driverActivity/receiveRecord.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/driverActivityEachReturn/driverActivityEachReturn.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/driverActivityEachReturn/driverActivityEachReturn_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/driverActivityEachReturn/driverActivityEachReturn_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/driverActivityHistory/driverActivityHistory.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/log/log.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/log/login_log.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/menu/menu.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/menu/menu_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/menu/menu_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/notice/notice.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/notice/notice_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/notice/notice_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/pubTransactionDetails/userPubTransactionDetails.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/report/couponStatistics.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/report/couponStatisticsInfo.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/report/driverIncomeData.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/report/operationalData.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/role/role.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/role/role_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/role/role_assign.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/role/role_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/sysCouponActivity/sysCouponActivity.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/sysCouponActivity/sysCouponActivity_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/sysCouponActivity/sysCouponActivity_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/sysCouponActivity/sysCouponActivity_immediately.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/sysCouponActivity/sysCouponRecord.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/sysCouponActivity/tUser.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/sysCouponRecord/sysCouponRecord.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/sysCouponRecord/sysCouponRecord_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/sysCouponRecord/sysCouponRecord_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/sysRedPacketRecord/sysRedPacketRecord.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/sysRedPacketRecord/sysRedPacketRecord_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/sysRedPacketRecord/sysRedPacketRecord_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAdvertisement/driver.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAdvertisement/tAdvertisement.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAdvertisement/tAdvertisement_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAdvertisement/tAdvertisement_defined.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAdvertisement/tAdvertisement_defined_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAdvertisement/tAdvertisement_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAdvertisement/tUser.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAgreement/commonProblem.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAgreement/corssHtml.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAgreement/driverRegister.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAgreement/instructions.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAgreement/newDriverTraining.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAgreement/pricingRules.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAgreement/tAgreement.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAgreement/tAgreementCharterCar.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAgreement/tAgreementDriver.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAgreement/tAgreementLaw.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAgreement/tAgreementMe.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAgreement/tAgreementOrder.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAgreement/tAgreementRecharge.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAgreement/tAgreementSmallPieceLogistics.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tAgreement/tAgreementUser.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCar/carInsurance.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCar/carInsuranceInfo.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCar/tCar.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCar/tCarAuth.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCar/tCar_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCar/tCar_auth.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCar/tCar_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCarBrand/tCarBrand.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCarBrand/tCarBrand_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCarBrand/tCarBrand_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCarColor/tCarColor.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCarColor/tCarColor_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCarColor/tCarColor_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCarModel/tCarModel.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCarModel/tCarModel_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCarModel/tCarModel_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCompany/franchisee.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCompany/platformEdit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCompany/tCompany.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCompany/tCompany_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCompany/tCompany_addFranchisee.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCompany/tCompany_detail.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCompany/tCompany_detailFranchisee.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCompany/tCompany_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tCompany/tCompany_updateFranchisee.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tComplaint/lookDetail.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tComplaint/tComplaint.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tComplaint/tComplaint_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tComplaint/tComplaint_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tComplaint/tComplaint_immediately.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tDispatch/tDispatch.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tDispatch/tDispatch_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tDispatch/tDispatch_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tDriver/punish.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tDriver/tDriver.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tDriver/tDriver_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tDriver/tDriver_changeCar.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tDriver/tDriver_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tDriver/tDriver_immediately.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tDriver/tDriver_inviteInfo.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tDriver/tDriver_look.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tDriver/tDriver_optDriver.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tDriver/training.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tDriver/yesDriver.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tDriverTeam/tDriverTeam.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tDriverTeam/tDriverTeam_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tDriverTeam/tDriverTeam_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tFeedback/tFeedback.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tFeedback/tFeedback_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tFeedback/tFeedback_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tFeedback/tFeedback_immediately.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tFeedback/userFeedback.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tIncome/driverWork.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tIncome/driverWorkDetail.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tIncome/tIncome.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tIntegralGoods/tIntegralGoods.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tIntegralGoods/tIntegralGoods_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tIntegralGoods/tIntegralGoods_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tIntegralOrder/tIntegralOrder.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tIntegralOrder/tIntegralOrder_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tIntegralOrder/tIntegralOrder_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tIntegralOrder/tIntegralOrder_immediately.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tInvoice/tInvoice.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tInvoice/tInvoice_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tInvoice/tInvoice_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tLine/tLine.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tLine/tLine_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tLine/tLine_addCompany.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tLine/tLine_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tNotices/system.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tNotices/system_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tNotices/system_update.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tNotices/tNotices.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tNotices/tNotices_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tNotices/tNotices_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOpenCity/tOpenCity.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOpenCity/tOpenCity_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOpenCity/tOpenCity_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderCharter/tOrderCharter.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderCharter/tOrderCharter_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderCharter/tOrderCharter_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderCharter/tOrderCharter_immediately.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderCharteredCar/tOrderCharteredCar.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderCharteredCar/tOrderCharteredCar_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderCharteredCar/tOrderCharteredCar_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderCharteredCar/tOrderCharteredCar_immediately.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_detail.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_track.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderEvaluate/tOrderEvaluate.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderEvaluate/tOrderEvaluate_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderEvaluate/tOrderEvaluate_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderLogistics/tOrderLogistics.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderLogistics/tOrderLogistics_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderLogistics/tOrderLogistics_detail.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderLogistics/tOrderLogistics_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_trajectory.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderPrivateCar/toChangeMoney.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderTaxi/tOrderTaxi.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_changeOrder.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_trajectory.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tProblem/tProblem.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tProblem/tProblem_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tProblem/tProblem_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tProblem/tProblem_immediately.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tPubWithdrawal/tPubWithdrawal.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tPubWithdrawal/tPubWithdrawal_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tPubWithdrawal/tPubWithdrawal_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tPubWithdrawal/tPubWithdrawal_immediately.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tReassign/cross.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tReassign/smallPieceLogistics.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tReassign/tReassign.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tReassign/tReassign_reassignment.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tReassign/tReassign_reassignmentCross.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tReassign/tReassign_reassignmentSmall.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tReportLoss/tReportLoss.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tReportLoss/tReportLoss_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tReportLoss/tReportLoss_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tServerCarmodel/acrossCity.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tServerCarmodel/acrossCity_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tServerCarmodel/acrossCity_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tServerCarmodel/charter.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tServerCarmodel/charter_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tServerCarmodel/charter_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tServerCarmodel/tServerCarmodel.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tServerCarmodel/tServerCarmodel_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tServerCarmodel/tServerCarmodel_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tSite/tSite.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tSite/tSite_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tSite/tSite_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tSmsrecord/tSmsrecord.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tSmsrecord/tSmsrecord_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tSmsrecord/tSmsrecord_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tSysReformist/tSysReformist.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tSysSensitiveWords/tSysSensitiveWords.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tSysSensitiveWords/tSysSensitiveWords_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tSysSensitiveWords/tSysSensitiveWords_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tSystemPrice/small.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tSystemPrice/tSystemPrice.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tSystemPrice/tSystemPrice_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tSystemPrice/tSystemPrice_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tUser/tUser.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tUser/tUser_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tUser/tUser_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tUser/tUser_inviteInfo.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tUser/tUser_optUser.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tUser/tUser_updateBalance.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tUser/tUser_updatePassword.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tUser/tUser_userDetail.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tUserFreeActivity/tUserFreeActivity.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tUserFreeActivity/tUserFreeActivity_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tUserFreeActivity/tUserFreeActivity_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tUserRedPacketRecord/tUserRedPacketRecord.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tUserRedPacketRecord/tUserRedPacketRecord_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tUserRedPacketRecord/tUserRedPacketRecord_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tVerified/tVerified.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tVerified/tVerified_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tVerified/tVerified_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tVerified/tVerified_immediately.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tVersionManagement/tVersionManagement.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tVersionManagement/tVersionManagement_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/tVersionManagement/tVersionManagement_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/user/user.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/user/user_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/user/user_chpwd.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/user/user_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/user/user_roleassign.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/user/user_view.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/userActivity/addRegist.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/userActivity/receiveRecord.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/userActivity/sysCouponRecord.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/userActivity/sysCouponRecord1.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/userActivity/sysCouponRecord2.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/userActivity/sysRedPacketRecord.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/userActivity/userActivity.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/userActivity/userActivity_add.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/userActivity/userActivity_detail.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/userActivity/userActivity_edit.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/userActivity/userActivity_immediately.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/view/system/userCouponRecord/userCouponRecord.html
ManagementIGOTravel/guns-admin/target/classes/WEB-INF/web.xml
ManagementIGOTravel/guns-admin/target/classes/application.yml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/GunsApplication.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/GunsServletInitializer.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/config/EhCacheConfig.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/config/SpringSessionConfig.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/config/SwaggerConfig.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/config/datasource/MultiDataSourceConfig.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/config/datasource/SingleDataSourceConfig.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/config/properties/BeetlProperties.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/config/properties/GunsProperties.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/config/quartz/SchedulerConfig.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/config/quartz/TestJob.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/config/web/BeetlConfig.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/config/web/ShiroConfig.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/config/web/WebConfig.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/aop/GlobalExceptionHandler.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/aop/LogAop.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/aop/PermissionAop.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/beetl/BeetlConfiguration$1.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/beetl/BeetlConfiguration$2.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/beetl/BeetlConfiguration.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/beetl/ShiroExt.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/annotion/BussinessLog.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/annotion/Permission.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/Const.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/DatasourceEnum.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/JwtConstants.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/cache/Cache.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/cache/CacheKey.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/DeleteDict.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/DeptDict.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/Dict/BrandDict.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/Dict/CarDict.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/Dict/DriverDict.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/Dict/LabelDict.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/Dict/NoticeDict.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/Dict/ObjectDict.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/Dict/OrderDict.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/Dict/UserAuthenticationDict.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/Dict/UserDict.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/Dict/VersionDict.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/DictMap.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/LogDict.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/MenuDict.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/NoticeMap.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/RoleDict.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/UserDict.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/base/AbstractDictMap.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/base/SystemDict.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/dictmap/factory/DictFieldWarpperFactory.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/factory/ConstantFactory.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/factory/IConstantFactory.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/factory/MutiStrFactory.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/factory/PageFactory.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/state/BizLogType.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/state/ExpenseState.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/state/LogSucceed.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/state/LogType.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/state/ManagerStatus.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/state/MenuOpenStatus.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/state/MenuStatus.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/constant/state/Order.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/exception/BizExceptionEnum.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/common/exception/InvalidKaptchaException.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/intercept/GunsUserFilter.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/intercept/RestApiInteceptor.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/intercept/SessionHolderInterceptor.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/listener/ConfigListener.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/log/LogManager.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/log/LogObjectHolder.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/log/factory/LogFactory.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/log/factory/LogTaskFactory$1.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/log/factory/LogTaskFactory$2.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/log/factory/LogTaskFactory$3.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/log/factory/LogTaskFactory$4.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/log/factory/LogTaskFactory$5.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/log/factory/LogTaskFactory.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/shiro/ShiroDbRealm.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/shiro/ShiroKit.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/shiro/ShiroUser.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/shiro/check/ICheck.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/shiro/check/PermissionCheckFactory.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/shiro/check/PermissionCheckManager.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/shiro/factory/IShiro.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/shiro/factory/ShiroFactroy.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/tag/DictSelectorTag.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/util/ApiMenuFilter.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/util/Contrast.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/util/JwtTokenUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/util/KaptchaUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/util/ObsUploadUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/util/OssUploadUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/util/SinataUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/core/util/WoUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/api/ApiController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/code/controller/CodeController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/code/factory/DefaultTemplateFactory.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/code/service/TableService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/AppOpenInfoController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/AppWithdrawalRuleController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/TAdvertisementUserController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/TIncomeController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/TReportLossController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/DriverActivityController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/DriverActivityEachReturnController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/DriverActivityHistoryController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/DriverActivityOnlineController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/DriverActivityOrderController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/DriverActivityRegisteredController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/HomeController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/ReportController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/SysCouponActivityController$timerTaskTest.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/SysCouponActivityController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/SysCouponRecordController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/SysRedPacketRecordController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TAdvertisementController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TAdvertisementDefinedController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TAgreementController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TCarBrandController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TCarColorController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TCarController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TCarModelController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TCompanyController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TComplaintController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TDriverController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TDriverTeamController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TFeedbackController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TInvoiceController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TNoticesController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TOpenCityController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TOrderEvaluateController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TProblemController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TPubTransactionDetailsController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TSmsrecordController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TSysReformistController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TSysSensitiveWordsController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TUserController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TUserFreeActivityController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TUserRedPacketRecordController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TVerifiedController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/UserActivityBalanceController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/UserActivityController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/UserActivityDiscount1Controller.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/UserActivityDiscount2Controller.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/UserActivityInviteController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/UserActivityRedenvelopeController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/UserActivityRegisteredController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/general/UserCouponRecordController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/specialTrain/TDispatchController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/specialTrain/TIntegralGoodsController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/specialTrain/TIntegralOrderController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/specialTrain/TLineController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCharterController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCharteredCarController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderLogisticsController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/specialTrain/TServerCarmodelController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/specialTrain/TSiteController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/specialTrain/TSystemPriceController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/system/BlackboardController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/system/DeptController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/system/DictController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/system/KaptchaController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/system/LogController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/system/LoginController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/system/LoginLogController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/system/MenuController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/system/MyJobController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/system/RoleController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/system/UediterController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/system/UserMgrController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/taxi/TOrderTaxiController.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/util/MD5.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/util/SendSms$1.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/util/SendSms$2.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/util/SendSms.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/util/SignUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/util/UploadUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/util/VenueLatVo.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/util/WoUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/controller/util/WrapperUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/AppOpenInfoMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/AppWithdrawalRuleMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/AssignOrderMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/CarInsuranceMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/CityMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/DeptMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/DictMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/DriverActivityEachReturnMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/DriverActivityHistoryMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/DriverActivityMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/DriverActivityOnlineMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/DriverActivityOrderMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/DriverActivityRegisteredMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/DriverAssessmentMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/DriverPunishMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/DriverTrainMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/GDInterfaceMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/IncomeMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/LineShiftDriverMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/LoginLogMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/MenuMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/MyJobMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/NoticeMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/OperationLogMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/OrderCancelMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/PaymentRecordMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/RegionMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/RelationMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/RoleMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/SysCouponActivityMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/SysCouponRecordMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/SysRedPacketRecordMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TAdvertisementMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TAdvertisementUserMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TAgreementMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TCarBrandMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TCarColorMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TCarMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TCarModelMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TCarServiceMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TCompanyCityMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TCompanyMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TComplaintMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TDispatchMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TDriverLineMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TDriverMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TDriverServiceMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TDriverTeamMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TFeedbackMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TIntegralGoodsMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TIntegralOrderMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TInvoiceMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TLineCompanyMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TLineMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TLinePriceMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TLineShiftMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TLineSiteMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TLocationMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TNoticesMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TOpenCityBusinessMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TOpenCityMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TOrderCharterMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TOrderCharteredCarMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TOrderCrossCityMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TOrderEvaluateMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TOrderLogisticsMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TOrderPositionMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TOrderPrivateCarMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TOrderTaxiMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TPhoneMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TProblemMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TPubTransactionDetailsMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TPubWithdrawalMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TReassignMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TRegionMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TReportLossMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TServerCarmodelMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TSiteMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TSmsrecordMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TSysCancleOrderMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TSysFaceDistinguishMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TSysIntegralMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TSysPushOrderMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TSysReformistMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TSysSensitiveWordsMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TSystemNoticeMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TSystemPriceMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TUserFreeActivityMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TUserMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TUserRedPacketRecordMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TVerifiedMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TVersionManagementMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/TransactionDetailsMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/UserActivityBalanceMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/UserActivityDiscount1Mapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/UserActivityDiscount2Mapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/UserActivityInviteMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/UserActivityMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/UserActivityRedenvelopeMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/UserActivityRegisteredMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/UserCouponRecordMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/UserMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/UserRedPacketRecordMapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/AppOpenInfoMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/AppWithdrawalRuleMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/AssignOrderMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/CarInsuranceMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/CityMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/DeptMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/DictMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/DriverActivityEachReturnMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/DriverActivityHistoryMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/DriverActivityMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/DriverActivityOnlineMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/DriverActivityOrderMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/DriverActivityRegisteredMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/DriverAssessmentMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/DriverPunishMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/DriverTrainMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/GDInterfaceMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/IncomeMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/LineShiftDriverMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/LoginLogMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/MenuMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/MyJobMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/NoticeMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/OperationLogMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/OrderCancelMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/PaymentRecordMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/RegionMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/RelationMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/RoleMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/SysCouponActivityMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/SysCouponRecordMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/SysRedPacketRecordMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TAdvertisementMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TAdvertisementUserMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TAgreementMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TCarBrandMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TCarColorMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TCarMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TCarModelMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TCarServiceMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TCompanyCityMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TCompanyMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TComplaintMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TDispatchMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TDriverLineMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TDriverMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TDriverServiceMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TDriverTeamMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TFeedbackMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TIntegralGoodsMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TIntegralOrderMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TInvoiceMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TLineCompanyMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TLineMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TLinePriceMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TLineShiftMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TLineSiteMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TLocationMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TNoticesMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TOpenCityBusinessMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TOpenCityMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TOrderCharterMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TOrderCharteredCarMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TOrderCrossCityMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TOrderEvaluateMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TOrderLogisticsMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TOrderPositionMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TOrderTaxiMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TPhoneMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TProblemMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TPubTransactionDetailsMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TPubWithdrawalMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TReassignMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TRegionMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TReportLossMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TServerCarmodelMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TSiteMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TSmsrecordMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TSysCancleOrderMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TSysFaceDistinguishMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TSysIntegralMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TSysPushOrderMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TSysReformistMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TSysSensitiveWordsMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TSystemNoticeMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TSystemPriceMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TUserFreeActivityMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TUserMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TUserRedPacketRecordMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TVerifiedMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TVersionManagementMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/TransactionDetailsMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/UserActivityBalanceMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/UserActivityDiscount1Mapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/UserActivityDiscount2Mapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/UserActivityInviteMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/UserActivityMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/UserActivityRedenvelopeMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/UserActivityRegisteredMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/UserCouponRecordMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/UserMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/dao/mapping/UserRedPacketRecordMapper.xml
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/factory/UserFactory.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/job/TdriverActivityEachReturnJob.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/job/testJob.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/AppOpenInfo.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/AppWithdrawalRule.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/AssignOrder.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/CarInsurance.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/City.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/Dept.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/Dict.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/DriverActivity.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/DriverActivityEachReturn.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/DriverActivityHistory.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/DriverActivityOnline.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/DriverActivityOrder.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/DriverActivityRegistered.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/DriverAssessment.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/DriverPunish.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/DriverTrain.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/GDInterface.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/Income.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/LineShiftDriver.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/LoginLog.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/Menu.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/MyJob.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/Notice.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/OperationLog.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/OrderCancel.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/PaymentRecord.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/Region.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/Relation.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/Role.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/SysCouponActivity.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/SysCouponRecord.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/SysRedPacketRecord.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TAdvertisement.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TAdvertisementUser.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TAgreement.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TCar.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TCarBrand.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TCarColor.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TCarModel.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TCarService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TCompany.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TCompanyCity.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TComplaint.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TDispatch.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TDriver.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TDriverLine.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TDriverService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TDriverTeam.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TFeedback.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TIntegralGoods.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TIntegralOrder.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TInvoice.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TLine.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TLineCompany.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TLinePrice.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TLineShift.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TLineSite.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TLocation.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TNotices.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TOpenCity.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TOpenCityBusiness.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TOrderCharter.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TOrderCharteredCar.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TOrderCrossCity.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TOrderEvaluate.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TOrderLogistics.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TOrderPosition.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TOrderPrivateCar.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TOrderTaxi.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TPhone.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TProblem.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TPubTransactionDetails.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TPubWithdrawal.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TReassign.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TRegion.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TReportLoss.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TServerCarmodel.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TSite.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TSmsrecord.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TSysCancleOrder.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TSysFaceDistinguish.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TSysIntegral.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TSysPushOrder.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TSysReformist.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TSysSensitiveWords.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TSystemNotice.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TSystemPrice.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TUser.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TUserFreeActivity.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TUserRedPacketRecord.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TVerified.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TVersionManagement.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/TransactionDetails.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/User.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/UserActivity.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/UserActivityBalance.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/UserActivityDiscount1.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/UserActivityDiscount2.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/UserActivityInvite.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/UserActivityRedenvelope.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/UserActivityRegistered.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/UserCouponRecord.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/model/UserRedPacketRecord.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IAppOpenInfoService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IAppWithdrawalRuleService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IAssignOrderService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ICityService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IDeptService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IDictService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IDriverActivityEachReturnService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IDriverActivityHistoryService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IDriverActivityOnlineService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IDriverActivityOrderService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IDriverActivityRegisteredService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IDriverActivityService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IDriverAssessmentService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IGDInterfaceService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IIncomeService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ILoginLogService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IMenuService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IMyJobService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/INoticeService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IOperationLogService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IPaymentRecordService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IRelationService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IRoleService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ISysCouponActivityService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ISysCouponRecordService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ISysRedPacketRecordService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITAdvertisementService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITAdvertisementUserService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITAgreementService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITCarBrandService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITCarColorService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITCarModelService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITCarService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITCarServiceService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITCompanyCityService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITCompanyService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITComplaintService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITDispatchService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITDriverLineService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITDriverService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITDriverServiceService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITDriverTeamService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITFeedbackService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITIntegralGoodsService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITIntegralOrderService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITInvoiceService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITLineCompanyService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITLinePriceService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITLineService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITLineShiftService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITLineSiteService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITLocationService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITNoticesService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITOpenCityBusinessService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITOpenCityService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITOrderCharterService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITOrderCharteredCarService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITOrderCrossCityService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITOrderEvaluateService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITOrderLogisticsService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITOrderPositionService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITOrderPrivateCarService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITOrderTaxiService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITPhoneService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITProblemService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITPubTransactionDetailsService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITPubWithdrawalService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITReassignService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITRegionService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITReportLossService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITServerCarmodelService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITSiteService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITSmsrecordService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITSysCancleOrderService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITSysFaceDistinguishService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITSysIntegralService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITSysPushOrderService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITSysReformistService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITSysSensitiveWordsService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITSystemNoticeService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITSystemPriceService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITUserFreeActivityService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITUserRedPacketRecordService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITUserService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITVerifiedService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITVersionManagementService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/ITransactionDetailsService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IUserActivityBalanceService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IUserActivityDiscount1Service.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IUserActivityDiscount2Service.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IUserActivityInviteService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IUserActivityRedenvelopeService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IUserActivityRegisteredService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IUserActivityService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IUserCouponRecordService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IUserRedPacketRecordService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/IUserService.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/AppOpenInfoServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/AppWithdrawalRuleServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/AssignOrderServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/CityServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/DeptServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/DictServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/DriverActivityEachReturnServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/DriverActivityHistoryServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/DriverActivityOnlineServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/DriverActivityOrderServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/DriverActivityRegisteredServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/DriverActivityServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/DriverAssessmentServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/GDInterfaceServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/IncomeServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/LoginLogServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/MenuServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/MyJobServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/NoticeServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/OperationLogServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/PaymentRecordServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/RelationServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/RoleServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/SysCouponActivityServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/SysCouponRecordServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/SysRedPacketRecordServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TAdvertisementServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TAdvertisementUserServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TAgreementServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TCarBrandServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TCarColorServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TCarModelServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TCarServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TCarServiceServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TCompanyCityServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TCompanyServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TComplaintServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TDispatchServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TDriverLineServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TDriverServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TDriverServiceServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TDriverTeamServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TFeedbackServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TIntegralGoodsServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TIntegralOrderServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TInvoiceServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TLineCompanyServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TLinePriceServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TLineServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TLineShiftServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TLineSiteServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TLocationServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TNoticesServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TOpenCityBusinessServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TOpenCityServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TOrderCharterServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TOrderCharteredCarServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TOrderCrossCityServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TOrderEvaluateServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TOrderLogisticsServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TOrderPositionServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TOrderPrivateCarServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TOrderTaxiServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TPhoneServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TProblemServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TPubTransactionDetailsServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TPubWithdrawalServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TReassignServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TRegionServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TReportLossServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TServerCarmodelServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TSiteServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TSmsrecordServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TSysCancleOrderServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TSysFaceDistinguishServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TSysIntegralServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TSysPushOrderServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TSysReformistServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TSysSensitiveWordsServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TSystemNoticeServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TSystemPriceServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TUserFreeActivityServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TUserRedPacketRecordServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TUserServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TVerifiedServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TVersionManagementServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/TransactionDetailsServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/UserActivityBalanceServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount1ServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount2ServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/UserActivityInviteServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/UserActivityRedenvelopeServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/UserActivityRegisteredServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/UserActivityServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/UserRedPacketRecordServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/service/impl/UserServiceImpl.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/transfer/ManagerUser.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/transfer/ReqAddManager.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/transfer/ReqEditManager.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/transfer/UserDto.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/AddAdminLogUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/ConstellationUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/DateUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/GaoDeMapUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/HttpRequestUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/HuaWeiSMSUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/JpushUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/OrderUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/OssUploadUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/PushURL.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/RedisUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/ResultUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/RongCloudUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/SpringContextsUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/TaskUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/WoUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/task/QuartzTest.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/task/TestJob.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/task/ThreadTes.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/task/base/AbstractJob.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/task/base/QuartzManager.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/task/base/TimeJobType.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/task/exceptions/TimeException.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/task/jobs/AddMachine.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/task/jobs/AddNotice.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/task/jobs/AddSensitiveWord.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/task/jobs/SendSms.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/task/start/TimerServerStartJob$1.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/task/start/TimerServerStartJob.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/three/Base64Coder.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/three/HMACSHA1Util.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/three/PlatformUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/three/TokenUtil$RequestEntity.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/util/three/TokenUtil.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/warpper/CustomWarpper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/warpper/DeptWarpper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/warpper/DictWarpper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/warpper/LogWarpper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/warpper/MenuWarpper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/warpper/MyJobWrapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/warpper/NoticeWrapper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/warpper/RoleWarpper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/warpper/TFeedbackWarpper.class
ManagementIGOTravel/guns-admin/target/classes/com/stylefeng/guns/modular/system/warpper/UserWarpper.class
ManagementIGOTravel/guns-admin/target/classes/ehcache.xml
ManagementIGOTravel/guns-admin/target/classes/logback-spring.xml
ManagementIGOTravel/guns-admin/target/classes/static/car.png
ManagementIGOTravel/guns-admin/target/classes/static/car_blue.jpg
ManagementIGOTravel/guns-admin/target/classes/static/css/_fstyle.css
ManagementIGOTravel/guns-admin/target/classes/static/css/bootstrap-rtl.css
ManagementIGOTravel/guns-admin/target/classes/static/css/bootstrap.min.css
ManagementIGOTravel/guns-admin/target/classes/static/css/font-awesome.css
ManagementIGOTravel/guns-admin/target/classes/static/css/font-awesome.min.css
ManagementIGOTravel/guns-admin/target/classes/static/css/login.css
ManagementIGOTravel/guns-admin/target/classes/static/css/patterns/header-profile-skin-1.png
ManagementIGOTravel/guns-admin/target/classes/static/css/patterns/header-profile-skin-3.png
ManagementIGOTravel/guns-admin/target/classes/static/css/patterns/header-profile.png
ManagementIGOTravel/guns-admin/target/classes/static/css/patterns/shattered.png
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/bootstrap-table/bootstrap-editable.css
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/bootstrap-table/bootstrap-table.min.css
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/bootstrap-treetable/bootstrap-treetable.css
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/chosen/chosen-sprite.png
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/chosen/chosen-sprite@2x.png
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/chosen/chosen.css
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/iCheck/custom.css
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/iCheck/green.png
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/iCheck/green@2x.png
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/images/sprite-skin-flat.png
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/sweetalert/sweetalert.css
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/switchery/switchery.css
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/validate/bootstrapValidator.min.css
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/webuploader/webuploader.css
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/ztree/demo.css
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/ztree/img/diy/1_close.png
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/ztree/img/diy/1_open.png
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/ztree/img/diy/2.png
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/ztree/img/diy/3.png
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/ztree/img/diy/4.png
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/ztree/img/diy/5.png
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/ztree/img/diy/6.png
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/ztree/img/diy/7.png
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/ztree/img/diy/8.png
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/ztree/img/diy/9.png
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/ztree/img/line_conn.gif
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/ztree/img/loading.gif
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/ztree/img/zTreeStandard.gif
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/ztree/img/zTreeStandard.png
ManagementIGOTravel/guns-admin/target/classes/static/css/plugins/ztree/zTreeStyle.css
ManagementIGOTravel/guns-admin/target/classes/static/css/style.css
ManagementIGOTravel/guns-admin/target/classes/static/favicon.ico
ManagementIGOTravel/guns-admin/target/classes/static/favicon1.ico
ManagementIGOTravel/guns-admin/target/classes/static/fonts/FontAwesome.otf
ManagementIGOTravel/guns-admin/target/classes/static/fonts/fontawesome-webfont.eot
ManagementIGOTravel/guns-admin/target/classes/static/fonts/fontawesome-webfont.svg
ManagementIGOTravel/guns-admin/target/classes/static/fonts/fontawesome-webfont.ttf
ManagementIGOTravel/guns-admin/target/classes/static/fonts/fontawesome-webfont.woff
ManagementIGOTravel/guns-admin/target/classes/static/fonts/fontawesome-webfont.woff2
ManagementIGOTravel/guns-admin/target/classes/static/fonts/glyphicons-halflings-regular.eot
ManagementIGOTravel/guns-admin/target/classes/static/fonts/glyphicons-halflings-regular.svg
ManagementIGOTravel/guns-admin/target/classes/static/fonts/glyphicons-halflings-regular.ttf
ManagementIGOTravel/guns-admin/target/classes/static/fonts/glyphicons-halflings-regular.woff
ManagementIGOTravel/guns-admin/target/classes/static/fonts/glyphicons-halflings-regular.woff2
ManagementIGOTravel/guns-admin/target/classes/static/home.js
ManagementIGOTravel/guns-admin/target/classes/static/img/NoPIC.png
ManagementIGOTravel/guns-admin/target/classes/static/img/account.png
ManagementIGOTravel/guns-admin/target/classes/static/img/bg.png
ManagementIGOTravel/guns-admin/target/classes/static/img/boy.gif
ManagementIGOTravel/guns-admin/target/classes/static/img/clear.png
ManagementIGOTravel/guns-admin/target/classes/static/img/girl.gif
ManagementIGOTravel/guns-admin/target/classes/static/img/icon100.png
ManagementIGOTravel/guns-admin/target/classes/static/img/icons.png
ManagementIGOTravel/guns-admin/target/classes/static/img/index.png
ManagementIGOTravel/guns-admin/target/classes/static/img/index1.png
ManagementIGOTravel/guns-admin/target/classes/static/img/index2.png
ManagementIGOTravel/guns-admin/target/classes/static/img/index4.png
ManagementIGOTravel/guns-admin/target/classes/static/img/loading-upload.gif
ManagementIGOTravel/guns-admin/target/classes/static/img/loading.gif
ManagementIGOTravel/guns-admin/target/classes/static/img/locked.png
ManagementIGOTravel/guns-admin/target/classes/static/img/login-background.jpg
ManagementIGOTravel/guns-admin/target/classes/static/img/logo.png
ManagementIGOTravel/guns-admin/target/classes/static/img/password.png
ManagementIGOTravel/guns-admin/target/classes/static/img/shangchuanpic.png
ManagementIGOTravel/guns-admin/target/classes/static/img/user.png
ManagementIGOTravel/guns-admin/target/classes/static/js/bootstrap.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/common/DateUtils.js
ManagementIGOTravel/guns-admin/target/classes/static/js/common/Feng.js
ManagementIGOTravel/guns-admin/target/classes/static/js/common/ajax-object.js
ManagementIGOTravel/guns-admin/target/classes/static/js/common/bootstrap-table-object.js
ManagementIGOTravel/guns-admin/target/classes/static/js/common/laydateChoose.js
ManagementIGOTravel/guns-admin/target/classes/static/js/common/select-list-object.js
ManagementIGOTravel/guns-admin/target/classes/static/js/common/tree-table-object.js
ManagementIGOTravel/guns-admin/target/classes/static/js/common/web-upload-file.js
ManagementIGOTravel/guns-admin/target/classes/static/js/common/web-upload-image.js
ManagementIGOTravel/guns-admin/target/classes/static/js/common/web-upload-object.js
ManagementIGOTravel/guns-admin/target/classes/static/js/common/ztree-object.js
ManagementIGOTravel/guns-admin/target/classes/static/js/contabs.js
ManagementIGOTravel/guns-admin/target/classes/static/js/content.js
ManagementIGOTravel/guns-admin/target/classes/static/js/hplus.js
ManagementIGOTravel/guns-admin/target/classes/static/js/jquery.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/jquery.min.map
ManagementIGOTravel/guns-admin/target/classes/static/js/jquery.sparkline 2.1.2.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/bootstrap-table/bootstrap-editable.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/bootstrap-table/bootstrap-table-editable.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/bootstrap-table/bootstrap-table-editable.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/bootstrap-table/bootstrap-table-mobile.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/bootstrap-table/bootstrap-table.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/bootstrap-treetable/bootstrap-treetable.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/chartJs/Chart.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/chartJs/echarts.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/chartJs/echarts.simple.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/chosen/chosen.jquery.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/adapters/mootools-adapter.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/adapters/mootools-adapter.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/adapters/prototype-adapter.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/adapters/prototype-adapter.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/adapters/standalone-framework.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/adapters/standalone-framework.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/highcharts-3d.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/highcharts-3d.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/highcharts-all.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/highcharts-more.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/highcharts-more.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/highcharts.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/highcharts.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/modules/canvas-tools.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/modules/canvas-tools.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/modules/data.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/modules/data.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/modules/drilldown.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/modules/drilldown.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/modules/exporting.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/modules/exporting.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/modules/funnel.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/modules/funnel.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/modules/heatmap.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/modules/heatmap.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/modules/no-data-to-display.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/modules/no-data-to-display.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/modules/solid-gauge.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/modules/solid-gauge.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/themes/dark-blue.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/themes/dark-green.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/themes/dark-unica.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/themes/gray.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/themes/grid-light.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/themes/grid.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/themes/sand-signika.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/highcharts/themes/skies.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/iCheck/icheck.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/laydate/laydate.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/laydate/theme/default/font/iconfont.eot
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/laydate/theme/default/font/iconfont.svg
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/laydate/theme/default/font/iconfont.ttf
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/laydate/theme/default/font/iconfont.woff
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/laydate/theme/default/laydate.css
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/extend/layer.ext.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/laydate/laydate.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/laydate/need/laydate.css
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/laydate/skins/default/icon.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/laydate/skins/default/laydate.css
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/layer.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/layer.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/layim/data/chatlog.json
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/layim/data/friend.json
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/layim/data/group.json
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/layim/data/groups.json
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/layim/layim.css
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/layim/layim.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/layim/loading.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/mobile/layer.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/mobile/need/layer.css
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/skin/default/icon-ext.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/skin/default/icon.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/skin/default/icon_ext.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/skin/default/loading-0.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/skin/default/loading-1.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/skin/default/loading-2.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/skin/default/textbg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/skin/default/xubox_ico0.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/skin/default/xubox_loading0.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/skin/default/xubox_loading1.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/skin/default/xubox_loading2.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/skin/default/xubox_loading3.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/skin/default/xubox_title0.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/skin/layer.css
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/skin/layer.ext.css
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/skin/moon/default.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/skin/moon/style.css
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/theme/default/icon-ext.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/theme/default/icon.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/theme/default/layer.css
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/theme/default/loading-0.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/theme/default/loading-1.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/layer/theme/default/loading-2.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/metisMenu/jquery.metisMenu.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/pace/pace.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/slimscroll/jquery.slimscroll.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/sweetalert/sweetalert.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/switchery/switchery.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/emotion/emotion.css
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/emotion/emotion.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/emotion/images/0.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/emotion/images/bface.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/emotion/images/cface.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/emotion/images/fface.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/emotion/images/jxface2.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/emotion/images/neweditor-tab-bg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/emotion/images/tface.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/emotion/images/wface.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/emotion/images/yface.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/formula/formula.css
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/formula/formula.html
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/formula/formula.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/formula/images/formula.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/image/image.css
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/image/image.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/image/images/close.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/image/images/upload1.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/image/images/upload2.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/link/link.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/map/map.html
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/map/map.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/video/images/center_focus.jpg
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/video/images/left_focus.jpg
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/video/images/none_focus.jpg
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/video/images/right_focus.jpg
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/video/video.css
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/dialogs/video/video.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/index.html
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/en/en.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/en/images/addimage.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/en/images/alldeletebtnhoverskin.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/en/images/alldeletebtnupskin.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/en/images/background.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/en/images/button.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/en/images/copy.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/en/images/deletedisable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/en/images/deleteenable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/en/images/imglabel.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/en/images/listbackground.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/en/images/localimage.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/en/images/music.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/en/images/rotateleftdisable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/en/images/rotateleftenable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/en/images/rotaterightdisable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/en/images/rotaterightenable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/en/images/upload.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/zh-cn/images/copy.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/zh-cn/images/imglabel.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/zh-cn/images/localimage.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/zh-cn/images/music.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/zh-cn/images/upload.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/lang/zh-cn/zh-cn.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/themes/default/css/umeditor.css
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/themes/default/css/umeditor.min.css
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/themes/default/images/caret.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/themes/default/images/close.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/themes/default/images/icons.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/themes/default/images/icons.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/themes/default/images/ok.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/themes/default/images/pop-bg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/themes/default/images/spacer.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/themes/default/images/videologo.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/jquery.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/Symbola.eot
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/Symbola.otf
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/Symbola.svg
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/Symbola.ttf
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/Symbola.woff
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/stixgeneral-bundle/STIXFontLicense2010.txt
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneral-webfont.eot
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneral-webfont.svg
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneral-webfont.ttf
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneral-webfont.woff
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbol-webfont.eot
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbol-webfont.svg
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbol-webfont.ttf
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbol-webfont.woff
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbolita-webfont.eot
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbolita-webfont.svg
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbolita-webfont.ttf
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralbolita-webfont.woff
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralitalic-webfont.eot
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralitalic-webfont.svg
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralitalic-webfont.ttf
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/font/stixgeneral-bundle/stixgeneralitalic-webfont.woff
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/mathquill.css
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/mathquill.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/third-party/mathquill/mathquill.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/umeditor.config.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/umeditor.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/umeditor/umeditor.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/validate/additional-methods.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/validate/bootstrapValidator.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/validate/zh_CN.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/wangEditor/wangEditor.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/webuploader/Uploader.swf
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/webuploader/webuploader.css
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/webuploader/webuploader.custom.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/webuploader/webuploader.custom.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/webuploader/webuploader.fis.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/webuploader/webuploader.flashonly.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/webuploader/webuploader.flashonly.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/webuploader/webuploader.html5only.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/webuploader/webuploader.html5only.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/webuploader/webuploader.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/webuploader/webuploader.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/webuploader/webuploader.noimage.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/webuploader/webuploader.noimage.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/webuploader/webuploader.nolog.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/webuploader/webuploader.nolog.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/webuploader/webuploader.withoutimage.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/webuploader/webuploader.withoutimage.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/plugins/ztree/jquery.ztree.all.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/asp/ASPJson.class.asp
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/asp/MultiformProcessor.class.asp
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/asp/PathFormatter.class.asp
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/asp/README.md
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/asp/Uploader.Class.asp
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/asp/action_config.asp
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/asp/action_crawler.asp
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/asp/action_list.asp
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/asp/action_upload.asp
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/asp/config.json
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/asp/config_loader.asp
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/asp/controller.asp
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/anchor/anchor.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/attachment.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/attachment.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/attachment.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/fileTypeImages/icon_chm.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/fileTypeImages/icon_default.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/fileTypeImages/icon_doc.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/fileTypeImages/icon_exe.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/fileTypeImages/icon_jpg.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/fileTypeImages/icon_mp3.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/fileTypeImages/icon_mv.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/fileTypeImages/icon_pdf.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/fileTypeImages/icon_ppt.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/fileTypeImages/icon_psd.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/fileTypeImages/icon_rar.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/fileTypeImages/icon_txt.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/fileTypeImages/icon_xls.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/images/alignicon.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/images/alignicon.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/images/bg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/images/file-icons.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/images/file-icons.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/images/icons.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/images/icons.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/images/image.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/images/progress.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/images/success.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/attachment/images/success.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/background/background.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/background/background.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/background/background.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/background/images/bg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/background/images/success.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/charts/chart.config.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/charts/charts.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/charts/charts.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/charts/charts.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/charts/images/charts0.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/charts/images/charts1.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/charts/images/charts2.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/charts/images/charts3.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/charts/images/charts4.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/charts/images/charts5.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/emotion/emotion.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/emotion/emotion.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/emotion/emotion.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/emotion/images/0.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/emotion/images/bface.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/emotion/images/cface.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/emotion/images/fface.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/emotion/images/jxface2.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/emotion/images/neweditor-tab-bg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/emotion/images/tface.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/emotion/images/wface.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/emotion/images/yface.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/gmap/gmap.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/help/help.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/help/help.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/help/help.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/image/image.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/image/image.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/image/image.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/image/images/alignicon.jpg
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/image/images/bg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/image/images/icons.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/image/images/icons.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/image/images/image.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/image/images/progress.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/image/images/success.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/image/images/success.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/insertframe/insertframe.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/internal.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/link/link.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/map/map.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/map/show.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/music/music.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/music/music.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/music/music.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/preview/preview.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/scrawl/images/addimg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/scrawl/images/brush.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/scrawl/images/delimg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/scrawl/images/delimgH.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/scrawl/images/empty.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/scrawl/images/emptyH.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/scrawl/images/eraser.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/scrawl/images/redo.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/scrawl/images/redoH.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/scrawl/images/scale.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/scrawl/images/scaleH.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/scrawl/images/size.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/scrawl/images/undo.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/scrawl/images/undoH.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/scrawl/scrawl.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/scrawl/scrawl.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/scrawl/scrawl.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/searchreplace/searchreplace.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/searchreplace/searchreplace.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/snapscreen/snapscreen.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/spechars/spechars.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/spechars/spechars.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/table/dragicon.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/table/edittable.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/table/edittable.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/table/edittable.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/table/edittd.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/table/edittip.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/template/config.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/template/images/bg.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/template/images/pre0.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/template/images/pre1.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/template/images/pre2.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/template/images/pre3.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/template/images/pre4.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/template/template.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/template/template.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/template/template.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/video/images/bg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/video/images/center_focus.jpg
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/video/images/file-icons.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/video/images/file-icons.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/video/images/icons.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/video/images/icons.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/video/images/image.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/video/images/left_focus.jpg
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/video/images/none_focus.jpg
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/video/images/progress.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/video/images/right_focus.jpg
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/video/images/success.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/video/images/success.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/video/video.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/video/video.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/video/video.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/webapp/webapp.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/wordimage/fClipboard_ueditor.swf
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/wordimage/imageUploader.swf
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/wordimage/tangram.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/wordimage/wordimage.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/dialogs/wordimage/wordimage.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/index.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/config.json
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/controller.jsp
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/src/com/baidu/ueditor/ActionEnter.java
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/src/com/baidu/ueditor/ConfigManager.java
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/src/com/baidu/ueditor/Encoder.java
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/src/com/baidu/ueditor/PathFormat.java
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/src/com/baidu/ueditor/define/ActionMap.java
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/src/com/baidu/ueditor/define/ActionState.java
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/src/com/baidu/ueditor/define/AppInfo.java
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/src/com/baidu/ueditor/define/BaseState.java
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/src/com/baidu/ueditor/define/FileType.java
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/src/com/baidu/ueditor/define/MIMEType.java
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/src/com/baidu/ueditor/define/MultiState.java
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/src/com/baidu/ueditor/define/State.java
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/src/com/baidu/ueditor/hunter/FileManager.java
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/src/com/baidu/ueditor/hunter/ImageHunter.java
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/src/com/baidu/ueditor/upload/Base64Uploader.java
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/src/com/baidu/ueditor/upload/BinaryUploader.java
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/src/com/baidu/ueditor/upload/StorageManager.java
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/jsp/src/com/baidu/ueditor/upload/Uploader.java
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/en/en.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/en/images/addimage.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/en/images/alldeletebtnhoverskin.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/en/images/alldeletebtnupskin.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/en/images/background.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/en/images/button.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/en/images/copy.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/en/images/deletedisable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/en/images/deleteenable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/en/images/listbackground.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/en/images/localimage.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/en/images/music.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/en/images/rotateleftdisable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/en/images/rotateleftenable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/en/images/rotaterightdisable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/en/images/rotaterightenable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/en/images/upload.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/zh-cn/images/copy.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/zh-cn/images/localimage.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/zh-cn/images/music.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/zh-cn/images/upload.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/lang/zh-cn/zh-cn.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/net/App_Code/Config.cs
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/net/App_Code/ConfigHandler.cs
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/net/App_Code/CrawlerHandler.cs
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/net/App_Code/Handler.cs
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/net/App_Code/ListFileHandler.cs
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/net/App_Code/NotSupportedHandler.cs
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/net/App_Code/PathFormater.cs
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/net/App_Code/UploadHandler.cs
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/net/Bin/Newtonsoft.Json.dll
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/net/Bin/Newtonsoft.Json.pdb
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/net/Bin/Newtonsoft.Json.xml
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/net/README.md
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/net/Web.config
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/net/config.json
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/net/controller.ashx
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/net/net.sln
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/php/Uploader.class.php
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/php/action_crawler.php
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/php/action_list.php
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/php/action_upload.php
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/php/config.json
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/php/controller.php
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/css/ueditor.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/css/ueditor.min.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/dialogbase.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/anchor.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/arrow.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/arrow_down.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/arrow_up.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/button-bg.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/cancelbutton.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/charts.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/cursor_h.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/cursor_h.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/cursor_v.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/cursor_v.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/dialog-title-bg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/filescan.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/highlighted.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/icons-all.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/icons.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/icons.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/loaderror.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/loading.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/lock.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/neweditor-tab-bg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/pagebreak.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/scale.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/sortable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/spacer.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/sparator_v.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/table-cell-align.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/tangram-colorpicker.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/toolbar_bg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/unhighlighted.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/upload.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/videologo.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/word.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/default/images/wordpaste.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/themes/iframe.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/SyntaxHighlighter/shCore.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/SyntaxHighlighter/shCoreDefault.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/codemirror/codemirror.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/codemirror/codemirror.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/adapters/mootools-adapter.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/adapters/mootools-adapter.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/adapters/prototype-adapter.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/adapters/prototype-adapter.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/adapters/standalone-framework.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/adapters/standalone-framework.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/highcharts-more.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/highcharts-more.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/highcharts.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/highcharts.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/modules/annotations.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/modules/annotations.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/modules/canvas-tools.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/modules/canvas-tools.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/modules/data.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/modules/data.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/modules/drilldown.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/modules/drilldown.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/modules/exporting.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/modules/exporting.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/modules/funnel.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/modules/funnel.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/modules/heatmap.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/modules/heatmap.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/modules/map.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/modules/map.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/modules/no-data-to-display.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/modules/no-data-to-display.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/themes/dark-blue.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/themes/dark-green.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/themes/gray.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/themes/grid.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/highcharts/themes/skies.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/jquery-1.10.2.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/jquery-1.10.2.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/jquery-1.10.2.min.map
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/snapscreen/UEditorSnapscreen.exe
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/video-js/font/vjs.eot
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/video-js/font/vjs.svg
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/video-js/font/vjs.ttf
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/video-js/font/vjs.woff
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/video-js/video-js.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/video-js/video-js.min.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/video-js/video-js.swf
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/video-js/video.dev.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/video-js/video.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/webuploader/Uploader.swf
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/webuploader/webuploader.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/webuploader/webuploader.custom.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/webuploader/webuploader.custom.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/webuploader/webuploader.flashonly.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/webuploader/webuploader.flashonly.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/webuploader/webuploader.html5only.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/webuploader/webuploader.html5only.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/webuploader/webuploader.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/webuploader/webuploader.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/webuploader/webuploader.withoutimage.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/webuploader/webuploader.withoutimage.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/zeroclipboard/ZeroClipboard.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/zeroclipboard/ZeroClipboard.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/third-party/zeroclipboard/ZeroClipboard.swf
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/ueditor.all.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/ueditor.all.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/ueditor.config.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/ueditor.parse.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/1.4.3/ueditor.parse.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/anchor/anchor.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/attachment.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/attachment.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/attachment.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/fileTypeImages/icon_chm.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/fileTypeImages/icon_default.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/fileTypeImages/icon_doc.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/fileTypeImages/icon_exe.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/fileTypeImages/icon_jpg.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/fileTypeImages/icon_mp3.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/fileTypeImages/icon_mv.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/fileTypeImages/icon_pdf.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/fileTypeImages/icon_ppt.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/fileTypeImages/icon_psd.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/fileTypeImages/icon_rar.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/fileTypeImages/icon_txt.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/fileTypeImages/icon_xls.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/images/alignicon.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/images/alignicon.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/images/bg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/images/file-icons.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/images/file-icons.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/images/icons.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/images/icons.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/images/image.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/images/progress.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/images/success.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/attachment/images/success.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/background/background.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/background/background.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/background/background.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/background/images/bg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/background/images/success.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/charts/chart.config.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/charts/charts.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/charts/charts.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/charts/charts.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/charts/images/charts0.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/charts/images/charts1.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/charts/images/charts2.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/charts/images/charts3.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/charts/images/charts4.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/charts/images/charts5.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/emotion/emotion.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/emotion/emotion.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/emotion/emotion.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/emotion/images/0.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/emotion/images/bface.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/emotion/images/cface.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/emotion/images/fface.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/emotion/images/jxface2.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/emotion/images/neweditor-tab-bg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/emotion/images/tface.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/emotion/images/wface.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/emotion/images/yface.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/gmap/gmap.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/help/help.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/help/help.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/help/help.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/image/image.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/image/image.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/image/image.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/image/images/alignicon.jpg
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/image/images/bg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/image/images/icons.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/image/images/icons.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/image/images/image.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/image/images/progress.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/image/images/success.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/image/images/success.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/insertframe/insertframe.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/internal.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/link/link.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/map/map.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/map/show.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/music/music.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/music/music.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/music/music.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/preview/preview.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/scrawl/images/addimg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/scrawl/images/brush.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/scrawl/images/delimg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/scrawl/images/delimgH.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/scrawl/images/empty.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/scrawl/images/emptyH.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/scrawl/images/eraser.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/scrawl/images/redo.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/scrawl/images/redoH.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/scrawl/images/scale.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/scrawl/images/scaleH.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/scrawl/images/size.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/scrawl/images/undo.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/scrawl/images/undoH.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/scrawl/scrawl.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/scrawl/scrawl.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/scrawl/scrawl.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/searchreplace/searchreplace.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/searchreplace/searchreplace.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/snapscreen/snapscreen.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/spechars/spechars.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/spechars/spechars.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/table/dragicon.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/table/edittable.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/table/edittable.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/table/edittable.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/table/edittd.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/table/edittip.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/template/config.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/template/images/bg.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/template/images/pre0.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/template/images/pre1.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/template/images/pre2.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/template/images/pre3.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/template/images/pre4.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/template/template.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/template/template.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/template/template.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/video/images/bg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/video/images/center_focus.jpg
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/video/images/file-icons.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/video/images/file-icons.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/video/images/icons.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/video/images/icons.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/video/images/image.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/video/images/left_focus.jpg
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/video/images/none_focus.jpg
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/video/images/progress.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/video/images/right_focus.jpg
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/video/images/success.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/video/images/success.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/video/video.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/video/video.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/video/video.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/webapp/webapp.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/wordimage/fClipboard_ueditor.swf
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/wordimage/imageUploader.swf
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/wordimage/tangram.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/wordimage/wordimage.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/dialogs/wordimage/wordimage.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/index.html
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/jsp/config.json
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/jsp/controller.jsp
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/en/en.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/en/images/addimage.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/en/images/alldeletebtnhoverskin.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/en/images/alldeletebtnupskin.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/en/images/background.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/en/images/button.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/en/images/copy.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/en/images/deletedisable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/en/images/deleteenable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/en/images/listbackground.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/en/images/localimage.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/en/images/music.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/en/images/rotateleftdisable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/en/images/rotateleftenable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/en/images/rotaterightdisable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/en/images/rotaterightenable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/en/images/upload.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/zh-cn/images/copy.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/zh-cn/images/localimage.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/zh-cn/images/music.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/zh-cn/images/upload.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/lang/zh-cn/zh-cn.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/css/ueditor.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/css/ueditor.min.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/dialogbase.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/anchor.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/arrow.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/arrow_down.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/arrow_up.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/button-bg.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/cancelbutton.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/charts.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/cursor_h.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/cursor_h.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/cursor_v.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/cursor_v.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/dialog-title-bg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/filescan.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/highlighted.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/icons-all.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/icons.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/icons.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/loaderror.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/loading.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/lock.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/neweditor-tab-bg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/pagebreak.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/scale.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/sortable.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/spacer.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/sparator_v.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/table-cell-align.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/tangram-colorpicker.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/toolbar_bg.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/unhighlighted.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/upload.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/videologo.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/word.gif
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/default/images/wordpaste.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/themes/iframe.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/SyntaxHighlighter/shCore.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/SyntaxHighlighter/shCoreDefault.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/codemirror/codemirror.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/codemirror/codemirror.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/adapters/mootools-adapter.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/adapters/mootools-adapter.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/adapters/prototype-adapter.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/adapters/prototype-adapter.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/adapters/standalone-framework.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/adapters/standalone-framework.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/highcharts-more.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/highcharts-more.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/highcharts.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/highcharts.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/modules/annotations.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/modules/annotations.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/modules/canvas-tools.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/modules/canvas-tools.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/modules/data.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/modules/data.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/modules/drilldown.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/modules/drilldown.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/modules/exporting.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/modules/exporting.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/modules/funnel.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/modules/funnel.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/modules/heatmap.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/modules/heatmap.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/modules/map.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/modules/map.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/modules/no-data-to-display.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/modules/no-data-to-display.src.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/themes/dark-blue.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/themes/dark-green.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/themes/gray.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/themes/grid.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/highcharts/themes/skies.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/jquery-1.10.2.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/jquery-1.10.2.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/jquery-1.10.2.min.map
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/snapscreen/UEditorSnapscreen.exe
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/video-js/font/vjs.eot
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/video-js/font/vjs.svg
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/video-js/font/vjs.ttf
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/video-js/font/vjs.woff
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/video-js/video-js.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/video-js/video-js.min.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/video-js/video-js.swf
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/video-js/video.dev.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/video-js/video.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/webuploader/Uploader.swf
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/webuploader/webuploader.css
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/webuploader/webuploader.custom.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/webuploader/webuploader.custom.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/webuploader/webuploader.flashonly.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/webuploader/webuploader.flashonly.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/webuploader/webuploader.html5only.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/webuploader/webuploader.html5only.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/webuploader/webuploader.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/webuploader/webuploader.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/webuploader/webuploader.withoutimage.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/webuploader/webuploader.withoutimage.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/xss.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/zeroclipboard/ZeroClipboard.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/zeroclipboard/ZeroClipboard.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/third-party/zeroclipboard/ZeroClipboard.swf
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/ueditor.all.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/ueditor.all.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/ueditor.config.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/ueditor.parse.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/ueditor.parse.min.js
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/ueditor/jsp/upload/image/20161220/1482229766809036054.jpg
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/ueditor/jsp/upload/image/20161220/1482229845707005523.png
ManagementIGOTravel/guns-admin/target/classes/static/js/ueditor/jsp/ueditor/jsp/upload/image/20161220/1482229845748008398.jpg
ManagementIGOTravel/guns-admin/target/classes/static/layui/css/layui.css
ManagementIGOTravel/guns-admin/target/classes/static/layui/css/layui.mobile.css
ManagementIGOTravel/guns-admin/target/classes/static/layui/css/modules/code.css
ManagementIGOTravel/guns-admin/target/classes/static/layui/css/modules/laydate/default/laydate.css
ManagementIGOTravel/guns-admin/target/classes/static/layui/css/modules/layer/default/icon-ext.png
ManagementIGOTravel/guns-admin/target/classes/static/layui/css/modules/layer/default/icon.png
ManagementIGOTravel/guns-admin/target/classes/static/layui/css/modules/layer/default/layer.css
ManagementIGOTravel/guns-admin/target/classes/static/layui/css/modules/layer/default/loading-0.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/css/modules/layer/default/loading-1.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/css/modules/layer/default/loading-2.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/font/iconfont.eot
ManagementIGOTravel/guns-admin/target/classes/static/layui/font/iconfont.svg
ManagementIGOTravel/guns-admin/target/classes/static/layui/font/iconfont.ttf
ManagementIGOTravel/guns-admin/target/classes/static/layui/font/iconfont.woff
ManagementIGOTravel/guns-admin/target/classes/static/layui/font/iconfont.woff2
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/0.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/1.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/10.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/11.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/12.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/13.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/14.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/15.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/16.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/17.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/18.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/19.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/2.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/20.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/21.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/22.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/23.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/24.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/25.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/26.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/27.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/28.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/29.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/3.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/30.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/31.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/32.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/33.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/34.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/35.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/36.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/37.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/38.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/39.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/4.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/40.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/41.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/42.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/43.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/44.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/45.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/46.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/47.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/48.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/49.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/5.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/50.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/51.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/52.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/53.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/54.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/55.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/56.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/57.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/58.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/59.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/6.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/60.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/61.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/62.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/63.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/64.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/65.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/66.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/67.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/68.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/69.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/7.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/70.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/71.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/8.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/images/face/9.gif
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/carousel.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/code.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/colorpicker.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/element.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/flow.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/form.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/jquery.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/laydate.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/layedit.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/layer.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/laypage.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/laytpl.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/mobile.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/rate.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/slider.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/table.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/transfer.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/tree.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/upload.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/lay/modules/util.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/layui.all.js
ManagementIGOTravel/guns-admin/target/classes/static/layui/layui.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/code/gen.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/flowable/expense/expense.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/flowable/expense/expense_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/flowable/process/process.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/flowable/process/process_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/quartz/job.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/quartz/job_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/appOpenInfo/appOpenInfo.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/appOpenInfo/appOpenInfo_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/appWithdrawalRule/appWithdrawalRule.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/appWithdrawalRule/appWithdrawalRule_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/code/code.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/dept/dept.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/dept/dept_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/dict/dict.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/dict/dict_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/driverActivity/driverActivity.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/driverActivity/driverActivity_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/driverActivityEachReturn/driverActivityEachReturn.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/driverActivityEachReturn/driverActivityEachReturn_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/driverActivityHistory/driverActivityHistory.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/log/log.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/log/login_log.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/menu/menu.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/menu/menu_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/notice/notice.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/notice/notice_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/pubTransactionDetails/userPubTransactionDetails.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/report/couponStatistics.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/report/couponStatisticsInfo.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/report/operationalData.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/report/tDriverIncomeTable.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/role/role.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/role/role_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/sysCouponActivity/sysCouponActivity.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/sysCouponActivity/sysCouponActivity_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/sysCouponActivity/sysCouponRecord.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/sysCouponActivity/tUser.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/sysCouponRecord/sysCouponRecord.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/sysCouponRecord/sysCouponRecord_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/sysRedPacketRecord/sysRedPacketRecord.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/sysRedPacketRecord/sysRedPacketRecord_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tAdvertisement/tAdvertisement.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tAdvertisement/tAdvertisement_defined.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tAdvertisement/tAdvertisement_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tAdvertisement/tAdvertisement_info_defined.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tAdvertisement/tUser.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tAdvertisement/yesDriver.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tAgreement/tAgreement.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tAgreement/tAgreement_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tCar/carInsurance.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tCar/carInsuranceInfo.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tCar/tCar.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tCar/tCarAuth.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tCar/tCar_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tCarBrand/tCarBrand.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tCarBrand/tCarBrand_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tCarColor/tCarColor.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tCarColor/tCarColor_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tCarModel/tCarModel.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tCarModel/tCarModel_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tCompany/franchisee.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tCompany/franchisee_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tCompany/tCompany.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tCompany/tCompany_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tComplaint/tComplaint.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tComplaint/tComplaint_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tDispatch/tDispatch.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tDispatch/tDispatch_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tDriver/punish.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tDriver/tDriver.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tDriver/tDriverInviteInfo.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tDriver/tDriver_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tDriver/training.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tDriver/yesDriver.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tDriver/yesDriver_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tDriver/yesDriver_selectCar.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tDriverTeam/tDriverTeam.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tDriverTeam/tDriverTeam_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tFeedback/tFeedback.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tFeedback/tFeedback_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tFeedback/userFeedback.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tIncome/driverWork.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tIncome/driverWorkDetail.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tIncome/tIncome.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tIntegralGoods/tIntegralGoods.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tIntegralGoods/tIntegralGoods_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tIntegralOrder/tIntegralOrder.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tIntegralOrder/tIntegralOrder_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tInvoice/tInvoice.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tInvoice/tInvoice_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tLine/tLine.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tLine/tLine_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tNotices/system.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tNotices/system_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tNotices/tNotices.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tNotices/tNotices_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tOpenCity/tOpenCity.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tOpenCity/tOpenCity_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tOrderCharter/tOrderCharter.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tOrderCharter/tOrderCharter_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tOrderCharteredCar/tOrderCharteredCar.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tOrderCharteredCar/tOrderCharteredCar_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tOrderCrossCity/tOrderCrossCity.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tOrderCrossCity/tOrderCrossCity_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tOrderEvaluate/tOrderEvaluate.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tOrderEvaluate/tOrderEvaluate_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tOrderLogistics/tOrderLogistics.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tOrderLogistics/tOrderLogistics_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tOrderPrivateCar/tOrderPrivateCar_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tOrderTaxi/selectDriver.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tOrderTaxi/tOrderTaxi.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tOrderTaxi/tOrderTaxi_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tProblem/tProblem.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tProblem/tProblem_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tPubWithdrawal/tPubWithdrawal.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tPubWithdrawal/tPubWithdrawal_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tReassign/selectCrossDriver.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tReassign/selectPrivateCarDriver.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tReassign/selectSmallDriver.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tReassign/smallPieceLogistics.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tReassign/tCross.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tReassign/tReassign.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tReassign/tReassign_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tReportLoss/tReportLoss.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tReportLoss/tReportLoss_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tServerCarmodel/acrossCity.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tServerCarmodel/acrossCity_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tServerCarmodel/charter.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tServerCarmodel/charter_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tServerCarmodel/tServerCarmodel.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tServerCarmodel/tServerCarmodel_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tSite/electricFence.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tSite/tSite.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tSite/tSite_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tSmsrecord/tSmsrecord.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tSmsrecord/tSmsrecord_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tSysSensitiveWords/tSysSensitiveWords.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tSysSensitiveWords/tSysSensitiveWords_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tSystemPrice/tSystemPrice.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tSystemPrice/tSystemPrice_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tUser/tUser.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tUser/tUserInviteInfo.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tUser/tUser_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tUserFreeActivity/tUserFreeActivity.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tUserFreeActivity/tUserFreeActivity_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tUserRedPacketRecord/tUserRedPacketRecord.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tUserRedPacketRecord/tUserRedPacketRecord_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tVerified/tVerified.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tVerified/tVerified_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tVersionManagement/tVersionManagement.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/tVersionManagement/tVersionManagement_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/user/user.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/user/user_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/userActivity/addRegist.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/userActivity/sysCouponRecord.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/userActivity/sysRedPacketRecord.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/userActivity/userActivity.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/userActivity/userActivity_info.js
ManagementIGOTravel/guns-admin/target/classes/static/modular/system/userCouponRecord/userCouponRecord.js
ManagementIGOTravel/guns-admin/target/classes/static/netCarInfo.js
UserIGOTravel/guns-admin/pom.xml
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/controller/OrderCharteredCarController.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/IOrderCharteredCarService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/CharteredCar/server/impl/OrderCharteredCarServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/CouponController.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/FeedbackController.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OpenCityController.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ProblemController.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/ServerCarModelController.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SystemNoticeController.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/WithdrawalController.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/IOrderCrossCityService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/controller/OrderPrivateCarController.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/IOrderPrivateCarService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/CompanyMapper.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/OrderEvaluateMapper.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/AdvertisementMapper.xml
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/AgreementMapper.xml
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CompanyMapper.xml
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/OpenCityMapper.xml
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/OrderCancelMapper.xml
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/OrderEvaluateMapper.xml
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/SystemNoticeMapper.xml
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserActivityBalanceMapper.xml
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserActivityInviteMapper.xml
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserActivityRegisteredMapper.xml
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserInfoMapper.xml
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/VerifiedMapper.xml
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Driver.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserInfo.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Verified.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ICompanyCityService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IComplaintService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IFeedbackService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityBusinessService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderEvaluateService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOrderService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IProblemService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IServerCarModelService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISystemNoticeService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserCouponRecordService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IWithdrawalService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CompanyCityServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ComplaintServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityBusinessServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderEvaluateServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ProblemServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReportLossServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SystemNoticeServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserCouponRecordServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/VerifiedServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/WithdrawalServiceImpl.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleMap/GoogleMapUtil.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PayMoneyUtil.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/TinggPayUtil.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/model/CallbackRequest.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/model/CallbackResponse.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/model/CheckoutRequest.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/Tingg/model/Payments.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/LoginWarpper.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/UserInfoWarpper.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/VerifiedWarpper.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/IOrderTaxiService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/IPaymentRecordService.java
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
UserIGOTravel/guns-admin/src/main/resources/application.yml
UserIGOTravel/guns-admin/src/main/resources/logback-spring.xml
ZuulIGOTravel/src/main/java/com/sinata/zuul/ZuulApplication.java
ZuulIGOTravel/src/main/resources/application.yml
ZuulIGOTravel/src/main/resources/redis.properties |