DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/GunsApplication.java
@@ -38,7 +38,6 @@ public static void main(String[] args) { SpringApplication.run(GunsApplication.class, args); //启动定时任务调度器 // QuartzUtil.start(GunsApplication.class.getClassLoader().getResourceAsStream("quartz.properties")); logger.info("GunsApplication is success!"); } DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -1819,7 +1819,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName + ".mp3"); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + fileName + ".mp3"); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -707,11 +707,11 @@ } EmailUtil.send(userInfo.getEmail(), language == 1 ? "取件码邮件" : language == 2 ? "Pickup code" : "Code de ramassage", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/code_" + orderId + ".html"); file = new File("/data/nginx/html/files/html/code_" + orderId + ".html"); if(!file.exists()){ file.createNewFile(); } DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -675,7 +675,9 @@ if(orderPrivateCar.getArriveTime()==null){ orderPrivateCar.setArriveTime(orderPrivateCar.getStartServiceTime()); } if(null == orderPrivateCar.getEndServiceTime()){ orderPrivateCar.setEndServiceTime(new Date()); } //使用原始里程计算费用 orderPrivateCar = this.setMoney(orderPrivateCar, 0D, 0D);//计算费用 Double mileage = orderPrivateCar.getMileage(); DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverOnlineServiceImpl.java
@@ -157,6 +157,13 @@ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); List<DriverActivityHistory> driverActivityHistories = driverActivityHistoryMapper.selectList(new EntityWrapper<DriverActivityHistory>().eq("driverId", driverId) .eq("type", 3).eq("carryOut", 1).last(" and day = '" + sdf.format(new Date()) + "' and driverActivityId in (select id from t_driver_activity where status = 3 and now() between startTime and endTime)")); if(!driverActivityHistories.isEmpty()){ //如果一直属于上班中,则需要从任务开始时间计算时间 Date insertTime = driverActivityHistories.get(0).getInsertTime(); if(driverWork.getStartTime().getTime() < insertTime.getTime()){ driverWork.setStartTime(insertTime); } } //生成每个活动从开始上班到当前时间的时长记录 for (DriverActivityHistory driverActivityHistory : driverActivityHistories) { String value = redisUtil.getValue("driverActivity_" + driverId + "_" + driverActivityHistory.getId()); @@ -210,7 +217,6 @@ continue; } Integer driverId = driverOnline.getDriverId(); Driver driver1 = driverService.selectById(driverId); long m = Double.valueOf(driverActivityOnline.getOfflineTime() * 3600000L).longValue(); //找出最后一次接单的时间 @@ -259,7 +265,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; @@ -306,13 +312,13 @@ //在线时长累计 Long time = jsonObject.getLong("time") / 60000; int count1 = orderPrivateCarService.selectCount(new EntityWrapper<OrderPrivateCar>().eq("driverId", driverActivityHistory.getDriverId()) .eq("isDelete", 1).ne("state", 10).last(" and UNIX_TIMESTAMP(snatchOrderTime) > " + (startTime) / 1000)); .eq("isDelete", 1).ne("state", 10).last(" and UNIX_TIMESTAMP(snatchOrderTime) > " + (startTime / 1000))); int count2 = orderLogisticsService.selectCount(new EntityWrapper<OrderLogistics>().eq("driverId", driverActivityHistory.getDriverId()) .eq("isDelete", 1).ne("state", 10).last(" and UNIX_TIMESTAMP(snatchOrderTime) > " + (startTime) / 1000)); .eq("isDelete", 1).ne("state", 10).last(" and UNIX_TIMESTAMP(snatchOrderTime) > " + (startTime / 1000))); Driver driver = driverService.selectById(driverWork.getDriverId()); //阶段时间累计时长超过设定时长且没有接单,不计入累计总时长(司机服务中不下班) if(m <= time && count1 + count2 == 0 && driver.getState() != 3){ if(m <= time && (count1 + count2) == 0){ //司机下班,清空当前阶段的累计时长 driverWork.setState(2); driverWork.setEndTime(new Date()); @@ -343,7 +349,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; @@ -359,9 +365,8 @@ } } }, 30000); } //阶段时间累计有新的订单,计入累计总时长,重置新的开始统计时间戳 if(m <= time && count1 + count2 > 0){ } else if(m <= time && (count1 + count2) > 0){ //阶段时间累计有新的订单,计入累计总时长,重置新的开始统计时间戳 DriverOnline driverOnline = this.selectOne(new EntityWrapper<DriverOnline>().eq("DATE_FORMAT(date, '%Y-%m-%d')", sdf.format(new Date())) .eq("driverId", driverActivityHistory.getDriverId())); if(null == driverOnline){ DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -409,11 +409,11 @@ EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/invitation_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -606,11 +606,11 @@ EmailUtil.send(finalDriver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/invitation_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -867,11 +867,11 @@ EmailUtil.send(driver.getEmail(), language == 1 ? "成功注册" : language == 2 ? "Registered successfully" : "Enregistré avec succès", document1.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/registration_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/registration_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -981,11 +981,11 @@ EmailUtil.send(driver.getEmail(), language == 1 ? "密码重置" : language == 2 ? "Reset password" : "Réinitialiser le mot de passe", document1.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/reset_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/reset_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -1653,11 +1653,11 @@ EmailUtil.send(driver.getEmail(), language == 1 ? "密码重置" : language == 2 ? "Reset password" : "Réinitialiser le mot de passe", document1.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/reset_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/reset_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2098,11 +2098,11 @@ EmailUtil.send(driver.getEmail(), language == 1 ? "邀请司机奖励(活动)" : language == 2 ? "Invite drivers and earn" : "Invitez des chauffeurs et gagnez de l’argent", document1.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/activity_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/activity_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2221,11 +2221,11 @@ EmailUtil.send(driver.getEmail(), language == 1 ? "邀请用户奖励(活动)" : language == 2 ? "Invite users and earn" : "Invitez des utilisateurs et gagnez de l’argent", document1.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/activity_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/activity_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2345,11 +2345,11 @@ EmailUtil.send(driver.getEmail(), language == 1 ? "在线时长奖励(活动)" : language == 2 ? "Online-duration reward activity" : "Activité de récompense en ligne", document1.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/activity_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/activity_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2469,11 +2469,11 @@ EmailUtil.send(driver.getEmail(), language == 1 ? "累计接单奖励(活动)" : language == 2 ? "Cumulative order activity" : "Activité cumulée des commandes", document1.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/activity_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/activity_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2525,6 +2525,7 @@ if(null == dao){ continue; } //秒 Long duration = Double.valueOf(dao.getOnline() * 3600).longValue(); List<DriverOnline> driverOnlines = driverOnlineMapper.queryList(sdf.format(new Date()), null, dah.getDriverId(), duration); if(driverOnlines.size() > 0){ @@ -2615,11 +2616,11 @@ EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document1.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/rewards_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/rewards_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2745,11 +2746,11 @@ EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document1.html()); String randomString = ToolUtil.getRandomString(10); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/rewards_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/rewards_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
@@ -309,7 +309,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; @@ -656,7 +656,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java
@@ -59,14 +59,14 @@ @Scheduled(fixedRate = 1000 * 60) public void taskMinute(){ try { //处理司机连续不接单的情况 driverOnlineService.deductionDuration1(); //修改满足活动条件的数据(在线时长,订单量) driverService.taskMinute(); //处于预约单 orderService.reservationOrder(); // //处理结束订单后30分钟解绑小号功能 // orderService.taskMidAxbUnBindSend(); //处理司机连续不接单的情况 driverOnlineService.deductionDuration1(); //处理google订单状态 orderService.overGoogleOrder(); } catch (Exception e) { DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TextToSpeechUtil.java
@@ -1,8 +1,12 @@ package com.stylefeng.guns.modular.system.util; import com.google.api.gax.core.FixedCredentialsProvider; import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.texttospeech.v1.*; import com.google.protobuf.ByteString; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.OutputStream; @@ -22,8 +26,13 @@ * @throws Exception */ public static String create(String languageCode, String text, String fileName) throws Exception { // Instantiates a client try (TextToSpeechClient textToSpeechClient = TextToSpeechClient.create()) { GoogleCredentials googleCredentials = GoogleCredentials .fromStream(new FileInputStream("/home/igotechgh/i-go-gcp-f83e2d02152a.json")) .createScoped("https://www.googleapis.com/auth/cloud-platform"); FixedCredentialsProvider provider = FixedCredentialsProvider.create(googleCredentials); TextToSpeechSettings textToSpeechSettings = TextToSpeechSettings.newBuilder().setCredentialsProvider(provider).build(); try (TextToSpeechClient textToSpeechClient = TextToSpeechClient.create(textToSpeechSettings)) { // Set the text input to be synthesized SynthesisInput input = SynthesisInput.newBuilder().setText(text).build(); @@ -48,7 +57,11 @@ ByteString audioContents = response.getAudioContent(); // Write the response to the output file. try (OutputStream out = new FileOutputStream("/home/igotechgh/nginx/html/files/audio/" + fileName)) { File file = new File("/data/nginx/html/files/audio/" + fileName); if (!file.exists()) { file.createNewFile(); } try (OutputStream out = new FileOutputStream("/data/nginx/html/files/audio/" + fileName)) { out.write(audioContents.toByteArray()); return "https://igo.i-go.group/files/audio/" + fileName; }catch (Exception e){ DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/quartz/jobs/OrderTimeOutJob.java
@@ -178,7 +178,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; DriverIGOTravel/guns-admin/src/main/resources/application-dev.yml
@@ -54,19 +54,6 @@ filters: wall,mergeStat #多数据源情况的配置 guns: muti-datasource: open: false url: jdbc:mysql://127.0.0.1:3306/guns_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai username: root password: root dataSourceNames: - dataSourceGuns - dataSourceBiz wx: grantType: authorization_code #填authorization_code appid: wx97c33c052b2222f7 #应用唯一标识,在微信开放平台提交应用审核通过后获得 @@ -124,7 +111,7 @@ socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂 debug: true from: i-gotech@i-go.group # 发送方邮件,配在yml中可方便更改 template-path: /home/igotechgh/nginx/html/mailbox/ template-path: /data/nginx/html/mailbox/ --- DriverIGOTravel/guns-admin/src/main/resources/application-produce.yml
@@ -30,8 +30,8 @@ file-size-threshold: 100MB redis: database: 0 host: 127.0.0.1 port: 16379 host: 172.17.0.3 port: 6379 password: mPMHThYzlT8DWgl8HLqwPEyPOiHDPPB5 mybatis-plus: @@ -54,19 +54,6 @@ password: _6)S]<vpfvj?N#t2 db-name: guns #用来搜集数据库的所有表 filters: wall,mergeStat #多数据源情况的配置 guns: muti-datasource: open: false url: jdbc:mysql://127.0.0.1:3306/guns_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai username: root password: root dataSourceNames: - dataSourceGuns - dataSourceBiz @@ -116,7 +103,7 @@ spring: mail: template-path: /home/igotechgh/nginx/html/mailbox/ template-path: /data/nginx/html/mailbox/ --- ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TReportLossController.java
@@ -1,38 +1,32 @@ package com.stylefeng.guns.modular.system.controller; import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.common.constant.factory.PageFactory; import com.stylefeng.guns.core.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.TEmail; import com.stylefeng.guns.modular.system.model.TReportLoss; import com.stylefeng.guns.modular.system.model.TUser; import com.stylefeng.guns.modular.system.service.ITReportLossService; import com.stylefeng.guns.modular.system.service.ITUserService; import com.stylefeng.guns.modular.system.service.TEmailService; import com.stylefeng.guns.modular.system.util.EmailUtil; import com.stylefeng.guns.modular.system.util.itextpdf.HtmlToPdfUtils; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.beans.factory.annotation.Autowired; import com.stylefeng.guns.core.log.LogObjectHolder; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import com.stylefeng.guns.modular.system.model.TReportLoss; import com.stylefeng.guns.modular.system.service.ITReportLossService; import org.springframework.web.bind.annotation.ResponseBody; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.util.Date; import java.util.Map; /** * 控制器 @@ -196,12 +190,12 @@ } //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/reportLossResult_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/reportLossResult_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/DriverActivityController.java
@@ -11,6 +11,7 @@ import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.ResultUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -225,8 +226,14 @@ beginTime = timeArray[0]; endTime = timeArray[1]; } Integer companyType = null; Integer companyId = null; if(1 != user.getRoleType()){ companyType = user.getRoleType(); companyId = user.getObjectId(); } Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); page.setRecords(driverActivityService.getList(page,beginTime,endTime,name,user.getRoleType(),user.getObjectId())); page.setRecords(driverActivityService.getList(page,beginTime,endTime,name,companyType,companyId)); return super.packForBT(page); } @@ -305,8 +312,12 @@ @RequestMapping(value = "/updateStatus") @ResponseBody public Object updateStatus(DriverActivity driverActivity) { DriverActivity driverActivity1 = driverActivityService.selectById(driverActivity.getId()); if(System.currentTimeMillis() >= driverActivity1.getEndTime().getTime()){ return ResultUtil.error("活动已结束,修改状态失败"); } driverActivityService.updateById(driverActivity); return SUCCESS_TIP; return ResultUtil.success(); } @RequestMapping("/driverActivity_detail/{driverActivityId}") ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/SysCouponActivityController.java
@@ -2,40 +2,36 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.common.constant.factory.PageFactory; import com.stylefeng.guns.core.log.LogObjectHolder; import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.shiro.ShiroUser; import com.stylefeng.guns.core.util.DateUtil; import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.ISysCouponActivityService; import com.stylefeng.guns.modular.system.service.ISysCouponRecordService; import com.stylefeng.guns.modular.system.service.ITUserService; import com.stylefeng.guns.modular.system.service.TEmailService; import com.stylefeng.guns.modular.system.util.EmailUtil; import com.stylefeng.guns.modular.system.util.itextpdf.HtmlToPdfUtils; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.beans.factory.annotation.Autowired; import com.stylefeng.guns.core.log.LogObjectHolder; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import com.stylefeng.guns.modular.system.service.ISysCouponActivityService; import org.springframework.web.bind.annotation.ResponseBody; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.text.SimpleDateFormat; import java.util.*; @@ -197,6 +193,135 @@ } return SUCCESS_TIP; } public void sendEmail(TUser userInfo1, Integer num, String startTime, String endTime, Double fullMoney){ try { if(ToolUtil.isNotEmpty(userInfo1.getEmail())){ Integer language = userInfo1.getLanguage(); String path1 = templatePath + "user/coupon.html"; Document document1 = Jsoup.parse(new File(path1), "UTF-8"); if(1 == language){ document1.getElementById("english").remove(); document1.getElementById("french").remove(); document1.getElementsByTag("title").get(0).text("优惠券到账"); Element chinese_user = document1.getElementById("chinese_user"); chinese_user.text("您好 " + userInfo1.getNickName() + ","); Element chinese_number = document1.getElementById("chinese_number"); chinese_number.text("您有" + num + "张优惠券到账"); Element chinese_date = document1.getElementById("chinese_date"); chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台"); Element chinese_remark = document1.getElementById("chinese_remark"); chinese_remark.text("注意:满减活动,每单消费至少GHS " + fullMoney + ",才可享用。"); EmailUtil.send(userInfo1.getEmail(), "优惠券到账", document1.html()); } if(2 == language){ document1.getElementById("chinese").remove(); document1.getElementById("french").remove(); document1.getElementsByTag("title").get(0).text("Coupon is in"); Element english_user = document1.getElementById("english_user"); english_user.text("Hello " + userInfo1.getNickName() + ","); Element english_number = document1.getElementById("english_number"); english_number.text("You have received " + num + " coupons"); Element english_date = document1.getElementById("english_date"); english_date.text("You could use them from " + com.stylefeng.guns.modular.system.util.DateUtil.conversionFormat(2, startTime) + " to " + com.stylefeng.guns.modular.system.util.DateUtil.conversionFormat(2, endTime)); Element english_remark = document1.getElementById("english_remark"); english_remark.text("NB! Coupon is valid only for the trip fare not less than GHS " + fullMoney + " per ride."); EmailUtil.send(userInfo1.getEmail(), "Coupon is in", document1.html()); } if(3 == language){ document1.getElementById("chinese").remove(); document1.getElementById("english").remove(); document1.getElementsByTag("title").get(0).text("Le coupon est arrivé"); Element french_user = document1.getElementById("french_user"); french_user.text("Cher(ère) " + userInfo1.getNickName() + ","); Element french_number = document1.getElementById("french_number"); french_number.text("Vous avez reçu " + num + " coupons."); Element french_date = document1.getElementById("french_date"); french_date.text("Vous devriez les utiliser du " + com.stylefeng.guns.modular.system.util.DateUtil.conversionFormat(3, startTime) + " au " + com.stylefeng.guns.modular.system.util.DateUtil.conversionFormat(3, endTime) + ", voir le détail sur la plate-forme I-GO."); Element french_remark = document1.getElementById("french_remark"); french_remark.text("Remarque! Le coupon n'est valable que pour le tarif d'au moins GHS " + fullMoney + " par trajet."); EmailUtil.send(userInfo1.getEmail(), "Le coupon est arrivé", document1.html()); } //开始生成pdf收据和html收据 File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/data/nginx/html/files/html/coupon_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } FileWriter fileWriter = new FileWriter(file); fileWriter.write(document1.html()); fileWriter.flush(); fileWriter.close(); String link ="https://igo.i-go.group/files/html/coupon_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(userInfo1.getId()); tEmail.setType(1); tEmail.setName(language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé"); tEmail.setCreateTime(new Date()); int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; tEmail.setWeek(EmailUtil.getWeek(2,i)); boolean am = cn.hutool.core.date.DateUtil.isAM(new Date()); if(am){ tEmail.setAmOrPm("AM"); }else { tEmail.setAmOrPm("PM"); } emailService.insert(tEmail); } }catch (Exception e){ e.printStackTrace(); } } /** * 删除 */ @RequestMapping(value = "/delete") @ResponseBody public Object delete(@RequestParam Integer sysCouponActivityId) { SysCouponActivity sysCouponActivity = new SysCouponActivity(); sysCouponActivity.setId(sysCouponActivityId); sysCouponActivity.setStatus(4); sysCouponActivityService.updateById(sysCouponActivity); return SUCCESS_TIP; } /** * 修改 */ @RequestMapping(value = "/update") @ResponseBody public Object update(SysCouponActivity sysCouponActivity,Integer activityId) { SysCouponRecord sysCouponRecord = couponRecordService.selectById(activityId); sysCouponActivity.setCouponType(sysCouponRecord.getCouponType()); sysCouponActivity.setCouponUseType(sysCouponRecord.getCouponUseType()); sysCouponActivity.setMoney(sysCouponRecord.getMoney()); sysCouponActivity.setFullMoney(sysCouponRecord.getFullMoney()); sysCouponActivity.setInsertTime(new Date()); sysCouponActivity.setCouponId(activityId); sysCouponActivity.setCompanyId(ShiroKit.getUser().getObjectId()); sysCouponActivity.setCompanyType(ShiroKit.getUser().getRoleType()); sysCouponActivity.setStatus(sysCouponActivity.getCompanyType()==1?3:1); sysCouponActivityService.updateById(sysCouponActivity); return SUCCESS_TIP; } /** * 详情 */ @RequestMapping(value = "/detail/{sysCouponActivityId}") @ResponseBody public Object detail(@PathVariable("sysCouponActivityId") Integer sysCouponActivityId) { return sysCouponActivityService.selectById(sysCouponActivityId); } class timerTaskTest extends TimerTask { private Integer id; @@ -267,137 +392,5 @@ } } } public void sendEmail(TUser userInfo1, Integer num, String startTime, String endTime, Double fullMoney){ try { if(ToolUtil.isNotEmpty(userInfo1.getEmail())){ Integer language = userInfo1.getLanguage(); String path1 = templatePath + "user/coupon.html"; Document document1 = Jsoup.parse(new File(path1), "UTF-8"); if(1 == language){ document1.getElementById("english").remove(); document1.getElementById("french").remove(); document1.getElementsByTag("title").get(0).text("优惠券到账"); Element chinese_user = document1.getElementById("chinese_user"); chinese_user.text("您好 " + userInfo1.getNickName() + ","); Element chinese_number = document1.getElementById("chinese_number"); chinese_number.text("您有" + num + "张优惠券到账"); Element chinese_date = document1.getElementById("chinese_date"); chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台"); Element chinese_remark = document1.getElementById("chinese_remark"); chinese_remark.text("注意:满减活动,每单消费至少GHS " + fullMoney + ",才可享用。"); EmailUtil.send(userInfo1.getEmail(), "优惠券到账", document1.html()); } if(2 == language){ document1.getElementById("chinese").remove(); document1.getElementById("french").remove(); document1.getElementsByTag("title").get(0).text("Coupon is in"); Element english_user = document1.getElementById("english_user"); english_user.text("Hello " + userInfo1.getNickName() + ","); Element english_number = document1.getElementById("english_number"); english_number.text("You have received " + num + " coupons"); Element english_date = document1.getElementById("english_date"); english_date.text("You could use them from " + com.stylefeng.guns.modular.system.util.DateUtil.conversionFormat(2, startTime) + " to " + com.stylefeng.guns.modular.system.util.DateUtil.conversionFormat(2, endTime)); Element english_remark = document1.getElementById("english_remark"); english_remark.text("NB! Coupon is valid only for the trip fare not less than GHS " + fullMoney + " per ride."); EmailUtil.send(userInfo1.getEmail(), "Coupon is in", document1.html()); } if(3 == language){ document1.getElementById("chinese").remove(); document1.getElementById("english").remove(); document1.getElementsByTag("title").get(0).text("Le coupon est arrivé"); Element french_user = document1.getElementById("french_user"); french_user.text("Cher(ère) " + userInfo1.getNickName() + ","); Element french_number = document1.getElementById("french_number"); french_number.text("Vous avez reçu " + num + " coupons."); Element french_date = document1.getElementById("french_date"); french_date.text("Vous devriez les utiliser du " + com.stylefeng.guns.modular.system.util.DateUtil.conversionFormat(3, startTime) + " au " + com.stylefeng.guns.modular.system.util.DateUtil.conversionFormat(3, endTime) + ", voir le détail sur la plate-forme I-GO."); Element french_remark = document1.getElementById("french_remark"); french_remark.text("Remarque! Le coupon n'est valable que pour le tarif d'au moins GHS " + fullMoney + " par trajet."); EmailUtil.send(userInfo1.getEmail(), "Le coupon est arrivé", document1.html()); } //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/coupon_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } FileWriter fileWriter = new FileWriter(file); fileWriter.write(document1.html()); fileWriter.flush(); fileWriter.close(); String link ="https://igo.i-go.group/files/html/coupon_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(userInfo1.getId()); tEmail.setType(1); tEmail.setName(language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé"); tEmail.setCreateTime(new Date()); int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; tEmail.setWeek(EmailUtil.getWeek(2,i)); boolean am = cn.hutool.core.date.DateUtil.isAM(new Date()); if(am){ tEmail.setAmOrPm("AM"); }else { tEmail.setAmOrPm("PM"); } emailService.insert(tEmail); } }catch (Exception e){ e.printStackTrace(); } } /** * 删除 */ @RequestMapping(value = "/delete") @ResponseBody public Object delete(@RequestParam Integer sysCouponActivityId) { SysCouponActivity sysCouponActivity = new SysCouponActivity(); sysCouponActivity.setId(sysCouponActivityId); sysCouponActivity.setStatus(4); sysCouponActivityService.updateById(sysCouponActivity); return SUCCESS_TIP; } /** * 修改 */ @RequestMapping(value = "/update") @ResponseBody public Object update(SysCouponActivity sysCouponActivity,Integer activityId) { SysCouponRecord sysCouponRecord = couponRecordService.selectById(activityId); sysCouponActivity.setCouponType(sysCouponRecord.getCouponType()); sysCouponActivity.setCouponUseType(sysCouponRecord.getCouponUseType()); sysCouponActivity.setMoney(sysCouponRecord.getMoney()); sysCouponActivity.setFullMoney(sysCouponRecord.getFullMoney()); sysCouponActivity.setInsertTime(new Date()); sysCouponActivity.setCouponId(activityId); sysCouponActivity.setCompanyId(ShiroKit.getUser().getObjectId()); sysCouponActivity.setCompanyType(ShiroKit.getUser().getRoleType()); sysCouponActivity.setStatus(sysCouponActivity.getCompanyType()==1?3:1); sysCouponActivityService.updateById(sysCouponActivity); return SUCCESS_TIP; } /** * 详情 */ @RequestMapping(value = "/detail/{sysCouponActivityId}") @ResponseBody public Object detail(@PathVariable("sysCouponActivityId") Integer sysCouponActivityId) { return sysCouponActivityService.selectById(sysCouponActivityId); } } ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java
@@ -6,36 +6,31 @@ 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.TComplaint; import com.stylefeng.guns.modular.system.model.TEmail; import com.stylefeng.guns.modular.system.model.TSystemNotice; import com.stylefeng.guns.modular.system.model.TUser; import com.stylefeng.guns.modular.system.service.ITComplaintService; import com.stylefeng.guns.modular.system.service.ITSystemNoticeService; import com.stylefeng.guns.modular.system.service.ITUserService; import com.stylefeng.guns.modular.system.service.TEmailService; import com.stylefeng.guns.modular.system.util.EmailUtil; import com.stylefeng.guns.modular.system.util.itextpdf.HtmlToPdfUtils; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import com.stylefeng.guns.modular.system.model.TComplaint; import com.stylefeng.guns.modular.system.service.ITComplaintService; import org.springframework.web.bind.annotation.ResponseBody; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.util.Date; import java.util.Map; import static org.bouncycastle.asn1.x500.style.RFC4519Style.uid; /** * 投诉列表控制器 @@ -185,12 +180,12 @@ } //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/complaintResult_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/complaintResult_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TFeedbackController.java
@@ -7,31 +7,27 @@ import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.model.TEmail; import com.stylefeng.guns.modular.system.model.TFeedback; import com.stylefeng.guns.modular.system.model.TSystemNotice; import com.stylefeng.guns.modular.system.model.TUser; import com.stylefeng.guns.modular.system.service.ITFeedbackService; import com.stylefeng.guns.modular.system.service.ITSystemNoticeService; import com.stylefeng.guns.modular.system.service.ITUserService; import com.stylefeng.guns.modular.system.service.TEmailService; import com.stylefeng.guns.modular.system.util.EmailUtil; import com.stylefeng.guns.modular.system.util.itextpdf.HtmlToPdfUtils; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.beans.factory.annotation.Autowired; import com.stylefeng.guns.core.log.LogObjectHolder; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import com.stylefeng.guns.modular.system.model.TFeedback; import com.stylefeng.guns.modular.system.service.ITFeedbackService; import org.springframework.web.bind.annotation.ResponseBody; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.util.Date; import java.util.Map; @@ -215,12 +211,12 @@ } //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/feedbackResult_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/feedbackResult_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/UserActivityController.java
@@ -11,6 +11,7 @@ import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.ResultUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -165,23 +166,14 @@ if (SinataUtil.isNotEmpty(userActivityDiscount1)) { // 专车 Map<String, Object> resultMap = userCouponRecordService.getDiscountStatic(startTimes, endTimes, userActivityDiscount1.getId()); BigDecimal bigDecimal = new BigDecimal(resultMap.get("money").toString()); String string = resultMap.get("number").toString(); Integer i = Integer.valueOf(string); // 小件物流 Map<String, Object> resultMap1 = userCouponRecordService.getDiscountStatic1(startTimes, endTimes, userActivityDiscount1.getId()); if (null != resultMap1) { BigDecimal bigDecimal1 = new BigDecimal(resultMap1.get("money").toString()); String string1 = resultMap1.get("number").toString(); Integer i1 = Integer.valueOf(string1); BigDecimal add = bigDecimal.add(bigDecimal1); i += i1; map.put("userActivityDiscount1Money", add); map.put("userActivityDiscount1Number", i); } else { map.put("userActivityDiscount1Money", 0); map.put("userActivityDiscount1Number", 0); BigDecimal bigDecimal = BigDecimal.ZERO; String string = ""; if(null != resultMap){ bigDecimal = new BigDecimal(resultMap.get("money").toString()); string = resultMap.get("number").toString(); } map.put("userActivityDiscount1Money", bigDecimal); map.put("userActivityDiscount1Number", string); } else { map.put("userActivityDiscount1Money", 0); map.put("userActivityDiscount1Number", 0); @@ -430,8 +422,12 @@ @RequestMapping(value = "/updateStatus") @ResponseBody public Object updateStatus(UserActivity driverActivity) { UserActivity userActivity = userActivityService.selectById(driverActivity.getId()); if(System.currentTimeMillis() >= userActivity.getEndTime().getTime()){ return ResultUtil.error("活动已结束,修改状态失败"); } userActivityService.updateById(driverActivity); return SUCCESS_TIP; return ResultUtil.success(); } /** ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TIntegralOrderController.java
@@ -6,21 +6,23 @@ 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.TEmail; import com.stylefeng.guns.modular.system.model.TIntegralGoods; import com.stylefeng.guns.modular.system.model.TIntegralOrder; import com.stylefeng.guns.modular.system.model.TUser; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.EmailUtil; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.beans.factory.annotation.Autowired; import com.stylefeng.guns.core.log.LogObjectHolder; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import java.io.File; @@ -168,12 +170,12 @@ EmailUtil.send(email, language == 1 ? "积分兑换已通过审核" : language == 2 ? "Points redemption approved" : "Approbation de l’échange de points", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/complaint_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/complaint_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java
@@ -670,7 +670,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; @@ -1095,7 +1095,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + finalFileName); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + finalFileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/TextToSpeechUtil.java
@@ -50,7 +50,7 @@ ByteString audioContents = response.getAudioContent(); // Write the response to the output file. try (OutputStream out = new FileOutputStream("/home/igotechgh/nginx/html/files/audio/" + fileName)) { try (OutputStream out = new FileOutputStream("/data/nginx/html/files/audio/" + fileName)) { out.write(audioContents.toByteArray()); return "https://igo.i-go.group/files/audio/" + fileName; }catch (Exception e){ ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/util/UploadUtil.java
@@ -89,6 +89,7 @@ // String pictureName = ObsUploadUtil.obsUpload(super.getHttpServletRequest(), picture); return pictureName; } catch (Exception e1) { e1.printStackTrace(); return null; } } ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserActivityMapper.xml
@@ -47,7 +47,10 @@ (select count(id) from t_order_cross_city where state in (6,8,9) and activityId = a.id) ) as number from t_user_activity a where a.companyId = #{companyId} where 1 = 1 <if test="null != companyId"> and a.companyId = #{companyId} </if> <if test="null != start and null != end"> and a.insertTime between #{start} and #{end} </if> ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserCouponRecordMapper.xml
@@ -1,1457 +1,1464 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.stylefeng.guns.modular.system.dao.UserCouponRecordMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.UserCouponRecord"> <id column="id" property="id"/> <result column="money" property="money"/> <result column="fullMoney" property="fullMoney"/> <result column="expirationTime" property="expirationTime"/> <result column="insertTime" property="insertTime"/> <result column="companyId" property="companyId"/> <result column="state" property="state"/> <result column="endTime" property="endTime"/> <result column="couponUseType" property="couponUseType"/> <result column="couponType" property="couponType"/> <result column="userId" property="userId"/> <result column="couponId" property="couponId"/> <result column="couponActivityId" property="couponActivityId"/> <result column="activityType" property="activityType"/> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id , money, fullMoney, expirationTime, insertTime, companyId, state, couponUseType, couponType, userId, couponId, couponActivityId, activityType </sql> <select id="getList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> SELECT c.id, c.money, c.fullMoney, c.expirationTime, c.insertTime, c.companyId, c.state, c.couponUseType, c.couponType, c.userId, c.couponId, c.couponActivityId, c.activityType, u.nickName, u.phone, if(a.id is null, if(b.id is null, if(d.id is null, if(e.id is null, '', e.endServiceTime), d.endServiceTime), b.endServiceTime), a.endServiceTime) as useTime FROM t_user_coupon_record c LEFT JOIN t_user u ON c.userId = u.id left join t_order_private_car a on (a.couponId = c.id) left join t_order_taxi b on (b.couponId = c.id) left join t_order_cross_city d on (d.couponId = c.id) left join t_order_logistics e on (e.couponId = c.id) WHERE 1=1 <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> and (c.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> <if test="userName != null and userName !=''"> and u.nickName like CONCAT('%',#{userName},'%') </if> <if test="activityType != null and activityType !=''"> and c.activityType=#{activityType} </if> <if test="userPhone != null and userPhone !=''"> and u.phone like CONCAT('%',#{userPhone},'%') </if> <if test="couponActivityId != null"> and c.couponActivityId=#{couponActivityId} </if> <if test="state != null and state !=''"> and c.state=#{state} </if> </select> <select id="getRedList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> SELECT c.id, c.money, c.endTime as expirationTime, c.insertTime, c.companyId, c.state, c.userId, c.redPacketActivityId, u.nickName, u.phone, if(a.id is null, if(b.id is null, if(d.id is null, if(e.id is null, '', e.endServiceTime), d.endServiceTime), b.endServiceTime), a.endServiceTime) as useTime FROM t_user_red_packet_record c LEFT JOIN t_user u ON c.userId = u.id left join t_order_private_car a on (a.redPacketId = c.id) left join t_order_taxi b on (b.redPacketId = c.id) left join t_order_cross_city d on (d.redPacketId = c.id) left join t_order_logistics e on (e.redPacketId = c.id) WHERE 1=1 <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> and (c.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> <if test="userName != null and userName !=''"> and u.nickName like CONCAT('%',#{userName},'%') </if> <if test="userPhone != null and userPhone !=''"> and u.phone like CONCAT('%',#{userPhone},'%') </if> <if test="couponActivityId != null and couponActivityId !=''"> and c.redPacketActivityId=#{couponActivityId} </if> <if test="state != null and state !=''"> and c.state=#{state} </if> </select> <select id="getCouponStatic" resultType="map"> select IFNULL(SUM(aa.money), 0) money, IFNULL(SUM(aa.useMoney), 0) useMoney, COUNT(aa.userId) as number from ( SELECT IFNULL(SUM(money), 0) money, IFNULL(SUM(CASE WHEN state = 2 THEN money ELSE 0 END), 0) useMoney, userId FROM t_user_coupon_record WHERE activityType = #{activityType} AND couponActivityId = #{activityId} <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> and (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> group by userId ) as aa </select> <select id="getRedStatic" resultType="map"> SELECT IFNULL(SUM(aa.money), 0) money, IFNULL(SUM(aa.useMoney), 0) useMoney, COUNT(aa.userId) number FROM ( SELECT IFNULL(SUM(money), 0) money, IFNULL(SUM(CASE WHEN state = 2 THEN money ELSE 0 END ), 0) useMoney, userId FROM t_user_red_packet_record WHERE redPacketActivityId = #{activityId} <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> and (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> group by userId ) as aa group by aa.userId </select> <select id="getDiscountStatic" resultType="map"> SELECT IFNULL(SUM(aa.money), 0) money, COUNT(aa.userId) number FROM (select IFNULL(SUM(discountMoney), 0) money, userId from t_order_private_car WHERE activityId = #{activityId} group by userId) as aa </select> <select id="getDiscountStatic1" resultType="map"> SELECT IFNULL(SUM(aa.money), 0) money, COUNT(aa.userId) number FROM (select IFNULL(SUM(discountMoney), 0) money, userId from t_order_logistics WHERE activityId = #{activityId} group by userId) as aa </select> <select id="getRegStatic" resultType="map"> SELECT IFNULL(SUM(r.money), 0) money, IFNULL( SUM( CASE WHEN r.state = 2 THEN r.money ELSE 0 END ), 0 ) useMoney, COUNT(r.id) number FROM t_user_coupon_record r LEFT JOIN t_user_activity_balance u ON u.id = r.couponActivityId WHERE u.userActivityId = #{activityId} and r.activityType =4 <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> and (r.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> </select> <select id="getBlanceList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> SELECT b.id, b.money, c1.number,c1.useMoney,c1.useNumber, c2.number speNumber,c2.useMoney speUserMoney,c2.useNumber speUseNumber, c3.number taxiNumber,c3.useMoney taxiUserMoney,c3.useNumber taxiUseNumber, c4.number intercityNumber,c4.useMoney intercityUserMoney,c4.useNumber intercityUseNumber FROM t_user_activity_balance b LEFT JOIN ( SELECT couponActivityId, IFNULL( SUM( CASE WHEN r.state = 2 THEN r.money ELSE 0 END ), 0 ) useMoney, IFNULL( SUM( CASE WHEN r.state = 2 THEN 1 ELSE 0 END ), 0 ) useNumber, COUNT(r.id) number FROM t_user_coupon_record r WHERE r.activityType = 4 AND r.couponUseType=0 <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> and (r.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> GROUP BY couponActivityId ) c1 ON c1.couponActivityId=b.id LEFT JOIN ( SELECT couponActivityId, IFNULL( SUM( CASE WHEN r.state = 2 THEN r.money ELSE 0 END ), 0 ) useMoney, IFNULL( SUM( CASE WHEN r.state = 2 THEN 1 ELSE 0 END ), 0 ) useNumber, COUNT(r.id) number FROM t_user_coupon_record r WHERE r.activityType = 4 AND r.couponUseType=1 <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> and (r.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> GROUP BY couponActivityId ) c2 ON c2.couponActivityId=b.id LEFT JOIN ( SELECT couponActivityId, IFNULL( SUM( CASE WHEN r.state = 2 THEN r.money ELSE 0 END ), 0 ) useMoney, IFNULL( SUM( CASE WHEN r.state = 2 THEN 1 ELSE 0 END ), 0 ) useNumber, COUNT(r.id) number FROM t_user_coupon_record r WHERE r.activityType = 4 AND r.couponUseType=2 <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> and (r.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> GROUP BY couponActivityId ) c3 ON c3.couponActivityId=b.id LEFT JOIN ( SELECT couponActivityId, IFNULL( SUM( CASE WHEN r.state = 2 THEN r.money ELSE 0 END ), 0 ) useMoney, IFNULL( SUM( CASE WHEN r.state = 2 THEN 1 ELSE 0 END ), 0 ) useNumber, COUNT(r.id) number FROM t_user_coupon_record r WHERE r.activityType = 4 AND r.couponUseType=4 <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> and (r.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> GROUP BY couponActivityId ) c4 ON c4.couponActivityId=b.id WHERE b.userActivityId = #{activityId} </select> <select id="queryCouponRegister" resultType="map"> select da.time, sum(da.receivePeople) as receivePeople, sum(da.giving) as giving, (sum(da.receivePeople) + sum(da.giving)) as receive, sum(da.receiveMoney) as receiveMoney, sum(da.usePeople) as usePeople, sum(da.`use`) as `use`, sum(da.useMoney) as useMoney from ( select aa.time, count(aa.userId) as receivePeople, 0 as giving, sum(aa.receiveMoney) as receiveMoney, 0 as usePeople, 0 as `use`, 0 as useMoney from ( select DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time, a.userId, count(a.id) as receive, sum(a.money) as receiveMoney from t_user_coupon_record a <if test="2 == type"> left join t_user_activity_registered b on (a.couponActivityId = b.id and a.activityType = 2) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="3 == type"> left join t_user_activity_invite b on (a.couponActivityId = b.id and a.activityType = 3) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="4 == type"> left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) </if> where a.activityType = #{type} <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(insertTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time union all select aa.time, 0, 0, 0, count(aa.userId) as usePeople, sum(aa.receive) as `use`, sum(aa.receiveMoney) as useMoney from ( select DATE_FORMAT(a.endTime, '%Y-%m-%d') as time, a.userId, count(a.id) as receive, sum(a.money) as receiveMoney from t_user_coupon_record a <if test="2 == type"> left join t_user_activity_registered b on (a.couponActivityId = b.id and a.activityType = 2) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="3 == type"> left join t_user_activity_invite b on (a.couponActivityId = b.id and a.activityType = 3) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="4 == type"> left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) </if> where a.activityType = #{type} and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.endTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.endTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time <if test="2 == type"> union all select aa.time, 0, count(aa.userId) as giving, sum(aa.receiveMoney) as receiveMoney, 0 as usePeople, 0 as `use`, 0 as useMoney from ( select DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time, a.userId, count(a.id) as receive, sum(a.money) as receiveMoney from t_user_coupon_record a left join t_sys_coupon_record b on (a.couponActivityId = b.id and a.activityType = 1) where a.activityType = 1 <if test="null != name and '' != name"> and b.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and b.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time union all select aa.time, 0, 0, 0, count(aa.userId) as usePeople, sum(aa.receive) as `use`, sum(aa.receiveMoney) as useMoney from ( select DATE_FORMAT(a.endTime, '%Y-%m-%d') as time, a.userId, count(a.id) as receive, sum(a.money) as receiveMoney from t_user_coupon_record a left join t_sys_coupon_record b on (a.couponActivityId = b.id and a.activityType = 1) where a.activityType = 1 and a.state = 2 <if test="null != name and '' != name"> and b.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.endTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and b.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.endTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time </if> ) as da GROUP BY da.time order by da.time desc <if test="null != offset and null != limit"> limit #{offset}, #{limit} </if> </select> <select id="queryCouponRegisterCount" resultType="int"> select count(time) from ( select count(da.time) as time from ( select aa.time, count(aa.userId) as receivePeople, 0 as giving, sum(aa.receiveMoney) as receiveMoney, 0 as usePeople, 0 as `use`, 0 as useMoney from ( select DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time, a.userId, count(a.id) as receive, sum(a.money) as receiveMoney from t_user_coupon_record a <if test="2 == type"> left join t_user_activity_registered b on (a.couponActivityId = b.id and a.activityType = 2) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="3 == type"> left join t_user_activity_invite b on (a.couponActivityId = b.id and a.activityType = 3) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="4 == type"> left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) </if> where activityType = #{type} <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(insertTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time union all select aa.time, 0, 0, 0, count(aa.userId) as usePeople, sum(aa.receive) as `use`, sum(aa.receiveMoney) as useMoney from ( select DATE_FORMAT(a.endTime, '%Y-%m-%d') as time, a.userId, count(a.id) as receive, sum(a.money) as receiveMoney from t_user_coupon_record a <if test="2 == type"> left join t_user_activity_registered b on (a.couponActivityId = b.id and a.activityType = 2) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="3 == type"> left join t_user_activity_invite b on (a.couponActivityId = b.id and a.activityType = 3) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="4 == type"> left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) </if> where a.activityType = #{type} and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.endTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(endTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time <if test="2 == type"> union all select aa.time, 0, count(aa.userId) as giving, sum(aa.receiveMoney) as receiveMoney, 0 as usePeople, 0 as `use`, 0 as useMoney from ( select DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time, a.userId, count(a.id) as receive, sum(a.money) as receiveMoney from t_user_coupon_record a left join t_sys_coupon_record b on (a.couponActivityId = b.id and a.activityType = 1) where a.activityType = 1 <if test="null != name and '' != name"> and b.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and b.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time union all select aa.time, 0, 0, 0, count(aa.userId) as usePeople, sum(aa.receive) as `use`, sum(aa.receiveMoney) as useMoney from ( select DATE_FORMAT(a.endTime, '%Y-%m-%d') as time, a.userId, count(a.id) as receive, sum(a.money) as receiveMoney from t_user_coupon_record a left join t_sys_coupon_record b on (a.couponActivityId = b.id and a.activityType = 1) where a.activityType = 1 and a.state = 2 <if test="null != name and '' != name"> and b.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.endTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and b.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.endTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time </if> ) as da GROUP BY da.time ) as w </select> <select id="queryCouponRegisterInfo" resultType="map"> select a.id as id, DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, d.nickName as userName, d.phone as phone, a.money as money, DATE_FORMAT(a.expirationTime, '%Y-%m-%d %H:%i:%s') as expirationTime, if(a.couponType = 1, '抵扣券', '满减券') as couponType, if(a.state = 1, '未使用', if(a.state = 2, '已使用', '已过期')) as state, DATE_FORMAT(a.endTime, '%Y-%m-%d %H:%i:%s') as endTime from t_user_coupon_record a <if test="2 == type"> left join t_user_activity_registered b on (a.couponActivityId = b.id and a.activityType = 2) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="3 == type"> left join t_user_activity_invite b on (a.couponActivityId = b.id and a.activityType = 3) left join t_user_activity c on (b.userActivityId = c.id) </if> left join t_user d on (a.userId = d.id) where a.activityType = #{type} <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> order by a.insertTime desc <if test="null != offset and null != limit"> limit #{offset}, #{limit} </if> </select> <select id="queryCouponRegisterInfoCount" resultType="int"> select count(a.id) from t_user_coupon_record a <if test="2 == type"> left join t_user_activity_registered b on (a.couponActivityId = b.id and a.activityType = 2) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="3 == type"> left join t_user_activity_invite b on (a.couponActivityId = b.id and a.activityType = 3) left join t_user_activity c on (b.userActivityId = c.id) </if> left join t_user d on (a.userId = d.id) where a.activityType = #{type} <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> </select> <select id="queryCouponRegisterInfo1" resultType="map"> select aa.time, aa.userId, any_value(aa.userName) as userName, any_value(aa.phone) as phone, sum(aa.amount) as amount, sum(aa.tyNum) as tyNum, sum(aa.tyUseNum) as tyUseNum, sum(aa.tyUseMoney) as tyUseMoney, sum(aa.zcNum) as zcNum, sum(aa.zcUseNum) as zcUseNum, sum(aa.zcUseMoney) as zcUseMoney, sum(aa.czcNum) as czcNum, sum(aa.czcUseNum) as czcUseNum, sum(aa.czcUseMoney) as czcUseMoney, sum(aa.kcNum) as kcNum, sum(aa.kcUseNum) as kcUseNum, sum(aa.kcUseMoney) as kcUseMoney, sum(aa.xjNum) as xjNum, sum(aa.xjUseNum) as xjUseNum, sum(aa.xjUseMoney) as xjUseMoney from ( select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, sum(e.amount) as amount, count(a.id) as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney, 0 as xjNum, 0 as xjUseNum, 0 as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 0 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, count(a.id) as tyUseNum, sum(a.money) as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney, 0 as xjNum, 0 as xjUseNum, 0 as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 0 and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, count(a.id) as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney, 0 as xjNum, 0 as xjUseNum, 0 as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 1 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, count(a.id) as zcUseNum, sum(a.money) as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney, 0 as xjNum, 0 as xjUseNum, 0 as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 1 and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, count(a.id) as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney, 0 as xjNum, 0 as xjUseNum, 0 as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, count(a.id) as czcUseNum, sum(a.money) as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney, 0 as xjNum, 0 as xjUseNum, 0 as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 2 and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, count(a.id) as kcNum, 0 as kcUseNum, 0 as kcUseMoney, 0 as xjNum, 0 as xjUseNum, 0 as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 3 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, count(a.id) as kcUseNum, sum(a.money) as kcUseMoney, 0 as xjNum, 0 as xjUseNum, 0 as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 3 and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney, count(a.id) as xjNum, 0 as xjUseNum, 0 as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 4 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney, 0 as xjNum, count(a.id) as xjUseNum, sum(a.money) as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 4 and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId ) as aa GROUP BY aa.time,aa.userId order by aa.time desc <if test="null != offset and null != limit"> limit #{offset}, #{limit} </if> </select> <select id="queryCouponRegisterInfo1Count" resultType="int"> select count(w.time) from ( select aa.time as time from ( select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, sum(e.amount) as amount, count(a.id) as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 0 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, count(a.id) as tyUseNum, sum(a.money) as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 0 and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, count(a.id) as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 1 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, count(a.id) as zcUseNum, sum(a.money) as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 1 and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, count(a.id) as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, count(a.id) as czcUseNum, sum(a.money) as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 2 and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, count(a.id) as kcNum, 0 as kcUseNum, 0 as kcUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 3 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, count(a.id) as kcUseNum, sum(a.money) as kcUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 3 and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId ) as aa GROUP BY aa.time,aa.userId ) w </select> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.UserCouponRecord"> <id column="id" property="id"/> <result column="money" property="money"/> <result column="fullMoney" property="fullMoney"/> <result column="expirationTime" property="expirationTime"/> <result column="insertTime" property="insertTime"/> <result column="companyId" property="companyId"/> <result column="state" property="state"/> <result column="endTime" property="endTime"/> <result column="couponUseType" property="couponUseType"/> <result column="couponType" property="couponType"/> <result column="userId" property="userId"/> <result column="couponId" property="couponId"/> <result column="couponActivityId" property="couponActivityId"/> <result column="activityType" property="activityType"/> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id , money, fullMoney, expirationTime, insertTime, companyId, state, couponUseType, couponType, userId, couponId, couponActivityId, activityType </sql> <select id="getList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> SELECT c.id, c.money, c.fullMoney, c.expirationTime, c.insertTime, c.companyId, c.state, c.couponUseType, c.couponType, c.userId, c.couponId, c.couponActivityId, c.activityType, u.nickName, u.phone, if(a.id is null, if(b.id is null, if(d.id is null, if(e.id is null, '', e.endServiceTime), d.endServiceTime), b.endServiceTime), a.endServiceTime) as useTime FROM t_user_coupon_record c LEFT JOIN t_user u ON c.userId = u.id left join t_order_private_car a on (a.couponId = c.id) left join t_order_taxi b on (b.couponId = c.id) left join t_order_cross_city d on (d.couponId = c.id) left join t_order_logistics e on (e.couponId = c.id) WHERE 1=1 <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> and (c.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> <if test="userName != null and userName !=''"> and u.nickName like CONCAT('%',#{userName},'%') </if> <if test="activityType != null and activityType !=''"> and c.activityType=#{activityType} </if> <if test="userPhone != null and userPhone !=''"> and u.phone like CONCAT('%',#{userPhone},'%') </if> <if test="couponActivityId != null"> and c.couponActivityId=#{couponActivityId} </if> <if test="state != null and state !=''"> and c.state=#{state} </if> </select> <select id="getRedList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> SELECT c.id, c.money, c.endTime as expirationTime, c.insertTime, c.companyId, c.state, c.userId, c.redPacketActivityId, u.nickName, u.phone, if(a.id is null, if(b.id is null, if(d.id is null, if(e.id is null, '', e.endServiceTime), d.endServiceTime), b.endServiceTime), a.endServiceTime) as useTime FROM t_user_red_packet_record c LEFT JOIN t_user u ON c.userId = u.id left join t_order_private_car a on (a.redPacketId = c.id) left join t_order_taxi b on (b.redPacketId = c.id) left join t_order_cross_city d on (d.redPacketId = c.id) left join t_order_logistics e on (e.redPacketId = c.id) WHERE 1=1 <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> and (c.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> <if test="userName != null and userName !=''"> and u.nickName like CONCAT('%',#{userName},'%') </if> <if test="userPhone != null and userPhone !=''"> and u.phone like CONCAT('%',#{userPhone},'%') </if> <if test="couponActivityId != null and couponActivityId !=''"> and c.redPacketActivityId=#{couponActivityId} </if> <if test="state != null and state !=''"> and c.state=#{state} </if> </select> <select id="getCouponStatic" resultType="map"> select IFNULL(SUM(aa.money), 0) money, IFNULL(SUM(aa.useMoney), 0) useMoney, COUNT(aa.userId) as number from ( SELECT IFNULL(SUM(money), 0) money, IFNULL(SUM(CASE WHEN state = 2 THEN money ELSE 0 END), 0) useMoney, userId FROM t_user_coupon_record WHERE activityType = #{activityType} AND couponActivityId = #{activityId} <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> and (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> group by userId ) as aa </select> <select id="getRedStatic" resultType="map"> SELECT IFNULL(SUM(aa.money), 0) money, IFNULL(SUM(aa.useMoney), 0) useMoney, COUNT(aa.userId) number FROM ( SELECT IFNULL(SUM(money), 0) money, IFNULL(SUM(CASE WHEN state = 2 THEN money ELSE 0 END ), 0) useMoney, userId FROM t_user_red_packet_record WHERE redPacketActivityId = #{activityId} <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> and (insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> group by userId ) as aa group by aa.userId </select> <select id="getDiscountStatic" resultType="map"> select count(aa.userId) as number, IFNULL(SUM(aa.money), 0) money from ( select a.userId, IFNULL(SUM(a.discountMoney), 0) money from ( select userId, discountMoney from t_order_private_car WHERE activityId = #{activityId} union all select userId, discountMoney from t_order_logistics WHERE activityId = #{activityId} ) as a group by a.userId ) as aa </select> <select id="getDiscountStatic1" resultType="map"> SELECT IFNULL(SUM(aa.money), 0) money, COUNT(aa.userId) number FROM (select IFNULL(SUM(discountMoney), 0) money, userId from t_order_logistics WHERE activityId = #{activityId} group by userId) as aa </select> <select id="getRegStatic" resultType="map"> SELECT IFNULL(SUM(r.money), 0) money, IFNULL( SUM( CASE WHEN r.state = 2 THEN r.money ELSE 0 END ), 0 ) useMoney, COUNT(r.id) number FROM t_user_coupon_record r LEFT JOIN t_user_activity_balance u ON u.id = r.couponActivityId WHERE u.userActivityId = #{activityId} and r.activityType =4 <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> and (r.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> </select> <select id="getBlanceList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page"> SELECT b.id, b.money, c1.number,c1.useMoney,c1.useNumber, c2.number speNumber,c2.useMoney speUserMoney,c2.useNumber speUseNumber, c3.number taxiNumber,c3.useMoney taxiUserMoney,c3.useNumber taxiUseNumber, c4.number intercityNumber,c4.useMoney intercityUserMoney,c4.useNumber intercityUseNumber FROM t_user_activity_balance b LEFT JOIN ( SELECT couponActivityId, IFNULL( SUM( CASE WHEN r.state = 2 THEN r.money ELSE 0 END ), 0 ) useMoney, IFNULL( SUM( CASE WHEN r.state = 2 THEN 1 ELSE 0 END ), 0 ) useNumber, COUNT(r.id) number FROM t_user_coupon_record r WHERE r.activityType = 4 AND r.couponUseType=0 <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> and (r.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> GROUP BY couponActivityId ) c1 ON c1.couponActivityId=b.id LEFT JOIN ( SELECT couponActivityId, IFNULL( SUM( CASE WHEN r.state = 2 THEN r.money ELSE 0 END ), 0 ) useMoney, IFNULL( SUM( CASE WHEN r.state = 2 THEN 1 ELSE 0 END ), 0 ) useNumber, COUNT(r.id) number FROM t_user_coupon_record r WHERE r.activityType = 4 AND r.couponUseType=1 <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> and (r.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> GROUP BY couponActivityId ) c2 ON c2.couponActivityId=b.id LEFT JOIN ( SELECT couponActivityId, IFNULL( SUM( CASE WHEN r.state = 2 THEN r.money ELSE 0 END ), 0 ) useMoney, IFNULL( SUM( CASE WHEN r.state = 2 THEN 1 ELSE 0 END ), 0 ) useNumber, COUNT(r.id) number FROM t_user_coupon_record r WHERE r.activityType = 4 AND r.couponUseType=2 <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> and (r.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> GROUP BY couponActivityId ) c3 ON c3.couponActivityId=b.id LEFT JOIN ( SELECT couponActivityId, IFNULL( SUM( CASE WHEN r.state = 2 THEN r.money ELSE 0 END ), 0 ) useMoney, IFNULL( SUM( CASE WHEN r.state = 2 THEN 1 ELSE 0 END ), 0 ) useNumber, COUNT(r.id) number FROM t_user_coupon_record r WHERE r.activityType = 4 AND r.couponUseType=4 <if test="beginTime != null and beginTime !='' and endTime != null and endTime != ''"> and (r.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> GROUP BY couponActivityId ) c4 ON c4.couponActivityId=b.id WHERE b.userActivityId = #{activityId} </select> <select id="queryCouponRegister" resultType="map"> select da.time, sum(da.receivePeople) as receivePeople, sum(da.giving) as giving, (sum(da.receivePeople) + sum(da.giving)) as receive, sum(da.receiveMoney) as receiveMoney, sum(da.usePeople) as usePeople, sum(da.`use`) as `use`, sum(da.useMoney) as useMoney from ( select aa.time, count(aa.userId) as receivePeople, 0 as giving, sum(aa.receiveMoney) as receiveMoney, 0 as usePeople, 0 as `use`, 0 as useMoney from ( select DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time, a.userId, count(a.id) as receive, sum(a.money) as receiveMoney from t_user_coupon_record a <if test="2 == type"> left join t_user_activity_registered b on (a.couponActivityId = b.id and a.activityType = 2) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="3 == type"> left join t_user_activity_invite b on (a.couponActivityId = b.id and a.activityType = 3) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="4 == type"> left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) </if> where a.activityType = #{type} <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(insertTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time union all select aa.time, 0, 0, 0, count(aa.userId) as usePeople, sum(aa.receive) as `use`, sum(aa.receiveMoney) as useMoney from ( select DATE_FORMAT(a.endTime, '%Y-%m-%d') as time, a.userId, count(a.id) as receive, sum(a.money) as receiveMoney from t_user_coupon_record a <if test="2 == type"> left join t_user_activity_registered b on (a.couponActivityId = b.id and a.activityType = 2) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="3 == type"> left join t_user_activity_invite b on (a.couponActivityId = b.id and a.activityType = 3) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="4 == type"> left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) </if> where a.activityType = #{type} and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.endTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.endTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time <if test="2 == type"> union all select aa.time, 0, count(aa.userId) as giving, sum(aa.receiveMoney) as receiveMoney, 0 as usePeople, 0 as `use`, 0 as useMoney from ( select DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time, a.userId, count(a.id) as receive, sum(a.money) as receiveMoney from t_user_coupon_record a left join t_sys_coupon_record b on (a.couponActivityId = b.id and a.activityType = 1) where a.activityType = 1 <if test="null != name and '' != name"> and b.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and b.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time union all select aa.time, 0, 0, 0, count(aa.userId) as usePeople, sum(aa.receive) as `use`, sum(aa.receiveMoney) as useMoney from ( select DATE_FORMAT(a.endTime, '%Y-%m-%d') as time, a.userId, count(a.id) as receive, sum(a.money) as receiveMoney from t_user_coupon_record a left join t_sys_coupon_record b on (a.couponActivityId = b.id and a.activityType = 1) where a.activityType = 1 and a.state = 2 <if test="null != name and '' != name"> and b.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.endTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and b.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.endTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time </if> ) as da GROUP BY da.time order by da.time desc <if test="null != offset and null != limit"> limit #{offset}, #{limit} </if> </select> <select id="queryCouponRegisterCount" resultType="int"> select count(time) from ( select count(da.time) as time from ( select aa.time, count(aa.userId) as receivePeople, 0 as giving, sum(aa.receiveMoney) as receiveMoney, 0 as usePeople, 0 as `use`, 0 as useMoney from ( select DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time, a.userId, count(a.id) as receive, sum(a.money) as receiveMoney from t_user_coupon_record a <if test="2 == type"> left join t_user_activity_registered b on (a.couponActivityId = b.id and a.activityType = 2) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="3 == type"> left join t_user_activity_invite b on (a.couponActivityId = b.id and a.activityType = 3) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="4 == type"> left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) </if> where activityType = #{type} <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(insertTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time union all select aa.time, 0, 0, 0, count(aa.userId) as usePeople, sum(aa.receive) as `use`, sum(aa.receiveMoney) as useMoney from ( select DATE_FORMAT(a.endTime, '%Y-%m-%d') as time, a.userId, count(a.id) as receive, sum(a.money) as receiveMoney from t_user_coupon_record a <if test="2 == type"> left join t_user_activity_registered b on (a.couponActivityId = b.id and a.activityType = 2) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="3 == type"> left join t_user_activity_invite b on (a.couponActivityId = b.id and a.activityType = 3) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="4 == type"> left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) </if> where a.activityType = #{type} and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.endTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(endTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time <if test="2 == type"> union all select aa.time, 0, count(aa.userId) as giving, sum(aa.receiveMoney) as receiveMoney, 0 as usePeople, 0 as `use`, 0 as useMoney from ( select DATE_FORMAT(a.insertTime, '%Y-%m-%d') as time, a.userId, count(a.id) as receive, sum(a.money) as receiveMoney from t_user_coupon_record a left join t_sys_coupon_record b on (a.couponActivityId = b.id and a.activityType = 1) where a.activityType = 1 <if test="null != name and '' != name"> and b.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and b.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time union all select aa.time, 0, 0, 0, count(aa.userId) as usePeople, sum(aa.receive) as `use`, sum(aa.receiveMoney) as useMoney from ( select DATE_FORMAT(a.endTime, '%Y-%m-%d') as time, a.userId, count(a.id) as receive, sum(a.money) as receiveMoney from t_user_coupon_record a left join t_sys_coupon_record b on (a.couponActivityId = b.id and a.activityType = 1) where a.activityType = 1 and a.state = 2 <if test="null != name and '' != name"> and b.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.endTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and b.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.endTime, '%Y-%m-%d'),userId ) as aa GROUP BY aa.time </if> ) as da GROUP BY da.time ) as w </select> <select id="queryCouponRegisterInfo" resultType="map"> select a.id as id, DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, d.nickName as userName, d.phone as phone, a.money as money, DATE_FORMAT(a.expirationTime, '%Y-%m-%d %H:%i:%s') as expirationTime, if(a.couponType = 1, '抵扣券', '满减券') as couponType, if(a.state = 1, '未使用', if(a.state = 2, '已使用', '已过期')) as state, DATE_FORMAT(a.endTime, '%Y-%m-%d %H:%i:%s') as endTime from t_user_coupon_record a <if test="2 == type"> left join t_user_activity_registered b on (a.couponActivityId = b.id and a.activityType = 2) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="3 == type"> left join t_user_activity_invite b on (a.couponActivityId = b.id and a.activityType = 3) left join t_user_activity c on (b.userActivityId = c.id) </if> left join t_user d on (a.userId = d.id) where a.activityType = #{type} <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> order by a.insertTime desc <if test="null != offset and null != limit"> limit #{offset}, #{limit} </if> </select> <select id="queryCouponRegisterInfoCount" resultType="int"> select count(a.id) from t_user_coupon_record a <if test="2 == type"> left join t_user_activity_registered b on (a.couponActivityId = b.id and a.activityType = 2) left join t_user_activity c on (b.userActivityId = c.id) </if> <if test="3 == type"> left join t_user_activity_invite b on (a.couponActivityId = b.id and a.activityType = 3) left join t_user_activity c on (b.userActivityId = c.id) </if> left join t_user d on (a.userId = d.id) where a.activityType = #{type} <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> </select> <select id="queryCouponRegisterInfo1" resultType="map"> select aa.time, aa.userId, any_value(aa.userName) as userName, any_value(aa.phone) as phone, sum(aa.amount) as amount, sum(aa.tyNum) as tyNum, sum(aa.tyUseNum) as tyUseNum, sum(aa.tyUseMoney) as tyUseMoney, sum(aa.zcNum) as zcNum, sum(aa.zcUseNum) as zcUseNum, sum(aa.zcUseMoney) as zcUseMoney, sum(aa.czcNum) as czcNum, sum(aa.czcUseNum) as czcUseNum, sum(aa.czcUseMoney) as czcUseMoney, sum(aa.kcNum) as kcNum, sum(aa.kcUseNum) as kcUseNum, sum(aa.kcUseMoney) as kcUseMoney, sum(aa.xjNum) as xjNum, sum(aa.xjUseNum) as xjUseNum, sum(aa.xjUseMoney) as xjUseMoney from ( select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, sum(e.amount) as amount, count(a.id) as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney, 0 as xjNum, 0 as xjUseNum, 0 as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 0 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, count(a.id) as tyUseNum, sum(a.money) as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney, 0 as xjNum, 0 as xjUseNum, 0 as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 0 and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, count(a.id) as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney, 0 as xjNum, 0 as xjUseNum, 0 as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 1 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, count(a.id) as zcUseNum, sum(a.money) as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney, 0 as xjNum, 0 as xjUseNum, 0 as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 1 and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, count(a.id) as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney, 0 as xjNum, 0 as xjUseNum, 0 as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, count(a.id) as czcUseNum, sum(a.money) as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney, 0 as xjNum, 0 as xjUseNum, 0 as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 2 and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, count(a.id) as kcNum, 0 as kcUseNum, 0 as kcUseMoney, 0 as xjNum, 0 as xjUseNum, 0 as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 3 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, count(a.id) as kcUseNum, sum(a.money) as kcUseMoney, 0 as xjNum, 0 as xjUseNum, 0 as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 3 and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney, count(a.id) as xjNum, 0 as xjUseNum, 0 as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 4 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney, 0 as xjNum, count(a.id) as xjUseNum, sum(a.money) as xjUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 4 and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId ) as aa GROUP BY aa.time,aa.userId order by aa.time desc <if test="null != offset and null != limit"> limit #{offset}, #{limit} </if> </select> <select id="queryCouponRegisterInfo1Count" resultType="int"> select count(w.time) from ( select aa.time as time from ( select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, sum(e.amount) as amount, count(a.id) as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 0 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, count(a.id) as tyUseNum, sum(a.money) as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 0 and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, count(a.id) as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 1 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, count(a.id) as zcUseNum, sum(a.money) as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 1 and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, count(a.id) as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, count(a.id) as czcUseNum, sum(a.money) as czcUseMoney, 0 as kcNum, 0 as kcUseNum, 0 as kcUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 2 and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, count(a.id) as kcNum, 0 as kcUseNum, 0 as kcUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 3 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId union all select DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s') as time, a.userId as userId, d.nickName as userName, d.phone as phone, 0 as amount, 0 as tyNum, 0 as tyUseNum, 0 as tyUseMoney, 0 as zcNum, 0 as zcUseNum, 0 as zcUseMoney, 0 as czcNum, 0 as czcUseNum, 0 as czcUseMoney, 0 as kcNum, count(a.id) as kcUseNum, sum(a.money) as kcUseMoney from t_user_coupon_record a left join t_user_activity_balance b on (a.couponActivityId = b.id and a.activityType = 4) left join t_user_activity c on (b.userActivityId = c.id) left join t_user d on (a.userId = d.id) left join t_payment_record e on (a.paymentRecordId = e.id) where a.activityType = 4 and a.couponUseType = 3 and a.state = 2 <if test="null != name and '' != name"> and c.`name` like CONCAT('%', #{name}, '%') </if> <if test="null != start and '' != start and null != end and '' != end"> and DATE_FORMAT(a.insertTime, '%Y-%m-%d') between #{start} and #{end} </if> <if test="null != companyId"> and c.companyId = #{companyId} </if> GROUP BY DATE_FORMAT(a.insertTime, '%Y-%m-%d %H:%i:%s'),a.userId ) as aa GROUP BY aa.time,aa.userId ) w </select> </mapper> ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount1ServiceImpl.java
@@ -1,19 +1,17 @@ package com.stylefeng.guns.modular.system.service.impl; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.dao.UserActivityDiscount1Mapper; import com.stylefeng.guns.modular.system.model.TEmail; import com.stylefeng.guns.modular.system.model.TUser; import com.stylefeng.guns.modular.system.model.User; import com.stylefeng.guns.modular.system.model.UserActivityDiscount1; import com.stylefeng.guns.modular.system.dao.UserActivityDiscount1Mapper; import com.stylefeng.guns.modular.system.service.ITCompanyService; import com.stylefeng.guns.modular.system.service.ITUserService; import com.stylefeng.guns.modular.system.service.IUserActivityDiscount1Service; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.stylefeng.guns.modular.system.service.TEmailService; import com.stylefeng.guns.modular.system.util.EmailUtil; import com.stylefeng.guns.modular.system.util.itextpdf.HtmlToPdfUtils; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.HorizontalAlignment; @@ -27,12 +25,9 @@ import javax.annotation.Resource; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.math.BigDecimal; import java.math.RoundingMode; import java.text.SimpleDateFormat; import java.util.*; /** @@ -387,12 +382,12 @@ EmailUtil.send(user.getEmail(), "Activités à rabais", document1.html()); } //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/discount_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/discount_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityServiceImpl.java
@@ -308,9 +308,12 @@ @Override public Map<String, Object> queryUserActivityList(Integer uid, Date start, Date end, String name, Integer status, Integer offset, Integer limit) { Map<String, Object> map = new HashMap<>(); Integer objectId = userService.selectById(uid).getObjectId(); List<Map<String, Object>> list = userActivityMapper.queryUserActivityList(objectId, start, end, name, status, offset, limit); int i = userActivityMapper.queryUserActivityListCount(objectId, start, end, name, status); Integer companyId = null; if(1 != ShiroKit.getUser().getRoleType()){ companyId = ShiroKit.getUser().getObjectId(); } List<Map<String, Object>> list = userActivityMapper.queryUserActivityList(companyId, start, end, name, status, offset, limit); int i = userActivityMapper.queryUserActivityListCount(companyId, start, end, name, status); map.put("rows", list); map.put("total", i); return map; ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GoogleCloudStorageUtil.java
@@ -1,5 +1,6 @@ package com.stylefeng.guns.modular.system.util; import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.WriteChannel; import com.google.cloud.storage.*; import org.springframework.web.multipart.MultipartFile; @@ -19,6 +20,10 @@ public static String upload(MultipartFile file){ // The ID of your GCP project // String projectId = "your-project-id"; @@ -33,7 +38,19 @@ String fileName = file.getOriginalFilename(); String projectId = "i-go-gcp"; String bucketName = "i-go"; Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService(); GoogleCredentials defaultCredentials = null; try { defaultCredentials = GoogleCredentials.getApplicationDefault(); } catch (IOException e) { throw new RuntimeException(e); } defaultCredentials.createScoped("https://www.googleapis.com/auth/cloud-platform"); Storage storage = StorageOptions .newBuilder() .setProjectId(projectId) .setCredentials(defaultCredentials) .build() .getService(); BlobId blobId = BlobId.of(bucketName, fileName); BlobInfo blobInfo = BlobInfo.newBuilder(blobId).build(); ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TextToSpeechUtil.java
@@ -1,8 +1,12 @@ package com.stylefeng.guns.modular.system.util; import com.google.api.gax.core.FixedCredentialsProvider; import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.texttospeech.v1.*; import com.google.protobuf.ByteString; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.OutputStream; @@ -22,8 +26,13 @@ * @throws Exception */ public static String create(String languageCode, String text, String fileName) throws Exception { // Instantiates a client try (TextToSpeechClient textToSpeechClient = TextToSpeechClient.create()) { GoogleCredentials googleCredentials = GoogleCredentials .fromStream(new FileInputStream("/home/igotechgh/i-go-gcp-f83e2d02152a.json")) .createScoped("https://www.googleapis.com/auth/cloud-platform"); FixedCredentialsProvider provider = FixedCredentialsProvider.create(googleCredentials); TextToSpeechSettings textToSpeechSettings = TextToSpeechSettings.newBuilder().setCredentialsProvider(provider).build(); try (TextToSpeechClient textToSpeechClient = TextToSpeechClient.create(textToSpeechSettings)) { // Set the text input to be synthesized SynthesisInput input = SynthesisInput.newBuilder().setText(text).build(); @@ -48,7 +57,11 @@ ByteString audioContents = response.getAudioContent(); // Write the response to the output file. try (OutputStream out = new FileOutputStream("/home/igotechgh/nginx/html/files/audio/" + fileName)) { File file = new File("/data/nginx/html/files/audio/" + fileName); if (!file.exists()) { file.createNewFile(); } try (OutputStream out = new FileOutputStream("/data/nginx/html/files/audio/" + fileName)) { out.write(audioContents.toByteArray()); return "https://igo.i-go.group/files/audio/" + fileName; }catch (Exception e){ ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/quartz/jobs/OrderTimeOutJob.java
@@ -53,6 +53,10 @@ @Resource private QuartzUtil quartzUtil; @Override public void execute(JobExecutionContext jobExecutionContext){ run(jobExecutionContext); } /** * 执行的业务逻辑 @@ -180,7 +184,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; @@ -225,12 +229,6 @@ System.err.println(jsonObject1.getString("msg")); } } @Override public void execute(JobExecutionContext jobExecutionContext){ run(jobExecutionContext); } ManagementIGOTravel/guns-admin/src/main/resources/application-dev.yml
@@ -110,7 +110,7 @@ socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂 debug: true from: i-gotech@i-go.group # 发送方邮件,配在yml中可方便更改 template-path: /home/igotechgh/nginx/html/mailbox/ template-path: /data/nginx/html/mailbox/ --- #支付回调地址 ManagementIGOTravel/guns-admin/src/main/resources/application-produce.yml
@@ -31,8 +31,8 @@ max-file-size: 100MB redis: database: 0 host: 127.0.0.1 port: 16379 host: 172.17.0.3 port: 6379 password: mPMHThYzlT8DWgl8HLqwPEyPOiHDPPB5 mybatis-plus: @@ -53,19 +53,6 @@ password: _6)S]<vpfvj?N#t2 db-name: guns #用来搜集数据库的所有表 filters: wall,mergeStat #多数据源情况的配置 guns: muti-datasource: open: false url: jdbc:mysql://120.24.34.190:3306/mask?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8 username: root password: Root2020! dataSourceNames: - dataSourceGuns - dataSourceBiz --- @@ -109,7 +96,7 @@ socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂 debug: true from: i-gotech@i-go.group # 发送方邮件,配在yml中可方便更改 template-path: /home/igotechgh/nginx/html/mailbox/ template-path: /data/nginx/html/mailbox/ --- #支付回调地址 ManagementIGOTravel/guns-admin/src/main/resources/application-test.yml
@@ -103,7 +103,7 @@ socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂 debug: true from: i-gotech@i-go.group # 发送方邮件,配在yml中可方便更改 template-path: /home/igotechgh/nginx/html/mailbox/ template-path: /data/nginx/html/mailbox/ --- #支付回调地址 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/report/couponStatistics.html
@@ -3,7 +3,7 @@ <div class="col-sm-12"> <div class="ibox float-e-margins"> <div class="ibox-title"> <h5>优惠券管理</h5> <h5>用户端补贴领用情况</h5> </div> <div class="ibox-content"> <div class="row row-lg"> ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/driverActivity/driverActivity.js
@@ -143,10 +143,14 @@ DriverActivity.updateStatus = function () { if (this.check(3)) { var ajax = new $ax(Feng.ctxPath + "/driverActivity/updateStatus", function (data) { Feng.success("启动/暂停成功!"); DriverActivity.table.refresh(); if(200 == data.code){ Feng.success("启动/暂停成功!"); DriverActivity.table.refresh(); }else{ Feng.error(data.msg); } }, function (data) { Feng.error("动/暂停失败!" + data.responseJSON.message + "!"); Feng.error("启动/暂停失败!" + data.responseJSON.message + "!"); }); ajax.set("id",this.seItem.id); ajax.set("status",this.seItem.status==3?4:3); ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/userActivity/userActivity.js
@@ -150,8 +150,12 @@ UserActivity.updateStatus = function () { if (this.check(3)) { var ajax = new $ax(Feng.ctxPath + "/userActivity/updateStatus", function (data) { Feng.success("启动/暂停成功!"); UserActivity.table.refresh(); if(200 == data.code){ Feng.success("启动/暂停成功!"); UserActivity.table.refresh(); }else{ Feng.error(data.msg); } }, function (data) { Feng.error("动/暂停失败!" + data.responseJSON.message + "!"); }); UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -136,6 +136,4 @@ return ResultUtil.runErr(); } } } UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
@@ -300,12 +300,12 @@ EmailUtil.send(email, language == 1 ? "邮箱验证" : language == 2 ? "Verification code" : "Code de validation", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/mainbox_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/mainbox_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -1343,10 +1343,10 @@ ServletOutputStream outputStream = null; try { if(orderType == 1){ fileInputStream = new FileInputStream(new File("/home/igotechgh/nginx/html/files/pdf/ride_receipt_" + orderId + ".pdf")); fileInputStream = new FileInputStream(new File("/data/nginx/html/files/pdf/ride_receipt_" + orderId + ".pdf")); } if(orderType == 4){ fileInputStream = new FileInputStream(new File("/home/igotechgh/nginx/html/files/pdf/parcel_receipt_" + orderId + ".pdf")); fileInputStream = new FileInputStream(new File("/data/nginx/html/files/pdf/parcel_receipt_" + orderId + ".pdf")); } BufferedInputStream bf = new BufferedInputStream(fileInputStream); outputStream = response.getOutputStream(); @@ -1411,7 +1411,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName + ".mp3"); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + fileName + ".mp3"); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java
@@ -428,7 +428,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -606,7 +606,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; @@ -883,7 +883,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; @@ -1016,7 +1016,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; @@ -1448,7 +1448,7 @@ // Element track_chinese = document.getElementById("track_chinese"); // track_chinese.attr("href", "https://igo.i-go.group/mailbox/user/location.html"); Element pay_time_chinese = document.getElementById("pay_time_chinese"); pay_time_chinese.text(DateUtil.conversionFormat(finalLanguage1, sdf1.format(orderLogistics.getTravelTime()))); pay_time_chinese.text(DateUtil.conversionFormat(finalLanguage1, sdf1.format(orderLogistics.getEndServiceTime()))); Elements driver_chinese = document.getElementsByClass("driver_chinese"); for (int i = 0; i < driver_chinese.size(); i++) { Element element = driver_chinese.get(i); @@ -1558,7 +1558,7 @@ // Element track_english = document.getElementById("track_english"); // track_english.attr("href", "https://igo.i-go.group/mailbox/user/location.html"); Element pay_time_english = document.getElementById("pay_time_english"); pay_time_english.text(DateUtil.conversionFormat(finalLanguage1, sdf1.format(orderLogistics.getTravelTime()))); pay_time_english.text(DateUtil.conversionFormat(finalLanguage1, sdf1.format(orderLogistics.getEndServiceTime()))); Elements driver_english = document.getElementsByClass("driver_english"); for (int i = 0; i < driver_english.size(); i++) { Element element = driver_english.get(i); @@ -1668,7 +1668,7 @@ // Element track_french = document.getElementById("track_french"); // track_french.attr("href", "https://igo.i-go.group/mailbox/user/location.html"); Element pay_time_french = document.getElementById("pay_time_french"); pay_time_french.text(DateUtil.conversionFormat(finalLanguage1, sdf1.format(orderLogistics.getTravelTime()))); pay_time_french.text(DateUtil.conversionFormat(finalLanguage1, sdf1.format(orderLogistics.getEndServiceTime()))); Elements driver_french = document.getElementsByClass("driver_french"); for (int i = 0; i < driver_french.size(); i++) { Element element = driver_french.get(i); @@ -1692,11 +1692,11 @@ EmailUtil.send(userInfo.getEmail(), finalLanguage1 == 1 ? "包裹收据" : finalLanguage1 == 2 ? "Delivery receipt" : "Reçu de livraison", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/parcel_receipt_" + orderId + ".html"); file = new File("/data/nginx/html/files/html/parcel_receipt_" + orderId + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -1705,17 +1705,17 @@ fileWriter.flush(); fileWriter.close(); File file1 = new File("/home/igotechgh/nginx/html/files/pdf/"); File file1 = new File("/data/nginx/html/files/pdf/"); if(!file1.exists()){ file1.mkdirs(); } file1 = new File("/home/igotechgh/nginx/html/files/pdf/parcel_receipt_" + orderId + ".pdf"); file1 = new File("/data/nginx/html/files/pdf/parcel_receipt_" + orderId + ".pdf"); if(!file1.exists()){ file1.createNewFile(); } try{ FileOutputStream fileOutputStream = new FileOutputStream(file1); HtmlToPdfUtils.convertToPdf("/home/igotechgh/nginx/html/files/html/parcel_receipt_" + orderId + ".html", "I-GO", fileOutputStream); HtmlToPdfUtils.convertToPdf("/data/nginx/html/files/html/parcel_receipt_" + orderId + ".html", "I-GO", fileOutputStream); }catch (Exception e){ e.printStackTrace(); System.out.println("html转pdf异常"); @@ -1961,7 +1961,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; @@ -2093,7 +2093,7 @@ // Element track_chinese = document.getElementById("track_chinese"); // track_chinese.attr("href", "https://igo.i-go.group/mailbox/user/location.html"); Element pay_time_chinese = document.getElementById("pay_time_chinese"); pay_time_chinese.text(DateUtil.conversionFormat(finalLanguage, sdf1.format(orderLogistics.getTravelTime()))); pay_time_chinese.text(DateUtil.conversionFormat(finalLanguage, sdf1.format(orderLogistics.getEndServiceTime()))); Elements driver_chinese = document.getElementsByClass("driver_chinese"); for (int i = 0; i < driver_chinese.size(); i++) { Element element = driver_chinese.get(i); @@ -2203,7 +2203,7 @@ // Element track_english = document.getElementById("track_english"); // track_english.attr("href", "https://igo.i-go.group/mailbox/user/location.html"); Element pay_time_english = document.getElementById("pay_time_english"); pay_time_english.text(DateUtil.conversionFormat(finalLanguage, sdf1.format(orderLogistics.getTravelTime()))); pay_time_english.text(DateUtil.conversionFormat(finalLanguage, sdf1.format(orderLogistics.getEndServiceTime()))); Elements driver_english = document.getElementsByClass("driver_english"); for (int i = 0; i < driver_english.size(); i++) { Element element = driver_english.get(i); @@ -2313,7 +2313,7 @@ // Element track_french = document.getElementById("track_french"); // track_french.attr("href", "https://igo.i-go.group/mailbox/user/location.html"); Element pay_time_french = document.getElementById("pay_time_french"); pay_time_french.text(DateUtil.conversionFormat(finalLanguage, sdf1.format(orderLogistics.getTravelTime()))); pay_time_french.text(DateUtil.conversionFormat(finalLanguage, sdf1.format(orderLogistics.getEndServiceTime()))); Elements driver_french = document.getElementsByClass("driver_french"); for (int i = 0; i < driver_french.size(); i++) { Element element = driver_french.get(i); @@ -2337,11 +2337,11 @@ EmailUtil.send(userInfo.getEmail(), finalLanguage == 1 ? "包裹收据" : finalLanguage == 2 ? "Delivery receipt" : "Reçu de livraison", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/parcel_receipt_" + orderId + ".html"); file = new File("/data/nginx/html/files/html/parcel_receipt_" + orderId + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2350,17 +2350,17 @@ fileWriter.flush(); fileWriter.close(); File file1 = new File("/home/igotechgh/nginx/html/files/pdf/"); File file1 = new File("/data/nginx/html/files/pdf/"); if(!file1.exists()){ file1.mkdirs(); } file1 = new File("/home/igotechgh/nginx/html/files/pdf/parcel_receipt_" + orderId + ".pdf"); file1 = new File("/data/nginx/html/files/pdf/parcel_receipt_" + orderId + ".pdf"); if(!file1.exists()){ file1.createNewFile(); } try{ FileOutputStream fileOutputStream = new FileOutputStream(file1); HtmlToPdfUtils.convertToPdf("/home/igotechgh/nginx/html/files/html/parcel_receipt_" + orderId + ".html", "I-GO", fileOutputStream); HtmlToPdfUtils.convertToPdf("/data/nginx/html/files/html/parcel_receipt_" + orderId + ".html", "I-GO", fileOutputStream); }catch (Exception e){ e.printStackTrace(); System.out.println("html转pdf异常"); @@ -2749,7 +2749,7 @@ // Element track_chinese = document.getElementById("track_chinese"); // track_chinese.attr("href", "https://igo.i-go.group/mailbox/user/location.html"); Element pay_time_chinese = document.getElementById("pay_time_chinese"); pay_time_chinese.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getTravelTime()))); pay_time_chinese.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getEndServiceTime()))); Elements driver_chinese = document.getElementsByClass("driver_chinese"); for (int i = 0; i < driver_chinese.size(); i++) { Element element = driver_chinese.get(i); @@ -2859,7 +2859,7 @@ // Element track_english = document.getElementById("track_english"); // track_english.attr("href", "https://igo.i-go.group/mailbox/user/location.html"); Element pay_time_english = document.getElementById("pay_time_english"); pay_time_english.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getTravelTime()))); pay_time_english.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getEndServiceTime()))); Elements driver_english = document.getElementsByClass("driver_english"); for (int i = 0; i < driver_english.size(); i++) { Element element = driver_english.get(i); @@ -2969,7 +2969,7 @@ // Element track_french = document.getElementById("track_french"); // track_french.attr("href", "https://igo.i-go.group/mailbox/user/location.html"); Element pay_time_french = document.getElementById("pay_time_french"); pay_time_french.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getTravelTime()))); pay_time_french.text(DateUtil.conversionFormat(language, sdf1.format(orderLogistics.getEndServiceTime()))); Elements driver_french = document.getElementsByClass("driver_french"); for (int i = 0; i < driver_french.size(); i++) { Element element = driver_french.get(i); @@ -2993,11 +2993,11 @@ EmailUtil.send(userInfo.getEmail(), language == 1 ? "包裹收据" : language == 2 ? "Delivery receipt" : "Reçu de livraison", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/parcel_receipt_" + id + ".html"); file = new File("/data/nginx/html/files/html/parcel_receipt_" + id + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -3006,17 +3006,17 @@ fileWriter.flush(); fileWriter.close(); File file1 = new File("/home/igotechgh/nginx/html/files/pdf/"); File file1 = new File("/data/nginx/html/files/pdf/"); if(!file1.exists()){ file1.mkdirs(); } file1 = new File("/home/igotechgh/nginx/html/files/pdf/parcel_receipt_" + id + ".pdf"); file1 = new File("/data/nginx/html/files/pdf/parcel_receipt_" + id + ".pdf"); if(!file1.exists()){ file1.createNewFile(); } try{ FileOutputStream fileOutputStream = new FileOutputStream(file1); HtmlToPdfUtils.convertToPdf("/home/igotechgh/nginx/html/files/html/parcel_receipt_" + id + ".html", "I-GO", fileOutputStream); HtmlToPdfUtils.convertToPdf("/data/nginx/html/files/html/parcel_receipt_" + id + ".html", "I-GO", fileOutputStream); }catch (Exception e){ e.printStackTrace(); System.out.println("html转pdf异常"); @@ -3249,7 +3249,9 @@ } } } if(null == lon || null == lat){ return ResultUtil.error(language == 1 ? "无效的经纬度" : language == 2 ? "Invalid longitude and latitude" : "Longitude et latitude non valides"); } language = userInfoService.queryLanguage(uid, language); OrderLogistics orderLogistics = this.selectById(id); Integer integer = null; @@ -3961,11 +3963,11 @@ EmailUtil.send(userInfo.getEmail(), language == 1 ? "红包活动" : language == 2 ? "Lucky-promo activities" : "Activités bonus", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/redpacket_" + orderId + ".html"); file = new File("/data/nginx/html/files/html/redpacket_" + orderId + ".html"); if(!file.exists()){ file.createNewFile(); } UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -482,7 +482,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; @@ -615,7 +615,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; @@ -819,7 +819,9 @@ } } } if(null == lon || null == lat){ return ResultUtil.error(language == 1 ? "无效的经纬度" : language == 2 ? "Invalid longitude and latitude" : "Longitude et latitude non valides"); } language = userInfoService.queryLanguage(uid, language); OrderPrivateCar orderPrivateCar = this.selectById(id); Integer integer = null; @@ -1171,7 +1173,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; @@ -1307,7 +1309,7 @@ if(null != query2){ Integer orderNum=this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("userId",orderPrivateCar.getUserId()) .eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())")); if(query2.getDistance()*1000>orderPrivateCar.getMileage() && query2.getOrderNum()>orderNum){ if(query2.getDistance() * 1000 > orderPrivateCar.getMileage() && query2.getOrderNum().compareTo(orderNum) > 0){ Double special = query2.getSpecial(); if(null != special){ orderPrivateCar.setDiscount(special); @@ -1853,11 +1855,11 @@ EmailUtil.send(userInfo.getEmail(), language == 1 ? "打车收据" : language == 2 ? "Ride receipt" : "Reçu de course", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/ride_receipt_" + orderId + ".html"); file = new File("/data/nginx/html/files/html/ride_receipt_" + orderId + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -1866,17 +1868,17 @@ fileWriter.flush(); fileWriter.close(); File file1 = new File("/home/igotechgh/nginx/html/files/pdf/"); File file1 = new File("/data/nginx/html/files/pdf/"); if(!file1.exists()){ file1.mkdirs(); } file1 = new File("/home/igotechgh/nginx/html/files/pdf/ride_receipt_" + orderId + ".pdf"); file1 = new File("/data/nginx/html/files/pdf/ride_receipt_" + orderId + ".pdf"); if(!file1.exists()){ file1.createNewFile(); } try { FileOutputStream fileOutputStream = new FileOutputStream(file1); HtmlToPdfUtils.convertToPdf("/home/igotechgh/nginx/html/files/html/ride_receipt_" + orderId + ".html", "I-GO", fileOutputStream); HtmlToPdfUtils.convertToPdf("/data/nginx/html/files/html/ride_receipt_" + orderId + ".html", "I-GO", fileOutputStream); }catch (Exception e){ e.printStackTrace(); System.out.println("html转pdf异常"); @@ -2446,11 +2448,11 @@ EmailUtil.send(userInfo.getEmail(), language == 1 ? "打车收据" : language == 2 ? "Ride receipt" : "Reçu de course", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/ride_receipt_" + orderId + ".html"); file = new File("/data/nginx/html/files/html/ride_receipt_" + orderId + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2459,17 +2461,17 @@ fileWriter.flush(); fileWriter.close(); File file1 = new File("/home/igotechgh/nginx/html/files/pdf/"); File file1 = new File("/data/nginx/html/files/pdf/"); if(!file1.exists()){ file1.mkdirs(); } file1 = new File("/home/igotechgh/nginx/html/files/pdf/ride_receipt_" + orderId + ".pdf"); file1 = new File("/data/nginx/html/files/pdf/ride_receipt_" + orderId + ".pdf"); if(!file1.exists()){ file1.createNewFile(); } try { FileOutputStream fileOutputStream = new FileOutputStream(file1); HtmlToPdfUtils.convertToPdf("/home/igotechgh/nginx/html/files/html/ride_receipt_" + orderId + ".html", "I-GO", fileOutputStream); HtmlToPdfUtils.convertToPdf("/data/nginx/html/files/html/ride_receipt_" + orderId + ".html", "I-GO", fileOutputStream); }catch (Exception e){ e.printStackTrace(); System.out.println("html转pdf异常"); @@ -2535,7 +2537,7 @@ public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); Process process = Runtime.getRuntime().exec("sudo rm -rf /data/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; @@ -2672,11 +2674,11 @@ EmailUtil.send(userInfo.getEmail(), language == 1 ? "红包活动" : language == 2 ? "Lucky-promo activities" : "Activités bonus", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/redpacket_" + orderId + ".html"); file = new File("/data/nginx/html/files/html/redpacket_" + orderId + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -3178,11 +3180,11 @@ EmailUtil.send(userInfo.getEmail(), language == 1 ? "打车收据" : language == 2 ? "Ride receipt" : "Reçu de course", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } file = new File("/home/igotechgh/nginx/html/files/html/ride_receipt_" + id + ".html"); file = new File("/data/nginx/html/files/html/ride_receipt_" + id + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -3191,17 +3193,17 @@ fileWriter.flush(); fileWriter.close(); File file1 = new File("/home/igotechgh/nginx/html/files/pdf/"); File file1 = new File("/data/nginx/html/files/pdf/"); if(!file1.exists()){ file1.mkdirs(); } file1 = new File("/home/igotechgh/nginx/html/files/pdf/ride_receipt_" + id + ".pdf"); file1 = new File("/data/nginx/html/files/pdf/ride_receipt_" + id + ".pdf"); if(!file1.exists()){ file1.createNewFile(); } try { FileOutputStream fileOutputStream = new FileOutputStream(file1); HtmlToPdfUtils.convertToPdf("/home/igotechgh/nginx/html/files/html/ride_receipt_" + id + ".html", "I-GO", fileOutputStream); HtmlToPdfUtils.convertToPdf("/data/nginx/html/files/html/ride_receipt_" + id + ".html", "I-GO", fileOutputStream); }catch (Exception e){ e.printStackTrace(); System.out.println("html转pdf异常"); UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ComplaintServiceImpl.java
@@ -105,12 +105,12 @@ } EmailUtil.send(userInfo.getEmail(), language == 1 ? "投诉司机" : language == 2 ? "Complain against driver" : "Porter plainte contre le chauffeur", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/complain_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/complain_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/FeedbackServiceImpl.java
@@ -112,12 +112,12 @@ EmailUtil.send(userInfo.getEmail(), language == 1 ? "反馈意见" : language == 2 ? "Feedback" : "Avis", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/feedback_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/feedback_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReportLossServiceImpl.java
@@ -125,12 +125,12 @@ EmailUtil.send(userInfo.getEmail(), language == 1 ? "物品报失" : language == 2 ? "Report items lost" : "Signaler l'objet perdu", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/reportLoss_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/reportLoss_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -272,12 +272,12 @@ } EmailUtil.send(userInfo.getEmail(), language == 1 ? "注册成功" : language == 2 ? "Registered successfully" : "Enregistré avec succès", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/registration_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/registration_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -320,94 +320,96 @@ driverActivityHistoryMapper.updateById(driverActivityHistory); } driver.setActivityMoney(bigDecimal.add(new BigDecimal(driver.getActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveActivityMoney(bigDecimal.add(new BigDecimal(driver.getLaveActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setBalance(bigDecimal.add(new BigDecimal(driver.getBalance())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverMapper.updateById(driver); if(ToolUtil.isNotEmpty(driver.getEmail())){ String path1 = templatePath + "driver/index.html"; Document document1 = Jsoup.parse(new File(path1), "UTF-8"); if(1 == language){ document1.getElementById("english").remove(); document1.getElementById("french").remove(); document1.getElementById("invite").remove(); document1.getElementById("settle").remove(); document1.getElementById("pass").remove(); document1.getElementById("bill").remove(); document1.getElementById("reward").remove(); document1.getElementById("rewardToday").remove(); document1.getElementsByTag("title").get(0).text("司机奖励通知"); Element user_user = document1.getElementById("user_user"); user_user.text("您好 " + driver.getFirstName() + " " + driver.getLastName() + ","); Element user_content = document1.getElementById("user_content"); user_content.text("您已成功邀请一位用户注册I-GO,获得奖励GHS " + bigDecimal.doubleValue() + ",请查收"); if(bigDecimal.compareTo(BigDecimal.ZERO) > 0){ driver.setActivityMoney(bigDecimal.add(new BigDecimal(driver.getActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveActivityMoney(bigDecimal.add(new BigDecimal(driver.getLaveActivityMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setBalance(bigDecimal.add(new BigDecimal(driver.getBalance())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverMapper.updateById(driver); if(ToolUtil.isNotEmpty(driver.getEmail())){ String path1 = templatePath + "driver/index.html"; Document document1 = Jsoup.parse(new File(path1), "UTF-8"); if(1 == language){ document1.getElementById("english").remove(); document1.getElementById("french").remove(); document1.getElementById("invite").remove(); document1.getElementById("settle").remove(); document1.getElementById("pass").remove(); document1.getElementById("bill").remove(); document1.getElementById("reward").remove(); document1.getElementById("rewardToday").remove(); document1.getElementsByTag("title").get(0).text("司机奖励通知"); Element user_user = document1.getElementById("user_user"); user_user.text("您好 " + driver.getFirstName() + " " + driver.getLastName() + ","); Element user_content = document1.getElementById("user_content"); user_content.text("您已成功邀请一位用户注册I-GO,获得奖励GHS " + bigDecimal.doubleValue() + ",请查收"); } if(2 == language){ document1.getElementById("chinese").remove(); document1.getElementById("french").remove(); document1.getElementById("invite1").remove(); document1.getElementById("settle1").remove(); document1.getElementById("pass1").remove(); document1.getElementById("bill1").remove(); document1.getElementById("reward1").remove(); document1.getElementById("rewardToday1").remove(); document1.getElementsByTag("title").get(0).text("Reward-driver notice"); Element user1_user = document1.getElementById("user1_user"); user1_user.text("Hello " + driver.getFirstName() + " " + driver.getLastName() + ","); Element user1_content = document1.getElementById("user1_content"); user1_content.text("You have succeeded to invite a rider to register with I-GO, so you received a GHS " + bigDecimal.doubleValue() + " bonus, please check your balance."); } if(3 == language){ document1.getElementById("chinese").remove(); document1.getElementById("english").remove(); document1.getElementById("invite1").remove(); document1.getElementById("settle1").remove(); document1.getElementById("pass1").remove(); document1.getElementById("bill1").remove(); document1.getElementById("reward1").remove(); document1.getElementById("rewardToday1").remove(); document1.getElementsByTag("title").get(0).text("Avis de chauffeur de récompense"); Element user2_user = document1.getElementById("user2_user"); user2_user.text("Bonjour " + driver.getFirstName() + " " + driver.getLastName() + ","); Element user2_content = document1.getElementById("user2_content"); user2_content.text("Vous avez invité avec succès un utilisateur à s’inscrire à i-go pour recevoir une récompense GHS " + bigDecimal.doubleValue() + ". Veuillez vérifier"); } EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document1.html()); //开始生成pdf收据和html收据 File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/data/nginx/html/files/html/invitation_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } FileWriter fileWriter = new FileWriter(file); fileWriter.write(document1.html()); fileWriter.flush(); fileWriter.close(); String link ="https://igo.i-go.group/files/html/invitation_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(driver.getId()); tEmail.setType(2); tEmail.setName(language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense"); tEmail.setCreateTime(new Date()); int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; tEmail.setWeek(EmailUtil.getWeek(language,i)); boolean am = cn.hutool.core.date.DateUtil.isAM(new Date()); if(am){ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin"); }else { tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi"); } emailService.insert(tEmail); } if(2 == language){ document1.getElementById("chinese").remove(); document1.getElementById("french").remove(); document1.getElementById("invite1").remove(); document1.getElementById("settle1").remove(); document1.getElementById("pass1").remove(); document1.getElementById("bill1").remove(); document1.getElementById("reward1").remove(); document1.getElementById("rewardToday1").remove(); document1.getElementsByTag("title").get(0).text("Reward-driver notice"); Element user1_user = document1.getElementById("user1_user"); user1_user.text("Hello " + driver.getFirstName() + " " + driver.getLastName() + ","); Element user1_content = document1.getElementById("user1_content"); user1_content.text("You have succeeded to invite a rider to register with I-GO, so you received a GHS " + bigDecimal.doubleValue() + " bonus, please check your balance."); } if(3 == language){ document1.getElementById("chinese").remove(); document1.getElementById("english").remove(); document1.getElementById("invite1").remove(); document1.getElementById("settle1").remove(); document1.getElementById("pass1").remove(); document1.getElementById("bill1").remove(); document1.getElementById("reward1").remove(); document1.getElementById("rewardToday1").remove(); document1.getElementsByTag("title").get(0).text("Avis de chauffeur de récompense"); Element user2_user = document1.getElementById("user2_user"); user2_user.text("Bonjour " + driver.getFirstName() + " " + driver.getLastName() + ","); Element user2_content = document1.getElementById("user2_content"); user2_content.text("Vous avez invité avec succès un utilisateur à s’inscrire à i-go pour recevoir une récompense GHS " + bigDecimal.doubleValue() + ". Veuillez vérifier"); } EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document1.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } FileWriter fileWriter = new FileWriter(file); fileWriter.write(document1.html()); fileWriter.flush(); fileWriter.close(); String link ="https://igo.i-go.group/files/html/invitation_" + randomString + ".html"; TEmail tEmail = new TEmail(); tEmail.setLink(link); tEmail.setUserId(driver.getId()); tEmail.setType(2); tEmail.setName(language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense"); tEmail.setCreateTime(new Date()); int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; tEmail.setWeek(EmailUtil.getWeek(language,i)); boolean am = cn.hutool.core.date.DateUtil.isAM(new Date()); if(am){ tEmail.setAmOrPm(language==1?"上午":language==2?"morning":"matin"); }else { tEmail.setAmOrPm(language==1?"下午":language==2?"afternoon":"après-midi"); } emailService.insert(tEmail); } } @@ -506,12 +508,12 @@ } EmailUtil.send(userInfo1.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte", document1.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/coupon_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/coupon_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -626,12 +628,12 @@ } EmailUtil.send(userInfo.getEmail(), language == 1 ? "注册成功" : language == 2 ? "Registered successfully" : "Enregistré avec succès", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/registration_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/registration_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -737,12 +739,12 @@ } EmailUtil.send(driver.getEmail(), language == 1 ? "司机奖励通知" : language == 2 ? "Reward-driver notice" : "Avis de chauffeur de récompense", document1.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/invitation_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/invitation_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -879,12 +881,12 @@ } EmailUtil.send(userInfo1.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte", document1.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/coupon_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/coupon_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -1090,12 +1092,12 @@ } EmailUtil.send(userInfo.getEmail(), language == 1 ? "注册成功" : language == 2 ? "Registered successfully" : "Enregistré avec succès", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/registration_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/registration_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -1238,12 +1240,12 @@ EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte", document1.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/coupon_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/coupon_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -1388,12 +1390,12 @@ } EmailUtil.send(userInfo.getEmail(), language == 1 ? "注册成功" : language == 2 ? "Registered successfully" : "Enregistré avec succès", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/registration_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/registration_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -1533,12 +1535,12 @@ } EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte", document1.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/coupon_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/coupon_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -1893,12 +1895,12 @@ EmailUtil.send(userInfo.getEmail(), language == 1 ? "重置密码" : language == 2 ? "Reset password" : "Réinitialiser le mot de passe", document.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/password_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/password_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2207,12 +2209,12 @@ } EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte", document1.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/coupon_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/coupon_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } @@ -2374,12 +2376,12 @@ } EmailUtil.send(userInfo.getEmail(), language == 1 ? "优惠券到账" : language == 2 ? "Coupon is in" : "Le coupon est arrivé sur le compte", document1.html()); //开始生成pdf收据和html收据 File file = new File("/home/igotechgh/nginx/html/files/html/"); File file = new File("/data/nginx/html/files/html/"); if(!file.exists()){ file.mkdirs(); } String randomString = ToolUtil.getRandomString(10); file = new File("/home/igotechgh/nginx/html/files/html/coupon_" + randomString + ".html"); file = new File("/data/nginx/html/files/html/coupon_" + randomString + ".html"); if(!file.exists()){ file.createNewFile(); } UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TextToSpeechUtil.java
@@ -1,8 +1,12 @@ package com.stylefeng.guns.modular.system.util; import com.google.api.gax.core.FixedCredentialsProvider; import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.texttospeech.v1.*; import com.google.protobuf.ByteString; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.OutputStream; @@ -22,8 +26,13 @@ * @throws Exception */ public static String create(String languageCode, String text, String fileName) throws Exception { // Instantiates a client try (TextToSpeechClient textToSpeechClient = TextToSpeechClient.create()) { GoogleCredentials googleCredentials = GoogleCredentials .fromStream(new FileInputStream("/home/igotechgh/i-go-gcp-f83e2d02152a.json")) .createScoped("https://www.googleapis.com/auth/cloud-platform"); FixedCredentialsProvider provider = FixedCredentialsProvider.create(googleCredentials); TextToSpeechSettings textToSpeechSettings = TextToSpeechSettings.newBuilder().setCredentialsProvider(provider).build(); try (TextToSpeechClient textToSpeechClient = TextToSpeechClient.create(textToSpeechSettings)) { // Set the text input to be synthesized SynthesisInput input = SynthesisInput.newBuilder().setText(text).build(); @@ -48,7 +57,11 @@ ByteString audioContents = response.getAudioContent(); // Write the response to the output file. try (OutputStream out = new FileOutputStream("/home/igotechgh/nginx/html/files/audio/" + fileName)) { File file = new File("/data/nginx/html/files/audio/" + fileName); if (!file.exists()) { file.createNewFile(); } try (OutputStream out = new FileOutputStream("/data/nginx/html/files/audio/" + fileName)) { out.write(audioContents.toByteArray()); return "https://igo.i-go.group/files/audio/" + fileName; }catch (Exception e){ UserIGOTravel/guns-admin/src/main/resources/application-dev.yml
@@ -136,6 +136,6 @@ socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂 debug: true from: i-gotech@i-go.group # 发送方邮件,配在yml中可方便更改 template-path: /home/igotechgh/nginx/html/mailbox/ template-path: /data/nginx/html/mailbox/ --- UserIGOTravel/guns-admin/src/main/resources/application-produce.yml
@@ -29,8 +29,8 @@ max-file-size: 100MB redis: database: 0 host: 127.0.0.1 port: 16379 host: 172.17.0.3 port: 6379 password: mPMHThYzlT8DWgl8HLqwPEyPOiHDPPB5 @@ -62,18 +62,6 @@ db-name: guns #用来搜集数据库的所有表 filters: wall,mergeStat #多数据源情况的配置 guns: muti-datasource: open: false url: jdbc:mysql://127.0.0.1:3306/guns_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai username: root password: root dataSourceNames: - dataSourceGuns - dataSourceBiz --- @@ -124,8 +112,8 @@ spring: mail: template-path: /home/igotechgh/nginx/html/mailbox/ template-path: /data/nginx/html/mailbox/ --- audioPath: /home/igotechgh/nginx/html/files/audio audioPath: /data/nginx/html/files/audio ZuulIGOTravel/src/main/java/com/sinata/zuul/controller/NettyController.java
@@ -24,8 +24,8 @@ */ @ResponseBody @PostMapping("/sendMsgToClient") public String sendMsgToClient(Integer id, Integer type, String msg){ if(type == 1){//用户端 public String sendMsgToClient(String id, String type, String msg){ if("1".equals(type)){//用户端 ChannelHandlerContext channel = NettyChannelMap.getData("Applets" + id);//小程序 if(null != channel){ NettyWebSocketController.sendMsgToClient(channel, msg); @@ -40,7 +40,7 @@ } if(type == 2){//司机端 if("2".equals(type)){//司机端 ChannelHandlerContext channel = NettyChannelMap.getData("DRIVER" + id); if(null != channel){ NettyServerController.sendMsgToClient(channel, msg); ZuulIGOTravel/src/main/resources/application.yml
@@ -12,8 +12,8 @@ file-size-threshold: 100MB redis: database: 0 host: 127.0.0.1 port: 16379 host: 172.17.0.3 port: 6379 password: mPMHThYzlT8DWgl8HLqwPEyPOiHDPPB5 eureka: