From aac2866f6db65e78f95b81b4f447b61def9027e2 Mon Sep 17 00:00:00 2001 From: winter Date: Wed, 12 Jan 2022 18:38:53 +0800 Subject: [PATCH 1/3] fix bigdata --- .../datatower/DataTowerController.java | 22 +- .../market/WxCouponOrderController.java | 58 +++--- .../controller/mem/WxCUserDataController.java | 195 +++++++++--------- .../bin/target/classes/application-dev.yml | 190 +++++++++++++++++ .../bin/target/classes/application-prod.yml | 150 ++++++++++++++ .../target/classes/application-test.yml-bak | 106 ++++++++++ .../bin/target/classes/application.yml | 54 +++++ .../bin/target/classes/logback-spring.xml | 100 +++++++++ .../iformall/controller/WxBillController.java | 96 ++++----- .../controller/WxCouponController.java | 103 ++++----- .../controller/WxCouponOrderController.java | 77 +++---- .../controller/WxCouponSendController.java | 57 ++--- .../controller/WxCreditHistoryController.java | 41 ++-- .../controller/WxCampaignController.java | 54 +++-- .../controller/WxCouponChannelController.java | 24 ++- .../iformall/controller/WxGameController.java | 3 + .../controller/WxTopicController.java | 17 +- .../service/impl/DataTowerServiceImpl.java | 8 +- .../service/impl/WxChartServiceImpl.java | 32 ++- .../impl/WxCouponChannelServiceImpl.java | 21 +- .../service/impl/WxGameServiceImpl.java | 15 +- 21 files changed, 1068 insertions(+), 355 deletions(-) create mode 100644 mallinkBApi/bin/target/classes/application-dev.yml create mode 100644 mallinkBApi/bin/target/classes/application-prod.yml create mode 100644 mallinkBApi/bin/target/classes/application-test.yml-bak create mode 100644 mallinkBApi/bin/target/classes/application.yml create mode 100644 mallinkBApi/bin/target/classes/logback-spring.xml diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/datatower/DataTowerController.java b/mallinkAdmin/src/main/java/com/iformall/controller/datatower/DataTowerController.java index b61bd0c62..bc325cf93 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/datatower/DataTowerController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/datatower/DataTowerController.java @@ -66,17 +66,17 @@ public class DataTowerController extends BaseController { return new ResultData(data); } - - @ApiOperation("查询车流") - @GetMapping("/queryCar") - @SystemControllerLog(description = "数据塔台-查询车流") - public ResultData queryCar() { - logger.debug("[" + getIpAddr() + "] DataTowerController::queryCar"); - - Map data = dataTowerService.queryCar(getTenantInfo()); - - return new ResultData(data); - } +//TODO 待优化数据 +// @ApiOperation("查询车流") +// @GetMapping("/queryCar") +// @SystemControllerLog(description = "数据塔台-查询车流") +// public ResultData queryCar() { +// logger.debug("[" + getIpAddr() + "] DataTowerController::queryCar"); +// +// Map data = dataTowerService.queryCar(getTenantInfo()); +// +// return new ResultData(data); +// } @ApiOperation("查询客流") @GetMapping("/queryCustomer") diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponOrderController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponOrderController.java index 5a05d0a43..7ba52de34 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponOrderController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponOrderController.java @@ -44,22 +44,23 @@ public class WxCouponOrderController extends BaseController { @Autowired private WxAppinfoService wxAppinfoService; - @ApiOperation("分页列表接口") - @GetMapping("list") - @ApiImplicitParams({ - @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), - @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) - @SystemControllerLog(description = "券包-列表") - public ResultData list(@ModelAttribute WxCouponOrderBVo wxCouponOrder, Integer pageNum, Integer pageSize) { - logger.debug("[" + getIpAddr() + "] WxCouponOrderController::list"); - if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrderBVo(); - wxCouponOrder.updateTenantInfo(getTenantInfo()); - if (wxCouponOrder.getMerchantName() != null && - wxCouponOrder.getMerchantName().isEmpty()) { - wxCouponOrder.setMerchantName(null); - } - return wxCouponOrderService.listAdminAsPage(wxCouponOrder, pageNum, pageSize); - } + //TODO 待优化数据 +// @ApiOperation("分页列表接口") +// @GetMapping("list") +// @ApiImplicitParams({ +// @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), +// @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) +// @SystemControllerLog(description = "券包-列表") +// public ResultData list(@ModelAttribute WxCouponOrderBVo wxCouponOrder, Integer pageNum, Integer pageSize) { +// logger.debug("[" + getIpAddr() + "] WxCouponOrderController::list"); +// if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrderBVo(); +// wxCouponOrder.updateTenantInfo(getTenantInfo()); +// if (wxCouponOrder.getMerchantName() != null && +// wxCouponOrder.getMerchantName().isEmpty()) { +// wxCouponOrder.setMerchantName(null); +// } +// return wxCouponOrderService.listAdminAsPage(wxCouponOrder, pageNum, pageSize); +// } @ApiOperation(value = "卡券详情接口") @GetMapping("detail") @@ -125,17 +126,18 @@ public class WxCouponOrderController extends BaseController { return new ResultData(ErrorCode.REFUND_ORDER_ERROR.getCode(), "AppInfo获取失败"); } - @GetMapping("exportData") - @SystemControllerLog(description = "券订单数据-导出数据") - public void exportData(@ModelAttribute WxCouponOrderBVo wxCouponOrder, HttpServletRequest request, HttpServletResponse response) { - logger.debug("[" + getIpAddr() + "] WxCouponOrderController::exportData"); - if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrderBVo(); - wxCouponOrder.updateTenantInfo(getTenantInfo()); - if (wxCouponOrder.getMerchantName() != null && - wxCouponOrder.getMerchantName().isEmpty()) { - wxCouponOrder.setMerchantName(null); - } - wxCouponOrderService.exportData(wxCouponOrder, request, response); - } + //TODO 待优化数据 +// @GetMapping("exportData") +// @SystemControllerLog(description = "券订单数据-导出数据") +// public void exportData(@ModelAttribute WxCouponOrderBVo wxCouponOrder, HttpServletRequest request, HttpServletResponse response) { +// logger.debug("[" + getIpAddr() + "] WxCouponOrderController::exportData"); +// if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrderBVo(); +// wxCouponOrder.updateTenantInfo(getTenantInfo()); +// if (wxCouponOrder.getMerchantName() != null && +// wxCouponOrder.getMerchantName().isEmpty()) { +// wxCouponOrder.setMerchantName(null); +// } +// wxCouponOrderService.exportData(wxCouponOrder, request, response); +// } } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserDataController.java b/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserDataController.java index 155dc3543..d11b247d2 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserDataController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserDataController.java @@ -264,103 +264,104 @@ public class WxCUserDataController extends BaseController { return new ResultData(mapVo); } - @ApiOperation("查询用户消费金额") - @GetMapping("findUserAmountData") - @SystemControllerLog(description = "会员首页-报表数据-查询用户消费金额") - public ResultData findUserAmountData(Integer plat) { - logger.debug("[" + getIpAddr() + "] WxCUserDataController::findUserAmountData"); - if(plat == null){ - plat = EnumAppPlat.WX.getCode(); - } - TenantEntity tenantEntity = getTenantInfo(); - Calendar c = Calendar.getInstance(); - Date today = c.getTime(); - c.add(Calendar.DAY_OF_YEAR, 1); - c.set(Calendar.HOUR_OF_DAY, 0); - c.set(Calendar.MINUTE, 0); - c.set(Calendar.SECOND, 0); - Date endTime = c.getTime();//明天0点 - c.add(Calendar.DAY_OF_YEAR, -30);//三十天前 - Date startTime = c.getTime(); - List tenantEntitys = wxMallService.getTenantEntitys(tenantEntity); - WxCouponOrder wxCouponOrder = new WxCouponOrder(); - wxCouponOrder.updateTenantInfo(tenantEntity); - wxCouponOrder.setStartTime(startTime); - wxCouponOrder.setEndTime(endTime); - int thisMonthCount = wxCouponOrderService.queryPriceTotal(wxCouponOrder,tenantEntitys);//月消费金额 - c.clear(); - c.setTime(endTime); - Date eTime = c.getTime(); - c.add(Calendar.DAY_OF_YEAR, -30); - Date sTime = c.getTime(); - List datas = wxCouponOrderService.queryPriceTotalGroup(tenantEntity, sTime, eTime); - Map dataMap = new HashMap<>(); - for (CUserDateAmountVo v : datas) { - dataMap.put(v.getXTime(), v.getPrice()); - } - Integer todayCount = 0;//今日金额数 - Integer yesterdayCount = 0;//昨日金额数 - Integer dayOfWeekCount = 0;//上周x - List weekVos = new ArrayList<>();//周消费金额 - List monthVos = new ArrayList<>();//周消费金额 - for (int i = 29, sortNum = 0; i >= 0; i--) { - c.clear(); - c.setTime(today); - c.add(Calendar.DAY_OF_YEAR, -i); - String dateStr = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()); - UserStructureVo vo = new UserStructureVo(); - vo.setName(new SimpleDateFormat("MM/dd").format(c.getTime())); - vo.setSortNum(sortNum++); - if (dataMap.get(dateStr) != null) { - int price = dataMap.get(dateStr); - vo.setPrice(price); - } else { - vo.setPrice(0); - } - if (i <= 7) { - UserStructureVo vow = new UserStructureVo(); - vow.setName(vo.getName()); - vow.setSortNum(vo.getSortNum()); - vow.setPrice(vo.getPrice()); - - if (i == 0) { - todayCount = vow.getPrice(); - } - if (i == 1) { - yesterdayCount = vow.getPrice(); - } - if (i == 7) { - dayOfWeekCount = vow.getPrice(); - } else { - weekVos.add(vow); - } - } - monthVos.add(vo); - } - - NumberFormat nf = NumberFormat.getPercentInstance(); - nf.setMinimumFractionDigits(2); - String dayPercentage = "--"; - if (yesterdayCount > 0) { - Integer count = todayCount - yesterdayCount; - dayPercentage = nf.format(count.doubleValue() / new Double(yesterdayCount).doubleValue()); - } - String weekPercentage = "--"; - if (dayOfWeekCount > 0) { - Integer count = todayCount - dayOfWeekCount; - weekPercentage = nf.format(count.doubleValue() / new Double(dayOfWeekCount).doubleValue()); - } - Map map = new HashMap<>(); - DecimalFormat df = new DecimalFormat("0.00"); - map.put("todayCount", df.format((float) todayCount / 100));//今日消费金额 - String thisMonthCountStr = df.format((float) thisMonthCount / 100); - map.put("thisMonthCount", thisMonthCountStr);//近一个月消费金额数 - map.put("dayPercentage", dayPercentage);//日环比 - map.put("weekPercentage", weekPercentage); //周同比 - map.put("weekVos", weekVos);//一周金额列表 - map.put("monthVos", monthVos);//一月金额列表 - return new ResultData(map); - } + //TODO 待优化数据 +// @ApiOperation("查询用户消费金额") +// @GetMapping("findUserAmountData") +// @SystemControllerLog(description = "会员首页-报表数据-查询用户消费金额") +// public ResultData findUserAmountData(Integer plat) { +// logger.debug("[" + getIpAddr() + "] WxCUserDataController::findUserAmountData"); +// if(plat == null){ +// plat = EnumAppPlat.WX.getCode(); +// } +// TenantEntity tenantEntity = getTenantInfo(); +// Calendar c = Calendar.getInstance(); +// Date today = c.getTime(); +// c.add(Calendar.DAY_OF_YEAR, 1); +// c.set(Calendar.HOUR_OF_DAY, 0); +// c.set(Calendar.MINUTE, 0); +// c.set(Calendar.SECOND, 0); +// Date endTime = c.getTime();//明天0点 +// c.add(Calendar.DAY_OF_YEAR, -30);//三十天前 +// Date startTime = c.getTime(); +// List tenantEntitys = wxMallService.getTenantEntitys(tenantEntity); +// WxCouponOrder wxCouponOrder = new WxCouponOrder(); +// wxCouponOrder.updateTenantInfo(tenantEntity); +// wxCouponOrder.setStartTime(startTime); +// wxCouponOrder.setEndTime(endTime); +// int thisMonthCount = wxCouponOrderService.queryPriceTotal(wxCouponOrder,tenantEntitys);//月消费金额 +// c.clear(); +// c.setTime(endTime); +// Date eTime = c.getTime(); +// c.add(Calendar.DAY_OF_YEAR, -30); +// Date sTime = c.getTime(); +// List datas = wxCouponOrderService.queryPriceTotalGroup(tenantEntity, sTime, eTime); +// Map dataMap = new HashMap<>(); +// for (CUserDateAmountVo v : datas) { +// dataMap.put(v.getXTime(), v.getPrice()); +// } +// Integer todayCount = 0;//今日金额数 +// Integer yesterdayCount = 0;//昨日金额数 +// Integer dayOfWeekCount = 0;//上周x +// List weekVos = new ArrayList<>();//周消费金额 +// List monthVos = new ArrayList<>();//周消费金额 +// for (int i = 29, sortNum = 0; i >= 0; i--) { +// c.clear(); +// c.setTime(today); +// c.add(Calendar.DAY_OF_YEAR, -i); +// String dateStr = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()); +// UserStructureVo vo = new UserStructureVo(); +// vo.setName(new SimpleDateFormat("MM/dd").format(c.getTime())); +// vo.setSortNum(sortNum++); +// if (dataMap.get(dateStr) != null) { +// int price = dataMap.get(dateStr); +// vo.setPrice(price); +// } else { +// vo.setPrice(0); +// } +// if (i <= 7) { +// UserStructureVo vow = new UserStructureVo(); +// vow.setName(vo.getName()); +// vow.setSortNum(vo.getSortNum()); +// vow.setPrice(vo.getPrice()); +// +// if (i == 0) { +// todayCount = vow.getPrice(); +// } +// if (i == 1) { +// yesterdayCount = vow.getPrice(); +// } +// if (i == 7) { +// dayOfWeekCount = vow.getPrice(); +// } else { +// weekVos.add(vow); +// } +// } +// monthVos.add(vo); +// } +// +// NumberFormat nf = NumberFormat.getPercentInstance(); +// nf.setMinimumFractionDigits(2); +// String dayPercentage = "--"; +// if (yesterdayCount > 0) { +// Integer count = todayCount - yesterdayCount; +// dayPercentage = nf.format(count.doubleValue() / new Double(yesterdayCount).doubleValue()); +// } +// String weekPercentage = "--"; +// if (dayOfWeekCount > 0) { +// Integer count = todayCount - dayOfWeekCount; +// weekPercentage = nf.format(count.doubleValue() / new Double(dayOfWeekCount).doubleValue()); +// } +// Map map = new HashMap<>(); +// DecimalFormat df = new DecimalFormat("0.00"); +// map.put("todayCount", df.format((float) todayCount / 100));//今日消费金额 +// String thisMonthCountStr = df.format((float) thisMonthCount / 100); +// map.put("thisMonthCount", thisMonthCountStr);//近一个月消费金额数 +// map.put("dayPercentage", dayPercentage);//日环比 +// map.put("weekPercentage", weekPercentage); //周同比 +// map.put("weekVos", weekVos);//一周金额列表 +// map.put("monthVos", monthVos);//一月金额列表 +// return new ResultData(map); +// } } diff --git a/mallinkBApi/bin/target/classes/application-dev.yml b/mallinkBApi/bin/target/classes/application-dev.yml new file mode 100644 index 000000000..3928e6030 --- /dev/null +++ b/mallinkBApi/bin/target/classes/application-dev.yml @@ -0,0 +1,190 @@ +spring: + profiles: + #include: aliyunRocketMQ + include: rabbitMQ + # JDBC + datasource: + url: jdbc:mysql://101.200.130.134:3306/mallink?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useUnicode=true&useSSL=false&useAffectedRows=true + username: root + password: fm2020test + type: com.alibaba.druid.pool.DruidDataSource + driver-class-name: com.mysql.cj.jdbc.Driver + filters: stat + maxActive: 20 + initialSize: 1 + maxWait: 60000 + minIdle: 1 + timeBetweenEvictionRunsMillis: 28000 + minEvictableIdleTimeMillis: 28000 + validationQuery: select 'x' + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxOpenPreparedStatements: 20 + #jackson: + #date-format: yyyy-MM-dd HH:mm:ss + # REDIS + redis: + host: 101.200.130.134 + port: 6379 + password: iF0rm@2l2ol9 + timeout: 3600 + expire: 1800 #30分钟 + database: 5 + defaultExpiration: 2592000 # 默认生命周期30天 + jedis: + pool: + max-active: 50 + max-idle: 30 + max-wait: -1 + min-idle: 0 + + # SMS + aliyun: + sms: + accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V + accessKeySecret: VfWqGb83qIQrS9us45utskl8itd7ry + product: Dysmsapi + domain: dysmsapi.aliyuncs.com + regionId: cn-hangzhou + dateFormat: yyyyMMdd + endpointName: cn-hangzhou + + oss: + endpoint: oss-cn-beijing.aliyuncs.com + keyid: LTAI4G7ixY4AhvM35F8o3W3V + keysecret: VfWqGb83qIQrS9us45utskl8itd7ry + bucketname: formall + filehost: malinkbapi + filedomain: https://formall.oss-accelerate.aliyuncs.com + + # EMAIL + mail: + host: smtp.exmail.qq.com + username: service@iformall.com + password: jGvApygXN7wc5SzN # 授权密码 + properties: + mail: + smtp: + auth: true + starttls: + enable: true + socketFactory: + port: 465 + class: javax.net.ssl.SSLSocketFactory + # ROCKETMQ + rocketmq: + nameServer: 127.0.0.1:9876 + producer: + retry-times-when-send-async-failed: 0 + send-msg-timeout: 300000 + compress-msg-body-over-howmuch: 4096 + max-message-size: 4194304 + retry-another-broker-when-not-store-ok: false + retry-times-when-send-failed: 2 + # RABBITMQ + rabbitmq: + host: 101.200.130.134 + port: 5672 + username: fumao + password: f9l98 + publisher-confirms: true + publisher-returns: false + virtual-host: / + aliyunRocketmq: + accessKeyId: "LTAI4G7ixY4AhvM35F8o3W3V" + accessKeySecret: "VfWqGb83qIQrS9us45utskl8itd7ry" + groupId: "GID_P_1" + namesrvAddr: "http://MQ_INST_1796289517488555_Bcqaq2is.cn-beijing.mq-internal.aliyuncs.com:8080" + +aws: + clientRegion: cn-northwest-1 + bucketName: iformall-net + access: ENC(3gx5ghDFBqGrEhO3Wf8aYmXsnwHO7Cj3HNKJGOeUj0o=) + secret: ENC(HVKIJwCJKVXLlUpGlQPwNqJOlnpxn4xYuy91SH0seTSm2uAttIQHvA49fXWWax90v5wloIk0QuU=) + +jasypt: + encryptor: + password: oRqdnDbK5pj3eMmB + +#wechat: +# open: +# componentAppId: "wxdfc8fb4e62d6b52b" +# componentSecret: "98daa62b316dd6feabaad708327ce233" +# componentToken: "formall2018" +# componentAesKey: "htKq8EjBMPNndfZQK9JiFojFaqFwFpw42VfeWFtx7HN" +# redis: +# host: 101.201.103.81 +# port: 6379 +# password: ENC(xPFDlgd6v8zUhJMbcKc0KmmQiqs9qHtk) +# timeout: 3600 +# expire: 1800 #30分钟 +# database: 2 +# defaultExpiration: 2592000 # 默认生命周期30天 +# jedis: +# pool: +# max-active: 100 +# max-idle: 500 +# max-wait: -1 +# min-idle: 10 + +wechat: + web: + appId: "wx091907dd0bfd3f6b" + secret: "2a2ca10738998b9ef92c1fe8a4d366a6" + url: "https://admintest.malls.iformall.com" + open: + componentAppId: wxdfc8fb4e62d6b52b + componentSecret: 98daa62b316dd6feabaad708327ce233 + componentToken: formall2018 + componentAesKey: htKq8EjBMPNndfZQK9JiFojFaqFwFpw42VfeWFtx7HN + redis: + host: 101.200.130.134 + port: 6379 + password: iF0rm@2l2ol9 + timeout: 3600 + expire: 1800 #30分钟 + database: 2 + defaultExpiration: 2592000 # 默认生命周期30天 + jedis: + pool: + max-active: 100 + max-idle: 100 + max-wait: -1 + min-idle: 10 + +alipay: + open: + appId: 2021002137663024 + appPrivateKey: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCUfymV5J73QQMG52PVIGUbowkloYCO4B7TQoKbrTZf2YeYsg/To/o4PiXPMNwEUfEUU8NYQ6WwNhCd2fa1ei8WFXJUf3bfgswtBk1aOmHLeY9yoXFxIKMTQ9RcobnmBzKQZlaAPMTSr7t1QtKZKPuc2gEHGRFYKO/ZuL8gIpnsVidVtmi52yd7hzao/pI3ThLA0lreg4L3rYP5ESQZRytxIPgUQ4KI11pZxFgbe+uy28AGDYIQscSIb+SWOHPYKLvOEqqepIZ8M18w/U0lZzpzepzi/V/llekvXJ6UEf1lzl7x/4UIA3WPN1B40+NzbD/OxEGTuM0UctOG6ZTd4Te9AgMBAAECggEAPYksnHbvARspu/SrRCh2fatkIPn6Ijrxyy3mnch7neCw9i/jqxpqmF/4nxFqO0gRlRDZBHyT7p+Y5zDpsW5+kLI2fJmNkzXKkmXoLBnBaOZo8WHBdtXFfjg/iltig9Y7t+cQtXd5QK2eCwuz5dA75FXa0ywqKdRdAGY0nYZ5LpwrHVU8RXheUDCJyhKNj2+W6lIaSKDxLZU3laO1oBrv1agcy7Crd5E2ndb8O3Enga+z7wSz2h7A1BasC/Yl/Ro0Y21wLCH3s/R6qA0Paq12+WEF+xdodM7SrP43CCTVFGbC1TfEOdanJfixop8QuYsIp7pHrL925+vP4eY9RfckgQKBgQDQqLdpDzzU7Ot/L9Vc/r8d4iwXXbX8+HwVFV4oBuausgFyv8eJJpfrI+IlEoB1ubJcPpJBFqfmeYTW6/v6ioFljJAlWfFvesUVt/HszBMIOsU0Bzt7ex6WlwKOagb0q0ZPA4T0OY0K0lg0loaaaR8ZTr4ivDymaGBtTBYhslpc7QKBgQC2MBznGEc5r2dhyENvdPOR20PnXQcevGnPdqSus8m0VmDcHE72RVcckcZtwczsb3NaLSqmjAcWTn51/VFmlvhB3F34FcFTPZGq6sj7fWK8HuFq7l7mu5OzYuVr73zy9ggsUuaw10IqvvwIVxszNAF0hiRnSGH3z27CoRmz3s+8EQKBgQCK3o7atBJ3X4rIJiypbL4DhIB1uJ+jUjk6yvLUTut+fufp1+tTw0S+cS5UIAEw2Lr1G4u5F/v8rwmTBJG6SC4gSLGyui6uVBYRA1BWmedcxchzfRDAeMt9y9kesUAZ3Fe5xIzbAeZ1ulKMBVZmM+pHrJlsgr0Wv0bV1xqvqITtbQKBgBIsIGXopQoa9dvqBtfyOW1eCprkS5aEQqWf9vM6Ga90QjsSU8n6xqKh48IE57TZtQ7UnIF6TCasc66/MsRh4KdpHLJnMR5lcMc0nhF/wz5ychehaTPol+X3wlyOyc7OPah2KG6ROhdbb3ZBggQMduyxiKYIsUTvmuOtAAxR+DSRAoGADtuDzGQDOJYWiO2uuP6FpA5IJaiwlSfu3xncJVfhO8SVr6VBJFg88igbIB3w6nk/sv7j9VTXqXre9HMvp1flxaaLsdxM4HcTSALS9q6t/ajaveqte6S5kAtWx0WW8C6PtgWXHbxcD7LXARSsKLoEl2JXXyUVS/m2l/RzHBQ8GJI= + appPublicKeyCertPath: /opt/iformall/service/alipay/appCertPublicKey_2021002137663024.crt + alipayCertPath: /opt/iformall/service/alipay/alipayCertPublicKey_RSA2.crt + alipayRootCertPath: /opt/iformall/service/alipay/alipayRootCert.crt + callback: https://callbacktest.malls.iformall.com/api/alipay/notify/callback + +video: + aliyun: + accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V + accessKeySecret: VfWqGb83qIQrS9us45utskl8itd7ry + regionId: cn-beijing + +fm: + exception: true + exception_emails: xuxiaohu@iformall.com + deploy: 1 + open: true + upload_dir: /home/test/server/uploads + videoType: aliyun + +pos: + dev_id: fmpos + url: https://pos.youlane.cn/api + req_key: ZiGFLC4@3c5sTLZT + res_key: ugPAM7wd&%p6I0W8 + + +logging: + level: + com.iformall.mapper: debug + path: ./logs/b \ No newline at end of file diff --git a/mallinkBApi/bin/target/classes/application-prod.yml b/mallinkBApi/bin/target/classes/application-prod.yml new file mode 100644 index 000000000..0cd3d8c89 --- /dev/null +++ b/mallinkBApi/bin/target/classes/application-prod.yml @@ -0,0 +1,150 @@ +spring: + profiles: + include: aliyunRocketMQ + # JDBC + datasource: + url: jdbc:mysql://zc349w82qvn56ftl5e64-rw4rm.rwlb.rds.aliyuncs.com:3306/mallink?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true + username: ENC(nUefcxWYlMS/1cDxikIKwA==) + password: ENC(neToS+hzeFjgSFB/7UEl5qYnW2rUjrPq) + type: com.alibaba.druid.pool.DruidDataSource + driver-class-name: com.mysql.cj.jdbc.Driver + filters: stat + maxActive: 20 + initialSize: 1 + maxWait: 60000 + minIdle: 1 + timeBetweenEvictionRunsMillis: 28000 + minEvictableIdleTimeMillis: 28000 + validationQuery: select 'x' + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxOpenPreparedStatements: 20 + # REDIS + redis: + host: r-2zeaglwf13qqmnllj5.redis.rds.aliyuncs.com + port: 6379 + password: mallone:iF0rm@2l2ol9 + timeout: 3600 + expire: 1800 #30分钟 + database: 1 + defaultExpiration: 2592000 # 默认生命周期30天 + jedis: + pool: + max-active: 100 + max-idle: 20 + max-wait: -1 + min-idle: 0 + + # SMS + aliyun: + sms: + accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V + accessKeySecret: VfWqGb83qIQrS9us45utskl8itd7ry + product: Dysmsapi + domain: dysmsapi.aliyuncs.com + regionId: cn-hangzhou + dateFormat: yyyyMMdd + endpointName: cn-hangzhou + oss: + endpoint: oss-cn-beijing.aliyuncs.com + keyid: LTAI4G7ixY4AhvM35F8o3W3V + keysecret: VfWqGb83qIQrS9us45utskl8itd7ry + bucketname: formall + filehost: malinkadmin + filedomain: https://formall.oss-accelerate.aliyuncs.com + # EMAIL + mail: + host: smtp.exmail.qq.com + username: sysadministor@iformall.com # 登陆密码sysAd1231 + password: SWqPekCEmhUYuYCd # 授权密码 + properties: + mail: + smtp: + auth: true + starttls: + enable: true + socketFactory: + port: 465 + class: javax.net.ssl.SSLSocketFactory + # RABBITMQ + rabbitmq: + host: localhost + port: 5672 + username: ENC(lRmLd6EzgeY1RT5ktcHv9g==) + password: ENC(gBI8mCjr3OC0v57jcnSb660Ux7mW03K2oePgvohhg7w=) + publisher-confirms: true + publisher-returns: false + virtual-host: / + aliyunRocketmq: + accessKeyId: "LTAI4G7ixY4AhvM35F8o3W3V" + accessKeySecret: "VfWqGb83qIQrS9us45utskl8itd7ry" + groupId: "GID_P_1" + namesrvAddr: "http://MQ_INST_1796289517488555_Bcqaq2is.cn-beijing.mq-internal.aliyuncs.com:8080" + +aws: + clientRegion: cn-northwest-1 + bucketName: iformall-net + access: ENC(a6SN1sZ1enNL49ypiOXkg/pPPAnZD8H4buQFTTKN08s=) + secret: ENC(5P5ff4bTMJUbXVR4ZsM03UHzOKZ4+Zg5Iutcdkyp/Quny/oXg+A4KpfwEyGarlLu3vQMJahGP5M=) + +wechat: + open: + componentAppId: ENC(b3JG0MUZgQfz5Zj+DC2ZM1zDeLOiGTmmeokfe2O8kaM=) + componentSecret: ENC(QVyc4BPGdnSjXGs2ivgpDBE1v8wPWHLLRMYI7Vv8uYwC0SiZHQz0QpyyQV/b48Pb) + componentToken: ENC(rkxj0733WxFFDLgA9x01m2s5Fi2L+0PC) + componentAesKey: ENC(EIbJUBpbYOrLb4YQ/HXLQmxlxgAqIp2ZmpnGICC8pu5xiTz3Cqfkbwd2S8raCcK/IvYcX2GmedI=) + redis: + host: r-2zeaglwf13qqmnllj5.redis.rds.aliyuncs.com + port: 6379 + password: mallone:iF0rm@2l2ol9 + timeout: 3600 + expire: 1800 #30分钟 + database: 2 + defaultExpiration: 2592000 # 默认生命周期30天 + jedis: + pool: + max-active: 100 + max-idle: 100 + max-wait: -1 + min-idle: 10 + +alipay: + open: + appId: 2021002140616334 + appPrivateKey: MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCEJmHIlS0luIH7zJRRVlypCcgiSkqpSlnmgyCEM7nu8IerV8Yf7dMBitBklTpJB+4URV1bW+q6Ijzo8RsCyjm1Kx+EFiKf1PiJXlT0h1+bF3fYdDr6r5GK0/TtB8O80p774NcRD3HgbzUS8AEe/GcBvhiXbDRgJh7yAngW9vxl9u1o5UcaxOXVLWDrjlQGF6qyXUlycCNIdPXj3LduP3PBK5daVZwJm33Pr7kmSI0agZvV267HaTpSKaiXI7Zwo+nFMqx9g9kpzmYRfOgHx3DWpQUFI646IB8nEpLpQp3/0eDocuqiHXYgEpLpPoFKoVE228v74YSFh3Y4fFGX+qtjAgMBAAECggEAIJK9Y42xtSyHjaNdo7bf3CK3HAyn3pafFjyYFT4SxJyxNEDMay5Z5nVq7IAD/+BehMycOFqtvveVf+1+NO/XzZo1iH9URYVfRazkz+lWXYopVkdACm6gN1ILeymAy9g2q+s918ywyxteP668+ABK+5j5wsk/F7wNwKVvKGn0yMT7DP0FAL1e0KWndZCZlF79VnFpBLscDJq28GqRzqYop4CWqHHTA6DBvIqkfQV4U3IzqnzOsxNLEMBwhnbK08XfYZ3DxCPH0jQdA2Jj/aABrntq2EpWjzW5H9iZqrVo33rmsNHUSQvla/333RkbpwGyNhI6kcPBRq4cVSAa3y7dMQKBgQDVfyDUPWKXVwIJUgO1my8WIUu2p6nhuT7Mfnpk4X7ewdFaRVjb/r0KvhLgoz2/KOwkqtWTlEvNaCDDycpLXk+V5ZH833kYsDEmxY7ikOUjCcrfYJgT7P77//cZ4Kx8a5X45SiKAZT2GQv7BTtIfNhrfTUj6AQx/3MP3sa2QAWeNQKBgQCedWoF7t+qyck2hctqtTFC7fRkEk7RNJVph1ZOeTqOIAKhmhkwaOE3joxQ/VqHDy212YdW4hI0BWUzbEdMy0Idz2G3y9ERVD84hZehf5GGRdiSrY9EEQgHlcI6Qb8/AnDdpy1DlKUMwTYjVNzkDL3AzeWn61JS1XQaOzZBsJy2NwKBgFa+pJQXrOtYytcGn8M2Hlebh6vbS8cPAVkNOqWqiWXw0iMfcg9Q3XZz7C+hpAD7m5b6YnToGDSJTma+opck5qk88agRFJ7XV+Es+/VKcg9edzNzh9bwwFmbksbM5shW3kSWt3X7Vo73dkqzwXaeY0CpSuIf7zRxWkrkdVCvipjRAoGAMcJlPN+6VQNwsDJromKryXy31gT5wzBkCvN44sOm46KhsOWXK2CD+NJGtdgZaXgWvphEq7/qP3PCR9ekvDTH2lyZLwJN8Mcn4zPwXcKVjDi6vbTK3HEMuHUKvQiQadT2ZGRvDl3LRqoVuhqYEvT9UWJWz9hRzblB8ErPyukPDRkCgYB7bMv2iflpaGE1J3gkTlVJB+2QSfnAXaUDMLWsZN4gYjwEBVCEJ+mhWL1/GeEIBjSs5/qZIeRsYzlxGEcnsJzRfog6ITBF14AeZ+xNkHq83ja87OGVKMypiccGwRehijDhJi6tgMJ0u0w6PiqcJvh0SX4jBhDDPjuWzK2XD+lx8A== + appPublicKeyCertPath: /opt/iformall/service/alipay/appCertPublicKey_2021002140616334.crt + alipayCertPath: /opt/iformall/service/alipay/alipayCertPublicKey_RSA2.crt + alipayRootCertPath: /opt/iformall/service/alipay/alipayRootCert.crt + callback: https://callback.malls.iformall.com/api/alipay/notify/callback + +video: + aliyun: + accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V + accessKeySecret: VfWqGb83qIQrS9us45utskl8itd7ry + regionId: cn-beijing + endPoint: https://oss-cn-beijing.aliyuncs.com + corePoolSize: 6 + maxPoolSize: 20 + queueCapacity: 1000 + namePrefix: aliyun-video-upload + +fm: + exception: true + exception_emails: houtaikaifa@iformall.com + deploy: 3 + open: true + upload_dir: /root/uploads/ + videoType: aliyun + +pos: + dev_id: fmpos + url: https://pos.malls.iformall.com/api + req_key: ZiGFLC4@3c5sTLZT + res_key: ugPAM7wd&%p6I0W8 + +logging: + level: + com.iformall.mapper: debug + path: ./logs/b \ No newline at end of file diff --git a/mallinkBApi/bin/target/classes/application-test.yml-bak b/mallinkBApi/bin/target/classes/application-test.yml-bak new file mode 100644 index 000000000..92e878bdf --- /dev/null +++ b/mallinkBApi/bin/target/classes/application-test.yml-bak @@ -0,0 +1,106 @@ +spring: + profiles: + include: rabbitMQ + # JDBC + datasource: + url: jdbc:mysql://formalldb.cfqyqflkdlit.rds.cn-northwest-1.amazonaws.com.cn:3306/mallinkTest?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true + username: ENC(Uc0AjgkytxHHCwZrmDASWg==) + password: ENC(nV4Mi3bEbBx0Fj7uUyYH55eTaqsFMjKvmNzagicH4pc=) + type: com.alibaba.druid.pool.DruidDataSource + driver-class-name: com.mysql.cj.jdbc.Driver + filters: stat + maxActive: 20 + initialSize: 1 + maxWait: 60000 + minIdle: 1 + timeBetweenEvictionRunsMillis: 28000 + minEvictableIdleTimeMillis: 28000 + validationQuery: select 'x' + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxOpenPreparedStatements: 20 + # REDIS + redis: + host: 127.0.0.1 + port: 6379 + password: ENC(QFwqv3NshvvGhFPiP8rwhvbnxk+rFSqhJi8Pw6TogSg=) + timeout: 3600 + expire: 1800 #30分钟 + database: 1 + defaultExpiration: 2592000 # 默认生命周期30天 + jedis: + pool: + max-active: 50 + max-idle: 30 + max-wait: -1 + min-idle: 0 + # EMAIL + mail: + host: smtp.exmail.qq.com + username: ENC(TtJQE2C4cWo8CpVGMMl5hiy5eykepd96J5XjsW3Kj5fgP+6+5ctDNQ==) + password: ENC(Zh6A6kRtA2ABtH6nzdvsqQSO1/8p3mparJr8neI2BLU=) # 授权密码 + properties: + mail: + smtp: + auth: true + starttls: + enable: true + socketFactory: + port: 465 + class: javax.net.ssl.SSLSocketFactory + # RABBITMQ + rabbitmq: + host: 127.0.0.1 + port: 5672 + username: ENC(aSRr6mnSryEqzHHz1hJf1g==) + password: ENC(GnjF/mdqKdvmDYC0tIIso7+20/jBALPw39tiWCYJ4iw=) + publisher-confirms: true + publisher-returns: false + virtual-host: / + +aws: + clientRegion: cn-northwest-1 + bucketName: iformall-net + access: ENC(NCLcmjwKpAWdn/abD17OKIY7yKepVLWzEpqRYUlURCw=) + secret: ENC(TRcZqql0Rq5PExlMeH/4WiZ/i02b8FXKmLTBChJmbluTa1uoLS9LrHyNEMrqe1DK+QgOAdvqGBo=) + +wechat: + open: + componentAppId: ENC(hnH31XdNzArfMfikKgBFpqQuJUl6rVOPFFcAVyb595o=) + componentSecret: ENC(t/GUVX5L+U7LCwSvZ5WmxAnmTMrc/Uy1nljsrokuzzsBL2j6BEVnrS/n7DCdGc/G) + componentToken: ENC(gUF1m0YgCCI2IY54fX6sGLZVlCswA8tG) + componentAesKey: ENC(TYHcrIkICtfrCfGq4HW6s1b/pHf7OD2uyPN11SzJNB0acqJ/4JVX1nuljo/cAtgMG4O05TImLQc=) + redis: + host: 127.0.0.1 + port: 6379 + password: ENC(QFwqv3NshvvGhFPiP8rwhvbnxk+rFSqhJi8Pw6TogSg=) + timeout: 3600 + expire: 1800 #30分钟 + database: 2 + defaultExpiration: 2592000 # 默认生命周期30天 + jedis: + pool: + max-active: 100 + max-idle: 100 + max-wait: -1 + min-idle: 10 + +fm: + exception: true + exception_emails: houtaikaifa@iformall.com + deploy: 2 + open: true + upload_dir: /home/ec2-user/server/uploads/ + +pos: + dev_id: fmpos + url: https://postest.malls.iformall.com/api + req_key: ZiGFLC4@3c5sTLZT + res_key: ugPAM7wd&%p6I0W8 + +logging: + level: + com.iformall: debug + path: ./logs/b \ No newline at end of file diff --git a/mallinkBApi/bin/target/classes/application.yml b/mallinkBApi/bin/target/classes/application.yml new file mode 100644 index 000000000..fefb838d5 --- /dev/null +++ b/mallinkBApi/bin/target/classes/application.yml @@ -0,0 +1,54 @@ +server: + port: 8000 + servlet: + context-path: /B + +spring: + application: + name: mallink + profiles: + active: dev + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + default-property-inclusion: non_null +# rocketmq: +# nameServer: 127.0.0.1:9876 +# producer: +# retry-times-when-send-async-failed: 0 +# send-msg-timeout: 300000 +# compress-msg-body-over-howmuch: 4096 +# max-message-size: 4194304 +# retry-another-broker-when-not-store-ok: false +# retry-times-when-send-failed: 2 + +# MybatisPlus +mybatis-plus: + mapper-locations: classpath:mapper/*Mapper.xml + global-config: + db-config: + id-type: id_worker + field-strategy: not_null + db-type: mysql + configuration: + jdbc-type-for-null: 'null' + cache-enabled: false + call-setters-on-nulls: true + type-aliases-package: com.iformall.domain.po + type-enums-package: com.iformall.enums + +# PageHelper +pagehelper: + helperDialect: mysql + reasonable: false + supportMethodsArguments: true + params: count=countSql + offset-as-page-num: true + page-size-zero: true + row-bounds-with-count: true + +mapper: + mappers: + - com.iformall.common.CommonMapper + +version: 1.0 \ No newline at end of file diff --git a/mallinkBApi/bin/target/classes/logback-spring.xml b/mallinkBApi/bin/target/classes/logback-spring.xml new file mode 100644 index 000000000..3a54d117d --- /dev/null +++ b/mallinkBApi/bin/target/classes/logback-spring.xml @@ -0,0 +1,100 @@ + + + + + + + + [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] --%mdc{client}%msg%n + + + + + ${logPath}/trace.log + + ${logPath}/daily/trace.%d{yyyy-MM-dd}.log + 30 + + + [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n + + + + + ${logPath}/info.log + + ${logPath}/daily/info.%d{yyyy-MM-dd}.log + 30 + + + [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n + + + INFO + ACCEPT + DENY + + + + + ${logPath}/debug.log + + ${logPath}/daily/debug.%d{yyyy-MM-dd}.log + 30 + + + [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n + + + DEBUG + ACCEPT + DENY + + + + + + ${logPath}/warn.log + + ${logPath}/daily/warn.%d{yyyy-MM-dd}.log + 30 + + + [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n + + + WARN + ACCEPT + DENY + + + + + + + ${logPath}/error.log + + ${logPath}/daily/error.%d{yyyy-MM-dd}.log + 30 + + + [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n + + + ERROR + ACCEPT + DENY + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java index 595ac7cae..ac7f2b92a 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java @@ -38,54 +38,56 @@ public class WxBillController extends BaseController { @Autowired WxBillSettleService wxBillSettleService; - @ApiOperation("所有欠缴和待缴的数据") - @PostMapping("listBillOweAndWaitPay") - public ResultData listBillOweAndWaitPay(@RequestBody WxBillAll wxBillAll) { + //TODO 待优化数据 +// @ApiOperation("所有欠缴和待缴的数据") +// @PostMapping("listBillOweAndWaitPay") +// public ResultData listBillOweAndWaitPay(@RequestBody WxBillAll wxBillAll) { +// +// if(StringUtils.isEmpty(wxBillAll.getTenantId())){ +// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"tenantId不能为空"); +// } +// if(wxBillAll.getMerchantId()==null){ +// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"merchantId不能为空"); +// } +// WxMerchant wxMerchant = wxMerchantService.getById(wxBillAll.getMerchantId()); +// if(wxMerchant==null){ +// return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND); +// } +// if(wxMerchant.getStatus().equals(EnumMerchantStatus.NOT_VALID.getCode())){ +// return new ResultData(ErrorCode.MERCHANT_INFO_NOT_VALID); +// } +// List> result=wxBillAllService.listBillOweAndWaitPay(wxBillAll); +// return new ResultData(result); +// } - if(StringUtils.isEmpty(wxBillAll.getTenantId())){ - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"tenantId不能为空"); - } - if(wxBillAll.getMerchantId()==null){ - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"merchantId不能为空"); - } - WxMerchant wxMerchant = wxMerchantService.getById(wxBillAll.getMerchantId()); - if(wxMerchant==null){ - return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND); - } - if(wxMerchant.getStatus().equals(EnumMerchantStatus.NOT_VALID.getCode())){ - return new ResultData(ErrorCode.MERCHANT_INFO_NOT_VALID); - } - List> result=wxBillAllService.listBillOweAndWaitPay(wxBillAll); - return new ResultData(result); - } - - @ApiOperation("账单") - @PostMapping("listBill") - public ResultData listBill(@RequestBody WxBillAll wxBillAll) { - - if(StringUtils.isEmpty(wxBillAll.getTenantId())){ - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"tenantId不能为空"); - } - if(wxBillAll.getMerchantId()==null){ - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"merchantId不能为空"); - } - WxMerchant wxMerchant = wxMerchantService.getById(wxBillAll.getMerchantId()); - if(wxMerchant==null){ - return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND); - } - if(wxMerchant.getStatus().equals(EnumMerchantStatus.NOT_VALID.getCode())){ - return new ResultData(ErrorCode.MERCHANT_INFO_NOT_VALID); - } - if(!StringUtils.isEmpty(wxBillAll.getStarttime()) && StringUtils.isEmpty(wxBillAll.getEndtime())){ - logger.info("开始时间和结束时间要同时存在或不存在"); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"starttime和endtime要同时存在或不存在"); - } - if(StringUtils.isEmpty(wxBillAll.getStarttime()) && !StringUtils.isEmpty(wxBillAll.getEndtime())){ - logger.info("开始时间和结束时间要同时存在或不存在"); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"starttime和endtime要同时存在或不存在"); - } - return wxBillAllService.listBill(wxBillAll); - } + //TODO 待优化数据 +// @ApiOperation("账单") +// @PostMapping("listBill") +// public ResultData listBill(@RequestBody WxBillAll wxBillAll) { +// +// if(StringUtils.isEmpty(wxBillAll.getTenantId())){ +// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"tenantId不能为空"); +// } +// if(wxBillAll.getMerchantId()==null){ +// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"merchantId不能为空"); +// } +// WxMerchant wxMerchant = wxMerchantService.getById(wxBillAll.getMerchantId()); +// if(wxMerchant==null){ +// return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND); +// } +// if(wxMerchant.getStatus().equals(EnumMerchantStatus.NOT_VALID.getCode())){ +// return new ResultData(ErrorCode.MERCHANT_INFO_NOT_VALID); +// } +// if(!StringUtils.isEmpty(wxBillAll.getStarttime()) && StringUtils.isEmpty(wxBillAll.getEndtime())){ +// logger.info("开始时间和结束时间要同时存在或不存在"); +// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"starttime和endtime要同时存在或不存在"); +// } +// if(StringUtils.isEmpty(wxBillAll.getStarttime()) && !StringUtils.isEmpty(wxBillAll.getEndtime())){ +// logger.info("开始时间和结束时间要同时存在或不存在"); +// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"starttime和endtime要同时存在或不存在"); +// } +// return wxBillAllService.listBill(wxBillAll); +// } @GetMapping("/findSettleById") diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java index b28e7fbbf..d1d3c7b89 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java @@ -56,57 +56,58 @@ public class WxCouponController extends BaseController { @Autowired RedisLock redisLock; - @ApiOperation("分页列表接口") - @GetMapping("list") - @ApiImplicitParams({ - @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), - @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) - public ResultData list(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize, Integer dataType) { - logger.debug("[" + getIpAddr() + "] WxCouponController::list"); - if (wxCoupon == null) wxCoupon = new WxCoupon(); - wxCoupon.updateTenantInfo(getTenantInfo()); - if(null == wxCoupon.getSourceType()){ - wxCoupon.setSourceType(EnumCouponSourceType.COUPONSource_Bapi.getCode()); - } - wxCoupon.setMerchantId(getLoginBUser().getMerchantId()); - - if(StringUtils.isNotBlank(wxCoupon.getSortColumn())){ - String coryColumn = "c."+wxCoupon.getSortColumns(); - wxCoupon.setSortColumns(coryColumn); - wxCoupon.setSortColumn(null); - } - - return wxCouponService.list(wxCoupon,wxCoupon, pageNum, pageSize); //全列表 - } - - @ApiOperation("分页列表接口") - @GetMapping("listWithTypePress") - @ApiImplicitParams({ - @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), - @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) - public ResultData listWithTypePress(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize) { - logger.debug("[" + getIpAddr() + "] WxCouponController::list"); - if (wxCoupon == null) wxCoupon = new WxCoupon(); - wxCoupon.updateTenantInfo(getTenantInfo()); - Integer[] typeArray = { - EnumCouponType.COUPON_MANJIAN.getCode(), - EnumCouponType.COUPON_DAIJIN.getCode(), - EnumCouponType.COUPON_TUANGOU.getCode(), - EnumCouponType.COUPON_LIPIN.getCode(), - EnumCouponType.COUPON_TINGCHE.getCode(), - EnumCouponType.COUPON_MULTIMCH.getCode(), - EnumCouponType.COUPON_PRESS.getCode(), - EnumCouponType.COUPON_PREORDER.getCode()}; - - wxCoupon.setTypes(Arrays.asList(typeArray)); - wxCoupon.setMerchantId(getLoginBUser().getMerchantId()); - if(StringUtils.isNotBlank(wxCoupon.getSortColumn())){ - String coryColumn = "c."+wxCoupon.getSortColumns(); - wxCoupon.setSortColumns(coryColumn); - wxCoupon.setSortColumn(null); - } - return wxCouponService.list(wxCoupon,wxCoupon, pageNum, pageSize); //全列表 - } + //TODO 待优化数据 +// @ApiOperation("分页列表接口") +// @GetMapping("list") +// @ApiImplicitParams({ +// @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), +// @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) +// public ResultData list(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize, Integer dataType) { +// logger.debug("[" + getIpAddr() + "] WxCouponController::list"); +// if (wxCoupon == null) wxCoupon = new WxCoupon(); +// wxCoupon.updateTenantInfo(getTenantInfo()); +// if(null == wxCoupon.getSourceType()){ +// wxCoupon.setSourceType(EnumCouponSourceType.COUPONSource_Bapi.getCode()); +// } +// wxCoupon.setMerchantId(getLoginBUser().getMerchantId()); +// +// if(StringUtils.isNotBlank(wxCoupon.getSortColumn())){ +// String coryColumn = "c."+wxCoupon.getSortColumns(); +// wxCoupon.setSortColumns(coryColumn); +// wxCoupon.setSortColumn(null); +// } +// +// return wxCouponService.list(wxCoupon,wxCoupon, pageNum, pageSize); //全列表 +// } +// +// @ApiOperation("分页列表接口") +// @GetMapping("listWithTypePress") +// @ApiImplicitParams({ +// @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), +// @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) +// public ResultData listWithTypePress(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize) { +// logger.debug("[" + getIpAddr() + "] WxCouponController::list"); +// if (wxCoupon == null) wxCoupon = new WxCoupon(); +// wxCoupon.updateTenantInfo(getTenantInfo()); +// Integer[] typeArray = { +// EnumCouponType.COUPON_MANJIAN.getCode(), +// EnumCouponType.COUPON_DAIJIN.getCode(), +// EnumCouponType.COUPON_TUANGOU.getCode(), +// EnumCouponType.COUPON_LIPIN.getCode(), +// EnumCouponType.COUPON_TINGCHE.getCode(), +// EnumCouponType.COUPON_MULTIMCH.getCode(), +// EnumCouponType.COUPON_PRESS.getCode(), +// EnumCouponType.COUPON_PREORDER.getCode()}; +// +// wxCoupon.setTypes(Arrays.asList(typeArray)); +// wxCoupon.setMerchantId(getLoginBUser().getMerchantId()); +// if(StringUtils.isNotBlank(wxCoupon.getSortColumn())){ +// String coryColumn = "c."+wxCoupon.getSortColumns(); +// wxCoupon.setSortColumns(coryColumn); +// wxCoupon.setSortColumn(null); +// } +// return wxCouponService.list(wxCoupon,wxCoupon, pageNum, pageSize); //全列表 +// } private Map generateFlowParams(EnumFlowKey flowType,EnumCouponAppType approvalType, WxCoupon wxCoupon,String remark,String phone) { Map map = new HashMap(); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java index 8f0f7c696..51c99868a 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -109,44 +109,45 @@ public class WxCouponOrderController extends BaseController { return new ResultData(); } - @ApiOperation("交易流水分页列表接口") - @GetMapping("listUnverified") - @ApiImplicitParams({ - @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query"), - @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), - @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) - public ResultData listUnverified(String date, Integer pageNum, Integer pageSize) { - return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, pageNum, pageSize, false); - } - - @ApiOperation("核销流水分页列表接口") - @GetMapping("listVerified") - @ApiImplicitParams({ - @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query"), - @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), - @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) - public ResultData listVerified(String date, Integer pageNum, Integer pageSize) { - return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, pageNum, pageSize, true); - } - - - @RedisCache - @ApiOperation("某日期交易总流水") - @GetMapping("getUnverifiedAmountOnDate") - @ApiImplicitParams({ - @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query")}) - public ResultData getUnverifiedAmountOnDate(String date) { - return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, null, null, false); - } - - @RedisCache - @ApiOperation("某日期核销总流水") - @GetMapping("getVerifiedAmountOnDate") - @ApiImplicitParams({ - @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query")}) - public ResultData getVerifiedAmountOnDate(String date) { - return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, null, null, true); - } + //TODO 待优化数据 +// @ApiOperation("交易流水分页列表接口") +// @GetMapping("listUnverified") +// @ApiImplicitParams({ +// @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query"), +// @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), +// @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) +// public ResultData listUnverified(String date, Integer pageNum, Integer pageSize) { +// return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, pageNum, pageSize, false); +// } +// +// @ApiOperation("核销流水分页列表接口") +// @GetMapping("listVerified") +// @ApiImplicitParams({ +// @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query"), +// @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), +// @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) +// public ResultData listVerified(String date, Integer pageNum, Integer pageSize) { +// return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, pageNum, pageSize, true); +// } +// +// +// @RedisCache +// @ApiOperation("某日期交易总流水") +// @GetMapping("getUnverifiedAmountOnDate") +// @ApiImplicitParams({ +// @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query")}) +// public ResultData getUnverifiedAmountOnDate(String date) { +// return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, null, null, false); +// } + +// @RedisCache +// @ApiOperation("某日期核销总流水") +// @GetMapping("getVerifiedAmountOnDate") +// @ApiImplicitParams({ +// @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query")}) +// public ResultData getVerifiedAmountOnDate(String date) { +// return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, null, null, true); +// } @ApiOperation(value = "卡券详情接口") diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java index 49b28174a..3130e16fe 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java @@ -44,34 +44,35 @@ public class WxCouponSendController extends BaseController { @Resource private WxCUserMapper wxCUserMapper; - @ApiOperation("查询商户注券列表") - @GetMapping("/list") - @ApiImplicitParams({ - @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), - @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), - }) - public ResultData list(WxCouponSend wxCouponSend, Integer pageNum, Integer pageSize) { - logger.debug("[" + getIpAddr() + "] WxCouponSendController::list"); - if (Objects.isNull(wxCouponSend.getSendType())) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); - } - wxCouponSend.updateTenantInfo(getTenantInfo()); - wxCouponSend.setMerchantId(getLoginBUser().getMerchantId()); - if (Objects.nonNull(wxCouponSend.getExpired()) && Objects.equals(wxCouponSend.getExpired(), 0)) { - wxCouponSend.setMerchantRemain(0); - } - wxCouponSend.setStatus(wxCouponSend.getStatus()); - //库存大于0 - if (Objects.isNull(wxCouponSend.getSortColumn())) { - wxCouponSend.setSortColumns(BaseEntity.SortField.CreateDate_DESC); - } - final PageInfo page = wxCouponSendService.listAsPage(wxCouponSend, pageNum, pageSize); - - for (WxCouponSendVo cs : page.getList()) { - cs.setSendCount(wxCouponActionLogService.getCountByChannelId(wxCouponSend, cs.getSendType(), cs.getId())); - } - return new ResultData(page); - } + //TODO 待优化数据 +// @ApiOperation("查询商户注券列表") +// @GetMapping("/list") +// @ApiImplicitParams({ +// @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), +// @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), +// }) +// public ResultData list(WxCouponSend wxCouponSend, Integer pageNum, Integer pageSize) { +// logger.debug("[" + getIpAddr() + "] WxCouponSendController::list"); +// if (Objects.isNull(wxCouponSend.getSendType())) { +// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); +// } +// wxCouponSend.updateTenantInfo(getTenantInfo()); +// wxCouponSend.setMerchantId(getLoginBUser().getMerchantId()); +// if (Objects.nonNull(wxCouponSend.getExpired()) && Objects.equals(wxCouponSend.getExpired(), 0)) { +// wxCouponSend.setMerchantRemain(0); +// } +// wxCouponSend.setStatus(wxCouponSend.getStatus()); +// //库存大于0 +// if (Objects.isNull(wxCouponSend.getSortColumn())) { +// wxCouponSend.setSortColumns(BaseEntity.SortField.CreateDate_DESC); +// } +// final PageInfo page = wxCouponSendService.listAsPage(wxCouponSend, pageNum, pageSize); +// +// for (WxCouponSendVo cs : page.getList()) { +// cs.setSendCount(wxCouponActionLogService.getCountByChannelId(wxCouponSend, cs.getSendType(), cs.getId())); +// } +// return new ResultData(page); +// } @ApiOperation("商户注券") @PostMapping("/handSel") diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java index f11d8adff..27c724207 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java @@ -144,25 +144,26 @@ public class WxCreditHistoryController extends BaseController { } } - @ApiOperation("分页列表接口") - @GetMapping("list") - @ApiImplicitParams({ - @ApiImplicitParam(name="pageNum",value="页数",dataType="int", paramType = "query",required=true), - @ApiImplicitParam(name="pageSize",value="每页条数",dataType="int", paramType = "query",required=true)}) - public ResultData list(@ModelAttribute WxCreditHistory wxCreditHistory, Integer pageNum, Integer pageSize) { - log.debug("[" + getIpAddr() + "] WxCreditHistoryController::list"); - if (null == wxCreditHistory) wxCreditHistory = new WxCreditHistory(); - wxCreditHistory.setTenantId(getTenantInfo().getFinalTenantId()); - wxCreditHistory.setFinalTenantId(getTenantInfo().getFinalTenantId()); - WxMerchantBUser bUser = getLoginBUser(); - WxMerchant merchant = wxMerchantService.getById(wxCreditHistory.getMerchantId()); - if (merchant != null && merchant.getIsAdmin() != null && merchant.getIsAdmin() == 1) { - wxCreditHistory.setOperatorId(bUser.getId()); - wxCreditHistory.setOperatorType(EnumUserType.BUSER.getCode()); - wxCreditHistory.setMerchantId(null); - } - final PageInfo page = wxCreditHistoryService.listAsPageMore(wxCreditHistory, pageNum, pageSize); - return new ResultData(page); - } + //TODO 待优化数据 +// @ApiOperation("分页列表接口") +// @GetMapping("list") +// @ApiImplicitParams({ +// @ApiImplicitParam(name="pageNum",value="页数",dataType="int", paramType = "query",required=true), +// @ApiImplicitParam(name="pageSize",value="每页条数",dataType="int", paramType = "query",required=true)}) +// public ResultData list(@ModelAttribute WxCreditHistory wxCreditHistory, Integer pageNum, Integer pageSize) { +// log.debug("[" + getIpAddr() + "] WxCreditHistoryController::list"); +// if (null == wxCreditHistory) wxCreditHistory = new WxCreditHistory(); +// wxCreditHistory.setTenantId(getTenantInfo().getFinalTenantId()); +// wxCreditHistory.setFinalTenantId(getTenantInfo().getFinalTenantId()); +// WxMerchantBUser bUser = getLoginBUser(); +// WxMerchant merchant = wxMerchantService.getById(wxCreditHistory.getMerchantId()); +// if (merchant != null && merchant.getIsAdmin() != null && merchant.getIsAdmin() == 1) { +// wxCreditHistory.setOperatorId(bUser.getId()); +// wxCreditHistory.setOperatorType(EnumUserType.BUSER.getCode()); +// wxCreditHistory.setMerchantId(null); +// } +// final PageInfo page = wxCreditHistoryService.listAsPageMore(wxCreditHistory, pageNum, pageSize); +// return new ResultData(page); +// } } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCampaignController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCampaignController.java index e98afaf73..fa17b0d0f 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCampaignController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCampaignController.java @@ -12,6 +12,8 @@ import com.iformall.domain.vo.WxCouponChannelVo; import com.iformall.enums.*; import com.iformall.service.WxCampaignService; import com.iformall.service.WxCouponChannelService; +import com.iformall.utils.RedisCacheUtils; + import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -19,6 +21,8 @@ import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; @@ -39,6 +43,10 @@ public class WxCampaignController extends BaseController { private WxCampaignService wxCampaignService; @Autowired private WxCouponChannelService wxCouponChannelService; + + @Autowired + @Qualifier("objectCommonRedisTemplate") + RedisTemplate redisTemplate; @RedisCache @ApiOperation("分页列表接口") @@ -56,6 +64,7 @@ public class WxCampaignController extends BaseController { return new ResultData(page); } + @RedisCache @ApiOperation("根据id查询接口") @GetMapping("/findById") @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) @@ -68,30 +77,37 @@ public class WxCampaignController extends BaseController { wxCouponChannel.setSubTargetId(wxCampaign.getId()); wxCouponChannel.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()); wxCouponChannel.setShowBeginTime(new Date()); - List couponList = wxCouponChannelService.listVo(wxCouponChannel); + //TODO待优化数据 + List couponList = RedisCacheUtils.getCacheListObject(redisTemplate, "wxCampaignCoupons:"+wxCouponChannel.getTenantId(), WxCouponChannelVo.class); + if (null == couponList) { + couponList = wxCouponChannelService.listVo(wxCouponChannel); + if (null != couponList) { + RedisCacheUtils.cache(redisTemplate, "wxCampaignCoupons:"+wxCouponChannel.getTenantId(), couponList, 3600); + } + } wxCampaign.setCoupons(couponList); } return new ResultData(Result.SUCCESS, "查询成功", wxCampaign); } - @ApiOperation("调整顺序") - @GetMapping("/move") - @ApiImplicitParams({ - @ApiImplicitParam(name = "sourceId", value = "", dataType = "Long", paramType = "query", required = true), - @ApiImplicitParam(name = "targetId", value = "", dataType = "Long", paramType = "query", required = true)}) - public ResultData move(Long sourceId, Long targetId,EnumPayWay payWay) { - WxCampaign source = wxCampaignService.getById(sourceId); - WxCampaign target = wxCampaignService.getById(targetId); - if (source == null || target == null) { - return new ResultData(Result.ERROR, "调整顺序失败", null); - } - int temp = source.getSortNum(); - source.setSortNum(target.getSortNum()); - target.setSortNum(temp); - wxCampaignService.saveOrUpdate(source, EnumProjectPlat.FM); - wxCampaignService.saveOrUpdate(target, EnumProjectPlat.FM); - return new ResultData(Result.SUCCESS, "调整顺序成功", null); - } +// @ApiOperation("调整顺序") +// @GetMapping("/move") +// @ApiImplicitParams({ +// @ApiImplicitParam(name = "sourceId", value = "", dataType = "Long", paramType = "query", required = true), +// @ApiImplicitParam(name = "targetId", value = "", dataType = "Long", paramType = "query", required = true)}) +// public ResultData move(Long sourceId, Long targetId,EnumPayWay payWay) { +// WxCampaign source = wxCampaignService.getById(sourceId); +// WxCampaign target = wxCampaignService.getById(targetId); +// if (source == null || target == null) { +// return new ResultData(Result.ERROR, "调整顺序失败", null); +// } +// int temp = source.getSortNum(); +// source.setSortNum(target.getSortNum()); +// target.setSortNum(temp); +// wxCampaignService.saveOrUpdate(source, EnumProjectPlat.FM); +// wxCampaignService.saveOrUpdate(target, EnumProjectPlat.FM); +// return new ResultData(Result.SUCCESS, "调整顺序成功", null); +// } @ApiOperation("输出富文本内容") @GetMapping("/printHtmlById") diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java index 3e20c1cda..a9fda007f 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java @@ -10,6 +10,8 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.*; import com.github.pagehelper.PageInfo; @@ -25,6 +27,7 @@ import com.iformall.enums.EnumCouponChannelType; import com.iformall.enums.EnumCouponStatus; import com.iformall.service.WxCouponChannelService; import com.iformall.service.WxMerchantService; +import com.iformall.utils.RedisCacheUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -42,6 +45,10 @@ public class WxCouponChannelController extends BaseController { @Autowired private WxMerchantService wxMerchantService; + + @Autowired + @Qualifier("objectCommonRedisTemplate") + RedisTemplate redisTemplate; @RedisCache @ApiOperation("分页列表接口") @@ -123,8 +130,21 @@ public class WxCouponChannelController extends BaseController { Map map = new HashedMap(); wxCouponChannel.setShowBeginTime(new Date()); - PageInfo page = wxCouponChannelService.listByMerchant(wxCouponChannel,pageNum,pageSize); - filterTimed(wxCouponChannel, page); + + + //TODO待优化数据,先用缓存处理 + String key = wxCouponChannel.getTenantId(); + if (null != merchantId) { + key = String.valueOf(merchantId); + }else if (null != merchantIds){ + key = merchantIds.toString(); + } + PageInfo page = RedisCacheUtils.getCacheObject(redisTemplate, "merchantCouponList:"+key, PageInfo.class); + if (null == page ) { + page = wxCouponChannelService.listByMerchant(wxCouponChannel,pageNum,pageSize); + filterTimed(wxCouponChannel, page); + RedisCacheUtils.cache(redisTemplate, "merchantCouponList:"+key, page, 3600); + } if(wxCouponChannel.getMerchantId() != null){ WxMerchant wm = wxMerchantService.getById(wxCouponChannel.getMerchantId()); diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxGameController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxGameController.java index 798ea7a1b..e9b39062d 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxGameController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxGameController.java @@ -1,5 +1,6 @@ package com.iformall.controller; +import com.iformall.annotation.RedisCache; import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; import com.iformall.domain.po.*; @@ -31,6 +32,7 @@ public class WxGameController extends BaseController { @Autowired private WxCouponOrderService wxCouponOrderService; + @RedisCache @ApiOperation("蒙层/游戏入口获取游戏信息") @GetMapping("getOne") public ResultData getOne(@ModelAttribute WxGame wxGame) { @@ -46,6 +48,7 @@ public class WxGameController extends BaseController { return new ResultData(record); } + @RedisCache @ApiOperation("获取游戏信息") @GetMapping("getOneGame") public ResultData getOneGame(@ModelAttribute WxGame wxGame) { diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxTopicController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxTopicController.java index 89f78cbd2..825ac41f4 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxTopicController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxTopicController.java @@ -5,10 +5,14 @@ import com.iformall.common.ResultData; import com.iformall.domain.po.WxTopic; import com.iformall.enums.EnumWxTopicType; import com.iformall.service.WxTopicService; +import com.iformall.utils.RedisCacheUtils; + import io.swagger.annotations.Api; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.*; @@ -21,6 +25,10 @@ public class WxTopicController extends BaseController { @Autowired private WxTopicService wxTopicService; + + @Autowired + @Qualifier("objectCommonRedisTemplate") + RedisTemplate redisTemplate; @RedisCache @GetMapping("show") @@ -50,7 +58,14 @@ public class WxTopicController extends BaseController { public ResultData findById(WxTopic wxTopic) { logger.debug("[" + getIpAddr() + "] WxTopicController::findById"); wxTopic.updateTenantInfo(getTenantInfo()); - WxTopic queryTopic = wxTopicService.findCById(wxTopic); + //TODO 待优化数据 + WxTopic queryTopic =RedisCacheUtils.getCacheObject(redisTemplate, "topic:"+wxTopic.getId(), WxTopic.class); + if (null == queryTopic) { + queryTopic = wxTopicService.findCById(wxTopic); + if (null != queryTopic) { + RedisCacheUtils.cache(redisTemplate, "topic:"+wxTopic.getId(), queryTopic, 3600); + } + } return new ResultData(queryTopic); } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java index a6de44f36..5f0a3711e 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java @@ -394,7 +394,9 @@ public class DataTowerServiceImpl implements DataTowerService { dataMap.put("shop", shopRunning(tenantEntity)); dataMap.put("rent", rentRunning(tenantEntity)); dataMap.put("report", reportRunning(tenantEntity)); - dataMap.put("car", carRunning(tenantEntity)); + //TODO 待优化数据 + //dataMap.put("car", carRunning(tenantEntity)); + dataMap.put("car", null); dataMap.put("coupon", couponRunning(tenantEntity)); dataMap.put("visitor", visitorRunning(tenantEntity)); @@ -409,7 +411,9 @@ public class DataTowerServiceImpl implements DataTowerService { dataMap.put("shop", shopRunning(tenantEntity)); dataMap.put("rent", rentRunning(tenantEntity)); dataMap.put("report", reportRunning(tenantEntity)); - dataMap.put("car", carRunning(tenantEntity)); + //TODO 待优化数据 + //dataMap.put("car", carRunning(tenantEntity)); + dataMap.put("car", null); dataMap.put("coupon", couponRunning(tenantEntity)); dataMap.put("visitor", visitorRunning(tenantEntity)); dataMap.put("contract", contractRunning(tenantEntity)); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java index 6042d0656..a08c04a83 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java @@ -895,7 +895,12 @@ public class WxChartServiceImpl implements WxChartDataService { params.put("startdate", startdate + " 00:00:00"); params.put("enddate", systemTime + " 23:59:59"); - List> historylist = wxCarCmdLogMapper.queryHistory(params); + //TODO 待优化数据 + //List> historylist = wxCarCmdLogMapper.queryHistory(params); + List> historylist = null; + if (true) { + return new ResultData(); + } Map collect = historylist.stream().collect(Collectors.toMap(m -> { return m.get("create_date"); @@ -1430,7 +1435,9 @@ public class WxChartServiceImpl implements WxChartDataService { wxCouponOrder.setStartTime(startTime); wxCouponOrder.setEndTime(endTime); // wxCouponOrder.updateTenantInfo(tenantEntity); - int thisMonthCount = wxCouponOrderService.queryPriceTotal(wxCouponOrder,tenantEntitys);//月消费金额 + //TODO 待优化数据 + //int thisMonthCount = wxCouponOrderService.queryPriceTotal(wxCouponOrder,tenantEntitys);//月消费金额 + int thisMonthCount = 0; c.clear(); c.add(Calendar.DAY_OF_YEAR, -1); c.set(Calendar.HOUR_OF_DAY, 0); @@ -1553,7 +1560,12 @@ public class WxChartServiceImpl implements WxChartDataService { c.add(Calendar.DAY_OF_YEAR, -7); Date sTime = c.getTime(); List tenantEntitys = wxMallMapper.getTenantEntitys(tenantEntity); - List datas = wxCouponOrderMapper.queryPriceTotalGroup(tenantEntitys, tenantEntity.getTenantId(), tenantEntity.getParentTenantId(), sTime, eTime); + //TOOD 待优化 + //List datas = wxCouponOrderMapper.queryPriceTotalGroup(tenantEntitys, tenantEntity.getTenantId(), tenantEntity.getParentTenantId(), sTime, eTime); + List datas = null; + if (true) { + return new ResultData(); + } Map dataMap = new HashMap<>(); for (CUserDateAmountVo v : datas) { dataMap.put(v.getXTime(), v.getPrice()); @@ -1595,7 +1607,12 @@ public class WxChartServiceImpl implements WxChartDataService { Date eTime = c.getTime();//明天0点 c.add(Calendar.DAY_OF_YEAR, -30);//三十天前 List tenantEntitys = wxMallMapper.getTenantEntitys(tenantEntity); - List datas = wxCouponOrderMapper.queryPriceTotalGroup(tenantEntitys,tenantEntity.getTenantId(), tenantEntity.getParentTenantId(), sTime, eTime); + //TODO 待优化数据 + //List datas = wxCouponOrderMapper.queryPriceTotalGroup(tenantEntitys,tenantEntity.getTenantId(), tenantEntity.getParentTenantId(), sTime, eTime); + List datas = null; + if (true ) { + return new ResultData(); + } List monthVos = new ArrayList<>();//周消费金额 Map dataMap = new HashMap<>(); for (CUserDateAmountVo v : datas) { @@ -1734,7 +1751,12 @@ public class WxChartServiceImpl implements WxChartDataService { c.add(Calendar.DAY_OF_YEAR, -30);//三十天前 Date sTime = c.getTime(); List tenantEntitys = wxMallMapper.getTenantEntitys(tenantEntity); - List datas = wxCouponOrderMapper.queryPriceTotalGroup(tenantEntitys, tenantEntity.getTenantId(), tenantEntity.getParentTenantId(), sTime, eTime); + //TODO 待优化数据 + //List datas = wxCouponOrderMapper.queryPriceTotalGroup(tenantEntitys, tenantEntity.getTenantId(), tenantEntity.getParentTenantId(), sTime, eTime); + List datas = null; + if(true) { + return new ResultData(); + } Map dataMap = new HashMap<>(); for (CUserDateAmountVo v : datas) { dataMap.put(v.getXTime(), v.getPrice()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java index 35230ef13..70c9d692e 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java @@ -19,6 +19,9 @@ import com.iformall.mapper.*; import com.iformall.service.*; import com.iformall.utils.Constant; import com.iformall.utils.JsonUtil; +import com.iformall.utils.RedisCacheUtils; +import com.iformall.utils.RedisUtils; + import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -60,6 +63,10 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { @Autowired @Qualifier("couponChannelRedisTemplate") RedisTemplate> cdRedisTemplate; + + @Autowired + @Qualifier("objectCommonRedisTemplate") + RedisTemplate redisTemplate; /** * B端业务端 @@ -159,7 +166,7 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { record.updateTenantInfo(tenantEntity); record.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()); record.setType(Integer.parseInt(type)); - List list = wxCouponChannelMapper.findVoList(record); + List list = wxCouponChannelMapper.findList(record); if (null != list && list.size() > 0 ) { return new ResultData(ErrorCode.COUPON_CHANNEL_IS_EXISTED.getCode(),"该版本【拼团】、【砍价】、【限时抢购】、【预售】线上只能投放一个,已经存在已上线的活动,不能再投放。"); } @@ -175,7 +182,7 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { record.updateTenantInfo(tenantEntity); record.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()); record.setTargetAd(EnumCouponChannelType.COUPON_CHANNEL_ID_TIMED.getCode()); - List list = wxCouponChannelMapper.findVoList(record); + List list = wxCouponChannelMapper.findList(record); if (null != list && list.size() > 0 ) { return new ResultData(ErrorCode.COUPON_CHANNEL_IS_EXISTED.getCode(),"该版本【拼团】、【砍价】、【限时抢购】、【预售】线上只能投放一个,已经存在已上线的活动,不能再投放。"); } @@ -219,8 +226,12 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { couponId = record.getCouponId(); record.setCouponId(null); } - // TODO 缓存优化 - List voList = wxCouponChannelMapper.findVoList(record); + //TODO 待优化数据,暂时放缓存 + List voList = RedisCacheUtils.getCacheListObject(redisTemplate, "changeCoupon:"+record.getTenantId(), WxCouponChannelVo.class); + if (null == voList) { + voList = wxCouponChannelMapper.findVoList(record); + RedisCacheUtils.cache(redisTemplate,"changeCoupon:"+record.getTenantId(), voList, 600); + } if (voList.isEmpty()) { return new ResultData(Result.SUCCESS, "查询成功", null); } @@ -393,7 +404,7 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { }else{ pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponChannelMapper.findVoList(record)); //插入缓存 - operations.set(key, pageInfo, 60, TimeUnit.SECONDS); + operations.set(key, pageInfo, 600, TimeUnit.SECONDS); } return pageInfo; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java index 717a6b250..9f833fe1b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java @@ -25,6 +25,8 @@ import com.iformall.mapper.WxGameMapper; import com.iformall.service.*; import com.iformall.service.order.entity.WxComposeOrder; import com.iformall.utils.Constant; +import com.iformall.utils.RedisCacheUtils; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -78,6 +80,10 @@ public class WxGameServiceImpl implements WxGameService { @Autowired @Qualifier("couponDetailRedisTemplate") RedisTemplate cdRedisTemplate; + + @Autowired + @Qualifier("objectCommonRedisTemplate") + RedisTemplate redisTemplate; @Override public PageInfo listAsPage(WxGame record, Integer pageIndex, Integer pageSize) { @@ -224,7 +230,14 @@ public class WxGameServiceImpl implements WxGameService { couponChannelQ.setTargetAd(EnumCouponChannelType.COUPON_CHANNEL_ID_GAME.getCode()); couponChannelQ.setSubTargetId(record.getId()); couponChannelQ.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()); - List wxCouponChannelVos = wxCouponChannelService.listVo(couponChannelQ); + //TODO 待优化数据 + List wxCouponChannelVos = RedisCacheUtils.getCacheListObject(redisTemplate, "gameCoupons:"+record.getId(), WxCouponChannelVo.class); + if (null == wxCouponChannelVos) { + wxCouponChannelVos = wxCouponChannelService.listVo(couponChannelQ); + if (null != wxCouponChannelVos) { + RedisCacheUtils.cache(redisTemplate, "gameCoupons:"+record.getId(), wxCouponChannelVos, 3600); + } + } Map wxCouponChannelsMap = new HashMap(); for(WxCouponChannelVo wxCouponChannelVo: wxCouponChannelVos) { wxCouponChannelsMap.put(wxCouponChannelVo.getCouponId(), wxCouponChannelVo); From b392844af8acc3f2e3ffb17b3e0526b2241a8997 Mon Sep 17 00:00:00 2001 From: winter Date: Wed, 12 Jan 2022 20:27:27 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=8A=A0=E4=B8=8A=E4=BA=86=E5=88=B8?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8=E5=AF=BC=E5=87=BA=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../market/WxCouponOrderController.java | 58 ++- .../com/iformall/domain/po/WxCouponOrder.java | 5 + .../iformall/domain/po/WxMerchantBUser.java | 3 + .../iformall/domain/po/WxMerchantShop.java | 4 + .../iformall/domain/vo/WxCouponOrderBVo.java | 11 +- .../domain/vo/WxMerchantProductVo.java | 31 ++ .../mapper/WxCUserBasicInfoMapper.java | 2 + .../com/iformall/mapper/WxCouponMapper.java | 4 + .../mapper/WxCouponMerchantMapper.java | 3 + .../iformall/mapper/WxCouponOrderMapper.java | 1 + .../mapper/WxMerchantBUserMapper.java | 3 + .../com/iformall/mapper/WxMerchantMapper.java | 1 + .../iformall/mapper/WxMerchantShopMapper.java | 2 + .../com/iformall/mapper/WxShopMapper.java | 1 + .../service/WxCUserBasicInfoService.java | 3 +- .../impl/WxCUserBasicInfoServiceImpl.java | 6 + .../impl/WxCouponOrderServiceImpl.java | 366 ++++++++++++++++-- .../service/impl/WxOrderServiceImpl.java | 2 + .../mapper/WxCUserBasicInfoMapper.xml | 13 + .../main/resources/mapper/WxCouponMapper.xml | 11 + .../mapper/WxCouponMerchantMapper.xml | 40 +- .../resources/mapper/WxCouponOrderMapper.xml | 152 ++------ .../mapper/WxMerchantBUserMapper.xml | 26 ++ .../resources/mapper/WxMerchantMapper.xml | 6 + .../resources/mapper/WxMerchantShopMapper.xml | 17 +- .../main/resources/mapper/WxShopMapper.xml | 6 + 26 files changed, 594 insertions(+), 183 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantProductVo.java diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponOrderController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponOrderController.java index 7ba52de34..5a05d0a43 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponOrderController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponOrderController.java @@ -44,23 +44,22 @@ public class WxCouponOrderController extends BaseController { @Autowired private WxAppinfoService wxAppinfoService; - //TODO 待优化数据 -// @ApiOperation("分页列表接口") -// @GetMapping("list") -// @ApiImplicitParams({ -// @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), -// @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) -// @SystemControllerLog(description = "券包-列表") -// public ResultData list(@ModelAttribute WxCouponOrderBVo wxCouponOrder, Integer pageNum, Integer pageSize) { -// logger.debug("[" + getIpAddr() + "] WxCouponOrderController::list"); -// if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrderBVo(); -// wxCouponOrder.updateTenantInfo(getTenantInfo()); -// if (wxCouponOrder.getMerchantName() != null && -// wxCouponOrder.getMerchantName().isEmpty()) { -// wxCouponOrder.setMerchantName(null); -// } -// return wxCouponOrderService.listAdminAsPage(wxCouponOrder, pageNum, pageSize); -// } + @ApiOperation("分页列表接口") + @GetMapping("list") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + @SystemControllerLog(description = "券包-列表") + public ResultData list(@ModelAttribute WxCouponOrderBVo wxCouponOrder, Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] WxCouponOrderController::list"); + if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrderBVo(); + wxCouponOrder.updateTenantInfo(getTenantInfo()); + if (wxCouponOrder.getMerchantName() != null && + wxCouponOrder.getMerchantName().isEmpty()) { + wxCouponOrder.setMerchantName(null); + } + return wxCouponOrderService.listAdminAsPage(wxCouponOrder, pageNum, pageSize); + } @ApiOperation(value = "卡券详情接口") @GetMapping("detail") @@ -126,18 +125,17 @@ public class WxCouponOrderController extends BaseController { return new ResultData(ErrorCode.REFUND_ORDER_ERROR.getCode(), "AppInfo获取失败"); } - //TODO 待优化数据 -// @GetMapping("exportData") -// @SystemControllerLog(description = "券订单数据-导出数据") -// public void exportData(@ModelAttribute WxCouponOrderBVo wxCouponOrder, HttpServletRequest request, HttpServletResponse response) { -// logger.debug("[" + getIpAddr() + "] WxCouponOrderController::exportData"); -// if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrderBVo(); -// wxCouponOrder.updateTenantInfo(getTenantInfo()); -// if (wxCouponOrder.getMerchantName() != null && -// wxCouponOrder.getMerchantName().isEmpty()) { -// wxCouponOrder.setMerchantName(null); -// } -// wxCouponOrderService.exportData(wxCouponOrder, request, response); -// } + @GetMapping("exportData") + @SystemControllerLog(description = "券订单数据-导出数据") + public void exportData(@ModelAttribute WxCouponOrderBVo wxCouponOrder, HttpServletRequest request, HttpServletResponse response) { + logger.debug("[" + getIpAddr() + "] WxCouponOrderController::exportData"); + if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrderBVo(); + wxCouponOrder.updateTenantInfo(getTenantInfo()); + if (wxCouponOrder.getMerchantName() != null && + wxCouponOrder.getMerchantName().isEmpty()) { + wxCouponOrder.setMerchantName(null); + } + wxCouponOrderService.exportData(wxCouponOrder, request, response); + } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java index 8994f0573..7d651646e 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java @@ -43,6 +43,8 @@ public class WxCouponOrder extends TenantEntity { private Integer couponOrderStatus; @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createDate") private Date createDate; + @io.swagger.annotations.ApiModelProperty(value = "创建时间数值,供查询优化用", name = "createDateTimes") + private Long createDateTimes; @io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updateDate") private Date updateDate; @io.swagger.annotations.ApiModelProperty(value = "单券实际购买价格", name = "couponPrice") @@ -70,6 +72,9 @@ public class WxCouponOrder extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="商品数量",name="couponNumber") private Integer couponNumber; + + @io.swagger.annotations.ApiModelProperty(value="补贴",name="subsidy") + private Integer subsidy; @TableField(exist = false) private String couponName; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchantBUser.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchantBUser.java index 1f1aba28a..248f165bc 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchantBUser.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchantBUser.java @@ -9,6 +9,7 @@ import lombok.EqualsAndHashCode; import java.util.Date; +import java.util.List; import java.util.UUID; @TableName(value = "wx_merchant_b_user") @@ -24,6 +25,8 @@ public class WxMerchantBUser extends TenantEntity { private String userPwd; @io.swagger.annotations.ApiModelProperty(value = "商户id", name = "merchantId") private Long merchantId; + @TableField(exist = false) + private List merchantIds; @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createDate") private Date createDate; @io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updateDate") diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchantShop.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchantShop.java index 386ff1bfd..d7e18695f 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchantShop.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchantShop.java @@ -1,11 +1,13 @@ package com.iformall.domain.po; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iformall.domain.po.base.TenantEntity; import lombok.Data; import lombok.EqualsAndHashCode; import java.util.Date; +import java.util.List; @TableName(value = "wx_merchant_shop") @Data @@ -18,6 +20,8 @@ public class WxMerchantShop extends TenantEntity { private Long merchantId; @io.swagger.annotations.ApiModelProperty(value="商铺ID",name="shopId") private Long shopId; + @TableField(exist = false) + private List shopIdList; @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") private Date createDate; @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderBVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderBVo.java index f30bab040..fbefe0de8 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderBVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderBVo.java @@ -55,7 +55,7 @@ public class WxCouponOrderBVo extends WxCouponOrder { @Excel(name = "会员手机号", width = 20, orderNum = "13") @io.swagger.annotations.ApiModelProperty(value="c用户绑定的手机号",name="cUserPhone") private String cUserPhone; - + @Excel(name = "微信昵称", width = 20, orderNum = "14") @io.swagger.annotations.ApiModelProperty(value="微信昵称",name="userNickName") private String userNickName; @@ -141,7 +141,8 @@ public class WxCouponOrderBVo extends WxCouponOrder { @Excel(name = "所属商户", width = 50, orderNum = "3") @io.swagger.annotations.ApiModelProperty(value="使用券商户名",name="merchantName") private String merchantName; - + @TableField(exist = false) + private List bUserIdList; @Excel(name = "发券商户(商户注券)", width = 50, orderNum = "3") @io.swagger.annotations.ApiModelProperty(value="发券商户(商户注券)",name="sendMerchantName") @@ -170,9 +171,13 @@ public class WxCouponOrderBVo extends WxCouponOrder { @TableField(exist = false) private Date startDate; + @TableField(exist = false) + private Long startDateTimes; @TableField(exist = false) private Date endDate; + @TableField(exist = false) + private Long endDateTimes; @TableField(exist = false) private Long merchantId; @@ -192,6 +197,8 @@ public class WxCouponOrderBVo extends WxCouponOrder { @TableField(exist = false) private Long couponId; + @TableField(exist = false) + private List couponIds; @Excel(name = "类型", width = 50, orderNum = "16", replace = {"满减券_1", "代金券_2", "团购券_3", "礼品券_4", "停车券_5", "通用券_6", "砍价券_8", "团购券_9", "预购商品_10", "可配送商品_11", "券礼包_12", "积分券_50", "积分停车券_51", "消费卡_100"}) @TableField(exist = false) diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantProductVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantProductVo.java new file mode 100644 index 000000000..4ea56653d --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantProductVo.java @@ -0,0 +1,31 @@ +package com.iformall.domain.vo; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.iformall.domain.po.base.TenantEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; +import java.util.List; + +@JsonIgnoreProperties(value = {"handler"}) +@Data +@EqualsAndHashCode(callSuper = true) +public class WxMerchantProductVo extends TenantEntity { + + /** + * + */ + private static final long serialVersionUID = -367003237067255221L; + + + @io.swagger.annotations.ApiModelProperty(value = "券编码", name = "productId") + private Long productId; + + @io.swagger.annotations.ApiModelProperty(value = "商户编码", name = "merchantId") + private Long merchantId; + + @io.swagger.annotations.ApiModelProperty(value = "商户数", name = "merchantId") + private Integer mc; + +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java index 319b5030f..e49299dcf 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java @@ -22,6 +22,8 @@ public interface WxCUserBasicInfoMapper extends CommonMapper findList(WxCUserBasicInfo wxCUserBasicInfo); List findList1(@Param("tenantInfo")TenantEntity tenantInfo, @Param("basicInfo")WxCUserBasicInfo wxCUserBasicInfo); + List findListPhoneAndNameByIds(WxCUserBasicInfo wxCUserBasicInfo); + WxCUserBasicInfo selectById(@Param("id")Long id,@Param("finalTenantId")String finalTenantId); void updateScore(WxCUserBasicInfo record); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java index 104d13c02..98c6aa08e 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java @@ -15,6 +15,10 @@ public interface WxCouponMapper extends CommonMapper { List findCountData(@Param("tenantEntitys")List tenantEntitys, @Param("wxCoupon")WxCoupon wxCoupon); List findList(WxCoupon wxCoupon); + + List findTenantSimpleList(WxCoupon wxCoupon); + + List findIdList(WxCoupon wxCoupon); List findCouponList(WxCoupon wxCoupon); WxCoupon selectById(@Param("id")Long id,@Param("tenantId")String tenantId); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java index bf3ed8705..aabbde2b4 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java @@ -3,6 +3,7 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; import com.iformall.domain.po.WxCouponMerchant; +import com.iformall.domain.vo.WxMerchantProductVo; import com.iformall.domain.vo.WxMerchantVo; import java.util.List; @@ -16,4 +17,6 @@ public interface WxCouponMerchantMapper extends CommonMapper findMerchantVoList(@Param("productId")Long productId,@Param("tenantId")String tenantId); List findMerchantNameList(@Param("productId")Long productId,@Param("tenantId")String tenantId); List findMerchantBaseList(@Param("productId")Long productId,@Param("tenantId")String tenantId); + List findMerchantProduct(@Param("tenantId")String tenantId,@Param("merchantIdList")List merchantIdList); + List findMerchantProductIds(@Param("tenantId")String tenantId,@Param("merchantIdList")List merchantIdList); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java index 0e5b49390..76f654515 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java @@ -32,6 +32,7 @@ public interface WxCouponOrderMapper extends CommonMapper { int updateVerifyCouponOrderStatus(WxCouponOrder wxCouponOrder); int updateVerifyCouponOrderStatusForMicroPay(WxCouponOrder wxCouponOrder); int cancelVerifyCouponOrder(WxCouponOrder wxCouponOrder); + int updateVerifyCouponOrderSubsidy(WxCouponOrder wxCouponOrder); //统一的计数接口 int findCount(WxCouponOrder wxCouponOrder); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantBUserMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantBUserMapper.java index a0c92529f..7675d5b29 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantBUserMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantBUserMapper.java @@ -8,6 +8,9 @@ import com.iformall.domain.vo.WxMerchantBuInfoVo; public interface WxMerchantBUserMapper extends CommonMapper { List findList(WxMerchantBUser wxMerchantBUser); + List findIdList(WxMerchantBUser wxMerchantBUser); + + List findMerchantIdListByIds(WxMerchantBUser wxMerchantBUser); List findSelMerchantList(WxMerchantBUser wxMerchantBUser); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java index 09d66f79c..bbbb334af 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java @@ -16,6 +16,7 @@ import java.util.Map; public interface WxMerchantMapper extends CommonMapper { List findList(WxMerchant wxMerchant); + List findIdList(WxMerchant wxMerchant); List findIdNameList(WxMerchant wxMerchant); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantShopMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantShopMapper.java index e8ec02083..e5680673a 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantShopMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantShopMapper.java @@ -11,6 +11,8 @@ public interface WxMerchantShopMapper extends CommonMapper findList(WxMerchantShop wxMerchantShop); + List findMerchantIdList(WxMerchantShop wxMerchantShop); + List findShopIds(@Param("merchantId") Long merchantId); void delShops(@Param("merchantId") Long merchantId,@Param("shopList") List shopIds); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxShopMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxShopMapper.java index a99b1fcd0..09f6135f7 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxShopMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxShopMapper.java @@ -16,6 +16,7 @@ import java.util.Map; public interface WxShopMapper extends CommonMapper { List findList(WxShop wxShop); + List findIdList(WxShop wxShop); List> findListMap(WxShop record); diff --git a/mallinkService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java b/mallinkService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java index 6594442f4..d3055ed16 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java @@ -44,7 +44,8 @@ public interface WxCUserBasicInfoService { */ PageInfo listAsPage(WxCUserBasicInfo record, Integer pageIndex, Integer pageSize); PageInfo listAsPage(TenantEntity tenantInfo, WxCUserBasicInfo wxCUserBasicInfo, Integer pageIndex, Integer pageSize); - + + List listPhoneAndNameByIds(WxCUserBasicInfo record); /** * 根据实体查询列表 * @param record diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java index 0eb208181..29b3731d6 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java @@ -591,6 +591,12 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc return wxCUserBasicInfoMapper.selectCount(new QueryWrapper(record)); } + + @Override + public List listPhoneAndNameByIds(WxCUserBasicInfo record) { + return wxCUserBasicInfoMapper.findListPhoneAndNameByIds(record); + } + @Override public List findByPhone(TenantEntity tenantEntity, String phone) { WxCUserBasicInfo basicQ = new WxCUserBasicInfo(); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index 7bbdc6eaf..a1e5a5f5e 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -171,6 +171,12 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { SysConfigService sysConfigService; @Autowired WxMerchantBUserService wxMerchantBUserService; + + + @Autowired + WxShopMapper wxShopMapper; + @Autowired + WxMerchantShopMapper wxMerchantShopMapper; private final SimpleDateFormat mydateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -335,9 +341,326 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { @Override public ResultData listAdminAsPage(WxCouponOrderBVo wxCouponOrderBVo, Integer pageIndex, Integer pageSize) { + handleWxCouponOrderBVoQueryParam(wxCouponOrderBVo); PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfAdmin(wxCouponOrderBVo)); + if (null != pageInfo && null != pageInfo.getList()){ + handleQueryResult(pageInfo.getList(), wxCouponOrderBVo); + } return new ResultData(pageInfo); } + + private void handleQueryResult(List list,TenantEntity tenantEntity) { + if (null != list ) { + + WxMerchant merchantQ = new WxMerchant(); + merchantQ.updateTenantInfo(tenantEntity); + List merchantList = wxMerchantMapper.findIdNameList(merchantQ); + Map merchantNameMap = new HashMap(); + if (null != merchantList) { + for (int i = 0 ; i < merchantList.size() ; i ++) { + WxMerchant m = merchantList.get(i); + merchantNameMap.put(m.getId(), m.getName()); + } + } + + WxCoupon couponQ = new WxCoupon(); + couponQ.updateTenantInfo(tenantEntity); + List couponList = wxCouponMapper.findTenantSimpleList(couponQ); + Map couponMap = new HashMap(); + if (null != couponList) { + for (int i = 0 ; i < couponList.size() ; i ++) { + WxCoupon c = couponList.get(i); + couponMap.put(c.getId(), c); + } + } + + + List merchantProductVos = wxCouponMerchantMapper.findMerchantProduct(tenantEntity.getTenantId(), null); + Map merchantProductIdMap = new HashMap(); + if (null != merchantProductVos) { + for (int i = 0 ; i < merchantProductVos.size(); i ++) { + WxMerchantProductVo mp = merchantProductVos.get(i); + if (mp.getMc() > 1) { + merchantProductIdMap.put(mp.getProductId(), -999L); + }else { + merchantProductIdMap.put(mp.getProductId(), mp.getMerchantId()); + } + } + } + + //循环list,获取 cUserId + List cUserIdList = new ArrayList(); + List bUserIdList = new ArrayList(); + for (int i = 0 ; i < list.size() ; i ++ ) { + WxCouponOrderBVo bo = list.get(i); + Long cusrid = bo.getcUserId(); + if (null != cusrid && (!cUserIdList.contains(cusrid))) { + cUserIdList.add(cusrid); + } + Long busrid = bo.getBUserId(); + if (null != busrid && (!bUserIdList.contains(busrid))) { + bUserIdList.add(busrid); + } + } + Map cUserMap = new HashMap(); + if (cUserIdList.size() > 0) { + WxCUserBasicInfo cUserBasicInfoQ = new WxCUserBasicInfo(); + cUserBasicInfoQ.setIds(cUserIdList); + cUserBasicInfoQ.setFinalTenantId(tenantEntity.getFinalTenantId()); + List cuserList = wxCUserBasicInfoService.listPhoneAndNameByIds(cUserBasicInfoQ); + if (null != cuserList) { + for (int i = 0 ; i < cuserList.size() ; i++) { + WxCUserBasicInfo cbi = cuserList.get(i); + cUserMap.put(cbi.getId(), cbi); + } + } + } + + Map buserMerchantIdMap = new HashMap(); + if (bUserIdList.size() > 0 ) { + WxMerchantBUser merchantBUserQ = new WxMerchantBUser(); + merchantBUserQ.setIds(bUserIdList); + merchantBUserQ.updateTenantInfo(tenantEntity); + List busrlist = wxMerchantBUserMapper.findMerchantIdListByIds(merchantBUserQ); + if (null != busrlist ) { + for (int i = 0 ; i < busrlist.size() ; i ++) { + WxMerchantBUser buser = busrlist.get(i); + buserMerchantIdMap.put(buser.getId(), buser.getMerchantId()); + } + } + } + + + for (int i = 0 ; i < list.size() ; i ++) { + WxCouponOrderBVo co = list.get(i); + if (co.getCouponOrderStatus().equals(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode())) { + co.setUpdateDate(null); + } + if (null != co.getSendMerchantId()) { + co.setSendMerchantName(merchantNameMap.get(co.getSendMerchantId())); + } + WxCoupon coupon = couponMap.get(co.getCouponId()); + if (null != coupon) { + co.setTitle(coupon.getTitle()); + co.setSalePrice(coupon.getSalePrice()); + co.setUsePrice(coupon.getUsePrice()); + co.setPrice(coupon.getPrice()); + co.setAutoRefund(coupon.getAutoRefund()); + co.setBusiness(coupon.getBusiness()); + co.setSubsidyType(coupon.getSubsidyType()); + co.setSourceType(coupon.getSourceType()); + } + +// WxMerchantSubsidy merchantSubsidyQ = new WxMerchantSubsidy(); +// merchantSubsidyQ.setCouponOrderId(co.getId()); +// merchantSubsidyQ.setCouponType(co.getCouponType()); +// merchantSubsidyQ.setType(EnumMerchantSubsidyType.MANUAL.getCode()); +// merchantSubsidyQ.updateTenantInfo(co); +// List msList = wxMerchantSubsidyMapper.selectList(new QueryWrapper(merchantSubsidyQ)); +// if (msList.size() > 0) { +// co.setSubsidyNum(msList.get(0).getSubsidy()); +// } + co.setSubsidyNum(co.getSubsidy()); + + Long merchanId = merchantProductIdMap.get(co.getCouponId()); + if (null != merchanId) { + if (merchanId == -999L) { + co.setMerchantName("多商户通用"); + co.setMerchantId(0L); + }else { + co.setMerchantName(merchantNameMap.get(merchanId)); + co.setMerchantId(merchanId); + } + } + + //WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.getById(co.getCUserId(), co.getFinalTenantId()); + WxCUserBasicInfo basicInfo = cUserMap.get(co.getCUserId()); + if (null != basicInfo) { + co.setcuserPhone(basicInfo.getPhone()); + co.setUserNickName(basicInfo.getNickName()); + } + + //WxMerchantBUser buser = wxMerchantBUserService.getById(co.getBUserId()); + Long buserMechantId = buserMerchantIdMap.get(co.getBUserId()); + if (null != buserMechantId) { + co.setVerifyMerchantName(merchantNameMap.get(buserMechantId)); + } + //co.setChannelType();) + + } + } + + } + + + private List getMerchantIdsQueryParam(WxCouponOrderBVo wxCouponOrder) { + + List retMerchantIdList = new ArrayList(); + boolean isConditiondQquery = false; + //根据名称查询商户 + String merchantName = StringUtils.trimToNull(wxCouponOrder.getMerchantName()); + if (null != merchantName) { + WxMerchant merchantQ1 = new WxMerchant(); + merchantQ1.updateTenantInfo(wxCouponOrder); + merchantQ1.setName(merchantName); + List merchantIdList = wxMerchantMapper.findIdList(merchantQ1); + if (null == merchantIdList || merchantIdList.size() <= 0) { + //throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"商户名称查询不到商户。"); + retMerchantIdList.add(-999L); + return retMerchantIdList; + } + retMerchantIdList.addAll(merchantIdList); + isConditiondQquery = true; + } + + //楼层楼座查询商户 + if (null != wxCouponOrder.getBuilding() || null != wxCouponOrder.getFloor()) { + WxShop shopQ = new WxShop(); + shopQ.updateTenantInfo(wxCouponOrder); + if (null != wxCouponOrder.getBuilding()) { + shopQ.setBuilding(Long.parseLong(String.valueOf(wxCouponOrder.getBuilding()))); + } + if (null != wxCouponOrder.getFloor()) { + shopQ.setFloor(Long.parseLong(String.valueOf(wxCouponOrder.getFloor()))); + } + List shopIds = wxShopMapper.findIdList(shopQ); + if (null == shopIds || shopIds.size() <= 0 ){ + //throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"楼座楼层提交查询不到店铺信息."); + retMerchantIdList.add(-999L); + return retMerchantIdList; + } + + WxMerchantShop wxMerchantShopQ = new WxMerchantShop(); + wxMerchantShopQ.updateTenantInfo(wxCouponOrder); + wxMerchantShopQ.setShopIdList(shopIds); + wxMerchantShopQ.setIsDel(0); + List buildMerchantIdList = wxMerchantShopMapper.findMerchantIdList(wxMerchantShopQ); + if (null == buildMerchantIdList || buildMerchantIdList.size() <= 0 ){ + //throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"楼座楼层对应店铺无商户绑定记录."); + retMerchantIdList.add(-999L); + return retMerchantIdList; + } + retMerchantIdList.retainAll(buildMerchantIdList); + isConditiondQquery = true; + } + + if (isConditiondQquery) { + if (retMerchantIdList.size() <= 0 ) { + //throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"根据条件交集未查询到商户记录."); + retMerchantIdList.add(-999L); + return retMerchantIdList; + }else { + return retMerchantIdList; + } + }else { + return null; + } + + } + + private void handleWxCouponOrderBVoQueryParam(WxCouponOrderBVo wxCouponOrder) { + + if(null == wxCouponOrder.getStartDate()) { + wxCouponOrder.setStartDate(DateUtils.getFirstDayForCurrMonth()); + } + wxCouponOrder.setStartDateTimes(wxCouponOrder.getStartDate().getTime()); + wxCouponOrder.setStartDate(null); + + if(null == wxCouponOrder.getEndDate()) { + wxCouponOrder.setEndDate(DateUtils.getLastDayForMonth(new Date())); + } + wxCouponOrder.setEndDateTimes(wxCouponOrder.getEndDate().getTime()); + wxCouponOrder.setEndDate(null); + + String cuserPhone = StringUtils.trimToNull(wxCouponOrder.getcuserPhone()); + if (null != cuserPhone) { + WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(wxCouponOrder, cuserPhone); + if (null != basicInfo) { + wxCouponOrder.setCUserId(basicInfo.getId()); + }else { + //throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"手机号查询不到会员信息。"); + wxCouponOrder.setCUserId(-999L); + return; + } + } + + List merchantIdListQueryParam = getMerchantIdsQueryParam(wxCouponOrder); + List merchantProductIds = null; + if (null != merchantIdListQueryParam) { + //查询商户券 + merchantProductIds = wxCouponMerchantMapper.findMerchantProductIds(wxCouponOrder.getTenantId(), merchantIdListQueryParam); + if (null == merchantProductIds || merchantProductIds.size() <= 0) { + //throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"商户下查询不到券信息。"); + List tempCouponIds = new ArrayList(); + tempCouponIds.add(-999L); + wxCouponOrder.setCouponIds(tempCouponIds); + return; + } + } + + + List couponIds = null; + String title = StringUtils.trimToNull(wxCouponOrder.getTitle()); + if (null != title || null != wxCouponOrder.getType() || null != wxCouponOrder.getBusiness() || null != wxCouponOrder.getSourceType()) { + WxCoupon wxCouponQuery = new WxCoupon(); + wxCouponQuery.updateTenantInfo(wxCouponOrder); + wxCouponQuery.setTitle(title); + wxCouponQuery.setType(wxCouponOrder.getType()); + wxCouponQuery.setBusiness(wxCouponOrder.getBusiness()); + wxCouponQuery.setSourceType(wxCouponOrder.getSourceType()); + couponIds = wxCouponMapper.findIdList(wxCouponQuery); + if (null == couponIds || couponIds.size() <= 0) { + //throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"根据券条件搜索不到券信息。"); + List tempCouponIds = new ArrayList(); + tempCouponIds.add(-999L); + wxCouponOrder.setCouponIds(tempCouponIds); + return; + } + } + + //merchantProducts 和 couponIds 取交集 + if (null != merchantProductIds) { + if (null != couponIds) { + //取交集 + merchantProductIds.retainAll(couponIds); + } + wxCouponOrder.setCouponIds(merchantProductIds); + }else { + if (null != couponIds) { + wxCouponOrder.setCouponIds(couponIds); + } + } + + //核销商户 + String verifyMerchantName = StringUtils.trimToNull(wxCouponOrder.getVerifyMerchantName()); + if (null != verifyMerchantName) { + WxMerchant merchantQ2 = new WxMerchant(); + merchantQ2.updateTenantInfo(wxCouponOrder); + merchantQ2.setName(verifyMerchantName); + List merchantIds = wxMerchantMapper.findIdList(merchantQ2); + if (null == merchantIds || merchantIds.size() <= 0 ){ + //throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"核销商户名称查询不到商户记录."); + List tempBUserIds = new ArrayList(); + tempBUserIds.add(-999L); + wxCouponOrder.setBUserIdList(tempBUserIds); + return; + } + + WxMerchantBUser merchantBUserQ = new WxMerchantBUser(); + merchantBUserQ.setMerchantIds(merchantIds); + List bUserIdList = wxMerchantBUserMapper.findIdList(merchantBUserQ); + if (null == bUserIdList || bUserIdList.size() <= 0 ){ + //throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"核销商户下查询不到员工信息."); + List tempBUserIds = new ArrayList(); + tempBUserIds.add(-999L); + wxCouponOrder.setBUserIdList(tempBUserIds); + return; + } + wxCouponOrder.setBUserIdList(bUserIdList); + } + + } + @Override public ResultData detailAdminVo(Long couponOrderId,TenantEntity tenantinfo) { @@ -354,40 +677,9 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { if(EnumCouponType.COUPON_DISTRIBUTION.getCode().equals(wxCouponOrder.getCouponType())){ filename = "商品订单"; } - WxMerchant merchantQ = new WxMerchant(); - merchantQ.updateTenantInfo(wxCouponOrder); - List merchantList = wxMerchantMapper.findIdNameList(merchantQ); - Map merchantNameMap = new HashMap(); - if (null != merchantList) { - merchantList.parallelStream().forEach(m -> { - merchantNameMap.put(m.getId(), m.getName()); - }); - } - + handleWxCouponOrderBVoQueryParam(wxCouponOrder); List list = wxCouponOrderMapper.findListOfAdmin(wxCouponOrder); - list.parallelStream().forEach(c -> { - if (c.getCouponOrderStatus().equals(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode())) { - c.setUpdateDate(null); - } - if (null != c.getSendMerchantId()) { - c.setSendMerchantName(merchantNameMap.get(c.getSendMerchantId())); - } -// if (!c.getMerchantId().equals(0L)) { -// List merchantVoList = c.getMerchantVoList(); -// if (!CollectionUtils.isEmpty(merchantVoList)) { -// StringBuilder shopNumber = new StringBuilder(); -// StringBuilder building = new StringBuilder(); -// WxMerchantVo wxMerchantVo = merchantVoList.get(0); -// List shopVoList = wxMerchantVo.getShopVoList(); -// for (WxShopVo wxShopVo : shopVoList) { -// shopNumber.append(wxShopVo.getShopNumber()).append(";"); -// building.append(wxShopVo.getBuildingName()).append(wxShopVo.getFloorName()).append(";"); -// } -// c.setShopNumber(shopNumber.toString()); -// c.setBuildingStr(building.toString()); -// } -// } - }); + handleQueryResult(list,wxCouponOrder); excelService.exportCsv(list, null, filename, WxCouponOrderBVo.class, filename + ".csv", response, false); } @@ -1027,6 +1319,14 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { logger.error("数据库插入错误:" + e.getMessage()); throw new MallinkException(ErrorCode.DB_FAIL); } + + try { + couponOrder.setSubsidy(subsidyNum); + wxCouponOrderMapper.updateVerifyCouponOrderSubsidy(couponOrder); + } catch (Exception e) { + logger.error("数据库插入错误:" + e.getMessage(),e); + throw new MallinkException(ErrorCode.DB_FAIL); + } } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java index cca561be8..31949ed5f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -1087,6 +1087,7 @@ public class WxOrderServiceImpl implements WxOrderService { couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.CARD_USING.getCode()); } couponOrder.setCreateDate(curr); + couponOrder.setCreateDateTimes(curr.getTime()); couponOrder.setUpdateDate(curr); couponOrder.setCouponPrice(order.getPayment()); wxCouponOrderMapper.insert(couponOrder); @@ -1193,6 +1194,7 @@ public class WxOrderServiceImpl implements WxOrderService { couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.CARD_USING.getCode()); } couponOrder.setCreateDate(curr); + couponOrder.setCreateDateTimes(curr.getTime()); couponOrder.setUpdateDate(curr); couponOrder.setCouponPrice(order.getPayment()); couponOrder.setComposeOrderType(order.getComposeOrderType()); diff --git a/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml b/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml index 75df9a432..b22e3a764 100644 --- a/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml @@ -252,6 +252,19 @@ + + + + + + + update wx_coupon set is_del = 1 where id = #{id} and tenant_id = #{tenantId} diff --git a/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml index acd6114ca..ec9114635 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml @@ -134,5 +134,43 @@ and cm.product_id = #{productId} and cm.tenant_id = #{tenantId} - + + + + + + + + + + + + diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index cc1143960..7ae56ce22 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -15,6 +15,7 @@ + @@ -27,7 +28,7 @@ - + @@ -38,7 +39,7 @@ `id`,`tenant_id`,`parent_tenant_id`,`coupon_id`,`coupon_type`,`c_user_id`,`owner_id`,`b_user_id`,`order_id`,`expired_time`,`coupon_order_status`,`create_date`,`update_date`,`coupon_price`, `auto_refund`, `verify_type`,`verify_remark`,`pay_vendor`,`send_merchant_id`,`send_merchant_user_id`,`compose_order_type`,`compose_order_id`,`parent_coupon_order_id`,`coupon_number`, - `freight_price`,`shipping_type`,`shipping_address`,`shipping_status`,`delivery_info` + `freight_price`,`shipping_type`,`shipping_address`,`shipping_status`,`delivery_info`,`subsidy` @@ -241,6 +242,12 @@ and `parent_tenant_id` = #{parentTenantId} + + + update wx_coupon_order + set `subsidy` = #{subsidy} + where id=#{id} + - select - - FROM ( - SELECT wcm.product_id,wcm.merchant_id,COUNT(1) AS mc - FROM wx_coupon_merchant wcm - WHERE STATUS = 0 - - and wcm.`tenant_id` = #{tenantId} - - - and wcm.`parent_tenant_id` = #{parentTenantId} - - GROUP BY product_id) couc - RIGHT JOIN ( - SELECT co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.c_user_id,co.b_user_id,co.order_id,co.coupon_type, - co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.auto_refund,co.verify_type,co.verify_remark,co.pay_vendor - ,co.send_merchant_id,co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info` - FROM wx_coupon_order co WHERE 1=1 - - and co.`tenant_id` = #{tenantId} - - - and co.`parent_tenant_id` = #{parentTenantId} - - ) co - ON co.coupon_id = couc.product_id - LEFT JOIN wx_c_user_basic_info cu ON cu.id=co.c_user_id - LEFT JOIN wx_coupon c ON c.id = co.coupon_id - LEFT JOIN wx_merchant m1 ON m1.id = couc.merchant_id - LEFT JOIN wx_merchant_subsidy ms ON co.id = ms.coupon_order_id AND ms.type = 1 - LEFT JOIN wx_merchant_b_user mbu ON mbu.id = co.b_user_id LEFT JOIN wx_merchant m2 ON m2.id = mbu.merchant_id - LEFT JOIN wx_coupon_action_log cal ON cal.coupon_order_id = co.id AND cal.coupon_id = co.coupon_id - where 1=1 + select co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.expired_time,co.coupon_order_status,co.order_id, + co.create_date,co.update_date,co.coupon_price, co.verify_type, co.verify_remark,co.pay_vendor, + co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`,co.send_merchant_id,co.subsidy + FROM wx_coupon_order co where co.`tenant_id` = #{tenantId} and co.coupon_type = #{couponType} @@ -956,16 +905,9 @@ and co.coupon_type < 100 - - and co.`tenant_id` = #{tenantId} - and co.`parent_tenant_id` = #{parentTenantId} - - and cu.`phone` = #{cUserPhone} - - and co.coupon_order_status = #{couponOrderStatus} @@ -978,27 +920,22 @@ and co.`shipping_status` = #{shippingStatus} - - - and (case when couc.mc=1 - then - m1.name - - else'[多商户通用]' end) - like concat('%', #{merchantName},'%') - - AND co.create_date > #{startDate,jdbcType=TIMESTAMP} + + + AND co.create_date_times > #{startDateTimes} + AND co.create_date < #{endDate,jdbcType=TIMESTAMP} + + AND co.create_date_times < #{endDateTimes} + + AND co.update_date > #{verifyStartDate,jdbcType=TIMESTAMP} @@ -1016,39 +953,24 @@ and c.id = #{couponId} - - and c.title like concat('%', #{title},'%') - - - and c.`type` = #{type} - - - and c.business = #{business} - - - and c.`source_type` = #{sourceType} + + and co.c_user_id = #{cUserId} - - and bu.verify_merchant_name = #{verifyMerchantName} + + + and co.coupon_id in + + #{couponIdItem} + - - and co.coupon_id in( - select cm.product_id from wx_merchant_shop ms left join wx_merchant m on ms.merchant_id=m.id - left join wx_shop s on ms.shop_id=s.id - left join wx_coupon_merchant cm on ms.merchant_id=cm.merchant_id - where ms.is_del=0 and s.building=#{building} - - and ms.`tenant_id` = #{tenantId} - - - and ms.`parent_tenant_id` = #{parentTenantId} - - - and s.floor=#{floor} - - ) + + and co.b_user_id in + + #{bUserIdItem} + + order by ${sortColumns} order by co.create_date desc,co.id desc diff --git a/mallinkService/src/main/resources/mapper/WxMerchantBUserMapper.xml b/mallinkService/src/main/resources/mapper/WxMerchantBUserMapper.xml index 5305e0662..f8ef476eb 100644 --- a/mallinkService/src/main/resources/mapper/WxMerchantBUserMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMerchantBUserMapper.xml @@ -78,6 +78,14 @@ #{idItem} + + + and merchant_id in + + #{merchantIdItem} + + + order by ${sortColumns} @@ -88,6 +96,24 @@ from wx_merchant_b_user + + + + + + + + + diff --git a/mallinkService/src/main/resources/mapper/WxShopMapper.xml b/mallinkService/src/main/resources/mapper/WxShopMapper.xml index 8cb2f3b55..7ba72ee6e 100644 --- a/mallinkService/src/main/resources/mapper/WxShopMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxShopMapper.xml @@ -146,6 +146,12 @@ + + select id,title,sale_price,use_price,price,auto_refund,business,subsidy_type,source_type - from wx_coupon where c.`tenant_id` = #{tenantId} + from wx_coupon c where c.`tenant_id` = #{tenantId}