dev
parent
3347b7ed65
commit
6c861813e5
|
|
@ -19,11 +19,19 @@ public class Const {
|
|||
public static final double DEFAULT_LGTD = 115.265535; // 默认经度 浠水县
|
||||
public static final double DEFAULT_LTTD = 30.451867; // 默认维度 浠水县
|
||||
|
||||
public static final String TEMP_CODE_PEIE = "SMS_203673037"; // 配额分配通知
|
||||
public static final String TEMP_CODE_DAY_STAT = "SMS_205430436"; // 日销售汇总
|
||||
public static final String TEMP_CODE_CUSTOMER_DAY_STAT = "SMS_205430478"; // 日销售汇总
|
||||
public static final String TEMP_CODE_PEIE = "SMS_203673037"; // 配额分配通知
|
||||
public static final String TEMP_CODE_DEPOSIT_SUCCESS = "SMS_205430440"; // 客户预存成功通知
|
||||
public static final String TEMP_CODE_DEPOSIT_FAIL = "SMS_205440366"; // 客户预存失败通知
|
||||
public static Map<String, String> SMS_TEMP_MAP;
|
||||
|
||||
static {
|
||||
SMS_TEMP_MAP = new HashMap<>();
|
||||
SMS_TEMP_MAP.put("SMS_203673037", "已经在${supermarket_name}分配了${weight}吨配额,请在${date}安排车辆前去运输。");
|
||||
SMS_TEMP_MAP.put(TEMP_CODE_DAY_STAT, "${time}共计运输黄砂${weight}吨、运输车次${truck_num}辆次,合计${total_price}元。其中${market_detail}。");
|
||||
SMS_TEMP_MAP.put(TEMP_CODE_CUSTOMER_DAY_STAT, "${time}销售汇总:${supermarket_count}个砂站共销售${weight}吨黄砂,总价${total_price}。各砂站详情如下:${market_detail}。");
|
||||
SMS_TEMP_MAP.put(TEMP_CODE_PEIE, "已经在${supermarket_name}分配了${weight}吨配额,请在${date}安排车辆前去运输。");
|
||||
SMS_TEMP_MAP.put(TEMP_CODE_DEPOSIT_SUCCESS, "${time}${customer_name}在浠水县长投环保有限公司的预存${amount}元,合计余额${surplus}元。");
|
||||
SMS_TEMP_MAP.put(TEMP_CODE_DEPOSIT_FAIL, "${time}${customer_name}在浠水县长投环保有限公司预存的${amount}元审核未通过,若有疑问请及时联系浠水县长投环保结算中心。");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import com.jfinal.plugin.activerecord.IBean;
|
|||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
|
||||
/**
|
||||
* Generated by COWR Sun Sep 13 00:58:42 CST 2020
|
||||
* Generated by COWR Fri Nov 06 09:28:55 CST 2020
|
||||
* TableName: sms_log
|
||||
* Remarks: 日志相关 - 短信发送日志
|
||||
* PrimaryKey: id
|
||||
|
|
@ -15,8 +15,8 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
|
||||
public static final String tablename = "sms_log";
|
||||
|
||||
@JSONField(serialize = false)
|
||||
public String getTablename() {
|
||||
@JSONField(serialize=false)
|
||||
public String getTablename(){
|
||||
return tablename;
|
||||
}
|
||||
|
||||
|
|
@ -26,10 +26,9 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
* isNullable: NO
|
||||
* isPrimaryKey: YES
|
||||
* defaultValue:
|
||||
*
|
||||
* @param id uuid
|
||||
*/
|
||||
@JSONField(name = "id")
|
||||
@JSONField(name="id")
|
||||
public void setId(String id) {
|
||||
set("id", id);
|
||||
}
|
||||
|
|
@ -38,7 +37,7 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
/**
|
||||
* @return id uuid
|
||||
*/
|
||||
@JSONField(name = "id")
|
||||
@JSONField(name="id")
|
||||
public String getId() {
|
||||
return getStr("id");
|
||||
}
|
||||
|
|
@ -49,10 +48,9 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
* isNullable: NO
|
||||
* isPrimaryKey: NO
|
||||
* defaultValue:
|
||||
*
|
||||
* @param phone 手机号
|
||||
*/
|
||||
@JSONField(name = "phone")
|
||||
@JSONField(name="phone")
|
||||
public void setPhone(String phone) {
|
||||
set("phone", phone);
|
||||
}
|
||||
|
|
@ -61,21 +59,42 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
/**
|
||||
* @return phone 手机号
|
||||
*/
|
||||
@JSONField(name = "phone")
|
||||
@JSONField(name="phone")
|
||||
public String getPhone() {
|
||||
return getStr("phone");
|
||||
}
|
||||
|
||||
/**
|
||||
* name: name
|
||||
* type: VARCHAR(255)
|
||||
* isNullable: YES
|
||||
* isPrimaryKey: NO
|
||||
* defaultValue:
|
||||
* @param name 姓名
|
||||
*/
|
||||
@JSONField(name="name")
|
||||
public void setName(String name) {
|
||||
set("name", name);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return name 姓名
|
||||
*/
|
||||
@JSONField(name="name")
|
||||
public String getName() {
|
||||
return getStr("name");
|
||||
}
|
||||
|
||||
/**
|
||||
* name: content
|
||||
* type: JSON(1073741824)
|
||||
* isNullable: YES
|
||||
* isPrimaryKey: NO
|
||||
* defaultValue:
|
||||
*
|
||||
* @param content 发送内容json
|
||||
*/
|
||||
@JSONField(name = "content")
|
||||
@JSONField(name="content")
|
||||
public void setContent(String content) {
|
||||
set("content", content);
|
||||
}
|
||||
|
|
@ -84,7 +103,7 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
/**
|
||||
* @return content 发送内容json
|
||||
*/
|
||||
@JSONField(name = "content")
|
||||
@JSONField(name="content")
|
||||
public String getContent() {
|
||||
return getStr("content");
|
||||
}
|
||||
|
|
@ -95,10 +114,9 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
* isNullable: NO
|
||||
* isPrimaryKey: NO
|
||||
* defaultValue:
|
||||
*
|
||||
* @param createTime 创建时间
|
||||
*/
|
||||
@JSONField(name = "create_time")
|
||||
@JSONField(name="create_time")
|
||||
public void setCreateTime(java.util.Date createTime) {
|
||||
set("create_time", createTime);
|
||||
}
|
||||
|
|
@ -107,7 +125,7 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
/**
|
||||
* @return create_time 创建时间
|
||||
*/
|
||||
@JSONField(name = "create_time")
|
||||
@JSONField(name="create_time")
|
||||
public java.util.Date getCreateTime() {
|
||||
return get("create_time");
|
||||
}
|
||||
|
|
@ -118,10 +136,9 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
* isNullable: NO
|
||||
* isPrimaryKey: NO
|
||||
* defaultValue: CURRENT_TIMESTAMP
|
||||
*
|
||||
* @param changeTime 最后修改时间
|
||||
*/
|
||||
@JSONField(name = "change_time")
|
||||
@JSONField(name="change_time")
|
||||
public void setChangeTime(java.util.Date changeTime) {
|
||||
set("change_time", changeTime);
|
||||
}
|
||||
|
|
@ -130,7 +147,7 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
/**
|
||||
* @return change_time 最后修改时间
|
||||
*/
|
||||
@JSONField(name = "change_time")
|
||||
@JSONField(name="change_time")
|
||||
public java.util.Date getChangeTime() {
|
||||
return get("change_time");
|
||||
}
|
||||
|
|
@ -141,10 +158,9 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
* isNullable: YES
|
||||
* isPrimaryKey: NO
|
||||
* defaultValue:
|
||||
*
|
||||
* @param bizid 发送回执ID,可根据该ID在接口QuerySendDetails中查询具体的发送状态。
|
||||
*/
|
||||
@JSONField(name = "bizid")
|
||||
@JSONField(name="bizid")
|
||||
public void setBizid(String bizid) {
|
||||
set("bizid", bizid);
|
||||
}
|
||||
|
|
@ -153,7 +169,7 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
/**
|
||||
* @return bizid 发送回执ID,可根据该ID在接口QuerySendDetails中查询具体的发送状态。
|
||||
*/
|
||||
@JSONField(name = "bizid")
|
||||
@JSONField(name="bizid")
|
||||
public String getBizid() {
|
||||
return getStr("bizid");
|
||||
}
|
||||
|
|
@ -164,12 +180,11 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
* isNullable: YES
|
||||
* isPrimaryKey: NO
|
||||
* defaultValue:
|
||||
*
|
||||
* @param code 请求状态码。
|
||||
* <p>
|
||||
* 返回OK代表请求成功。
|
||||
|
||||
返回OK代表请求成功。
|
||||
*/
|
||||
@JSONField(name = "code")
|
||||
@JSONField(name="code")
|
||||
public void setCode(String code) {
|
||||
set("code", code);
|
||||
}
|
||||
|
|
@ -177,10 +192,10 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
|
||||
/**
|
||||
* @return code 请求状态码。
|
||||
* <p>
|
||||
* 返回OK代表请求成功。
|
||||
|
||||
返回OK代表请求成功。
|
||||
*/
|
||||
@JSONField(name = "code")
|
||||
@JSONField(name="code")
|
||||
public String getCode() {
|
||||
return getStr("code");
|
||||
}
|
||||
|
|
@ -191,10 +206,9 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
* isNullable: YES
|
||||
* isPrimaryKey: NO
|
||||
* defaultValue:
|
||||
*
|
||||
* @param requestid 请求 ID。无论调用接口成功与否,都会返回请求 ID。
|
||||
*/
|
||||
@JSONField(name = "requestid")
|
||||
@JSONField(name="requestid")
|
||||
public void setRequestid(String requestid) {
|
||||
set("requestid", requestid);
|
||||
}
|
||||
|
|
@ -203,7 +217,7 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
/**
|
||||
* @return requestid 请求 ID。无论调用接口成功与否,都会返回请求 ID。
|
||||
*/
|
||||
@JSONField(name = "requestid")
|
||||
@JSONField(name="requestid")
|
||||
public String getRequestid() {
|
||||
return getStr("requestid");
|
||||
}
|
||||
|
|
@ -214,14 +228,13 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
* isNullable: YES
|
||||
* isPrimaryKey: NO
|
||||
* defaultValue: 0
|
||||
*
|
||||
* @param sendstatus 短信发送状态,包括:
|
||||
* 0:待发送
|
||||
* 1:等待回执。
|
||||
* 2:发送失败。
|
||||
* 3:发送成功。
|
||||
0:发送中
|
||||
1:等待回执。
|
||||
2:发送失败。
|
||||
3:发送成功。
|
||||
*/
|
||||
@JSONField(name = "sendstatus")
|
||||
@JSONField(name="sendstatus")
|
||||
public void setSendstatus(Integer sendstatus) {
|
||||
set("sendstatus", sendstatus);
|
||||
}
|
||||
|
|
@ -229,12 +242,12 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
|
||||
/**
|
||||
* @return sendstatus 短信发送状态,包括:
|
||||
* 0:待发送
|
||||
* 1:等待回执。
|
||||
* 2:发送失败。
|
||||
* 3:发送成功。
|
||||
0:发送中
|
||||
1:等待回执。
|
||||
2:发送失败。
|
||||
3:发送成功。
|
||||
*/
|
||||
@JSONField(name = "sendstatus")
|
||||
@JSONField(name="sendstatus")
|
||||
public Integer getSendstatus() {
|
||||
return getInt("sendstatus");
|
||||
}
|
||||
|
|
@ -245,10 +258,9 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
* isNullable: YES
|
||||
* isPrimaryKey: NO
|
||||
* defaultValue:
|
||||
*
|
||||
* @param sendcontent 实际发送的内容字符串
|
||||
*/
|
||||
@JSONField(name = "sendcontent")
|
||||
@JSONField(name="sendcontent")
|
||||
public void setSendcontent(String sendcontent) {
|
||||
set("sendcontent", sendcontent);
|
||||
}
|
||||
|
|
@ -257,7 +269,7 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
/**
|
||||
* @return sendcontent 实际发送的内容字符串
|
||||
*/
|
||||
@JSONField(name = "sendcontent")
|
||||
@JSONField(name="sendcontent")
|
||||
public String getSendcontent() {
|
||||
return getStr("sendcontent");
|
||||
}
|
||||
|
|
@ -268,16 +280,15 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
* isNullable: YES
|
||||
* isPrimaryKey: NO
|
||||
* defaultValue:
|
||||
*
|
||||
* @param billNum 计费条数
|
||||
* 国内短信内容计费规则
|
||||
* 短信字数=短信模版内容字数 + 签名字数。
|
||||
* <p>
|
||||
* 短信字数<=70个字数,按照70个字数一条短信计算。
|
||||
* <p>
|
||||
* 短信字数>70个字数,即为长短信,按照67个字数记为一条短信计算。
|
||||
国内短信内容计费规则
|
||||
短信字数=短信模版内容字数 + 签名字数。
|
||||
|
||||
短信字数<=70个字数,按照70个字数一条短信计算。
|
||||
|
||||
短信字数>70个字数,即为长短信,按照67个字数记为一条短信计算。
|
||||
*/
|
||||
@JSONField(name = "bill_num")
|
||||
@JSONField(name="bill_num")
|
||||
public void setBillNum(Integer billNum) {
|
||||
set("bill_num", billNum);
|
||||
}
|
||||
|
|
@ -285,14 +296,14 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
|
||||
/**
|
||||
* @return bill_num 计费条数
|
||||
* 国内短信内容计费规则
|
||||
* 短信字数=短信模版内容字数 + 签名字数。
|
||||
* <p>
|
||||
* 短信字数<=70个字数,按照70个字数一条短信计算。
|
||||
* <p>
|
||||
* 短信字数>70个字数,即为长短信,按照67个字数记为一条短信计算。
|
||||
国内短信内容计费规则
|
||||
短信字数=短信模版内容字数 + 签名字数。
|
||||
|
||||
短信字数<=70个字数,按照70个字数一条短信计算。
|
||||
|
||||
短信字数>70个字数,即为长短信,按照67个字数记为一条短信计算。
|
||||
*/
|
||||
@JSONField(name = "bill_num")
|
||||
@JSONField(name="bill_num")
|
||||
public Integer getBillNum() {
|
||||
return getInt("bill_num");
|
||||
}
|
||||
|
|
@ -303,10 +314,9 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
* isNullable: YES
|
||||
* isPrimaryKey: NO
|
||||
* defaultValue:
|
||||
*
|
||||
* @param receivedate 接收时间
|
||||
*/
|
||||
@JSONField(name = "receivedate")
|
||||
@JSONField(name="receivedate")
|
||||
public void setReceivedate(java.util.Date receivedate) {
|
||||
set("receivedate", receivedate);
|
||||
}
|
||||
|
|
@ -315,7 +325,7 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
/**
|
||||
* @return receivedate 接收时间
|
||||
*/
|
||||
@JSONField(name = "receivedate")
|
||||
@JSONField(name="receivedate")
|
||||
public java.util.Date getReceivedate() {
|
||||
return get("receivedate");
|
||||
}
|
||||
|
|
@ -326,10 +336,9 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
* isNullable: YES
|
||||
* isPrimaryKey: NO
|
||||
* defaultValue:
|
||||
*
|
||||
* @param senddate 实际发送时间
|
||||
*/
|
||||
@JSONField(name = "senddate")
|
||||
@JSONField(name="senddate")
|
||||
public void setSenddate(java.util.Date senddate) {
|
||||
set("senddate", senddate);
|
||||
}
|
||||
|
|
@ -338,7 +347,7 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
/**
|
||||
* @return senddate 实际发送时间
|
||||
*/
|
||||
@JSONField(name = "senddate")
|
||||
@JSONField(name="senddate")
|
||||
public java.util.Date getSenddate() {
|
||||
return get("senddate");
|
||||
}
|
||||
|
|
@ -349,10 +358,9 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
* isNullable: YES
|
||||
* isPrimaryKey: NO
|
||||
* defaultValue:
|
||||
*
|
||||
* @param relateTable 关联业务表名
|
||||
*/
|
||||
@JSONField(name = "relate_table")
|
||||
@JSONField(name="relate_table")
|
||||
public void setRelateTable(String relateTable) {
|
||||
set("relate_table", relateTable);
|
||||
}
|
||||
|
|
@ -361,7 +369,7 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
/**
|
||||
* @return relate_table 关联业务表名
|
||||
*/
|
||||
@JSONField(name = "relate_table")
|
||||
@JSONField(name="relate_table")
|
||||
public String getRelateTable() {
|
||||
return getStr("relate_table");
|
||||
}
|
||||
|
|
@ -372,10 +380,9 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
* isNullable: YES
|
||||
* isPrimaryKey: NO
|
||||
* defaultValue:
|
||||
*
|
||||
* @param relateId 关联业务表主键值
|
||||
*/
|
||||
@JSONField(name = "relate_id")
|
||||
@JSONField(name="relate_id")
|
||||
public void setRelateId(String relateId) {
|
||||
set("relate_id", relateId);
|
||||
}
|
||||
|
|
@ -384,7 +391,7 @@ public abstract class BaseSmsLog<M extends BaseSmsLog<M>> extends BaseModel<M> i
|
|||
/**
|
||||
* @return relate_id 关联业务表主键值
|
||||
*/
|
||||
@JSONField(name = "relate_id")
|
||||
@JSONField(name="relate_id")
|
||||
public String getRelateId() {
|
||||
return getStr("relate_id");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -450,8 +450,24 @@ group by date
|
|||
|
||||
List<Record> outlist = new ArrayList<>();
|
||||
|
||||
Record c1 = new Record().set("id", 1).set("name", "固定客户").set("cnt", Db.queryInt("select count(*) cnt from customer"));
|
||||
Record c2 = new Record().set("id", 2).set("name", "零散客户").set("cnt", Db.queryInt("select count(distinct customer_name) cnt from ordercluster where customer_id is null"));
|
||||
Record c1 = new Record()
|
||||
.set("id", 1)
|
||||
.set("name", "固定客户")
|
||||
.set("cnt", Db.queryInt("select count(*) cnt from customer"))
|
||||
.set("day_quota_cnt", 0)
|
||||
.set("day_quota_weight", 0)
|
||||
.set("day_cnt", 0)
|
||||
.set("day_weight", 0)
|
||||
.set("day_total_price", 0);
|
||||
Record c2 = new Record()
|
||||
.set("id", 2)
|
||||
.set("name", "零散客户")
|
||||
.set("cnt", Db.queryInt("select count(distinct customer_name) cnt from ordercluster where customer_id is null"))
|
||||
.set("day_quota_cnt", 0)
|
||||
.set("day_quota_weight", 0)
|
||||
.set("day_cnt", 0)
|
||||
.set("day_weight", 0)
|
||||
.set("day_total_price", 0);
|
||||
|
||||
outlist.add(c1);
|
||||
outlist.add(c2);
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ import java.util.List;
|
|||
public class SmsLogService extends BaseService {
|
||||
public static final SmsLogService me = new SmsLogService();
|
||||
|
||||
public Page<Record> find(PageParam pp, String stm, String etm, String phone, Integer sendstatus, String sendcontent) {
|
||||
public Page<Record> find(PageParam pp, String stm, String etm, String phone, String name, Integer sendstatus, String sendcontent) {
|
||||
String selectsql = "select * ";
|
||||
String fromsql = "from sms_log t where 1=1 \n";
|
||||
List<Object> paraList = new ArrayList<>();
|
||||
|
|
@ -41,6 +41,11 @@ public class SmsLogService extends BaseService {
|
|||
paraList.add("%" + phone.trim() + "%");
|
||||
}
|
||||
|
||||
if (StrKit.notBlank(name)) {
|
||||
fromsql += " and t.name like ? \n";
|
||||
paraList.add("%" + name.trim() + "%");
|
||||
}
|
||||
|
||||
if (sendstatus != null) {
|
||||
fromsql += " and t.sendstatus = ? \n";
|
||||
paraList.add(sendstatus);
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ public class Config extends JFinalConfig {
|
|||
public static DeviceThread deviceThread = new DeviceThread();
|
||||
public static SocketIOService socketio = null;
|
||||
private static boolean client_run = true;
|
||||
public static final String CLINET_VERSION = "20201104";
|
||||
public static final String CLINET_VERSION = "20201106";
|
||||
|
||||
public static String getRootPath() {
|
||||
return PathKit.getWebRootPath()
|
||||
|
|
|
|||
|
|
@ -26,9 +26,10 @@ public class SmsLogController extends Controller {
|
|||
String stm = get("stm");
|
||||
String etm = get("etm");
|
||||
String phone = get("phone");
|
||||
String name = get("name");
|
||||
Integer sendstatus = getInt("sendstatus");
|
||||
String sendcontent = get("sendcontent");
|
||||
renderJson(Result.object(SmsLogService.me.find(pp, stm, etm, phone, sendstatus, sendcontent)));
|
||||
renderJson(Result.object(SmsLogService.me.find(pp, stm, etm, phone, name, sendstatus, sendcontent)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -919,8 +919,8 @@ public class OrderclusterSyncService extends BaseSyncService {
|
|||
* /order/ordercluster/forwardCluster
|
||||
*
|
||||
* @param ordercluster_id ordercluster 的 id
|
||||
* @param total_weight 结转的重量,默认哦那个剩余重量填充
|
||||
* @param cutoff_time 结转目的日期
|
||||
* @param total_weight 结转的重量,默认哦那个剩余重量填充
|
||||
* @param cutoff_time 结转目的日期
|
||||
* @param sysuser
|
||||
* @return
|
||||
*/
|
||||
|
|
@ -1020,6 +1020,11 @@ public class OrderclusterSyncService extends BaseSyncService {
|
|||
|
||||
SyncTask synctask = new SyncTask();
|
||||
Date now = new Date();
|
||||
final Ordercluster[] forwardoldobj = {Ordercluster.dao.findFirst(
|
||||
"select * from ordercluster t \n" +
|
||||
" where t.customer_id = ? \n" +
|
||||
" and t.cutoff_time = ? \n" +
|
||||
" and t.state < 5 limit 1", oldobj.getCustomerId(), cutoff_time)};
|
||||
|
||||
boolean ret = Db.tx(new IAtom() {
|
||||
@Override
|
||||
|
|
@ -1040,32 +1045,27 @@ public class OrderclusterSyncService extends BaseSyncService {
|
|||
synctask.addUpdateData(oldobj);
|
||||
}
|
||||
|
||||
Ordercluster forwardoldobj = Ordercluster.dao.findFirst(
|
||||
"select * from ordercluster t \n" +
|
||||
" where t.customer_id = ? \n" +
|
||||
" and t.cutoff_time = ? \n" +
|
||||
" and t.state < 5 limit 1", oldobj.getCustomerId(), cutoff_time);
|
||||
|
||||
if (forwardoldobj == null) {
|
||||
if (forwardoldobj[0] == null) {
|
||||
// 新建一个
|
||||
forwardoldobj = oldobj.clone();
|
||||
forwardoldobj.setId(null); // 等待数据库自增长
|
||||
forwardoldobj.setUuid(StrKit.getRandomUUID());
|
||||
forwardoldobj.setTotalWeight(total_weight);
|
||||
forwardoldobj.setCutoffTime(cutoff_time);
|
||||
forwardoldobj.setCreateTime(now); // 当前系统时间
|
||||
forwardoldobj.setCreateUserId(sysuser.getId()); // 当前用户id
|
||||
forwardoldobj.setCreateUserName(sysuser.getName());
|
||||
forwardoldobj.setState(OrderStateEnum.INITIAL.getStateid()); // 新增固定为 1
|
||||
forwardoldobj[0] = oldobj.clone();
|
||||
forwardoldobj[0].setId(null); // 等待数据库自增长
|
||||
forwardoldobj[0].setUuid(StrKit.getRandomUUID());
|
||||
forwardoldobj[0].setTotalWeight(total_weight);
|
||||
forwardoldobj[0].setCutoffTime(cutoff_time);
|
||||
forwardoldobj[0].setCreateTime(now); // 当前系统时间
|
||||
forwardoldobj[0].setCreateUserId(sysuser.getId()); // 当前用户id
|
||||
forwardoldobj[0].setCreateUserName(sysuser.getName());
|
||||
forwardoldobj[0].setState(OrderStateEnum.INITIAL.getStateid()); // 新增固定为 1
|
||||
|
||||
ret = forwardoldobj.save();
|
||||
synctask.addSaveData(forwardoldobj);
|
||||
ret = forwardoldobj[0].save();
|
||||
synctask.addSaveData(forwardoldobj[0]);
|
||||
} else {
|
||||
// 已有的,直接更新重量
|
||||
forwardoldobj.setTotalWeight(forwardoldobj.getTotalWeight().add(total_weight));
|
||||
forwardoldobj[0].setTotalWeight(forwardoldobj[0].getTotalWeight().add(total_weight));
|
||||
|
||||
ret = forwardoldobj.update();
|
||||
synctask.addUpdateData(forwardoldobj);
|
||||
ret = forwardoldobj[0].update();
|
||||
synctask.addUpdateData(forwardoldobj[0]);
|
||||
}
|
||||
|
||||
if (!ret) {
|
||||
|
|
@ -1080,7 +1080,7 @@ public class OrderclusterSyncService extends BaseSyncService {
|
|||
|
||||
OrderclusterTruck oct = new OrderclusterTruck();
|
||||
oct.setId(StrKit.getRandomUUID());
|
||||
oct.setOrderclusterId(forwardoldobj.getId());
|
||||
oct.setOrderclusterId(forwardoldobj[0].getId());
|
||||
oct.setTruckLicense(oldoct.getTruckLicense());
|
||||
|
||||
synctask.addSaveData(oct);
|
||||
|
|
@ -1099,7 +1099,7 @@ public class OrderclusterSyncService extends BaseSyncService {
|
|||
}
|
||||
}
|
||||
|
||||
return SyncTaskService.me.save(synctask, forwardoldobj.getSupermarketId());
|
||||
return SyncTaskService.me.save(synctask, forwardoldobj[0].getSupermarketId());
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
|
@ -1110,6 +1110,10 @@ public class OrderclusterSyncService extends BaseSyncService {
|
|||
|
||||
if (ret) {
|
||||
SyncTaskService.me.send(synctask);
|
||||
|
||||
if (forwardoldobj[0] != null) {
|
||||
SmsService.me.sendPeiE(forwardoldobj[0]);
|
||||
}
|
||||
}
|
||||
|
||||
return ret ? Result.success() : Result.failed("操作失败");
|
||||
|
|
@ -1120,9 +1124,9 @@ public class OrderclusterSyncService extends BaseSyncService {
|
|||
* /order/ordercluster/forwardTemp
|
||||
*
|
||||
* @param ordercluster_id ordercluster 的 id
|
||||
* @param total_weight 结转的重量,默认哦那个剩余重量填充
|
||||
* @param cutoff_time 结转目的日期
|
||||
* @param trucks 默认用当前配额的车辆填充
|
||||
* @param total_weight 结转的重量,默认哦那个剩余重量填充
|
||||
* @param cutoff_time 结转目的日期
|
||||
* @param trucks 默认用当前配额的车辆填充
|
||||
* @param sysuser
|
||||
* @return
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -26,9 +26,10 @@ public class SmsLogController extends Controller {
|
|||
String stm = get("stm");
|
||||
String etm = get("etm");
|
||||
String phone = get("phone");
|
||||
String name = get("name");
|
||||
Integer sendstatus = getInt("sendstatus");
|
||||
String sendcontent = get("sendcontent");
|
||||
renderJson(Result.object(SmsLogService.me.find(pp, stm, etm, phone, sendstatus, sendcontent)));
|
||||
renderJson(Result.object(SmsLogService.me.find(pp, stm, etm, phone, name, sendstatus, sendcontent)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -28,6 +28,60 @@ public class SmsService {
|
|||
this.aliyunsms = new AliyunSmsService();
|
||||
}
|
||||
|
||||
public void checkSendStatus() {
|
||||
List<SmsLog> logs = SmsLog.dao.find("select * from sms_log t where t.code = 'OK' and t.sendstatus < 2 limit 500");
|
||||
if (logs.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
log.debug("检查 %s 短信发送状态", logs.size());
|
||||
|
||||
long st = System.currentTimeMillis();
|
||||
|
||||
for (SmsLog smslog : logs) {
|
||||
try {
|
||||
if (st - smslog.getCreateTime().getTime() > 24 * 60 * 60 * 1000) {
|
||||
smslog.setSendstatus(2);
|
||||
smslog.update();
|
||||
log.debug("发送给 %s 的短信超时", smslog.getPhone());
|
||||
continue;
|
||||
}
|
||||
|
||||
String response = this.aliyunsms.query(smslog.getPhone(), DateTimeUtil.yMd.get().format(smslog.getCreateTime()), smslog.getBizid());
|
||||
log.debug(response);
|
||||
|
||||
JSONObject ret = JSONObject.parseObject(response);
|
||||
|
||||
if ("OK".equals(ret.getString("Code"))) {
|
||||
if (ret.getInteger("TotalCount") == 0) {
|
||||
log.debug("还未处理完成,没有查询到发送结果");
|
||||
continue;
|
||||
}
|
||||
|
||||
JSONObject detail = ret.getJSONObject("SmsSendDetailDTOs").getJSONArray("SmsSendDetailDTO").getJSONObject(0);
|
||||
|
||||
smslog.setReceivedate(detail.getDate("ReceiveDate"));
|
||||
smslog.setSendcontent(detail.getString("Content"));
|
||||
smslog.setSenddate(detail.getDate("SendDate"));
|
||||
smslog.setSendstatus(detail.getIntValue("SendStatus"));
|
||||
|
||||
if (smslog.getSendcontent() != null) {
|
||||
int len = smslog.getSendcontent().length();
|
||||
if (len <= 70) {
|
||||
smslog.setBillNum(1);
|
||||
} else {
|
||||
smslog.setBillNum((int) Math.ceil(len / 67.0));
|
||||
}
|
||||
}
|
||||
|
||||
smslog.update();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送配额通知短信
|
||||
* 模版内容: 已经在${supermarket_name}分配了${weight}吨配额,请在${date}当天安排车辆前去运输。
|
||||
|
|
@ -113,6 +167,7 @@ public class SmsService {
|
|||
SmsLog smslog = new SmsLog();
|
||||
smslog.setId(StrKit.getRandomUUID());
|
||||
smslog.setPhone(phone);
|
||||
smslog.setName(sysuser.getName());
|
||||
smslog.setContent(obj.toJSONString());
|
||||
smslog.setCreateTime(now);
|
||||
smslog.setSendcontent(content);
|
||||
|
|
@ -145,57 +200,11 @@ public class SmsService {
|
|||
return false;
|
||||
}
|
||||
|
||||
public void checkSendStatus() {
|
||||
List<SmsLog> logs = SmsLog.dao.find("select * from sms_log t where t.code = 'OK' and t.sendstatus < 2 limit 500");
|
||||
if (logs.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
log.debug("检查 %s 短信发送状态", logs.size());
|
||||
|
||||
long st = System.currentTimeMillis();
|
||||
|
||||
for (SmsLog smslog : logs) {
|
||||
try {
|
||||
if (st - smslog.getCreateTime().getTime() > 24 * 60 * 60 * 1000) {
|
||||
smslog.setSendstatus(2);
|
||||
smslog.update();
|
||||
log.debug("发送给 %s 的短信超时", smslog.getPhone());
|
||||
continue;
|
||||
}
|
||||
|
||||
String response = this.aliyunsms.query(smslog.getPhone(), DateTimeUtil.yMd.get().format(smslog.getCreateTime()), smslog.getBizid());
|
||||
log.debug(response);
|
||||
|
||||
JSONObject ret = JSONObject.parseObject(response);
|
||||
|
||||
if ("OK".equals(ret.getString("Code"))) {
|
||||
if (ret.getInteger("TotalCount") == 0) {
|
||||
log.debug("还未处理完成,没有查询到发送结果");
|
||||
continue;
|
||||
}
|
||||
|
||||
JSONObject detail = ret.getJSONObject("SmsSendDetailDTOs").getJSONArray("SmsSendDetailDTO").getJSONObject(0);
|
||||
|
||||
smslog.setReceivedate(detail.getDate("ReceiveDate"));
|
||||
smslog.setSendcontent(detail.getString("Content"));
|
||||
smslog.setSenddate(detail.getDate("SendDate"));
|
||||
smslog.setSendstatus(detail.getIntValue("SendStatus"));
|
||||
|
||||
if (smslog.getSendcontent() != null) {
|
||||
int len = smslog.getSendcontent().length();
|
||||
if (len <= 70) {
|
||||
smslog.setBillNum(1);
|
||||
} else {
|
||||
smslog.setBillNum((int) Math.ceil(len / 67.0));
|
||||
}
|
||||
}
|
||||
|
||||
smslog.update();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 客户预付款存入成功通知
|
||||
* @return
|
||||
*/
|
||||
public boolean sendDepositSuccess(){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue