From adc8542adeabbcbeff425d6471762c04e8f3cffe Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 25 六月 2025 15:03:38 +0800 Subject: [PATCH] 修改功能和增加上传功能 --- ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/LoginWeChatXiao.java | 39 + ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html | 47 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserWithdrawal.java | 36 - ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java | 16 ManagementQYTTravel/guns-admin/src/main/resources/application.yml | 32 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/MerchantActivityController.java | 7 ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tSysReformist.html | 158 +++-- ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/config/web/WebConfig.java | 11 ManagementQYTTravel/pom.xml | 11 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderPosition.java | 105 --- ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java | 6 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java | 12 ManagementQYTTravel/guns-admin/src/main/resources/logback.xml | 222 +++++++ ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/EnterpriseUtil.java | 71 ++ ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java | 35 ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html | 46 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java | 10 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/QianYunTongProperties.java | 27 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java | 123 +++ ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/GunsApplication.java | 9 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java | 35 ManagementQYTTravel/guns-admin/src/main/webapp/static/img/logo.png | 0 ManagementQYTTravel/guns-admin/lib/ncoss-java-sdk-1.0.5.jar | 0 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java | 59 - ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/StaffNodeInfo.java | 2 ManagementQYTTravel/guns-admin/src/main/webapp/static/favicon1.ico | 0 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/code/controller/CodeController.java | 2 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCarModel.java | 9 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/NCOSSUtil.java | 240 ++++++++ ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java | 2 /dev/null | 0 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserBankAccount.java | 18 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UediterController.java | 36 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/taxi/TOrderTaxiController.java | 60 - ManagementQYTTravel/guns-admin/pom.xml | 29 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TSysReformistController.java | 2 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/EmployeeUtil.java | 6 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/UserUtil.java | 64 ++ ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java | 52 - 39 files changed, 1,104 insertions(+), 535 deletions(-) diff --git a/ManagementQYTTravel/guns-admin/lib/ncoss-java-sdk-1.0.5.jar b/ManagementQYTTravel/guns-admin/lib/ncoss-java-sdk-1.0.5.jar new file mode 100644 index 0000000..fbb6562 --- /dev/null +++ b/ManagementQYTTravel/guns-admin/lib/ncoss-java-sdk-1.0.5.jar Binary files differ diff --git a/ManagementQYTTravel/guns-admin/pom.xml b/ManagementQYTTravel/guns-admin/pom.xml index e7722ce..85d100c 100644 --- a/ManagementQYTTravel/guns-admin/pom.xml +++ b/ManagementQYTTravel/guns-admin/pom.xml @@ -34,7 +34,15 @@ <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> - + <dependency> + <groupId>io.lettuce</groupId> + <artifactId>lettuce-core</artifactId> + </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-pool2</artifactId> + </dependency> + <!--spring boot依赖--> <dependency> <groupId>org.springframework.boot</groupId> @@ -128,14 +136,6 @@ <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetl</artifactId> - </dependency> - <dependency> - <groupId>io.springfox</groupId> - <artifactId>springfox-swagger2</artifactId> - </dependency> - <dependency> - <groupId>io.springfox</groupId> - <artifactId>springfox-swagger-ui</artifactId> </dependency> <dependency> @@ -240,6 +240,17 @@ <scope>system</scope> <systemPath>${pom.basedir}/lib/javabase64-1.3.1.jar</systemPath> </dependency> + <dependency> + <groupId>com.ncoss</groupId> + <artifactId>ncoss-java-sdk</artifactId> + <version>1.0.5</version> + <scope>system</scope> + <systemPath>${pom.basedir}/lib/ncoss-java-sdk-1.0.5.jar</systemPath> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-data-mongodb</artifactId> + </dependency> </dependencies> diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/GunsApplication.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/GunsApplication.java index 8bea6f9..7fec296 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/GunsApplication.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/GunsApplication.java @@ -5,7 +5,6 @@ import org.apache.http.config.SocketConfig; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; -import org.mybatis.spring.annotation.MapperScan; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.SpringApplication; @@ -31,12 +30,8 @@ private final static Logger logger = LoggerFactory.getLogger(GunsApplication.class); public static void main(String[] args) { - try{ - SpringApplication.run(GunsApplication.class, args); - logger.info("GunsApplication is success!"); - }catch (Exception e){ - e.printStackTrace(); - } + SpringApplication.run(GunsApplication.class, args); + logger.info("GunsApplication is success!"); } @Bean //通过ip地址调用 diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/config/SwaggerConfig.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/config/SwaggerConfig.java deleted file mode 100644 index e02e7aa..0000000 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/config/SwaggerConfig.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.stylefeng.guns.config; - -import io.swagger.annotations.ApiOperation; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import springfox.documentation.builders.ApiInfoBuilder; -import springfox.documentation.builders.PathSelectors; -import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.service.ApiInfo; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spring.web.plugins.Docket; -import springfox.documentation.swagger2.annotations.EnableSwagger2; - -/** - * swagger配置类 - * - * @author fengshuonan - * @date 2017年6月1日19:42:59 - */ -@Configuration -@EnableSwagger2 -@ConditionalOnProperty(prefix = "guns", name = "swagger-open", havingValue = "true") -public class SwaggerConfig{ - - @Bean - public Docket createRestApi() { - return new Docket(DocumentationType.SWAGGER_2) - .apiInfo(apiInfo()) - .select() - .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) //这里采用包含注解的方式来确定要显示的接口 - //.apis(RequestHandlerSelectors.basePackage("com.stylefeng.guns.controller.system.controller")) //这里采用包扫描的方式来确定要显示的接口 - .paths(PathSelectors.any()) - .build(); - } - - private ApiInfo apiInfo() { - return new ApiInfoBuilder() - .title("Guns Doc") - .description("Guns Api文档") - .termsOfServiceUrl("http://git.oschina.net/naan1993/guns") - .contact("stylefeng") - .version("2.0") - .build(); - } - -} diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/config/web/WebConfig.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/config/web/WebConfig.java index 0edb1a3..eb4c2ff 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/config/web/WebConfig.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/config/web/WebConfig.java @@ -190,18 +190,19 @@ urlPatterns.add("/*"); registrationBean.setUrlPatterns(urlPatterns); registrationBean.setOrder(2); - + registrationBean.addInitParameter("oncon.com.security.urls", "/**"); - registrationBean.addInitParameter("erp.si-tech.com.cn.noCheckUrl", "/index.html,/static/**"); + registrationBean.addInitParameter("erp.si-tech.com.cn.noCheckUrl", "/index.html,/static/**,/upload/**"); registrationBean.addInitParameter("erp.si-tech.com.cn.nologinstatus", "/*"); registrationBean.addInitParameter("erp.si-tech.com.cn.loginstatus", "/*"); registrationBean.addInitParameter("com.oncon.sso.urlparams.nologin", "code,code2"); - + registrationBean.addInitParameter("edu.yale.its.tp.cas.client.filter.loginUrl", "https://testsso1.teamshub.com/login"); registrationBean.addInitParameter("edu.yale.its.tp.cas.client.filter.validateUrl", "https://testsso1.teamshub.com/serviceValidate"); registrationBean.addInitParameter("com.oncon.md.loginUrl", "https://testsso1.teamshub.com/sso-session/login"); - registrationBean.addInitParameter("edu.yale.its.tp.cas.client.filter.serverName", "127.0.0.1:8010"); - + registrationBean.addInitParameter("edu.yale.its.tp.cas.client.filter.serverName", "https://traffic.qytzt.cn:443"); +// registrationBean.addInitParameter("edu.yale.its.tp.cas.client.filter.serverName", "http://127.0.0.1:8010"); + return registrationBean; } diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/code/controller/CodeController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/code/controller/CodeController.java index 725029b..63a792c 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/code/controller/CodeController.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/code/controller/CodeController.java @@ -6,7 +6,6 @@ import com.stylefeng.guns.generator.action.model.GenQo; import com.stylefeng.guns.modular.code.factory.DefaultTemplateFactory; import com.stylefeng.guns.modular.code.service.TableService; -import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -46,7 +45,6 @@ /** * 生成代码 */ - @ApiOperation("生成代码") @RequestMapping(value = "/generate", method = RequestMethod.POST) @ResponseBody public Object generate(GenQo genQo) { diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java index b6cd352..71c0f6e 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java @@ -1,7 +1,5 @@ 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.stylefeng.guns.core.beetl.ShiroExtUtil; @@ -20,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; +import javax.annotation.Resource; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; @@ -36,28 +35,28 @@ @Autowired private ITDriverService tDriverService; - + @Autowired private ITOrderTaxiService tOrderTaxiService; - + @Autowired private ITCarService tCarService; - + @Autowired private ITTaxiCardService taxiCardService; - - @Autowired - private RedisTemplate redisTemplate; - + + @Resource + private RedisTemplate<String, Object> redisTemplate; + @Autowired private IUserService userService; - + @Autowired private ITCompanyService tCompanyService; - + @Autowired private ITCarBrandService carBrandService; - + @Autowired private ITCarModelService carModelService; @@ -387,20 +386,22 @@ public Object getDriverPosition(Integer companyId){ Integer id = ShiroExtUtil.getUser().getId(); User user = userService.selectById(id); - if(companyId == null && user.getRoleType() != 1){ + if (companyId == null && user.getRoleType() != 1) { companyId = user.getObjectId(); } Wrapper<TDriver> ne = new EntityWrapper<TDriver>().eq("authState", 2).eq("state", 2).ne("flag", 3); - if(companyId != null){ + if (companyId != null) { ne.eq("companyId", companyId).or().eq("franchiseeId", companyId); } List<TDriver> tDrivers = tDriverService.selectList(ne); Map<String, Object> map = new HashMap<>(); List<Object> list = new ArrayList<>(); - for(TDriver tDriver : tDrivers){ + System.out.println(tDrivers.toString()); + for (TDriver tDriver : tDrivers) { Map<String, Object> d = new HashMap<>(); - String value = (String)redisTemplate.opsForValue().get("DRIVER" + tDriver.getId()); - if(ToolUtil.isEmpty(value)){ + String value = (String) redisTemplate.opsForValue().get("DRIVER" + tDriver.getId()); + System.out.println(value); + if (ToolUtil.isEmpty(value)) { continue; } d.put("driver", tDriver); diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/MerchantActivityController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/MerchantActivityController.java index 45d4d0f..285de65 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/MerchantActivityController.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/MerchantActivityController.java @@ -7,13 +7,14 @@ import com.stylefeng.guns.core.beetl.ShiroExtUtil; import com.stylefeng.guns.core.common.constant.factory.PageFactory; import com.stylefeng.guns.core.log.LogObjectHolder; -import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.core.util.ToolUtil; -import com.stylefeng.guns.modular.system.model.*; +import com.stylefeng.guns.modular.system.model.MerchantActivity; +import com.stylefeng.guns.modular.system.model.MerchantActivitySlave; +import com.stylefeng.guns.modular.system.model.User; +import com.stylefeng.guns.modular.system.model.UserMerchantCoupon; import com.stylefeng.guns.modular.system.response.MerchantActivityVo; import com.stylefeng.guns.modular.system.service.*; -import io.swagger.models.auth.In; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java index 1aa32fe..1b474fe 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java @@ -487,7 +487,7 @@ //调用中台接口创建企业 CheckEnterExist checkEnterExist = EnterpriseUtil.checkEnterNameExist(tCompany.getName()); if (null != checkEnterExist && "1".equals(checkEnterExist.getIsReg())) { - + EnterpriseUtil.delEnterprise(checkEnterExist.getEnterCode(), tCompany.getPrincipalPhone()); } tCompany.setFlag("3"); diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java index 4450170..f226d03 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TDriverController.java @@ -78,8 +78,8 @@ @Resource private DriverPunishMapper driverPunishMapper; - @Autowired - private RedisTemplate redisTemplate; + @Resource + private RedisTemplate<String, Object> redisTemplate; @Value("${pushMinistryOfTransport}") private boolean pushMinistryOfTransport; @@ -680,7 +680,7 @@ request.setLoginNo(tDriver.getPhone()); request.setEmpSex(tDriver.getSex() == 1 ? "男" : "女"); request.setMphone(tDriver.getPhone()); - request.setEmail("qyt@qyt.com"); + request.setEmail(tDriver.getPhone() + "@qyt.com"); request.setDeptId(0); request.setPositionId(1); request.setSuperLevel(0); @@ -780,7 +780,7 @@ request.setLoginNo(tDriver.getPhone()); request.setEmpSex(tDriver.getSex() == 1 ? "男" : "女"); request.setMphone(tDriver.getPhone()); - request.setEmail("qyt@qyt.com"); + request.setEmail(tDriver.getPhone() + "@qyt.com"); request.setDeptId(0); request.setPositionId(1); request.setSuperLevel(0); @@ -914,7 +914,7 @@ request.setLoginNo(tDriver.getPhone()); request.setEmpSex(tDriver.getSex() == 1 ? "男" : "女"); request.setMphone(tDriver.getPhone()); - request.setEmail("qyt@qyt.com"); + request.setEmail(tDriver.getPhone() + "@qyt.com"); request.setDeptId(0); request.setPositionId(1); request.setSuperLevel(0); @@ -1406,7 +1406,7 @@ saveStaffNodeRequest.setLoginNo(driver.getPhone()); saveStaffNodeRequest.setEmpSex(driver.getSex() == 1 ? "男" : "女"); saveStaffNodeRequest.setMphone(driver.getPhone()); - saveStaffNodeRequest.setEmail("qyt@qyt.com"); + saveStaffNodeRequest.setEmail(driver.getPhone() + "@qyt.com"); saveStaffNodeRequest.setDeptId(0); saveStaffNodeRequest.setPositionId(1); saveStaffNodeRequest.setSuperLevel(0); diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TSysReformistController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TSysReformistController.java index eabfa7b..b713127 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TSysReformistController.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TSysReformistController.java @@ -210,7 +210,7 @@ //拼车设置 SpellOrderRule spellOrderRule = spellOrderRuleService.selectOne(new EntityWrapper<SpellOrderRule>().eq("companyId", ShiroExtUtil.getUser().getObjectId())); - model.addAttribute("spellOrderRule", JSONObject.parseObject(spellOrderRule.getContent())); + model.addAttribute("spellOrderRule", null == spellOrderRule ? "" : JSONObject.parseObject(spellOrderRule.getContent())); //报警电话 TPhone phone1 = tPhoneService.selectOne(new EntityWrapper<TPhone>().eq("companyId", ShiroExtUtil.getUser().getObjectId()).eq("type", 1)); diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java index 322019b..b905dc2 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TVersionManagementController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; +import com.heredata.hos.model.bucket.Bucket; import com.stylefeng.guns.config.properties.GunsProperties; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.beetl.ShiroExtUtil; @@ -12,6 +13,8 @@ import com.stylefeng.guns.modular.system.model.TVersionManagement; import com.stylefeng.guns.modular.system.service.ITVersionManagementService; import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil; +import com.stylefeng.guns.modular.system.util.qianyuntong.NCOSSUtil; +import com.stylefeng.guns.modular.system.util.qianyuntong.QianYunTongProperties; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; @@ -20,7 +23,6 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; -import java.io.File; import java.util.Date; import java.util.HashMap; import java.util.Map; @@ -124,14 +126,29 @@ public Map<String, Object> saveApk(@RequestPart("myfile") MultipartFile myfile, HttpServletRequest request) { Map<String, Object> m = new HashMap<>(); try { - String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(myfile.getOriginalFilename()); - try { - String fileSavePath = gunsProperties.getFileUploadPath() + "apk\\"; - myfile.transferTo(new File(fileSavePath + pictureName)); - } catch (Exception e) { - e.printStackTrace(); - } - m.put("imgUrl", gunsProperties.getPictureServerAddress() + "apk/" + pictureName); + String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(myfile.getOriginalFilename()); + String bucketName = QianYunTongProperties.bucketName; + Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName); + if (null == grjyTest) { + //创建桶 + Boolean bucket = NCOSSUtil.createBucket(bucketName); + if (!bucket) { + throw new RuntimeException("创建存储桶失败"); + } + //设置桶策略 + String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}"; + Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText); + if (!bucketPolicy) { + throw new RuntimeException("设置桶策略失败"); + } + } + //上传对象 + String key = "apk/" + pictureName; + String object = NCOSSUtil.putObject(bucketName, key, myfile.getInputStream()); + if (null == object) { + throw new RuntimeException("上传图片失败"); + } + m.put("imgUrl", "https://traffic.qytzt.cn/v1/AUTH_" + QianYunTongProperties.account + "/" + bucketName + "/" + key); } catch (Exception e) { e.printStackTrace(); } diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java index b2ddd2f..791e5c2 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java @@ -1,13 +1,11 @@ package com.stylefeng.guns.modular.system.controller.specialTrain; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.beetl.ShiroExtUtil; import com.stylefeng.guns.core.common.constant.factory.PageFactory; -import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.shiro.ShiroUser; import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.core.util.ToolUtil; @@ -24,18 +22,20 @@ import org.apache.commons.lang.time.DateFormatUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; import java.math.BigDecimal; -import java.util.*; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * 跨城出行订单控制器 @@ -54,21 +54,22 @@ @Autowired private ITServerCarmodelService tServerCarmodelService; - + @Autowired private ITLineService itLineService; - + @Autowired private ITOrderPositionService tOrderPositionService; - + private ResultUtil resultUtil; - + @Autowired private ITUserService userService; - - @Value("${filePath}") - private String filePath; - + + @Resource + private MongoTemplate mongoTemplate; + + /** * 跳转到跨城出行订单首页 */ @@ -76,7 +77,7 @@ public String index(Model model) { //服务快车车型 List<TServerCarmodel> carmodelList = tServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 2).eq("state", 1)); - model.addAttribute("carmodelList",carmodelList); + model.addAttribute("carmodelList", carmodelList); //线路 List<TLine> lineList = itLineService.selectList(new EntityWrapper<TLine>().last(" where not FIND_IN_SET(state,'3')")); model.addAttribute("lineList",lineList); @@ -112,25 +113,11 @@ public ResultUtil getOrderTrack(String orderDetailId){ if(ToolUtil.isNotEmpty(orderDetailId)){ try { - //将数据存储到文件中 - File file = new File(filePath + orderDetailId + "_3.txt"); - if(!file.exists()){ - return ResultUtil.success(new ArrayList<>()); - } - //读取文件(字符流) - BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8")); - //循环取出数据 - String str = null; - StringBuffer sb = new StringBuffer(); - while ((str = in.readLine()) != null) { - sb.append(str); - } - List<TOrderPosition> list = JSONArray.parseArray(sb.toString(), TOrderPosition.class); -// List<TOrderPosition> list = tOrderPositionService.selectList(new EntityWrapper<TOrderPosition>().eq("orderType", 3).eq("orderId", orderDetailId).orderBy("insertTime")); - /*if(list.size() == 0){ - return ResultUtil.error("该订单没有运行轨迹"); - }*/ - resultUtil = ResultUtil.success(list); + Query query = new Query() + .addCriteria(Criteria.where("orderId").is(orderDetailId).and("orderType").is(3)) + .with(new Sort(Sort.Direction.ASC, "insertTime")); + List<TOrderPosition> positions = mongoTemplate.find(query, TOrderPosition.class); + resultUtil = ResultUtil.success(positions); }catch (Exception e){ e.printStackTrace(); resultUtil = ResultUtil.runErr(); diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java index ee9dfd7..3b5918f 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java @@ -1,13 +1,11 @@ package com.stylefeng.guns.modular.system.controller.specialTrain; -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.base.controller.BaseController; import com.stylefeng.guns.core.beetl.ShiroExtUtil; import com.stylefeng.guns.core.common.constant.factory.PageFactory; -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.core.util.ToolUtil; @@ -20,15 +18,15 @@ import com.stylefeng.guns.modular.system.util.ResultUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; import java.util.*; /** @@ -57,23 +55,21 @@ @Autowired private ITDriverService tDriverService; - + @Autowired private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; @Autowired private ITUserService userService; @Resource private OrderCancelMapper orderCancelMapper; - + @Value("${pushMinistryOfTransport}") private boolean pushMinistryOfTransport; - - @Value("${filePath}") - private String filePath; - - - - + + @Resource + private MongoTemplate mongoTemplate; + + /** * 跳转到快车订单首页 */ @@ -81,7 +77,7 @@ public String index(Model model) { //服务快车车型 List<TServerCarmodel> carmodelList = tServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 1).eq("state", 1)); - model.addAttribute("carmodelList",carmodelList); + model.addAttribute("carmodelList", carmodelList); return PREFIX + "tOrderPrivateCar.html"; } @@ -154,25 +150,11 @@ public ResultUtil getOrderTrack(String orderDetailId){ if(ToolUtil.isNotEmpty(orderDetailId)){ try { -// List<TOrderPosition> list = tOrderPositionService.selectList(new EntityWrapper<TOrderPosition>().eq("orderType", 1).eq("orderId", orderDetailId).orderBy("insertTime")); - /*if(list.size() == 0){ - return ResultUtil.error("该订单没有运行轨迹"); - }*/ - //将数据存储到文件中 - File file = new File(filePath + orderDetailId + "_1.txt"); - if(!file.exists()){ - return ResultUtil.success(new ArrayList<>()); - } - //读取文件(字符流) - BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8")); - //循环取出数据 - String str = null; - StringBuffer sb = new StringBuffer(); - while ((str = in.readLine()) != null) { - sb.append(str); - } - List<TOrderPosition> list = JSONArray.parseArray(sb.toString(), TOrderPosition.class); - resultUtil = ResultUtil.success(list); + Query query = new Query() + .addCriteria(Criteria.where("orderId").is(orderDetailId).and("orderType").is(1)) + .with(new Sort(Sort.Direction.ASC, "insertTime")); + List<TOrderPosition> positions = mongoTemplate.find(query, TOrderPosition.class); + resultUtil = ResultUtil.success(positions); }catch (Exception e){ e.printStackTrace(); resultUtil = ResultUtil.runErr(); diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java index 0b10940..c11c3fe 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java @@ -45,7 +45,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import static com.stylefeng.guns.core.support.HttpKit.getIp; @@ -66,8 +65,8 @@ @Autowired private IUserService userService; - @Autowired - private RedisTemplate redisTemplate; + @Resource + private RedisTemplate<String, Object> redisTemplate; @Autowired private IShiro shiro; @@ -130,6 +129,7 @@ */ @RequestMapping(value = "/logout", method = RequestMethod.GET) public String logOut() { +// redisTemplate.delete(""); HttpUtil.get("https://testsso1.teamshub.com/logout?logouturl=https%3A%2F%2Fsso.teamshub.com%2Flogout%3F%0Alogoutat%3Dhttp%253A%252F%252F127.0.0.1%253A8010%252F"); return REDIRECT + "/"; } diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UediterController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UediterController.java index 147e1d5..1b5d6dd 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UediterController.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UediterController.java @@ -1,8 +1,11 @@ package com.stylefeng.guns.modular.system.controller.system; import com.alibaba.fastjson.JSON; +import com.heredata.hos.model.bucket.Bucket; import com.stylefeng.guns.config.properties.GunsProperties; import com.stylefeng.guns.core.util.ToolUtil; +import com.stylefeng.guns.modular.system.util.qianyuntong.NCOSSUtil; +import com.stylefeng.guns.modular.system.util.qianyuntong.QianYunTongProperties; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -12,7 +15,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.File; import java.util.UUID; @Controller @@ -107,17 +109,31 @@ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile picture = multipartRequest.getFile("upfile"); String callback = request.getParameter("callback"); - String pictureName = ""; try { - - String fileName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(picture.getOriginalFilename()); - try { - String fileSavePath = gunsProperties.getFileUploadPath() + "img\\"; - picture.transferTo(new File(fileSavePath + fileName)); - } catch (Exception e) { - e.printStackTrace(); + String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(picture.getOriginalFilename()); + String bucketName = QianYunTongProperties.bucketName; + Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName); + if (null == grjyTest) { + //创建桶 + Boolean bucket = NCOSSUtil.createBucket(bucketName); + if (!bucket) { + throw new RuntimeException("创建存储桶失败"); + } + //设置桶策略 + String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}"; + Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText); + if (!bucketPolicy) { + throw new RuntimeException("设置桶策略失败"); + } } - pictureName = gunsProperties.getPictureServerAddress() + "img/" + fileName; + //上传对象 + String key = "imgs/management/" + pictureName; + String object = NCOSSUtil.putObject(bucketName, key, picture.getInputStream()); + if (null == object) { + throw new RuntimeException("上传图片失败"); + } + + pictureName = "https://traffic.qytzt.cn/v1/AUTH_" + QianYunTongProperties.account + "/" + bucketName + "/" + key; //文件上传,具体根据实际替换 diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java index 9c7bff6..727847e 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java @@ -213,7 +213,7 @@ request1.setLoginNo(user.getAccount()); request1.setEmpSex(user.getSex() == 1 ? "男" : "女"); request1.setMphone(user.getPhone()); - request1.setEmail("qyt@qyt.com"); + request1.setEmail(user.getPhone() + "@qyt.com"); request1.setDeptId(0); request1.setPositionId(1); request1.setSuperLevel(0); @@ -255,7 +255,7 @@ TCompany tCompany = companyService.selectById(user2.getObjectId()); //调用中台接口 GetStaffNodeRequest request = new GetStaffNodeRequest(); - request.setEmpId(oldUser.getEnterId()); + request.setEmpId(oldUser.getEmpId()); request.setMobile(user2.getPhone()); request.setEntercode(tCompany.getEnterCode()); StaffNodeInfo staffNode = EmployeeUtil.getStaffNode(request); @@ -269,7 +269,7 @@ request1.setLoginNo(user.getAccount()); request1.setEmpSex(user.getSex() == 1 ? "男" : "女"); request1.setMphone(user.getPhone()); - request1.setEmail("qyt@qyt.com"); + request1.setEmail(user.getPhone() + "@qyt.com"); request1.setDeptId(0); request1.setPositionId(1); request1.setSuperLevel(0); @@ -287,7 +287,7 @@ request1.setLoginNo(user.getAccount()); request1.setEmpSex(user.getSex() == 1 ? "男" : "女"); request1.setMphone(user.getPhone()); - request1.setEmail("qyt@qyt.com"); + request1.setEmail(user.getPhone() + "@qyt.com"); request1.setDeptId(0); request1.setPositionId(1); request1.setSuperLevel(0); @@ -336,7 +336,7 @@ TCompany tCompany = companyService.selectById(user2.getObjectId()); //调用中台接口 GetStaffNodeRequest request = new GetStaffNodeRequest(); - request.setEmpId(user.getEnterId()); + request.setEmpId(user.getEmpId()); request.setMobile(user2.getPhone()); request.setEntercode(tCompany.getEnterCode()); StaffNodeInfo staffNode = EmployeeUtil.getStaffNode(request); diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/taxi/TOrderTaxiController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/taxi/TOrderTaxiController.java index 83a0465..8bb5fa4 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/taxi/TOrderTaxiController.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/taxi/TOrderTaxiController.java @@ -1,6 +1,5 @@ package com.stylefeng.guns.modular.system.controller.taxi; -import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.base.controller.BaseController; @@ -20,15 +19,15 @@ import com.stylefeng.guns.modular.system.util.ResultUtil; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; +import javax.annotation.Resource; import java.util.*; /** @@ -40,27 +39,28 @@ @Controller @RequestMapping("/tOrderTaxi") public class TOrderTaxiController extends BaseController { - + private String PREFIX = "/system/tOrderTaxi/"; - + @Autowired private ITOrderTaxiService tOrderTaxiService; - + @Autowired private ITOrderPrivateCarService tOrderPrivateCarService; - + @Autowired private ITOrderPositionService tOrderPositionService; - + @Autowired private ITDriverService tDriverService; - + @Autowired private ITUserService userService; - - @Value("${filePath}") - private String filePath; - + + @Resource + private MongoTemplate mongoTemplate; + + /** * 跳转到出租车订单首页 */ @@ -68,7 +68,7 @@ public String index() { return PREFIX + "tOrderTaxi.html"; } - + /** * 跳转到添加出租车订单 */ @@ -76,7 +76,7 @@ public String tOrderTaxiAdd() { return PREFIX + "tOrderTaxi_add.html"; } - + /** * 跳转到修改出租车订单 */ @@ -179,25 +179,11 @@ public ResultUtil getOrderTrack(String orderDetailId) { if (ToolUtil.isNotEmpty(orderDetailId)) { try { -// List<TOrderPosition> list = tOrderPositionService.selectList(new EntityWrapper<TOrderPosition>().eq("orderType", 2).eq("orderId", orderDetailId).orderBy("insertTime")); - /*if(list.size() == 0){ - return ResultUtil.error("该订单没有运行轨迹"); - }*/ - //将数据存储到文件中 - File file = new File(filePath + orderDetailId + "_2.txt"); - if (!file.exists()) { - return ResultUtil.success(new ArrayList<>()); - } - //读取文件(字符流) - BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8")); - //循环取出数据 - String str = null; - StringBuffer sb = new StringBuffer(); - while ((str = in.readLine()) != null) { - sb.append(str); - } - List<TOrderPosition> list = JSONArray.parseArray(sb.toString(), TOrderPosition.class); - resultUtil = ResultUtil.success(list); + Query query = new Query() + .addCriteria(Criteria.where("orderId").is(orderDetailId).and("orderType").is(2)) + .with(new Sort(Sort.Direction.ASC, "insertTime")); + List<TOrderPosition> positions = mongoTemplate.find(query, TOrderPosition.class); + resultUtil = ResultUtil.success(positions); } catch (Exception e) { e.printStackTrace(); resultUtil = ResultUtil.runErr(); diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java index b0a0d29..34e402f 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java @@ -1,11 +1,14 @@ package com.stylefeng.guns.modular.system.controller.util; +import com.heredata.hos.model.bucket.Bucket; import com.stylefeng.guns.config.properties.GunsProperties; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.common.exception.BizExceptionEnum; import com.stylefeng.guns.core.exception.GunsException; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.service.ITImgMidService; +import com.stylefeng.guns.modular.system.util.qianyuntong.NCOSSUtil; +import com.stylefeng.guns.modular.system.util.qianyuntong.QianYunTongProperties; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -18,7 +21,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import java.io.File; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -66,14 +68,30 @@ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile file = (MultipartFile) multipartRequest.getFile("myfile"); if (file.getSize() != 0) { - String fileName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(file.getOriginalFilename()); - try { - String fileSavePath = gunsProperties.getFileUploadPath() + "img\\"; - file.transferTo(new File(fileSavePath + fileName)); - } catch (Exception e) { - e.printStackTrace(); + String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(file.getOriginalFilename()); + String bucketName = QianYunTongProperties.bucketName; + Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName); + if (null == grjyTest) { + //创建桶 + Boolean bucket = NCOSSUtil.createBucket(bucketName); + if (!bucket) { + throw new RuntimeException("创建存储桶失败"); + } + //设置桶策略 + String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}"; + Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText); + if (!bucketPolicy) { + throw new RuntimeException("设置桶策略失败"); + } } - ossUpload = gunsProperties.getPictureServerAddress() + "img/" + fileName; + //上传对象 + String key = "imgs/management/" + pictureName; + String object = NCOSSUtil.putObject(bucketName, key, file.getInputStream()); + if (null == object) { + throw new RuntimeException("上传图片失败"); + } + + ossUpload = "https://traffic.qytzt.cn/v1/AUTH_" + QianYunTongProperties.account + "/" + bucketName + "/" + key; // ossUpload = OssUploadUtil.ossUpload(request, file); @@ -89,21 +107,37 @@ private ITImgMidService itImgMidService; - @RequestMapping("/image1") + @RequestMapping("/image") @ResponseBody public String image1(@RequestPart("file") MultipartFile picture, HttpServletRequest request) { try { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile file = (MultipartFile) picture; - String fileName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(file.getOriginalFilename()); - try { - String fileSavePath = gunsProperties.getFileUploadPath() + "img\\"; - file.transferTo(new File(fileSavePath + fileName)); - } catch (Exception e) { - e.printStackTrace(); + String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(file.getOriginalFilename()); + String bucketName = QianYunTongProperties.bucketName; + Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName); + if (null == grjyTest) { + //创建桶 + Boolean bucket = NCOSSUtil.createBucket(bucketName); + if (!bucket) { + throw new RuntimeException("创建存储桶失败"); + } + //设置桶策略 + String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}"; + Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText); + if (!bucketPolicy) { + throw new RuntimeException("设置桶策略失败"); + } } - String pictureName = gunsProperties.getPictureServerAddress() + "img/" + fileName; + //上传对象 + String key = "imgs/management/" + pictureName; + String object = NCOSSUtil.putObject(bucketName, key, file.getInputStream()); + if (null == object) { + throw new RuntimeException("上传图片失败"); + } + + pictureName = "https://traffic.qytzt.cn/v1/AUTH_" + QianYunTongProperties.account + "/" + bucketName + "/" + key; // String pictureName = OssUploadUtil.ossUpload(request, file); System.out.println("mediaResp"); @@ -126,10 +160,29 @@ String suffix = picture.getOriginalFilename().substring(picture.getOriginalFilename().lastIndexOf(".")); String pictureName = UUID.randomUUID().toString() + suffix; try { - // 文件目录路径 - String fileSavePath = gunsProperties.getFileUploadPath(); - File file = new File(fileSavePath + pictureName); - picture.transferTo(file); + String bucketName = QianYunTongProperties.bucketName; + Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName); + if (null == grjyTest) { + //创建桶 + Boolean bucket = NCOSSUtil.createBucket(bucketName); + if (!bucket) { + throw new RuntimeException("创建存储桶失败"); + } + //设置桶策略 + String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}"; + Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText); + if (!bucketPolicy) { + throw new RuntimeException("设置桶策略失败"); + } + } + //上传对象 + String key = "file/management/" + pictureName; + String object = NCOSSUtil.putObject(bucketName, key, picture.getInputStream()); + if (null == object) { + throw new RuntimeException("上传图片失败"); + } + + pictureName = "https://traffic.qytzt.cn/v1/AUTH_" + QianYunTongProperties.account + "/" + bucketName + "/" + key; } catch (Exception e) { log.error(e.getMessage(), e); throw new GunsException(BizExceptionEnum.UPLOAD_ERROR); @@ -145,14 +198,30 @@ String callback = request.getParameter("callback"); try { // 上传文件目录 - String fileName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(picture.getOriginalFilename()); - try { - String fileSavePath = gunsProperties.getFileUploadPath() + "img\\"; - picture.transferTo(new File(fileSavePath + fileName)); - } catch (Exception e) { - e.printStackTrace(); + String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(picture.getOriginalFilename()); + String bucketName = QianYunTongProperties.bucketName; + Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName); + if (null == grjyTest) { + //创建桶 + Boolean bucket = NCOSSUtil.createBucket(bucketName); + if (!bucket) { + throw new RuntimeException("创建存储桶失败"); + } + //设置桶策略 + String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}"; + Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText); + if (!bucketPolicy) { + throw new RuntimeException("设置桶策略失败"); + } } - String pictureName = gunsProperties.getPictureServerAddress() + "img/" + fileName; + //上传对象 + String key = "imgs/management/" + pictureName; + String object = NCOSSUtil.putObject(bucketName, key, picture.getInputStream()); + if (null == object) { + throw new RuntimeException("上传图片失败"); + } + + pictureName = "https://traffic.qytzt.cn/v1/AUTH_" + QianYunTongProperties.account + "/" + bucketName + "/" + key; // pictureName = OssUploadUtil.ossUpload(super.getHttpServletRequest(), picture); String result = "{'original': '" + picture.getOriginalFilename() + "', 'state': 'SUCCESS', 'url': '" + pictureName + "'}"; diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCarModel.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCarModel.java index 32f27a6..3ad7e8b 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCarModel.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCarModel.java @@ -1,15 +1,14 @@ package com.stylefeng.guns.modular.system.model; -import com.baomidou.mybatisplus.annotations.TableField; -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; -import io.swagger.models.auth.In; +import com.baomidou.mybatisplus.enums.IdType; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * <p> diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderPosition.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderPosition.java index 43cdeec..4a644b6 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderPosition.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderPosition.java @@ -1,11 +1,10 @@ package com.stylefeng.guns.modular.system.model; -import com.baomidou.mybatisplus.enums.IdType; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.data.mongodb.core.mapping.Document; + 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> @@ -15,15 +14,11 @@ * @author 吕雪 * @since 2020-06-08 */ -@TableName("t_order_position") -public class TOrderPosition extends Model<TOrderPosition> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Integer id; +@Data +@Document(collection = "order_position") +public class TOrderPosition { /** - * 订单类型(1=快车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=包车) + * 订单类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=包车) */ private Integer orderType; /** @@ -43,82 +38,16 @@ */ private String lat; /** + * 方向角 + */ + private String directionAngle; + /** + * 海拔 + */ + private String altitude; + /** * 添加时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date insertTime; - - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - 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 Integer getDriverId() { - return driverId; - } - - public void setDriverId(Integer driverId) { - this.driverId = driverId; - } - - public String getLon() { - return lon; - } - - public void setLon(String lon) { - this.lon = lon; - } - - public String getLat() { - return lat; - } - - public void setLat(String lat) { - this.lat = lat; - } - - public Date getInsertTime() { - return insertTime; - } - - public void setInsertTime(Date insertTime) { - this.insertTime = insertTime; - } - - @Override - protected Serializable pkVal() { - return this.id; - } - - @Override - public String toString() { - return "TOrderPosition{" + - "id=" + id + - ", orderType=" + orderType + - ", orderId=" + orderId + - ", driverId=" + driverId + - ", lon=" + lon + - ", lat=" + lat + - ", insertTime=" + insertTime + - "}"; - } } diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserBankAccount.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserBankAccount.java index 667e2ff..84efeb8 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserBankAccount.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserBankAccount.java @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.enums.IdType; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.ToString; @@ -20,71 +19,54 @@ @TableId(value = "id", type = IdType.AUTO) @TableField("id") - @ApiModelProperty(value = "用户ID") private Integer id; @TableField("userId") - @ApiModelProperty(value = "用户ID") private Integer userId; @TableField("userType") - @ApiModelProperty(value = "用户类型 1用户 2司机") private Integer userType; @TableField("bankName") - @ApiModelProperty(value = "银行名称(选择银行)") private String bankName; @TableField("bankCardCode") - @ApiModelProperty(value = "银行卡号") private String bankCardCode; @TableField("bankCode") - @ApiModelProperty(value = "开户银行编码") private String bankCode; @TableField("bankBranchCode") - @ApiModelProperty(value = "开户银行联行号") private String bankBranchCode; @TableField("openAccountName") - @ApiModelProperty(value = "开户名称") private String openAccountName; @TableField("phone") - @ApiModelProperty(value = "手机号") private String phone; @TableField("status") - @ApiModelProperty(value = "状态 1未删除 0已删除") private Boolean status; @TableField("createTime") - @ApiModelProperty(value = "创建时间") private String createTime; @TableField("verifyStatus") - @ApiModelProperty(value = "账户验证状态 processing: 验证中 succeeded: 验证成功 failed: 验证失败 needless: 无需验证 blocked: 验证锁定中") private String verifyStatus; @TableField("bankAcctType") - @ApiModelProperty(value = "1 - 对私银行卡 2 - 对公银行账户") private String bankAcctType; @TableField("settleAcctId") - @ApiModelProperty(value = "绑定账户编号") private String settleAcctId; @TableField("outRequestNo") - @ApiModelProperty(value = "平台订单号") private String outRequestNo; @TableField("acctValidationFinishedAt") - @ApiModelProperty(value = "账户验证的成功或失败时间") private String acctValidationFinishedAt; @TableField("acctValidationFailureMsg") - @ApiModelProperty(value = "账户验证失败原因") private String acctValidationFailureMsg; } diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserWithdrawal.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserWithdrawal.java index 6d1d1e3..851c266 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserWithdrawal.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserWithdrawal.java @@ -5,8 +5,6 @@ import com.baomidou.mybatisplus.annotations.TableLogic; import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.enums.IdType; -import com.stylefeng.guns.core.support.DateTime; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.ToString; @@ -25,141 +23,107 @@ private Integer id; @TableField("userId") - @ApiModelProperty(value = "用户ID") private Integer userId; @TableField("userType") - @ApiModelProperty(value = "用户类型 1用户 2司机") private Integer userType; @TableField("certificateName") - @ApiModelProperty(value = "证件姓名") private String certificateName; @TableField("certificateType") - @ApiModelProperty(value = "证件类型 1中国大陆居民-身份证、2其他国家或地区居民-护照、3-中国香港居民–来往内地通行证、4中国澳门居民– 来往内地通行证、5中国台湾居民– 来往大陆通行证") private Integer certificateType; @TableField("certificateCode") - @ApiModelProperty(value = "证件号码") private String certificateCode; @TableField("certificateExpireTime") - @ApiModelProperty(value = "证件有效期") private String certificateExpireTime; @TableField("licenceIssuingAuthority") - @ApiModelProperty(value = "发证机关") private String licenceIssuingAuthority; @TableField("bankName") - @ApiModelProperty(value = "银行名称(选择银行)") private String bankName; @TableField("bankCardCode") - @ApiModelProperty(value = "银行卡号") private String bankCardCode; @TableField("openAccountName") - @ApiModelProperty(value = "开户名称") private String openAccountName; @TableField("transactionAuthorizationCode") - @ApiModelProperty(value = "交易授权码") private String transactionAuthorizationCode; @TableField("phone") - @ApiModelProperty(value = "手机号") private String phone; @TableField("idCardFrontPicture") - @ApiModelProperty(value = "法人身份证照片正面") private String idCardFrontPicture; @TableField("idCardReversePicture") - @ApiModelProperty(value = "法人身份证照片反面") private String idCardReversePicture; /*@TableField("isAudit") - @ApiModelProperty(value = "是否审核通过 1待审核 2审核通过 3审核失败 暂时不使用") private Integer isAudit;*/ @TableField("applicationStatus") - @ApiModelProperty(value = "进件状态") private String applicationStatus; @TableField("cusId") - @ApiModelProperty(value = "个人用户id") private String cusId; @TableField("succeededAt") - @ApiModelProperty(value = "申请通过时间") private Date succeededAt; @TableField("failureMsgsReason") - @ApiModelProperty(value = "申请失败原因") private String failureMsgsReason; @TableField("relAcctNo") - @ApiModelProperty(value = "电子账簿账簿号") private String relAcctNo; @TableField("bindAcctName") - @ApiModelProperty(value = "银行生成的户名") private String bindAcctName; @TableField("balanceAcctId") - @ApiModelProperty(value = "电子账簿 ID") private String balanceAcctId; @TableField("settleAcctId") - @ApiModelProperty(value = "绑定账户 ID") private String settleAcctId; @TableField("outRequestNo") - @ApiModelProperty(value = "平台订单号") private String outRequestNo; @TableField("cusApplicationId") - @ApiModelProperty(value = "系统订单号") private String cusApplicationId; @TableField("status") @TableLogic - @ApiModelProperty(value = "法人身份证照片反面") private Boolean status; @TableField("createTime") - @ApiModelProperty(value = "创建时间") private Date createTime; /* @TableField("companyId") - @ApiModelProperty(value = "分公司ID") private Integer companyId; @TableField("enterpriseType") - @ApiModelProperty(value = "企业类型 1企业 2个体工商户") private Integer enterpriseType; @TableField("merchantAbbreviation") - @ApiModelProperty(value = "商户简称") private String merchantAbbreviation; @TableField("businessLicense") - @ApiModelProperty(value = "营业执照") private String businessLicense; @TableField("businessLicenseCode") - @ApiModelProperty(value = "营业执照注册号") private String businessLicenseCode; @TableField("businessLicenseCompanyName") - @ApiModelProperty(value = "营业执照公司名称") private String businessLicenseCompanyName; @TableField("businessLicenseAddress") - @ApiModelProperty(value = "营业执照注册地址") private String businessLicenseAddress; @TableField("businessExpireTime") diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java index 049d3c9..1fb1a7a 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushURL.java @@ -1,14 +1,14 @@ package com.stylefeng.guns.modular.system.util; public class PushURL { - public static String zull_user_url = "https://zhentonggongsi.com:443"; - public static String order_push_url = zull_user_url + "/driver/base/order/pushOrderState"; - public static String driver_auth_url = zull_user_url + "/driver/base/driver/sendsms"; - public static String withdraw_auth_url = zull_user_url + "/driver/base/withdrawal/withdrawalAudit"; - public static String cancel_order_url = zull_user_url + "/user/base/order/sendOrderState"; - public static String freeze_user_url = zull_user_url + "/user/base/user/freeze"; - public static String send_sms_code = zull_user_url + "/user/base/queryCaptcha"; - public static String push_order = zull_user_url + "/user/base/taxi/pushOrder"; + public static String zull_user_url = "https://traffic.qytzt.cn"; + public static String order_push_url = zull_user_url + "/driver/base/order/pushOrderState"; + public static String driver_auth_url = zull_user_url + "/driver/base/driver/sendsms"; + public static String withdraw_auth_url = zull_user_url + "/driver/base/withdrawal/withdrawalAudit"; + public static String cancel_order_url = zull_user_url + "/user/base/order/sendOrderState"; + public static String freeze_user_url = zull_user_url + "/user/base/user/freeze"; + public static String send_sms_code = zull_user_url + "/user/base/queryCaptcha"; + public static String push_order = zull_user_url + "/user/base/taxi/pushOrder"; 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"; } diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/EmployeeUtil.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/EmployeeUtil.java index 2366416..60c54be 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/EmployeeUtil.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/EmployeeUtil.java @@ -64,7 +64,7 @@ log.error("【企业增加员工】失败:" + object.toJSONString()); throw new RuntimeException("【企业增加员工】失败:" + object.toJSONString()); } - SaveStaffNode saveStaffNode = jsonObject.getObject("object", SaveStaffNode.class); + SaveStaffNode saveStaffNode = jsonObject.getObject("data", SaveStaffNode.class); return saveStaffNode; } @@ -193,13 +193,13 @@ String retCode = jsonObject.getString("retCode"); if (!"0".equals(retCode)) { log.error("【根据员工ID获取人员信息】请求失败:" + result); - throw new RuntimeException("【根据员工ID获取人员信息】请求失败:" + result); + return null; } JSONObject object = jsonObject.getJSONObject("object"); String status = object.getString("status"); if (!"0".equals(status)) { log.error("【根据员工ID获取人员信息】失败:" + object.toJSONString()); - throw new RuntimeException("【根据员工ID获取人员信息】失败:" + object.toJSONString()); + return null; } StaffNodeInfo staffNodeInfo = object.getObject("data", StaffNodeInfo.class); return staffNodeInfo; diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/EnterpriseUtil.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/EnterpriseUtil.java index bdc9694..f8e6bb4 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/EnterpriseUtil.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/EnterpriseUtil.java @@ -58,13 +58,13 @@ String retCode = jsonObject.getString("retCode"); if (!"0".equals(retCode)) { log.error("【根据社会信用代码判断企业是否已存在】请求失败:" + result); - throw new RuntimeException("【根据社会信用代码判断企业是否已存在】请求失败:" + result); + return null; } JSONObject object = jsonObject.getJSONObject("object"); String status = object.getString("status"); if (!"0".equals(status)) { log.error("【根据社会信用代码判断企业是否已存在】失败:" + object.toJSONString()); - throw new RuntimeException("【根据社会信用代码判断企业是否已存在】失败:" + object.toJSONString()); + return null; } return jsonObject.getObject("object", CheckEnterExist.class); } @@ -104,13 +104,13 @@ String retCode = jsonObject.getString("retCode"); if (!"0".equals(retCode)) { log.error("【根据企业名称判断企业是否已存在】请求失败:" + result); - throw new RuntimeException("【根据企业名称判断企业是否已存在】请求失败:" + result); + return null; } JSONObject object = jsonObject.getJSONObject("object"); String status = object.getString("status"); if (!"0".equals(status)) { log.error("【根据企业名称判断企业是否已存在】失败:" + object.toJSONString()); - throw new RuntimeException("【根据企业名称判断企业是否已存在】失败:" + object.toJSONString()); + return null; } return jsonObject.getObject("object", CheckEnterExist.class); } @@ -150,13 +150,13 @@ String retCode = jsonObject.getString("retCode"); if (!"0".equals(retCode)) { log.error("【查询企业详情】请求失败:" + result); - throw new RuntimeException("【查询企业详情】请求失败:" + result); + return null; } JSONObject object = jsonObject.getJSONObject("object"); String status = object.getString("status"); if (!"0".equals(status)) { log.error("【查询企业详情】失败:" + object.toJSONString()); - throw new RuntimeException("【查询企业详情】失败:" + object.toJSONString()); + return null; } EnterpriseInfo enterpriseInfo = jsonObject.getObject("object", EnterpriseInfo.class); return enterpriseInfo; @@ -194,10 +194,10 @@ String result = OpenApiClient.sendCommonHttpRequst(url, headers, "GET", skprivateKeyFile, timeStamp, map); log.info("【修改企业基本信息】请求结果:" + result); JSONObject jsonObject = JSON.parseObject(result); - String status = jsonObject.getString("status"); + String status = jsonObject.getString("retCode"); if (!"0".equals(status)) { log.error("【修改企业基本信息】请求失败:" + result); - return false; + throw new RuntimeException("【修改企业基本信息】请求失败:" + result); } return true; } @@ -216,7 +216,6 @@ String skprivateKeyFile = QianYunTongProperties.privateKeyPath; //注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密 String appKey = QianYunTongProperties.appkey;//appkey - String content = "";//业务参数 Map<String, String> headers = new HashMap<>(); headers.put("Content-Type", "application/json"); Map<String, Object> map = new HashMap<String, Object>(); @@ -239,14 +238,62 @@ String retCode = jsonObject.getString("retCode"); if (!"0".equals(retCode)) { log.error("【创建企业】请求失败:" + result); - return null; + throw new RuntimeException("【创建企业】请求失败:" + result); } JSONObject object = jsonObject.getJSONObject("object"); String status = object.getString("status"); if (!"0".equals(status)) { - log.error("【创建企业】请求失败:" + result); - return null; + log.error("【创建企业】请求失败:" + object.toJSONString()); + throw new RuntimeException("【创建企业】请求失败:" + object.toJSONString()); } return object.getObject("data", CreateEnterprise.class); } + + + /** + * 删除企业信息 + * + * @param enterNum 企业编号 + * @param operator 管理员手机号码 + * @return + */ + public static boolean delEnterprise(String enterNum, String operator) { + //请求路径 + String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/delCompany"; + //私钥文件 + String skprivateKeyFile = QianYunTongProperties.privateKeyPath; + //注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密 + String appKey = QianYunTongProperties.appkey;//appkey + Map<String, String> headers = new HashMap<>(); + headers.put("Content-Type", "application/json"); + Map<String, Object> map = new HashMap<String, Object>(); + Date nowdate = new Date(); + SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmmss"); + + String timeStamp = date.format(nowdate); + String messageId = UUID.randomUUID().toString().replaceAll("-", ""); + map.put(SystemParameterNames.getAppKey(), appKey); + map.put(SystemParameterNames.getMessage_id(), messageId); + map.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName); + map.put(SystemParameterNames.getStatus(), QianYunTongProperties.status); + map.put("content", "{\"enterNum\":\"" + enterNum + "\",\"operator\":\"" + operator + "\"}"); + + log.info("【删除企业信息】请求地址:" + url); + log.info("【删除企业信息】请求参数:" + JSON.toJSONString(map)); + String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, map); + log.info("【删除企业信息】请求结果:" + result); + JSONObject jsonObject = JSON.parseObject(result); + String retCode = jsonObject.getString("retCode"); + if (!"0".equals(retCode)) { + log.error("【删除企业信息】请求失败:" + result); + throw new RuntimeException("【删除企业信息】请求失败:" + result); + } + JSONObject object = jsonObject.getJSONObject("object"); + String status = object.getString("status"); + if (!"0".equals(status)) { + log.error("【删除企业信息】请求失败:" + object.toJSONString()); + throw new RuntimeException("【删除企业信息】请求失败:" + object.toJSONString()); + } + return true; + } } diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/NCOSSUtil.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/NCOSSUtil.java new file mode 100644 index 0000000..8f25e90 --- /dev/null +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/NCOSSUtil.java @@ -0,0 +1,240 @@ +package com.stylefeng.guns.modular.system.util.qianyuntong; + +import com.heredata.hos.HOS; +import com.heredata.hos.HOSClientBuilder; +import com.heredata.hos.model.CreateBucketRequest; +import com.heredata.hos.model.HOSObject; +import com.heredata.hos.model.PutObjectRequest; +import com.heredata.hos.model.PutObjectResult; +import com.heredata.hos.model.bucket.Bucket; +import com.heredata.model.VoidResult; +import lombok.extern.slf4j.Slf4j; + +import java.io.InputStream; + +/** + * OSS 工具类 + * @author zhibing.pu + * @Date 2025/6/23 17:50 + */ +@Slf4j +public class NCOSSUtil { + + /** + * 创建桶 + * @param bucketName + * @return + */ + public static Boolean createBucket(String bucketName) { + /** + * endPoint:HOS的基础路径(公共前缀) + * account:账户的ID + * accessKey:向UAAS服务请求到的access_key + * secretKey:向UAAS服务请求到的secret_key + */ + HOS hos = new HOSClientBuilder().build(QianYunTongProperties.endPoint, QianYunTongProperties.account, QianYunTongProperties.accessKey, QianYunTongProperties.secretKey); + try { + // 创建请求对象,并且设置创建桶名为"example"的桶 + CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucketName); + VoidResult result = hos.createBucket(createBucketRequest); + if (result.getResponse().isSuccessful()) { + log.info("创建桶成功:" + bucketName); + return true; + } + } catch (Exception e){ + log.info("创建桶失败:" + bucketName); + e.printStackTrace(); + } + return false; + } + + + /** + * 查询桶详情 + * @param bucketName + * @return + */ + public static Bucket getBucketInfo(String bucketName) { + /** + * endPoint:HOS的基础路径(公共前缀) + * account:账户的ID + * accessKey:向UAAS服务请求到的access_key + * secretKey:向UAAS服务请求到的secret_key + */ + HOS hos = new HOSClientBuilder().build(QianYunTongProperties.endPoint, QianYunTongProperties.account, QianYunTongProperties.accessKey, QianYunTongProperties.secretKey); + try { + // 查询桶名为"example"的详情 + Bucket bucket = hos.getBucketInfo(bucketName); + return bucket; + } catch (Exception e){ + e.printStackTrace(); + } + return null; + } + + + /** + * 删除桶 + * @param bucketName + * @return + */ + public static Boolean deleteBucket(String bucketName) { + /** + * endPoint:HOS的基础路径(公共前缀) + * account:账户的ID + * accessKey:向UAAS服务请求到的access_key + * secretKey:向UAAS服务请求到的secret_key + */ + HOS hos = new HOSClientBuilder().build(QianYunTongProperties.endPoint, QianYunTongProperties.account, QianYunTongProperties.accessKey, QianYunTongProperties.secretKey); + try { + VoidResult result = hos.deleteBucket(bucketName); + if (result.getResponse().isSuccessful()) { + log.info("删除桶成功:" + bucketName); + return true; + } + } catch (Exception e){ + log.info("删除桶成功:" + bucketName); + e.printStackTrace(); + } + return false; + } + + + /** + * 设置桶策略 + * @param bucketName 桶名 + * @param policyText 策略规则字符串 + * { + * // 策略配置的版本号,由用户定义 + * "Version": "2012-10-17", + * // 策略规则配置,可指定多条策略规则 + * "Statement": [{ + * // 策略规则ID,可用户指定,如不指定则服务自动生成一条 + * "Sid": "sid", + * // 策略规则指定的HOS API接口标识,可参照下表填写 + * "Action": [ + * "action" + * ], + * // 策略规则效果,具体表现为允许或拒绝,有效值为Allow(允许),Deny(拒绝); + * "Effect": "Allow", + * // 策略规则指定的资源参照下面resource配置 + * "Resource": "resource", + * // 策略规则指定的授权人 参照下面Principal配置 + * "Principal": { + * "HWS": [ + * "account_id:root" + * ] + * } + * } + * ] + * } + * @return + */ + public static Boolean setBucketPolicy(String bucketName, String policyText) { + /** + * endPoint:HOS的基础路径(公共前缀) + * account:账户的ID + * accessKey:向UAAS服务请求到的access_key + * secretKey:向UAAS服务请求到的secret_key + */ + HOS hos = new HOSClientBuilder().build(QianYunTongProperties.endPoint, QianYunTongProperties.account, QianYunTongProperties.accessKey, QianYunTongProperties.secretKey); + // 桶策略字符串 + try { + VoidResult result = hos.setBucketPolicy(bucketName, policyText); + if (result.getResponse().isSuccessful()) { + log.info("设置桶策略成功:" + bucketName); + return true; + } + } catch (Exception e) { + log.info("设置桶策略失败:" + bucketName); + e.printStackTrace(); + } + return false; + } + + + /** + * 上传对象 + * @param bucketName 桶名称 + * @param key 存储文件名 + * @param inputStream 上传文件流 + * @return 对象唯一标识 + */ + public static String putObject(String bucketName, String key, InputStream inputStream) { + /** + * endPoint:HOS的基础路径(公共前缀) + * account:账户的ID + * accessKey:向UAAS服务请求到的access_key + * secretKey:向UAAS服务请求到的secret_key + */ + HOS hos = new HOSClientBuilder().build(QianYunTongProperties.endPoint, QianYunTongProperties.account, QianYunTongProperties.accessKey, QianYunTongProperties.secretKey); + try { + PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key , inputStream); + PutObjectResult example = hos.putObject(putObjectRequest); + if (example.getResponse().isSuccessful()) { + log.info("上传对象成功:" + bucketName + "--->" + key); + return example.getETag(); + } + } catch (Exception e) { + log.info("上传对象成功:" + bucketName); + e.printStackTrace(); + } + return null; + } + + + /** + * 查询对象 + * @param bucketName 桶名称 + * @param key 存储文件名 + * @return + */ + public static HOSObject getObject(String bucketName, String key) { + /** + * endPoint:HOS的基础路径(公共前缀) + * account:账户的ID + * accessKey:向UAAS服务请求到的access_key + * secretKey:向UAAS服务请求到的secret_key + */ + HOS hos = new HOSClientBuilder().build(QianYunTongProperties.endPoint, QianYunTongProperties.account, QianYunTongProperties.accessKey, QianYunTongProperties.secretKey); + try { + HOSObject example = hos.getObject(bucketName, key); + if (example.getResponse().isSuccessful()) { + log.info("查询对象成功:" + bucketName + "--->" + key); + return example; + } + } catch (Exception e) { + log.info("查询对象失败:" + bucketName); + e.printStackTrace(); + } + return null; + } + + + /** + * 删除对象 + * @param bucketName 桶名称 + * @param key 存储文件名 + * @return + */ + public static Boolean deleteObject(String bucketName, String key) { + /** + * endPoint:HOS的基础路径(公共前缀) + * account:账户的ID + * accessKey:向UAAS服务请求到的access_key + * secretKey:向UAAS服务请求到的secret_key + */ + HOS hos = new HOSClientBuilder().build(QianYunTongProperties.endPoint, QianYunTongProperties.account, QianYunTongProperties.accessKey, QianYunTongProperties.secretKey); + try { + VoidResult example = hos.deleteObject(bucketName, key); + if (example.getResponse().isSuccessful()) { + log.info("删除对象成功:" + bucketName + "--->" + key); + return true; + } + } catch (Exception e) { + log.info("删除对象失败:" + bucketName + "--->" + key); + e.printStackTrace(); + } + return false; + } +} diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/QianYunTongProperties.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/QianYunTongProperties.java index bff8650..b23f447 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/QianYunTongProperties.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/QianYunTongProperties.java @@ -2,10 +2,15 @@ /** * 黔云通配置 + * * @author zhibing.pu * @Date 2025/6/6 15:03 */ public interface QianYunTongProperties { + /** + * 小程序appId + */ + String appId = "wxcc3c9058e2b294db"; /** * appkey */ @@ -13,7 +18,7 @@ /** * 私钥地址 */ - String privateKeyPath = "E:\\IDEA Workspaces\\QianYunTong\\private_key_test.pem"; + String privateKeyPath = "/root/server/app/key/private_key_test.pem"; /** * 消费者账号 */ @@ -28,4 +33,24 @@ * API地址 */ String apiUrl = "https://test-zhongtai.stqcloud.com:10070"; + /** + * 桶名 + */ + String bucketName = "bucuTest0625"; + /** + * HOS的基础路径(公共前缀) + */ + String endPoint = "http://119.4.112.68:27741/v1"; + /** + * 账户的ID + */ + String account = "d8bef0a04db511f0b79d01a3e2b7587e"; + /** + * 向UAAS服务请求到的access_key + */ + String accessKey = "TYMFTFD5SIIT15DCCUD7"; + /** + * 向UAAS服务请求到的secret_key + */ + String secretKey = "AoI1dkH3yoAvXoaQlREO3ed9mwQJFluLTliS9T1z"; } diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/UserUtil.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/UserUtil.java index 6dfe5af..245fb0c 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/UserUtil.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/UserUtil.java @@ -1,11 +1,15 @@ package com.stylefeng.guns.modular.system.util.qianyuntong; +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; +import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; import com.open.common.util.OpenApiClient; import com.open.common.util.SystemParameterNames; +import com.stylefeng.guns.modular.system.util.UUIDUtil; import com.stylefeng.guns.modular.system.util.qianyuntong.model.*; import lombok.extern.slf4j.Slf4j; @@ -47,22 +51,27 @@ contentMap.put(SystemParameterNames.getMessage_id(), messageId); contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName); contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status); - contentMap.put("content", "{\"mobile\":\"" + mobile + "\",\"enterNum\":\"" + enterNum + "\"}"); - log.info("【根据手机号和企业编号查询用户信息】请求地址:" + url); - log.info("【根据手机号和企业编号查询用户信息】请求参数:" + JSON.toJSONString(contentMap)); + Map<String, String> map = new HashMap<>(); + map.put("mobile", mobile); + if (null != enterNum) { + map.put("enterNum", enterNum); + } + contentMap.put("content", JSON.toJSONString(map)); + log.info("【根据手机号码获取人员信息】请求地址:" + url); + log.info("【根据手机号码获取人员信息】请求参数:" + JSON.toJSONString(contentMap)); String result = OpenApiClient.sendCommonHttpRequst(url, headers, "GET", skprivateKeyFile, timeStamp, contentMap); - log.info("【根据手机号和企业编号查询用户信息】请求结果:" + result); + log.info("【根据手机号码获取人员信息】请求结果:" + result); JSONObject jsonObject = JSON.parseObject(result); String retCode = jsonObject.getString("retCode"); if (!"0".equals(retCode)) { - log.error("【根据手机号和企业编号查询用户信息】请求失败:" + result); - throw new RuntimeException("【根据手机号和企业编号查询用户信息】请求失败:" + result); + log.error("【根据手机号码获取人员信息】请求失败:" + result); + return null; } JSONObject object = jsonObject.getJSONObject("object"); String status = object.getString("status"); if (!"0".equals(status)) { - log.error("【根据手机号和企业编号查询用户信息】失败:" + object.toJSONString()); - throw new RuntimeException("【根据手机号和企业编号查询用户信息】失败:" + object.toJSONString()); + log.error("【根据手机号码获取人员信息】失败:" + object.toJSONString()); + return null; } JSONArray data = object.getJSONArray("data"); List<QYTUserInfo> list = new ArrayList<>(); @@ -211,4 +220,43 @@ } return true; } + + + /** + * 微信小程序登录 + * + * @param code + * @return + */ + public static LoginWeChatXiao loginWeChatXiao(String code) { + HttpRequest post = HttpUtil.createPost("https://casme.teamshub.com/webapp-backstage/ajax/loginWeChatXiao/v1.0"); + post.header("Content-Type", "text/plain;charset=UTF-8"); + post.header("Accept-encodeing", "UTF-8"); + JSONObject body = new JSONObject(); + body.put("version", "1.0"); + try { + body.put("id", UUIDUtil.getRandomCode(6)); + } catch (Exception e) { + throw new RuntimeException(e); + } + body.put("type", "loginWeChatXiao"); + body.put("action", "request"); + body.put("code", code); + body.put("appId", QianYunTongProperties.appId); + post.body(body.toJSONString()); + HttpResponse execute = post.execute(); + if (200 != execute.getStatus()) { + log.error("微信登录失败"); + return null; + } + JSONObject jsonObject = JSON.parseObject(execute.body()); + Integer status = jsonObject.getInteger("status"); + if (0 != status) { + log.error("微信登录失败:" + jsonObject.getString("desc")); + return null; + } + LoginWeChatXiao loginWeChatXiao = jsonObject.getObject("data", LoginWeChatXiao.class); + return loginWeChatXiao; + } + } diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/LoginWeChatXiao.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/LoginWeChatXiao.java new file mode 100644 index 0000000..9670f97 --- /dev/null +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/LoginWeChatXiao.java @@ -0,0 +1,39 @@ +package com.stylefeng.guns.modular.system.util.qianyuntong.model; + +import lombok.Data; + +/** + * @author zhibing.pu + * @Date 2025/6/16 23:50 + */ +@Data +public class LoginWeChatXiao { + /** + * token + */ + private String token; + /** + * 用户UUID + */ + private String userUUID; + /** + * 用户手机号 + */ + private String mobile; + /** + * 企业名称,无企业时为空 + */ + private String enterName; + /** + * 企业编码 + */ + private String enterCode; + /** + * 企业认证状态 + */ + private String enterAuth; + /** + * 是否是管理员,是:1;否:0 + */ + private String isAdmin; +} diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/StaffNodeInfo.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/StaffNodeInfo.java index e0fcb39..84383c5 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/StaffNodeInfo.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/StaffNodeInfo.java @@ -11,7 +11,7 @@ /** * 人员ID */ - private Long empId; + private Integer empId; /** * 主要号码 */ diff --git a/ManagementQYTTravel/guns-admin/src/main/resources/application.yml b/ManagementQYTTravel/guns-admin/src/main/resources/application.yml index e8a9944..800be0b 100644 --- a/ManagementQYTTravel/guns-admin/src/main/resources/application.yml +++ b/ManagementQYTTravel/guns-admin/src/main/resources/application.yml @@ -15,7 +15,7 @@ spring: profiles: active: dev -# active: produce +# active: prod mvc: static-path-pattern: /static/** view: @@ -30,9 +30,13 @@ max-request-size: 500MB max-file-size: 500MB redis: - password: 123456 - host: 127.0.0.1 - port: 6379 + host: 172.21.35.151 + port: 6512 + password: SC_cache@20#25 + database: 0 + timeout: 1000 + cluster: + nodes: 172.21.35.151:6512,172.21.35.152:6512,172.21.35.153:6512,172.21.35.151:6513,172.21.35.152:6513,172.21.35.153:6513 mybatis-plus: type-aliases-package: com.stylefeng.guns.modular.system.model @@ -46,15 +50,21 @@ --- spring: datasource: - url: jdbc:mysql://127.0.0.1:3306/qyttravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai - username: root - password: 123456 - db-name: guns #用来搜集数据库的所有表 + url: jdbc:mysql://172.21.35.140:8066/traffic_scdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai + username: traffic_scusr + password: QYT_sc@20#25 + db-name: traffic_scdb #用来搜集数据库的所有表 filters: wall,mergeStat --- +spring: + data: + mongodb: + uri: mongodb://qyt_jtcx:qyt_jtcx2025@172.21.35.195:27017,172.21.35.196:27017/traveling_track + +--- wx: grantType: authorization_code #填authorization_code appid: 1111 #应用唯一标识,在微信开放平台提交应用审核通过后获得 @@ -78,11 +88,7 @@ #支付回调地址 #正式环境 -callbackPath: https://0ifzoxq2516g.guyubao.com - - -filePath: C:/orderPostionFile/ #存储订单轨迹文件路径 - +callbackPath: https://traffic.qytzt.cn #交通部推送数据功能开关 pushMinistryOfTransport: false diff --git a/ManagementQYTTravel/guns-admin/src/main/resources/logback-spring.xml b/ManagementQYTTravel/guns-admin/src/main/resources/logback-spring.xml deleted file mode 100644 index 7be1696..0000000 --- a/ManagementQYTTravel/guns-admin/src/main/resources/logback-spring.xml +++ /dev/null @@ -1,119 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。 -scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒当scan为true时,此属性生效。默认的时间间隔为1分钟。 -debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 ---> -<!--文件名称需要采取官方规定的方式 带后缀--> -<configuration scan="false" scanPeriod="60 seconds" debug="false"> - - <!-- 定义日志的根目录 --> - <!--<property name="LOG_HOME" value="/usr/local/server/logs/" />--> - <property name="LOG_HOME" value="d:/logs/" /> - <!-- 定义日志文件名称 --> - <property name="LOG_FILE_NAME" value="driver_log"></property> - - <!--按照官方规定 采用带后缀的命名方式,可以使用其高级Profile功能--> - <springProfile name="dev"> - <!-- ch.qos.logback.core.ConsoleAppender 表示控制台输出 --> - <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> - <!-- - 日志输出格式: - %d表示日期时间, - %thread表示线程名, - %-5level:级别从左显示5个字符宽度 - %logger{50} 表示logger名字最长50个字符,否则按照句点分割。 - %msg:日志消息, - %n是换行符 - --> - <layout class="ch.qos.logback.classic.PatternLayout"> - <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ----> [%thread] ---> %-5level %logger{50} - %msg%n</pattern> - </layout> - </appender> - <!-- - logger主要用于存放日志对象,也可以定义日志类型、级别 - name:表示匹配的logger类型前缀,也就是包的前半部分 - level:要记录的日志级别,包括 TRACE < DEBUG < INFO < WARN < ERROR - additivity:作用在于children-logger是否使用 rootLogger配置的appender进行输出, - false:表示只用当前logger的appender-ref,true: - 表示当前logger的appender-ref和rootLogger的appender-ref都有效 - --> - <!-- hibernate logger --> - <!-- <logger name="xxxx" level="debug" /> --> - <!-- Spring framework logger --> - <logger name="org.springframework" level="debug" additivity="false"></logger> - <!-- mybatis日志打印--> - <logger name="org.apache.ibatis" level="DEBUG" /> - <logger name="java.sql" level="DEBUG" /> - <logger name="com.stylefeng.guns.modular.system.dao" level="DEBUG"></logger> - - <!-- - root与logger是父子关系,没有特别定义则默认为root,任何一个类只会和一个logger对应, - 要么是定义的logger,要么是root,判断的关键在于找到这个logger,然后判断这个logger的appender和level。 - --> - <root level="info"> - <appender-ref ref="stdout" /> - </root> - </springProfile> - - <springProfile name="produce"> - <!-- 滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件 --> - <appender name="appLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <!-- 指定日志文件的名称 --> - <file>${LOG_HOME}/${LOG_FILE_NAME}.log</file> - <!-- - 当发生滚动时,决定 RollingFileAppender 的行为,涉及文件移动和重命名 - TimeBasedRollingPolicy: 最常用的滚动策略,它根据时间来制定滚动策略,既负责滚动也负责触发滚动。 - --> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <!-- - 滚动时产生的文件的存放位置及文件名称 %d{yyyy-MM-dd}:按天进行日志滚动 - %i:当文件大小超过maxFileSize时,按照i进行文件滚动 - --> - <fileNamePattern>${LOG_HOME}/${LOG_FILE_NAME}/%d{yyyy-MM-dd}/${LOG_FILE_NAME}-%d{yyyy-MM-dd}-%i.log</fileNamePattern> - <!-- - 可选节点,控制保留的归档文件的最大数量,超出数量就删除旧文件。假设设置每天滚动, - 且maxHistory是365,则只保存最近365天的文件,删除之前的旧文件。注意,删除旧文件是, - 那些为了归档而创建的目录也会被删除。 - --> - <MaxHistory>10</MaxHistory> - <!-- - 当日志文件超过maxFileSize指定的大小是,根据上面提到的%i进行日志文件滚动 - 注意此处配置SizeBasedTriggeringPolicy是无法实现按文件大小进行滚动的,必须配置timeBasedFileNamingAndTriggeringPolicy - --> - <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> - <maxFileSize>100MB</maxFileSize> - </timeBasedFileNamingAndTriggeringPolicy> - </rollingPolicy> - <!-- 日志输出格式: --> - <layout class="ch.qos.logback.classic.PatternLayout"> - <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [ %thread ] - [ %-5level ] [ %logger{50} : %line ] - %msg%n</pattern> - </layout> - </appender> - - <!-- - logger主要用于存放日志对象,也可以定义日志类型、级别 - name:表示匹配的logger类型前缀,也就是包的前半部分 - level:要记录的日志级别,包括 TRACE < DEBUG < INFO < WARN < ERROR - additivity:作用在于children-logger是否使用 rootLogger配置的appender进行输出, - false:表示只用当前logger的appender-ref,true: - 表示当前logger的appender-ref和rootLogger的appender-ref都有效 - --> - <!-- hibernate logger --> - <!-- <logger name="xxxx" level="debug" /> --> - <!-- Spring framework logger --> - <logger name="org.springframework" level="debug" additivity="false"></logger> - <!-- mybatis日志打印--> - <logger name="org.apache.ibatis" level="DEBUG" /> - <logger name="java.sql" level="DEBUG" /> - <logger name="com.stylefeng.guns.modular.system.dao" level="DEBUG"></logger> - - <!-- - root与logger是父子关系,没有特别定义则默认为root,任何一个类只会和一个logger对应, - 要么是定义的logger,要么是root,判断的关键在于找到这个logger,然后判断这个logger的appender和level。 - --> - <root level="info"> - <appender-ref ref="appLogAppender" /> - </root> - </springProfile> -</configuration> \ No newline at end of file diff --git a/ManagementQYTTravel/guns-admin/src/main/resources/logback.xml b/ManagementQYTTravel/guns-admin/src/main/resources/logback.xml new file mode 100644 index 0000000..a5a7771 --- /dev/null +++ b/ManagementQYTTravel/guns-admin/src/main/resources/logback.xml @@ -0,0 +1,222 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- 日志级别从低到高分为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> + + <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 --> + <property name="log.path" value="/data/app/logs/management"/> + + <!--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}}"/> + + <!--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="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"/> + </springProfile> + + <springProfile name="test"> + <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> + </springProfile> + + <springProfile name="prod"> + <root level="info"> + <!-- 生产环境最好不配置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> + </springProfile> + +</configuration> \ No newline at end of file diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html index bf849e6..821e50f 100644 --- a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html +++ b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html @@ -72,29 +72,30 @@ </div> </fieldset> </div> -<!-- <div class="form-group" style="display: none;" id="zcModelDiv">--> -<!-- <label class="col-sm-3 control-label">快车车型:</label>--> -<!-- <div class="col-sm-9">--> -<!-- <select class="form-control" id="zcModel" name="zcModel">--> -<!-- <option value="">选择车型</option>--> -<!-- @for(obj in zcModelList){--> -<!-- <option value="${obj.id}">${obj.name}</option>--> -<!-- @}--> -<!-- </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 class="form-control" id="kcModel" name="kcModel">--> -<!-- <option value="">选择车型</option>--> -<!-- @for(obj in kcModelList){--> -<!-- <option value="${obj.id}">${obj.name}</option>--> -<!-- @}--> -<!-- </select>--> -<!-- </div>--> -<!-- </div>--> - + <!-- + <div class="form-group" style="display: none;" id="zcModelDiv"> + <label class="col-sm-3 control-label">快车车型:</label> + <div class="col-sm-9"> + <select class="form-control" id="zcModel" name="zcModel"> + <option value="">选择车型</option> + @for(obj in zcModelList){ + <option value="${obj.id}">${obj.name}</option> + @} + </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 class="form-control" id="kcModel" name="kcModel"> + <option value="">选择车型</option> + @for(obj in kcModelList){ + <option value="${obj.id}">${obj.name}</option> + @} + </select> + </div> + </div> + --> <#select id="carBrandId" name="车辆品牌:" onchange="TCarInfoDlg.brandChange(this)"> <option value="">选择车辆品牌</option> @for(obj in brandList){ diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html index e808201..12fd679 100644 --- a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html +++ b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html @@ -74,28 +74,30 @@ </div> </fieldset> </div> -<!-- <div class="form-group" id="zcModelDiv">--> -<!-- <label class="col-sm-3 control-label">快车车型:</label>--> -<!-- <div class="col-sm-9">--> -<!-- <select class="form-control" id="zcModel" name="zcModel">--> -<!-- <option value="">选择车型</option>--> -<!-- @for(obj in zcModelList){--> -<!-- <option value="${obj.id}" ${obj.id == zcModel ? 'selected=selected' : ''}>${obj.name}</option>--> -<!-- @}--> -<!-- </select>--> -<!-- </div>--> -<!-- </div>--> -<!-- <div class="form-group" id="kcModelDiv">--> -<!-- <label class="col-sm-3 control-label">跨城出行车型:</label>--> -<!-- <div class="col-sm-9">--> -<!-- <select class="form-control" id="kcModel" name="kcModel">--> -<!-- <option value="">选择车型</option>--> -<!-- @for(obj in kcModelList){--> -<!-- <option value="${obj.id}" ${obj.id == kcModel ? 'selected=selected' : ''}>${obj.name}</option>--> -<!-- @}--> -<!-- </select>--> -<!-- </div>--> -<!-- </div>--> + <!-- + <div class="form-group" id="zcModelDiv"> + <label class="col-sm-3 control-label">快车车型:</label> + <div class="col-sm-9"> + <select class="form-control" id="zcModel" name="zcModel"> + <option value="">选择车型</option> + @for(obj in zcModelList){ + <option value="${obj.id}" ${obj.id == zcModel ? 'selected=selected' : ''}>${obj.name}</option> + @} + </select> + </div> + </div> + <div class="form-group" id="kcModelDiv"> + <label class="col-sm-3 control-label">跨城出行车型:</label> + <div class="col-sm-9"> + <select class="form-control" id="kcModel" name="kcModel"> + <option value="">选择车型</option> + @for(obj in kcModelList){ + <option value="${obj.id}" ${obj.id == kcModel ? 'selected=selected' : ''}>${obj.name}</option> + @} + </select> + </div> + </div> + --> <#select id="carBrandId" name="车辆品牌:" onchange="TCarInfoDlg.brandChange(this)"> <option value="">选择车辆品牌</option> @for(obj in brandList){ diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tSysReformist.html b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tSysReformist.html index ec5605f..89eb5d1 100644 --- a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tSysReformist.html +++ b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSysReformist/tSysReformist.html @@ -59,79 +59,81 @@ </div> <div style="float: left;width: 1200px;margin-left: 50px;"> <div class="pushOrderSettings"> - <!--<div class="form-group">--> - <!--<label class="col-sm-2 control-label">快车推单:</label>--> - <!--<div class="col-sm-10">--> - <!--第一轮推单:推单距离为 <input type="text" oninput="checkIsDouble(this)"--> - <!--@if(isNotEmpty(zcOne)){--> - <!--value="${zcOne.pushDistance}"--> - <!--@}else{--> - <!--value=""--> - <!--@}--> - <!--name="zc1" id="zc1" class="form-control newWidth" /> 公里,--> - <!--推单时间为 <input type="text" oninput="checkIsInt(this)"--> - <!--@if(isNotEmpty(zcOne)){--> - <!--value="${zcOne.pushTime}"--> - <!--@}else{--> - <!--value=""--> - <!--@}--> - <!--name="zc2" id="zc2" class="form-control newWidth" /> 秒钟;--> - <!--每次推所有司机的 <input type="text" oninput="checkIsDouble(this)"--> - <!--@if(isNotEmpty(zcOne)){--> - <!--value="${zcOne.driverProportion}"--> - <!--@}else{--> - <!--value=""--> - <!--@}--> - <!--name="zc3" id="zc3" class="form-control newWidth" /> %--> - <!--<br/>--> - <!--<br/>--> - <!--第二轮推单:推单距离为 <input type="text" oninput="checkIsDouble(this)"--> - <!--@if(isNotEmpty(zcTwo)){--> - <!--value="${zcTwo.pushDistance}"--> - <!--@}else{--> - <!--value=""--> - <!--@}--> - <!--name="zc4" id="zc4" class="form-control newWidth" /> 公里,--> - <!--推单时间为 <input type="text" oninput="checkIsInt(this)"--> - <!--@if(isNotEmpty(zcTwo)){--> - <!--value="${zcTwo.pushTime}"--> - <!--@}else{--> - <!--value=""--> - <!--@}--> - <!--name="zc5" id="zc5" class="form-control newWidth" /> 秒钟;--> - <!--每次推所有司机的 <input type="text" oninput="checkIsDouble(this)"--> - <!--@if(isNotEmpty(zcTwo)){--> - <!--value="${zcTwo.driverProportion}"--> - <!--@}else{--> - <!--value=""--> - <!--@}--> - <!--name="zc6" id="zc6" class="form-control newWidth" /> %--> - <!--<br/>--> - <!--<br/>--> - <!--第三轮推单:推单距离为 <input type="text" oninput="checkIsDouble(this)"--> - <!--@if(isNotEmpty(zcThree)){--> - <!--value="${zcThree.pushDistance}"--> - <!--@}else{--> - <!--value=""--> - <!--@}--> - <!--name="zc7" id="zc7" class="form-control newWidth" /> 公里,--> - <!--推单时间为 <input type="text" oninput="checkIsInt(this)"--> - <!--@if(isNotEmpty(zcThree)){--> - <!--value="${zcThree.pushTime}"--> - <!--@}else{--> - <!--value=""--> - <!--@}--> - <!--name="zc8" id="zc8" class="form-control newWidth" /> 秒钟;--> - <!--每次推所有司机的 <input type="text" oninput="checkIsDouble(this)"--> - <!--@if(isNotEmpty(zcThree)){--> - <!--value="${zcThree.driverProportion}"--> - <!--@}else{--> - <!--value=""--> - <!--@}--> - <!--name="zc9" id="zc9" class="form-control newWidth" /> %--> - <!--<br/>--> - <!--</div>--> - <!--</div>--> + <!-- + <div class="form-group"> + <label class="col-sm-2 control-label">快车推单:</label> + <div class="col-sm-10"> + 第一轮推单:推单距离为 <input type="text" oninput="checkIsDouble(this)" + @if(isNotEmpty(zcOne)){ + value="${zcOne.pushDistance}" + @}else{ + value="" + @} + name="zc1" id="zc1" class="form-control newWidth" /> 公里, + 推单时间为 <input type="text" oninput="checkIsInt(this)" + @if(isNotEmpty(zcOne)){ + value="${zcOne.pushTime}" + @}else{ + value="" + @} + name="zc2" id="zc2" class="form-control newWidth" /> 秒钟; + 每次推所有司机的 <input type="text" oninput="checkIsDouble(this)" + @if(isNotEmpty(zcOne)){ + value="${zcOne.driverProportion}" + @}else{ + value="" + @} + name="zc3" id="zc3" class="form-control newWidth" /> % + <br/> + <br/> + 第二轮推单:推单距离为 <input type="text" oninput="checkIsDouble(this)" + @if(isNotEmpty(zcTwo)){ + value="${zcTwo.pushDistance}" + @}else{ + value="" + @} + name="zc4" id="zc4" class="form-control newWidth" /> 公里, + 推单时间为 <input type="text" oninput="checkIsInt(this)" + @if(isNotEmpty(zcTwo)){ + value="${zcTwo.pushTime}" + @}else{ + value="" + @} + name="zc5" id="zc5" class="form-control newWidth" /> 秒钟; + 每次推所有司机的 <input type="text" oninput="checkIsDouble(this)" + @if(isNotEmpty(zcTwo)){ + value="${zcTwo.driverProportion}" + @}else{ + value="" + @} + name="zc6" id="zc6" class="form-control newWidth" /> % + <br/> + <br/> + 第三轮推单:推单距离为 <input type="text" oninput="checkIsDouble(this)" + @if(isNotEmpty(zcThree)){ + value="${zcThree.pushDistance}" + @}else{ + value="" + @} + name="zc7" id="zc7" class="form-control newWidth" /> 公里, + 推单时间为 <input type="text" oninput="checkIsInt(this)" + @if(isNotEmpty(zcThree)){ + value="${zcThree.pushTime}" + @}else{ + value="" + @} + name="zc8" id="zc8" class="form-control newWidth" /> 秒钟; + 每次推所有司机的 <input type="text" oninput="checkIsDouble(this)" + @if(isNotEmpty(zcThree)){ + value="${zcThree.driverProportion}" + @}else{ + value="" + @} + name="zc9" id="zc9" class="form-control newWidth" /> % + <br/> + </div> + </div> + --> <div class="form-group"> <label class="col-sm-2 control-label">出租车推单:</label> <div class="col-sm-10"> @@ -236,6 +238,7 @@ <div class="form-group"> <label class="col-sm-2 control-label">取消设置:</label> <div class="col-sm-10"> + <!-- 快车订单取消规则:快车订单在司机接单 <input type="text" oninput="checkIsInt(this)" @if(isNotEmpty(ptCancel1)){ value="${ptCancel1.minuteNum}" @@ -251,6 +254,7 @@ @} name="ptCancel2" id="ptCancel2" class="form-control newWidth" /> 元取消费用; <br/> + --> <br/> 出租车订单取消规则:出租车订单在司机接单 <input type="text" oninput="checkIsInt(this)" @if(isNotEmpty(ptCancel2)){ @@ -267,6 +271,7 @@ @} name="ptCancel4" id="ptCancel4" class="form-control newWidth" /> 元取消费用; <br/> + <!-- <br/> 跨城出行取消规则:跨城订单在司机接单 <input type="text" oninput="checkIsInt(this)" @if(isNotEmpty(ptCancel3)){ @@ -283,6 +288,7 @@ @} name="ptCancel6" id="ptCancel6" class="form-control newWidth" /> 元取消费用; <br/> + --> </div> </div> @@ -296,6 +302,7 @@ <div class="form-group"> <label class="col-sm-2 control-label">预约单取消设置:</label> <div class="col-sm-10"> + <!-- 快车订单取消规则:快车订单在司机接单 <input type="text" oninput="checkIsInt(this)" @if(isNotEmpty(yyCancel1)){ value="${yyCancel1.minuteNum}" @@ -311,6 +318,7 @@ @} name="yyCancel2" id="yyCancel2" class="form-control newWidth" /> 元取消费用; <br/> + --> <br/> 出租车订单取消规则:出租车订单在司机接单 <input type="text" oninput="checkIsInt(this)" @if(isNotEmpty(yyCancel2)){ @@ -433,6 +441,7 @@ @} name="one" id="one" class="form-control newWidth" /> 元;<br/> </div> + <!-- <div class="col-sm-3"> <label class="col-sm-5 control-label">快车改派:</label> <div class="col-sm-7"> @@ -447,6 +456,7 @@ </div> </div> </div> + --> <div class="col-sm-3"> <label class="col-sm-5 control-label">出租车改派:</label> <div class="col-sm-7"> @@ -560,6 +570,7 @@ @} name="phone2" id="phone2" class="form-control newWidth" /> <br/> + <!-- <br/> 包车调度电话: <input type="text" @if(isNotEmpty(phone3)){ @@ -569,6 +580,7 @@ @} name="phone3" id="phone3" class="form-control newWidth" /> <br/> + --> <br/> 招聘电话: <input type="text" @if(isNotEmpty(phone5)){ diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/static/favicon1.ico b/ManagementQYTTravel/guns-admin/src/main/webapp/static/favicon1.ico index 4f22b84..3c64289 100644 --- a/ManagementQYTTravel/guns-admin/src/main/webapp/static/favicon1.ico +++ b/ManagementQYTTravel/guns-admin/src/main/webapp/static/favicon1.ico Binary files differ diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/static/img/index4.png b/ManagementQYTTravel/guns-admin/src/main/webapp/static/img/index4.png deleted file mode 100644 index ece22c7..0000000 --- a/ManagementQYTTravel/guns-admin/src/main/webapp/static/img/index4.png +++ /dev/null Binary files differ diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/static/img/logo.png b/ManagementQYTTravel/guns-admin/src/main/webapp/static/img/logo.png index 0bcac2d..7cc7da2 100644 --- a/ManagementQYTTravel/guns-admin/src/main/webapp/static/img/logo.png +++ b/ManagementQYTTravel/guns-admin/src/main/webapp/static/img/logo.png Binary files differ diff --git a/ManagementQYTTravel/pom.xml b/ManagementQYTTravel/pom.xml index 121e0c3..b8cac44 100644 --- a/ManagementQYTTravel/pom.xml +++ b/ManagementQYTTravel/pom.xml @@ -36,7 +36,6 @@ <zxing.version>3.2.1</zxing.version> <druid.version>1.1.10</druid.version> <beetl.version>2.8.5</beetl.version> - <swagger.version>2.9.2</swagger.version> <commons-lang3.version>3.7</commons-lang3.version> <ehcache.core.version>2.6.11</ehcache.core.version> <mysql-connector-java.version>8.0.11</mysql-connector-java.version> @@ -141,16 +140,6 @@ <groupId>com.ibeetl</groupId> <artifactId>beetl</artifactId> <version>${beetl.version}</version> - </dependency> - <dependency> - <groupId>io.springfox</groupId> - <artifactId>springfox-swagger2</artifactId> - <version>${swagger.version}</version> - </dependency> - <dependency> - <groupId>io.springfox</groupId> - <artifactId>springfox-swagger-ui</artifactId> - <version>${swagger.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> -- Gitblit v1.7.1