From f5504155bded6d8ed0fd1dbb56f109b6a6be2ffa Mon Sep 17 00:00:00 2001 From: "lisai17@sina.com" Date: Fri, 26 Feb 2021 15:44:16 +0800 Subject: [PATCH] . --- .../src/main/java/com/cowr/common/Const.java | 6 +-- .../cowr/service/ssjygl/jobs/StatSmsJob.java | 40 ++++++++++++++++--- .../com/cowr/service/ssjygl/main/Config.java | 3 ++ 3 files changed, 41 insertions(+), 8 deletions(-) diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/common/Const.java b/ssjygl-xsx-common/src/main/java/com/cowr/common/Const.java index 3297d9d..ce02eb6 100644 --- a/ssjygl-xsx-common/src/main/java/com/cowr/common/Const.java +++ b/ssjygl-xsx-common/src/main/java/com/cowr/common/Const.java @@ -21,6 +21,7 @@ public class Const { public static final long SUP_OFFLINE_TIME = 5 * 60 * 1000L; // 砂站离线时间限制,单位 毫秒 public static final String TEMP_CODE_AGGR_STAT = "SMS_205434464"; // 累计销售汇总 + public static final String TEMP_CODE_AGGR_STAT_2 = "SMS_212280668"; // 累计销售汇总-实际营收 public static final String TEMP_CODE_DAY_STAT = "SMS_205430436"; // 日销售汇总 public static final String TEMP_CODE_CUSTOMER_DAY_STAT = "SMS_208985081"; // 客户日销售汇总 public static final String TEMP_CODE_PEIE = "SMS_203673037"; // 配额分配通知 @@ -37,9 +38,8 @@ public class Const { SMS_TEMP_MAP.put(TEMP_CODE_PEIE, "已经在${supermarket_name}分配了${weight}吨配额,请在${date}安排车辆前去运输。"); SMS_TEMP_MAP.put(TEMP_CODE_DEPOSIT_SUCCESS, "${time}${customer_name}在${vendor}的预存${amount}元,合计余额${surplus}元。"); SMS_TEMP_MAP.put(TEMP_CODE_DEPOSIT_FAIL, "${time}${customer_name}在${vendor}预存的${amount}元审核未通过,若有疑问请及时联系结算中心。"); - SMS_TEMP_MAP.put(TEMP_CODE_AGGR_STAT, "截至${time1}累计销售黄砂${aggr_weight}吨,共计${aggr_price}元,运输${aggr_cnt}辆次。" + - "账户累计${aggr_total_price}元,其中预付费客户总余额${customer_total_surplus}元。" + - "${time2}当日销售黄砂${total_weight}吨,共计${total_price}元,运输${total_cnt}辆次。"); + SMS_TEMP_MAP.put(TEMP_CODE_AGGR_STAT, "截至${time1}累计销售黄砂${aggr_weight}吨,共计${aggr_price}元,运输${aggr_cnt}辆次。账户累计${aggr_total_price}元,其中预付费客户总余额${customer_total_surplus}元。${time2}当日销售黄砂${total_weight}吨,共计${total_price}元,运输${total_cnt}辆次。"); + SMS_TEMP_MAP.put(TEMP_CODE_AGGR_STAT_2, "截至${time1}累计销售黄砂${aggr_weight}吨,共计${aggr_price}元,运输${aggr_cnt}辆次;其中2020年充值客户运输${customer_weight}吨,共${customer_price}元,实际营收${revenue}元。账户累计${aggr_total_price}元,其中预付费客户总余额${customer_total_surplus}元。${time2}当日销售黄砂${total_weight}吨,共计${total_price}元,运输${total_cnt}辆次。"); SMS_TEMP_MAP.put(TEMP_CODE_SURPLUS_WARN, "截至${time}${customer_name}在${vendor}的预存账户余额为${surplus}元。请及时关注。"); SMS_TEMP_MAP.put(TEMP_CODE_REFUND_SUCCESS, "${time}${customer_name}在${vendor}的退款${amount}元,合计余额${surplus}元。"); } diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/jobs/StatSmsJob.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/jobs/StatSmsJob.java index 401f621..c6f56a4 100644 --- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/jobs/StatSmsJob.java +++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/jobs/StatSmsJob.java @@ -7,6 +7,7 @@ import com.cowr.model.PrepayCustomer; import com.cowr.service.ssjygl.main.Config; import com.cowr.service.ssjygl.main.SvrCacheData; import com.cowr.service.ssjygl.sms.log.SmsService; +import com.cowr.sms.AliyunSmsService; import com.jfinal.kit.StrKit; import com.jfinal.log.Log; import com.jfinal.plugin.activerecord.Db; @@ -203,20 +204,31 @@ public class StatSmsJob implements Job { String predaytm = DateTimeUtil.sdf.get().format(c.getTime()); // 前一日 String sendtmtext = DateTimeUtil.sdfymd.get().format(c.getTime()); String year_start = DateTimeUtil.year_start.get().format(now); - String year_end = DateTimeUtil.sdf.get().format(now); + String allordersql = "select count(t.sn) aggr_cnt, ifnull(sum(t.weight), 0) aggr_weight, ifnull(sum(t.total_price), 0) aggr_price \n" + + " from order_temp t \n" + + " where t.state = 5"; String ordersql = "select count(t.sn) aggr_cnt, ifnull(sum(t.weight), 0) aggr_weight, ifnull(sum(t.total_price), 0) aggr_price \n" + " from order_temp t \n" + " where t.create_time >= ? \n" + - " and t.create_time < ? \n" + " and t.state = 5"; String cusmersql = "select ifnull(sum(t.surplus), 0) customer_total_surplus from prepay_customer t"; String daysql = "select count(t.sn) total_cnt, ifnull(sum(t.weight), 0) total_weight, ifnull(sum(t.total_price), 0) total_price from order_temp t\n" + " where t.state = 5\n" + " and t.create_time like '" + predaytm + "%'"; + String revenuesql = "select ifnull(sum(t.weight), 0) weight, ifnull(sum(total_price), 0) total_price from order_temp t\n" + + "where t.state = 5\n" + + "and (t.customer_id = 17\n" + + "or t.customer_id = 24\n" + + "or t.customer_id = 60\n" + + "or t.customer_id = 61)\n" + + "and t.create_time >= ? "; + JSONObject obj = new JSONObject(); - Record orderobj = Db.findFirst(ordersql, year_start, year_end); + Record orderobj = Db.findFirst(ordersql, year_start); + Record revenueobj = Db.findFirst(revenuesql, year_start); + Record allorderobj = Db.findFirst(allordersql); Record customerobj = Db.findFirst(cusmersql); Record dayobj = Db.findFirst(daysql); @@ -230,15 +242,19 @@ public class StatSmsJob implements Job { || orderobj.get("aggr_cnt") == null || orderobj.get("aggr_weight") == null || orderobj.get("aggr_price") == null + || allorderobj.get("aggr_price") == null || customerobj.get("customer_total_surplus") == null || dayobj.get("total_cnt") == null || dayobj.get("total_weight") == null || dayobj.get("total_price") == null + || revenueobj.get("weight") == null + || revenueobj.get("total_price") == null ) { log.error("sql 执行错误"); log.error("1 执行错误 %s", orderobj == null ? null : orderobj.toJson()); log.error("2 执行错误 %s", customerobj == null ? null : customerobj.toJson()); log.error("3 执行错误 %s", dayobj == null ? null : dayobj.toJson()); + log.error("4 执行错误 %s", revenueobj == null ? null : revenueobj.toJson()); return; } @@ -246,15 +262,29 @@ public class StatSmsJob implements Job { obj.put("aggr_weight", String.format("%.2f万", orderobj.getBigDecimal("aggr_weight").divide(new BigDecimal("10000"), 2, BigDecimal.ROUND_HALF_UP))); obj.put("aggr_price", String.format("%.2f万", orderobj.getBigDecimal("aggr_price").divide(new BigDecimal("10000"), 2, BigDecimal.ROUND_HALF_UP))); + obj.put("customer_weight", String.format("%.2f万", revenueobj.getBigDecimal("weight").divide(new BigDecimal("10000"), 2, BigDecimal.ROUND_HALF_UP))); + obj.put("customer_price", String.format("%.2f万", revenueobj.getBigDecimal("total_price").divide(new BigDecimal("10000"), 2, BigDecimal.ROUND_HALF_UP))); + obj.put("revenue", String.format("%.2f万", orderobj.getBigDecimal("aggr_price").subtract(revenueobj.getBigDecimal("total_price")).divide(new BigDecimal("10000"), 2, BigDecimal.ROUND_HALF_UP))); + obj.put("customer_total_surplus", String.format("%.2f万", customerobj.getBigDecimal("customer_total_surplus").divide(new BigDecimal("10000"), 2, BigDecimal.ROUND_HALF_UP))); - obj.put("aggr_total_price", String.format("%.2f万", orderobj.getBigDecimal("aggr_price").add(customerobj.getBigDecimal("customer_total_surplus")).divide(new BigDecimal("10000"), 2, BigDecimal.ROUND_HALF_UP))); + obj.put("aggr_total_price", String.format("%.2f万", allorderobj.getBigDecimal("aggr_price").add(customerobj.getBigDecimal("customer_total_surplus")).divide(new BigDecimal("10000"), 2, BigDecimal.ROUND_HALF_UP))); obj.put("total_cnt", dayobj.get("total_cnt")); obj.put("total_weight", String.format("%.2f", dayobj.getBigDecimal("total_weight"))); obj.put("total_price", String.format("%.2f", dayobj.getBigDecimal("total_price"))); - SmsService.me.sendStatAggr(obj); +// SmsService.me.sendStatAggr(obj); + try { + AliyunSmsService aliyunsms = new AliyunSmsService(); + String content = aliyunsms.generator(Const.SMS_TEMP_MAP.get("SMS_212280668"), obj); + log.debug(content); + String response = aliyunsms.send("13627293906", "SMS_212280668", obj); + log.debug(content); + log.debug(response); + } catch (Exception e) { + log.error(e.getMessage(), e); + } } @Override diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/main/Config.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/main/Config.java index 0df6363..b6e689e 100644 --- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/main/Config.java +++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/main/Config.java @@ -16,6 +16,7 @@ import com.cowr.service.ssjygl.driver.DriverController; import com.cowr.service.ssjygl.invoice.invalidverify.InvoiceInvalidVerifyController; import com.cowr.service.ssjygl.invoice.log.InvoiceLogController; import com.cowr.service.ssjygl.invoice.receive.InvoiceReceiveController; +import com.cowr.service.ssjygl.jobs.StatSmsJob; import com.cowr.service.ssjygl.netty.NettyServer; import com.cowr.service.ssjygl.order.invalidverify.OrderInvalidVerifyController; import com.cowr.service.ssjygl.order.ordercluster.OrderclusterController; @@ -297,6 +298,8 @@ public class Config extends JFinalConfig { } SyncTaskService.me.start(); + + new StatSmsJob().statAggr(); } catch (Exception e) { log.error(e.getMessage(), e); }