Commit 01e29e236492c1adc14efcb0cb40787fcce4f0a9
1 parent
19895dc8
feat(trash-common): 新增消息发送demo,保留实际派发车辆字段。
Showing
24 changed files
with
1006 additions
and
4 deletions
trash-common/src/main/java/com/trash/common/utils/MoSync.java
0 → 100644
| 1 | +package com.trash.common.utils; | |
| 2 | + | |
| 3 | + | |
| 4 | +import com.trash.common.utils.util.JsonUtil; | |
| 5 | +import com.trash.common.utils.util.Md5Util; | |
| 6 | +import com.trash.common.utils.util.SmsConf; | |
| 7 | +import com.trash.common.utils.util.SmsHttp; | |
| 8 | +import com.trash.common.utils.vo.mo.JsonMo; | |
| 9 | +import com.trash.common.utils.vo.mo.ReqMo; | |
| 10 | + | |
| 11 | +public class MoSync { | |
| 12 | + //拿取上行 | |
| 13 | + public static void main(String args[]) { | |
| 14 | + System.out.println("取上行启动成功"); | |
| 15 | + try { | |
| 16 | + String userName = SmsConf.smsUserName; | |
| 17 | + String password = SmsConf.smsPasswd; | |
| 18 | + String signTime = SmsConf.getSysTime(); | |
| 19 | + String signStr = Md5Util.strToMD5(userName + Md5Util.strToMD5(password) + signTime); | |
| 20 | + ReqMo reqMo = new ReqMo(); | |
| 21 | + reqMo.setSignStr(signStr); | |
| 22 | + reqMo.setSignTime(signTime); | |
| 23 | + reqMo.setUserName(userName); | |
| 24 | + String reqJsonStr = JsonUtil.toJson(reqMo); | |
| 25 | + String resultJsonStr = SmsHttp.postJson(SmsConf.smsMoUrl, reqJsonStr); | |
| 26 | + if (JsonUtil.isJsonStr(resultJsonStr)) { | |
| 27 | + JsonMo jsonMo = JsonUtil.returnObj(resultJsonStr, JsonMo.class); | |
| 28 | + if(jsonMo!=null){ | |
| 29 | + //进入数据处理流程 | |
| 30 | + //saveMo(jsonRpt); | |
| 31 | + } | |
| 32 | + } else { | |
| 33 | + System.out.println("取回执:"+resultJsonStr); | |
| 34 | + } | |
| 35 | + | |
| 36 | + } catch (Exception e) { | |
| 37 | + e.printStackTrace(); | |
| 38 | + } | |
| 39 | + } | |
| 40 | +} | ... | ... |
trash-common/src/main/java/com/trash/common/utils/RptSync.java
0 → 100644
| 1 | +package com.trash.common.utils; | |
| 2 | + | |
| 3 | + | |
| 4 | +import com.trash.common.utils.util.JsonUtil; | |
| 5 | +import com.trash.common.utils.util.Md5Util; | |
| 6 | +import com.trash.common.utils.util.SmsConf; | |
| 7 | +import com.trash.common.utils.util.SmsHttp; | |
| 8 | +import com.trash.common.utils.vo.rpt.JsonRpt; | |
| 9 | +import com.trash.common.utils.vo.rpt.ReqRpt; | |
| 10 | + | |
| 11 | + | |
| 12 | +public class RptSync { | |
| 13 | + //拿取回执 | |
| 14 | + public static void main(String args[]) { | |
| 15 | + System.out.println("取回执启动成功"); | |
| 16 | + try { | |
| 17 | + String userName = SmsConf.smsUserName; | |
| 18 | + String password = SmsConf.smsPasswd; | |
| 19 | + String signTime = SmsConf.getSysTime(); | |
| 20 | + String signStr = Md5Util.strToMD5(userName + Md5Util.strToMD5(password) + signTime); | |
| 21 | + ReqRpt reqRpt = new ReqRpt(); | |
| 22 | + reqRpt.setSignStr(signStr); | |
| 23 | + reqRpt.setSignTime(signTime); | |
| 24 | + reqRpt.setUserName(userName); | |
| 25 | + String reqJsonStr = JsonUtil.toJson(reqRpt); | |
| 26 | + String resultJsonStr = SmsHttp.postJson(SmsConf.smsRptUrl, reqJsonStr); | |
| 27 | + if (JsonUtil.isJsonStr(resultJsonStr)) { | |
| 28 | + JsonRpt jsonRpt = JsonUtil.returnObj(resultJsonStr, JsonRpt.class); | |
| 29 | + if(jsonRpt!=null){ | |
| 30 | + //进入数据处理流程 | |
| 31 | + //saveRpt(jsonRpt); | |
| 32 | + } | |
| 33 | + } else { | |
| 34 | + System.out.println("取回执:"+resultJsonStr); | |
| 35 | + } | |
| 36 | + | |
| 37 | + } catch (Exception e) { | |
| 38 | + e.printStackTrace(); | |
| 39 | + } | |
| 40 | + } | |
| 41 | + | |
| 42 | + | |
| 43 | +} | ... | ... |
trash-common/src/main/java/com/trash/common/utils/SmsSend.java
0 → 100644
| 1 | +package com.trash.common.utils; | |
| 2 | + | |
| 3 | + | |
| 4 | +import com.trash.common.utils.util.PostSms; | |
| 5 | +import com.trash.common.utils.vo.mt.JsonSmsSend; | |
| 6 | +import com.trash.common.utils.vo.mt.Mobile; | |
| 7 | + | |
| 8 | +import java.util.ArrayList; | |
| 9 | +import java.util.List; | |
| 10 | + | |
| 11 | + | |
| 12 | +public class SmsSend { | |
| 13 | + | |
| 14 | + | |
| 15 | + //调起发送程序 | |
| 16 | + public static void main(String args[]){ | |
| 17 | + try{ | |
| 18 | + //发送 | |
| 19 | + Mobile mobile=new Mobile(); | |
| 20 | + mobile.setMobile("13800009999"); | |
| 21 | + List<Mobile> mobileList=new ArrayList<Mobile>(); | |
| 22 | + mobileList.add(mobile); | |
| 23 | + //更新提交信息 | |
| 24 | + JsonSmsSend jsonSmsSend= PostSms.sendSms(mobileList,"短信内容"); | |
| 25 | + if(jsonSmsSend!=null){ | |
| 26 | + if(jsonSmsSend.getState()==0){ | |
| 27 | + System.out.println("发送成功"); | |
| 28 | + }else{ | |
| 29 | + System.out.println(jsonSmsSend.getMessage()); | |
| 30 | + } | |
| 31 | + }else{ | |
| 32 | + System.out.println("发送返回空"); | |
| 33 | + } | |
| 34 | + | |
| 35 | + }catch(Exception e){e.printStackTrace();} | |
| 36 | + } | |
| 37 | + | |
| 38 | +} | ... | ... |
trash-common/src/main/java/com/trash/common/utils/util/Base64Util.java
0 → 100644
| 1 | +package com.trash.common.utils.util; | |
| 2 | + | |
| 3 | +import sun.misc.BASE64Decoder; | |
| 4 | +import sun.misc.BASE64Encoder; | |
| 5 | + | |
| 6 | +import java.io.UnsupportedEncodingException; | |
| 7 | +import java.util.regex.Matcher; | |
| 8 | +import java.util.regex.Pattern; | |
| 9 | + | |
| 10 | +public class Base64Util { | |
| 11 | + // 加密 | |
| 12 | +public static String encodeData(String str) { | |
| 13 | + //L.p("str-->"+str); | |
| 14 | + byte[] b = null; | |
| 15 | + String s = null; | |
| 16 | + try { | |
| 17 | + if(str!=null && !str.trim().isEmpty()){ | |
| 18 | + b = str.getBytes("utf-8"); | |
| 19 | + if (b != null) { | |
| 20 | + s = new BASE64Encoder().encode(b); | |
| 21 | + } | |
| 22 | + } | |
| 23 | + } catch (UnsupportedEncodingException e) { | |
| 24 | + e.printStackTrace(); | |
| 25 | + } | |
| 26 | + return replaceBlank(s); | |
| 27 | + } | |
| 28 | + | |
| 29 | + // 解密 | |
| 30 | +public static String decodeData(String s) { | |
| 31 | + byte[] b = null; | |
| 32 | + String result = null; | |
| 33 | + if (s != null) { | |
| 34 | + BASE64Decoder decoder = new BASE64Decoder(); | |
| 35 | + try { | |
| 36 | + b = decoder.decodeBuffer(s); | |
| 37 | + result = new String(b, "utf-8"); | |
| 38 | + } catch (Exception e) { | |
| 39 | + e.printStackTrace(); | |
| 40 | + } | |
| 41 | + } | |
| 42 | + return result; | |
| 43 | +} | |
| 44 | +//去掉换行符 | |
| 45 | +public static String replaceBlank(String str) { | |
| 46 | + String dest = ""; | |
| 47 | + if (str!=null) { | |
| 48 | + Pattern p = Pattern.compile("\\s*|\t|\r|\n"); | |
| 49 | + Matcher m = p.matcher(str); | |
| 50 | + dest = m.replaceAll(""); | |
| 51 | + } | |
| 52 | + return dest; | |
| 53 | +} | |
| 54 | + | |
| 55 | +} | ... | ... |
trash-common/src/main/java/com/trash/common/utils/util/JsonUtil.java
0 → 100644
| 1 | +package com.trash.common.utils.util; | |
| 2 | +import com.google.gson.*; | |
| 3 | + | |
| 4 | +import java.lang.reflect.Type; | |
| 5 | +import java.util.ArrayList; | |
| 6 | +import java.util.List; | |
| 7 | + | |
| 8 | +public class JsonUtil { | |
| 9 | + public static Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create(); | |
| 10 | + | |
| 11 | + public static String toJson(Object msg) { | |
| 12 | + return gson.toJson(msg); | |
| 13 | + } | |
| 14 | + | |
| 15 | + public static <T> T returnObj(String json,Class<T> clazz){ | |
| 16 | + return gson.fromJson(json, clazz); | |
| 17 | + } | |
| 18 | + | |
| 19 | + public static <T> T returnObj(String json, Type type){ | |
| 20 | + return gson.fromJson(json, type); | |
| 21 | + } | |
| 22 | + | |
| 23 | + //验证是不是JSON字符串 | |
| 24 | + public static boolean isJsonStr(String jsonInString) { | |
| 25 | + try { | |
| 26 | + if (jsonInString!=null && !jsonInString.isEmpty()){ | |
| 27 | + gson.fromJson(jsonInString, Object.class); | |
| 28 | + return true; | |
| 29 | + }else { | |
| 30 | + return false; | |
| 31 | + } | |
| 32 | + } catch(JsonSyntaxException ex) { | |
| 33 | + return false; | |
| 34 | + } | |
| 35 | + } | |
| 36 | + | |
| 37 | + public static <T> List<T> toList(String string,Class<T> clz){ | |
| 38 | + if(string == null || string.length() < 1){ | |
| 39 | + return null; | |
| 40 | + }else { | |
| 41 | + List<T> list = new ArrayList<>(); | |
| 42 | + if(!string.startsWith("[")){ | |
| 43 | + string = "[" + string +"]"; | |
| 44 | + } | |
| 45 | + JsonArray array = new JsonParser().parse(string).getAsJsonArray(); | |
| 46 | + for(final JsonElement elem : array){ | |
| 47 | + if(elem != null){ | |
| 48 | + String mo = elem.toString().replace("\"{","{").replace("}\"","}").replace("\\", ""); | |
| 49 | + list.add(gson.fromJson(mo, clz)); | |
| 50 | + } | |
| 51 | + } | |
| 52 | + return list; | |
| 53 | + } | |
| 54 | + } | |
| 55 | +} | ... | ... |
trash-common/src/main/java/com/trash/common/utils/util/Md5Util.java
0 → 100644
| 1 | +package com.trash.common.utils.util; | |
| 2 | + | |
| 3 | +import java.security.MessageDigest; | |
| 4 | + | |
| 5 | +public class Md5Util { | |
| 6 | + public static final String strToMD5(String s) { | |
| 7 | + char[] hexDigits = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', | |
| 8 | + 'f' }; | |
| 9 | + try { | |
| 10 | + byte[] btInput = s.getBytes("UTF-8"); | |
| 11 | + MessageDigest mdInst = MessageDigest.getInstance("MD5"); | |
| 12 | + mdInst.update(btInput); | |
| 13 | + byte[] md = mdInst.digest(); | |
| 14 | + int j = md.length; | |
| 15 | + char[] str = new char[j * 2]; | |
| 16 | + int k = 0; | |
| 17 | + | |
| 18 | + for (int i = 0; i < j; ++i) { | |
| 19 | + byte byte0 = md[i]; | |
| 20 | + str[k++] = hexDigits[byte0 >>> 4 & 15]; | |
| 21 | + str[k++] = hexDigits[byte0 & 15]; | |
| 22 | + } | |
| 23 | + | |
| 24 | + return new String(str); | |
| 25 | + } catch (Exception var10) { | |
| 26 | + var10.printStackTrace(); | |
| 27 | + return null; | |
| 28 | + } | |
| 29 | + } | |
| 30 | +} | ... | ... |
trash-common/src/main/java/com/trash/common/utils/util/PostSms.java
0 → 100644
| 1 | +package com.trash.common.utils.util; | |
| 2 | +import com.trash.common.utils.vo.ReqImsApi; | |
| 3 | +import com.trash.common.utils.vo.balance.JsonQueryBalance; | |
| 4 | +import com.trash.common.utils.vo.mo.JsonMo; | |
| 5 | +import com.trash.common.utils.vo.mt.JsonSmsSend; | |
| 6 | +import com.trash.common.utils.vo.mt.Mobile; | |
| 7 | +import com.trash.common.utils.vo.mt.SendSms; | |
| 8 | +import com.trash.common.utils.vo.rpt.JsonRpt; | |
| 9 | + | |
| 10 | +import java.util.ArrayList; | |
| 11 | +import java.util.List; | |
| 12 | + | |
| 13 | + | |
| 14 | +public class PostSms { | |
| 15 | + //查询发送 | |
| 16 | + public static int queryBalanceNum(){ | |
| 17 | + String userName = SmsConf.smsUserName; | |
| 18 | + String password = SmsConf.smsPasswd; | |
| 19 | + String signTime = SmsConf.getSysTime(); | |
| 20 | + int balanceNum=0; | |
| 21 | + try{ | |
| 22 | + String signStr = Md5Util.strToMD5(userName+ Md5Util.strToMD5(password)+signTime); | |
| 23 | + ReqImsApi reqImsApi = new ReqImsApi(); | |
| 24 | + reqImsApi.setUserName(userName); | |
| 25 | + reqImsApi.setSignStr(signStr); | |
| 26 | + reqImsApi.setSignTime(signTime); | |
| 27 | + String reqJsonStr = JsonUtil.toJson(reqImsApi); | |
| 28 | + String resultJsonStr=SmsHttp.postJson(SmsConf.queyrbalanceUrl, reqJsonStr); | |
| 29 | + if(JsonUtil.isJsonStr(resultJsonStr)){ | |
| 30 | + JsonQueryBalance jonQueryBalance= JsonUtil.returnObj(resultJsonStr, JsonQueryBalance.class); | |
| 31 | + if(jonQueryBalance!=null){ | |
| 32 | + balanceNum=jonQueryBalance.getBalance(); | |
| 33 | + } | |
| 34 | + } | |
| 35 | + }catch(Exception e){e.printStackTrace();} | |
| 36 | + return balanceNum; | |
| 37 | + } | |
| 38 | + | |
| 39 | +//提交短信 | |
| 40 | +public static JsonSmsSend sendSms(List<Mobile> mobileList, String smsStr){ | |
| 41 | + String userName = SmsConf.smsUserName; | |
| 42 | + String password = SmsConf.smsPasswd; | |
| 43 | + String signTime = SmsConf.getSysTime(); | |
| 44 | + JsonSmsSend jsonSmsSend=new JsonSmsSend(); | |
| 45 | + try{ | |
| 46 | + String signStr = Md5Util.strToMD5(userName+ Md5Util.strToMD5(password)+signTime); | |
| 47 | + if(smsStr!=null && !smsStr.isEmpty()){ | |
| 48 | + if(mobileList!=null && !mobileList.isEmpty()){ | |
| 49 | + if(PostSms.queryBalanceNum()>=mobileList.size()){ | |
| 50 | + SendSms sendSms = new SendSms(); | |
| 51 | + sendSms.setUserName(userName); | |
| 52 | + sendSms.setSignStr(signStr); | |
| 53 | + sendSms.setSignTime(signTime); | |
| 54 | + sendSms.setSignStr(signStr); | |
| 55 | + sendSms.setSmsStr(Base64Util.encodeData(smsStr)); | |
| 56 | + sendSms.setMobileList(mobileList); | |
| 57 | + String reqJsonStr = JsonUtil.toJson(sendSms); | |
| 58 | + String resultJsonStr=SmsHttp.postJson(SmsConf.smsSendUrl, reqJsonStr); | |
| 59 | + if(JsonUtil.isJsonStr(resultJsonStr)){ | |
| 60 | + jsonSmsSend= JsonUtil.returnObj(resultJsonStr, JsonSmsSend.class); | |
| 61 | + }else{ | |
| 62 | + jsonSmsSend.setState(-1); | |
| 63 | + jsonSmsSend.setMessage(resultJsonStr); | |
| 64 | + } | |
| 65 | + }else{ | |
| 66 | + jsonSmsSend.setState(-1); | |
| 67 | + jsonSmsSend.setMessage("账户余额不够"); | |
| 68 | + } | |
| 69 | + }else{ | |
| 70 | + jsonSmsSend.setState(-1); | |
| 71 | + jsonSmsSend.setMessage("发送号码不能空"); | |
| 72 | + } | |
| 73 | + }else{ | |
| 74 | + jsonSmsSend.setState(-1); | |
| 75 | + jsonSmsSend.setMessage("发送内容不能空"); | |
| 76 | + } | |
| 77 | + }catch(Exception e){ | |
| 78 | + jsonSmsSend.setState(-1); | |
| 79 | + jsonSmsSend.setMessage(e.toString()); | |
| 80 | + e.printStackTrace();} | |
| 81 | + return jsonSmsSend; | |
| 82 | +} | |
| 83 | + | |
| 84 | +//接收短信状态回执 | |
| 85 | +public static JsonRpt getSmsRpt(){ | |
| 86 | + String userName = SmsConf.smsUserName; | |
| 87 | + String password = SmsConf.smsPasswd; | |
| 88 | + String signTime = SmsConf.getSysTime(); | |
| 89 | + JsonRpt jsonRpt=new JsonRpt(); | |
| 90 | + try{ | |
| 91 | + String signStr = Md5Util.strToMD5(userName+ Md5Util.strToMD5(password)+signTime); | |
| 92 | + ReqImsApi reqImsApi = new ReqImsApi(); | |
| 93 | + reqImsApi.setUserName(userName); | |
| 94 | + reqImsApi.setSignStr(signStr); | |
| 95 | + reqImsApi.setSignTime(signTime); | |
| 96 | + String reqJsonStr = JsonUtil.toJson(reqImsApi); | |
| 97 | + String resultJsonStr=SmsHttp.postJson(SmsConf.smsRptUrl, reqJsonStr); | |
| 98 | + if(JsonUtil.isJsonStr(resultJsonStr)){ | |
| 99 | + jsonRpt= JsonUtil.returnObj(resultJsonStr, JsonRpt.class); | |
| 100 | + }else{ | |
| 101 | + jsonRpt.setState(-1); | |
| 102 | + jsonRpt.setMessage(resultJsonStr); | |
| 103 | + } | |
| 104 | + }catch(Exception e){ | |
| 105 | + jsonRpt.setMessage(e.toString()); | |
| 106 | + e.printStackTrace(); | |
| 107 | + } | |
| 108 | + return jsonRpt; | |
| 109 | +} | |
| 110 | + | |
| 111 | +//接收短信上行 | |
| 112 | +public static JsonMo getSmsMo(){ | |
| 113 | + String userName = SmsConf.smsUserName; | |
| 114 | + String password = SmsConf.smsPasswd; | |
| 115 | + String signTime = SmsConf.getSysTime(); | |
| 116 | + String balanceUrl=SmsConf.smsMoUrl; | |
| 117 | + JsonMo jsonMo=new JsonMo(); | |
| 118 | + try{ | |
| 119 | + String signStr = Md5Util.strToMD5(userName+ Md5Util.strToMD5(password)+signTime); | |
| 120 | + ReqImsApi reqImsApi = new ReqImsApi(); | |
| 121 | + reqImsApi.setUserName(userName); | |
| 122 | + reqImsApi.setSignStr(signStr); | |
| 123 | + reqImsApi.setSignTime(signTime); | |
| 124 | + String reqJsonStr = JsonUtil.toJson(reqImsApi); | |
| 125 | + String resultJsonStr=SmsHttp.postJson(balanceUrl, reqJsonStr); | |
| 126 | + if(JsonUtil.isJsonStr(resultJsonStr)){ | |
| 127 | + jsonMo= JsonUtil.returnObj(resultJsonStr, JsonMo.class); | |
| 128 | + }else{ | |
| 129 | + jsonMo.setState(-1); | |
| 130 | + jsonMo.setMessage(resultJsonStr); | |
| 131 | + } | |
| 132 | + }catch(Exception e){ | |
| 133 | + jsonMo.setMessage(e.toString()); | |
| 134 | + e.printStackTrace();} | |
| 135 | + | |
| 136 | + return jsonMo; | |
| 137 | +} | |
| 138 | + | |
| 139 | + public static void main(String arg[]) throws Exception { | |
| 140 | + //测试取余额 | |
| 141 | + //L.p(""+PostSms.queryBalanceNum()); | |
| 142 | + //测试发送 | |
| 143 | + | |
| 144 | + List<Mobile> mobileList = new ArrayList<Mobile>(); | |
| 145 | + Mobile mobile = new Mobile(); | |
| 146 | + mobile.setMobile("13974908181"); | |
| 147 | + mobileList.add(mobile); | |
| 148 | + String smsStr="验证码1234"; | |
| 149 | + JsonSmsSend jsonSmsSend=sendSms(mobileList,smsStr); | |
| 150 | +// if(jsonSmsSend!=null){ | |
| 151 | +// L.p(jsonSmsSend.getSmsId()); | |
| 152 | +// } | |
| 153 | +//测试取回执 | |
| 154 | + | |
| 155 | +// JsonRpt jsonRpt=getSmsRpt(); | |
| 156 | +// L.p(""+jsonRpt.getMessage()); | |
| 157 | +// List<SmsRpt> rptList=jsonRpt.getObject(); | |
| 158 | +// if(rptList!=null && !rptList.isEmpty()){ | |
| 159 | +// L.p(rptList.size()+""); | |
| 160 | +// }else{ | |
| 161 | +// L.p("123"); | |
| 162 | +// } | |
| 163 | + | |
| 164 | +//测试取上行 | |
| 165 | + | |
| 166 | +// JsonMo jsonMo=getSmsMo(); | |
| 167 | +// List<SmsMo> moList=jsonMo.getObject(); | |
| 168 | +// System.out.println(""+jsonMo.getMessage()); | |
| 169 | +// if(moList!=null && !moList.isEmpty()){ | |
| 170 | +// System.out.println(""+moList.size()); | |
| 171 | +// }else{ | |
| 172 | +// System.out.println("123"); | |
| 173 | +// } | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | +} | |
| 178 | + | |
| 179 | + | |
| 180 | +} | ... | ... |
trash-common/src/main/java/com/trash/common/utils/util/SmsConf.java
0 → 100644
| 1 | +package com.trash.common.utils.util; | |
| 2 | + | |
| 3 | +import java.util.Calendar; | |
| 4 | + | |
| 5 | +public class SmsConf { | |
| 6 | + //基础地址 请参文档填写 | |
| 7 | + public static String smsSendUrl = "http://172.31.253.178:5050/ims/sms/sendSms";//发送地址 | |
| 8 | + public static String queyrbalanceUrl = "http://172.31.253.178:5050/ims/sms/queryBalance";//查询发送能力地址 | |
| 9 | + public static String smsMoUrl = "http://172.31.253.178:9090/ims/sms/queryMo";//取上行地址 | |
| 10 | + public static String smsRptUrl = "http://172.31.253.178:9090/ims/sms/queryRpt";//取回执地址 | |
| 11 | + public static String smsUserName="账户名";//账户名 | |
| 12 | + public static String smsPasswd="账号密码";//账号密码 | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + public static String getSysTime() { | |
| 17 | + Calendar now = Calendar.getInstance(); | |
| 18 | + String year = Integer.toString(now.get(Calendar.YEAR)); | |
| 19 | + String mon = Integer.toString(now.get(Calendar.MONTH) + 1); | |
| 20 | + String day = Integer.toString(now.get(Calendar.DATE)); | |
| 21 | + String hour = Integer.toString(now.get(Calendar.HOUR_OF_DAY)); | |
| 22 | + String min = Integer.toString(now.get(Calendar.MINUTE)); | |
| 23 | + String sec = Integer.toString(now.get(Calendar.SECOND)); | |
| 24 | + | |
| 25 | + mon = (mon.length() == 1) ? "0" + mon : mon; | |
| 26 | + day = (day.length() == 1) ? "0" + day : day; | |
| 27 | + hour = (hour.length() == 1) ? "0" + hour : hour; | |
| 28 | + min = (min.length() == 1) ? "0" + min : min; | |
| 29 | + sec = (sec.length() == 1) ? "0" + sec : sec; | |
| 30 | + return (year + mon + day + hour + min + sec); | |
| 31 | + } | |
| 32 | +} | ... | ... |
trash-common/src/main/java/com/trash/common/utils/util/SmsHttp.java
0 → 100644
| 1 | +package com.trash.common.utils.util; | |
| 2 | + | |
| 3 | +import java.io.BufferedReader; | |
| 4 | +import java.io.InputStreamReader; | |
| 5 | +import java.io.PrintWriter; | |
| 6 | +import java.net.HttpURLConnection; | |
| 7 | +import java.net.URL; | |
| 8 | + | |
| 9 | + | |
| 10 | +public class SmsHttp { | |
| 11 | +//发送生信 | |
| 12 | + public static String postJson(String submitUrl, String json) { | |
| 13 | + URL url = null; | |
| 14 | + String postResponseStr=null; | |
| 15 | + HttpURLConnection httpURLConnection =null; | |
| 16 | + BufferedReader getResponseBytes =null; | |
| 17 | + PrintWriter printWriter =null; | |
| 18 | + StringBuilder sb =null; | |
| 19 | + try { | |
| 20 | + url = new URL(submitUrl); | |
| 21 | + httpURLConnection=(HttpURLConnection) url.openConnection(); | |
| 22 | + httpURLConnection.setRequestMethod("POST");// 提交模式 | |
| 23 | + httpURLConnection.setConnectTimeout(10000);//连接超时 单位毫秒 | |
| 24 | + httpURLConnection.setReadTimeout(60000);//读取超时 单位毫秒 | |
| 25 | + // 发送POST请求必须设置如下两行 | |
| 26 | + httpURLConnection.setDoOutput(true); | |
| 27 | + httpURLConnection.setDoInput(true); | |
| 28 | + //httpURLConnection.setRequestProperty("Accept", "application/json"); | |
| 29 | + | |
| 30 | + | |
| 31 | + httpURLConnection.setRequestProperty("Content-Type", "text/plain"); | |
| 32 | + httpURLConnection.setRequestProperty("connection", "Keep-Alive"); | |
| 33 | + httpURLConnection.setRequestProperty("Charsert", "UTF-8"); | |
| 34 | + //httpURLConnection.setRequestProperty("Content-type", "application/json; charset=utf-8"); | |
| 35 | + // 获取URLConnection对象对应的输出流 | |
| 36 | + printWriter = new PrintWriter(httpURLConnection.getOutputStream()); | |
| 37 | + printWriter.write(json); | |
| 38 | + printWriter.flush(); | |
| 39 | + //printWriter.close(); | |
| 40 | + int httpRspCode = httpURLConnection.getResponseCode(); | |
| 41 | + if (httpRspCode == HttpURLConnection.HTTP_OK) { | |
| 42 | + sb = new StringBuilder(); | |
| 43 | + // 开始获取数据 | |
| 44 | + getResponseBytes = new BufferedReader( | |
| 45 | + new InputStreamReader(httpURLConnection.getInputStream(), "utf-8")); | |
| 46 | + String line = null; | |
| 47 | + while ((line = getResponseBytes.readLine()) != null) { | |
| 48 | + sb.append(line); | |
| 49 | + } | |
| 50 | + getResponseBytes.close(); | |
| 51 | + postResponseStr=sb.toString(); | |
| 52 | + }else{ | |
| 53 | + postResponseStr="ERR:"+httpRspCode; | |
| 54 | + } | |
| 55 | + } catch (Exception e) { | |
| 56 | + postResponseStr="ERR:"+e.getMessage(); | |
| 57 | + e.printStackTrace(); | |
| 58 | + }finally { | |
| 59 | + if (httpURLConnection != null) { | |
| 60 | + try { | |
| 61 | + httpURLConnection.disconnect(); | |
| 62 | + } catch (Exception eee) { | |
| 63 | + } | |
| 64 | + } | |
| 65 | + if (getResponseBytes != null) { | |
| 66 | + try { | |
| 67 | + getResponseBytes.close(); | |
| 68 | + } catch (Exception ee) { | |
| 69 | + } | |
| 70 | + } | |
| 71 | + if (printWriter != null) { | |
| 72 | + try { | |
| 73 | + printWriter.close(); | |
| 74 | + } catch (Exception eeee) { | |
| 75 | + } | |
| 76 | + } | |
| 77 | + if (sb != null) { | |
| 78 | + try { | |
| 79 | + sb=null; | |
| 80 | + } catch (Exception eeeee) { | |
| 81 | + } | |
| 82 | + } | |
| 83 | + } | |
| 84 | + System.out.print("sms sends post-->["+postResponseStr+"] json:"+json); | |
| 85 | + return postResponseStr; | |
| 86 | +} | |
| 87 | + | |
| 88 | +} | ... | ... |
trash-common/src/main/java/com/trash/common/utils/vo/ReqImsApi.java
0 → 100644
| 1 | +package com.trash.common.utils.vo; | |
| 2 | + | |
| 3 | +public class ReqImsApi { | |
| 4 | + | |
| 5 | + private String userName;//用户名 | |
| 6 | + private String signStr;//签名字符 | |
| 7 | + private String signTime;//提交时间 | |
| 8 | + public String getUserName() { | |
| 9 | + return userName; | |
| 10 | + } | |
| 11 | + | |
| 12 | + public void setUserName(String userName) { | |
| 13 | + this.userName = userName; | |
| 14 | + } | |
| 15 | + | |
| 16 | + public String getSignStr() { | |
| 17 | + return signStr; | |
| 18 | + } | |
| 19 | + | |
| 20 | + public void setSignStr(String signStr) { | |
| 21 | + this.signStr = signStr; | |
| 22 | + } | |
| 23 | + | |
| 24 | + public String getSignTime() { | |
| 25 | + return signTime; | |
| 26 | + } | |
| 27 | + | |
| 28 | + public void setSignTime(String signTime) { | |
| 29 | + this.signTime = signTime; | |
| 30 | + } | |
| 31 | + | |
| 32 | +} | ... | ... |
trash-common/src/main/java/com/trash/common/utils/vo/balance/JsonQueryBalance.java
0 → 100644
| 1 | +package com.trash.common.utils.vo.balance; | |
| 2 | + | |
| 3 | +public class JsonQueryBalance{ | |
| 4 | + | |
| 5 | + public int getState() { | |
| 6 | + return state; | |
| 7 | + } | |
| 8 | + public void setState(int state) { | |
| 9 | + this.state = state; | |
| 10 | + } | |
| 11 | + public String getMessage() { | |
| 12 | + return message; | |
| 13 | + } | |
| 14 | + public void setMessage(String message) { | |
| 15 | + this.message = message; | |
| 16 | + } | |
| 17 | + public int getBalance() { | |
| 18 | + return balance; | |
| 19 | + } | |
| 20 | + public void setBalance(int balance) { | |
| 21 | + this.balance = balance; | |
| 22 | + } | |
| 23 | + private int state=-999;//0 正常 -1通用异常 -999程序EXCEPTION -998非JSON字符 | |
| 24 | + private String message="服务器忙,响应超时 "; | |
| 25 | + private int balance; | |
| 26 | +} | ... | ... |
trash-common/src/main/java/com/trash/common/utils/vo/mo/JsonMo.java
0 → 100644
| 1 | +package com.trash.common.utils.vo.mo; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +public class JsonMo { | |
| 6 | + | |
| 7 | + private int state=-1; | |
| 8 | + private String message="系统超时"; | |
| 9 | + private List<SmsMo> object; | |
| 10 | + public int getState() { | |
| 11 | + return state; | |
| 12 | + } | |
| 13 | + public void setState(int state) { | |
| 14 | + this.state = state; | |
| 15 | + } | |
| 16 | + public String getMessage() { | |
| 17 | + return message; | |
| 18 | + } | |
| 19 | + public void setMessage(String message) { | |
| 20 | + this.message = message; | |
| 21 | + } | |
| 22 | + public List<SmsMo> getObject() { | |
| 23 | + return object; | |
| 24 | + } | |
| 25 | + public void setObject(List<SmsMo> object) { | |
| 26 | + this.object = object; | |
| 27 | + } | |
| 28 | +} | ... | ... |
trash-common/src/main/java/com/trash/common/utils/vo/mo/ReqMo.java
0 → 100644
| 1 | +package com.trash.common.utils.vo.mo; | |
| 2 | + | |
| 3 | +public class ReqMo { | |
| 4 | + private String userName; | |
| 5 | + private String signStr; | |
| 6 | + private String signTime; | |
| 7 | +public String getUserName() { | |
| 8 | + return userName; | |
| 9 | +} | |
| 10 | +public void setUserName(String userName) { | |
| 11 | + this.userName = userName; | |
| 12 | +} | |
| 13 | +public String getSignStr() { | |
| 14 | + return signStr; | |
| 15 | +} | |
| 16 | +public void setSignStr(String signStr) { | |
| 17 | + this.signStr = signStr; | |
| 18 | +} | |
| 19 | +public String getSignTime() { | |
| 20 | + return signTime; | |
| 21 | +} | |
| 22 | +public void setSignTime(String signTime) { | |
| 23 | + this.signTime = signTime; | |
| 24 | +} | |
| 25 | +} | ... | ... |
trash-common/src/main/java/com/trash/common/utils/vo/mo/SmsMo.java
0 → 100644
| 1 | +package com.trash.common.utils.vo.mo; | |
| 2 | + | |
| 3 | +public class SmsMo { | |
| 4 | + | |
| 5 | + private String moId;//上行ID | |
| 6 | + private String mobileNo;//上行电话号码 | |
| 7 | + private String spCode;//子码 | |
| 8 | + private String moStr;//上行内容 | |
| 9 | + private String moTime;//上行时 | |
| 10 | + public String getMoId() { | |
| 11 | + return moId; | |
| 12 | + } | |
| 13 | + | |
| 14 | + public void setMoId(String moId) { | |
| 15 | + this.moId = moId; | |
| 16 | + } | |
| 17 | + | |
| 18 | + public String getMobileNo() { | |
| 19 | + return mobileNo; | |
| 20 | + } | |
| 21 | + | |
| 22 | + public void setMobileNo(String mobileNo) { | |
| 23 | + this.mobileNo = mobileNo; | |
| 24 | + } | |
| 25 | + | |
| 26 | + public String getSpCode() { | |
| 27 | + return spCode; | |
| 28 | + } | |
| 29 | + | |
| 30 | + public void setSpCode(String spCode) { | |
| 31 | + this.spCode = spCode; | |
| 32 | + } | |
| 33 | + | |
| 34 | + public String getMoStr() { | |
| 35 | + return moStr; | |
| 36 | + } | |
| 37 | + | |
| 38 | + public void setMoStr(String moStr) { | |
| 39 | + this.moStr = moStr; | |
| 40 | + } | |
| 41 | + | |
| 42 | + public String getMoTime() { | |
| 43 | + return moTime; | |
| 44 | + } | |
| 45 | + | |
| 46 | + public void setMoTime(String moTime) { | |
| 47 | + this.moTime = moTime; | |
| 48 | + } | |
| 49 | + | |
| 50 | +} | ... | ... |
trash-common/src/main/java/com/trash/common/utils/vo/mt/JsonSmsSend.java
0 → 100644
| 1 | +package com.trash.common.utils.vo.mt; | |
| 2 | + | |
| 3 | +public class JsonSmsSend { | |
| 4 | + | |
| 5 | +private int state=-1; | |
| 6 | +private String message="系统超时"; | |
| 7 | +private String smsId; | |
| 8 | +public int getState() { | |
| 9 | + return state; | |
| 10 | +} | |
| 11 | +public void setState(int state) { | |
| 12 | + this.state = state; | |
| 13 | +} | |
| 14 | +public String getMessage() { | |
| 15 | + return message; | |
| 16 | +} | |
| 17 | +public void setMessage(String message) { | |
| 18 | + this.message = message; | |
| 19 | +} | |
| 20 | +public String getSmsId() { | |
| 21 | + return smsId; | |
| 22 | +} | |
| 23 | +public void setSmsId(String smsId) { | |
| 24 | + this.smsId = smsId; | |
| 25 | +} | |
| 26 | +} | ... | ... |
trash-common/src/main/java/com/trash/common/utils/vo/mt/Mobile.java
0 → 100644
trash-common/src/main/java/com/trash/common/utils/vo/mt/SendSms.java
0 → 100644
| 1 | +package com.trash.common.utils.vo.mt; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +public class SendSms { | |
| 6 | + | |
| 7 | + private String userName;//用户名 | |
| 8 | + private String signStr;//签名字符 | |
| 9 | + private String signTime;//提交时间 | |
| 10 | + private String smsStr;//短信内容转BASE64 | |
| 11 | + private List<Mobile> mobileList;//发送号码列表 最多2000个 | |
| 12 | + | |
| 13 | + public String getUserName() { | |
| 14 | + return userName; | |
| 15 | + } | |
| 16 | + | |
| 17 | + public void setUserName(String userName) { | |
| 18 | + this.userName = userName; | |
| 19 | + } | |
| 20 | + | |
| 21 | + public String getSignStr() { | |
| 22 | + return signStr; | |
| 23 | + } | |
| 24 | + | |
| 25 | + public void setSignStr(String signStr) { | |
| 26 | + this.signStr = signStr; | |
| 27 | + } | |
| 28 | + | |
| 29 | + public String getSignTime() { | |
| 30 | + return signTime; | |
| 31 | + } | |
| 32 | + | |
| 33 | + public void setSignTime(String signTime) { | |
| 34 | + this.signTime = signTime; | |
| 35 | + } | |
| 36 | + | |
| 37 | + public String getSmsStr() { | |
| 38 | + return smsStr; | |
| 39 | + } | |
| 40 | + | |
| 41 | + public void setSmsStr(String smsStr) { | |
| 42 | + this.smsStr = smsStr; | |
| 43 | + } | |
| 44 | + | |
| 45 | + public List<Mobile> getMobileList() { | |
| 46 | + return mobileList; | |
| 47 | + } | |
| 48 | + | |
| 49 | + public void setMobileList(List<Mobile> mobileList) { | |
| 50 | + this.mobileList = mobileList; | |
| 51 | + } | |
| 52 | + | |
| 53 | +} | ... | ... |
trash-common/src/main/java/com/trash/common/utils/vo/rpt/JsonRpt.java
0 → 100644
| 1 | +package com.trash.common.utils.vo.rpt; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +public class JsonRpt { | |
| 6 | + | |
| 7 | +private int state=-1; | |
| 8 | +private String message="系统超时"; | |
| 9 | +private List<SmsRpt> object; | |
| 10 | +public int getState() { | |
| 11 | + return state; | |
| 12 | +} | |
| 13 | +public void setState(int state) { | |
| 14 | + this.state = state; | |
| 15 | +} | |
| 16 | +public String getMessage() { | |
| 17 | + return message; | |
| 18 | +} | |
| 19 | +public void setMessage(String message) { | |
| 20 | + this.message = message; | |
| 21 | +} | |
| 22 | +public List<SmsRpt> getObject() { | |
| 23 | + return object; | |
| 24 | +} | |
| 25 | +public void setObject(List<SmsRpt> object) { | |
| 26 | + this.object = object; | |
| 27 | +} | |
| 28 | +} | ... | ... |
trash-common/src/main/java/com/trash/common/utils/vo/rpt/ReqRpt.java
0 → 100644
| 1 | +package com.trash.common.utils.vo.rpt; | |
| 2 | + | |
| 3 | +public class ReqRpt { | |
| 4 | + private String userName; | |
| 5 | + private String signStr; | |
| 6 | + private String signTime; | |
| 7 | +public String getUserName() { | |
| 8 | + return userName; | |
| 9 | +} | |
| 10 | +public void setUserName(String userName) { | |
| 11 | + this.userName = userName; | |
| 12 | +} | |
| 13 | +public String getSignStr() { | |
| 14 | + return signStr; | |
| 15 | +} | |
| 16 | +public void setSignStr(String signStr) { | |
| 17 | + this.signStr = signStr; | |
| 18 | +} | |
| 19 | +public String getSignTime() { | |
| 20 | + return signTime; | |
| 21 | +} | |
| 22 | +public void setSignTime(String signTime) { | |
| 23 | + this.signTime = signTime; | |
| 24 | +} | |
| 25 | +} | ... | ... |
trash-common/src/main/java/com/trash/common/utils/vo/rpt/SmsRpt.java
0 → 100644
| 1 | +package com.trash.common.utils.vo.rpt; | |
| 2 | + | |
| 3 | +public class SmsRpt { | |
| 4 | + | |
| 5 | + private String smsId;//任务ID | |
| 6 | + private String mobileNo;//号码 | |
| 7 | + private int rptState;//发送状态 | |
| 8 | + private String rptNote;//回执备注 | |
| 9 | + private String rptTime;//回执时间 | |
| 10 | + public String getSmsId() { | |
| 11 | + return smsId; | |
| 12 | + } | |
| 13 | + | |
| 14 | + public void setSmsId(String smsId) { | |
| 15 | + this.smsId = smsId; | |
| 16 | + } | |
| 17 | + | |
| 18 | + public String getMobileNo() { | |
| 19 | + return mobileNo; | |
| 20 | + } | |
| 21 | + | |
| 22 | + public void setMobileNo(String mobileNo) { | |
| 23 | + this.mobileNo = mobileNo; | |
| 24 | + } | |
| 25 | + | |
| 26 | + public int getRptState() { | |
| 27 | + return rptState; | |
| 28 | + } | |
| 29 | + | |
| 30 | + public void setRptState(int rptState) { | |
| 31 | + this.rptState = rptState; | |
| 32 | + } | |
| 33 | + | |
| 34 | + public String getRptNote() { | |
| 35 | + return rptNote; | |
| 36 | + } | |
| 37 | + | |
| 38 | + public void setRptNote(String rptNote) { | |
| 39 | + this.rptNote = rptNote; | |
| 40 | + } | |
| 41 | + | |
| 42 | + public String getRptTime() { | |
| 43 | + return rptTime; | |
| 44 | + } | |
| 45 | + | |
| 46 | + public void setRptTime(String rptTime) { | |
| 47 | + this.rptTime = rptTime; | |
| 48 | + } | |
| 49 | + | |
| 50 | +} | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/config/WxConfig.java
| ... | ... | @@ -4,13 +4,15 @@ import lombok.Data; |
| 4 | 4 | import org.springframework.beans.factory.InitializingBean; |
| 5 | 5 | import org.springframework.boot.context.properties.ConfigurationProperties; |
| 6 | 6 | import org.springframework.context.annotation.Configuration; |
| 7 | +import org.springframework.core.annotation.Order; | |
| 7 | 8 | import org.springframework.stereotype.Component; |
| 8 | 9 | |
| 9 | 10 | /** |
| 10 | 11 | * @author 20412 |
| 11 | 12 | */ |
| 12 | 13 | @Component |
| 13 | -@ConfigurationProperties(prefix = "wx") | |
| 14 | +@ConfigurationProperties(prefix = "wx", ignoreInvalidFields = true) | |
| 15 | +@Order(0) | |
| 14 | 16 | public class WxConfig { |
| 15 | 17 | private String appId; |
| 16 | 18 | private String secret; | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/pojo/domain/GarOrder.java
| ... | ... | @@ -86,6 +86,11 @@ public class GarOrder implements Serializable { |
| 86 | 86 | */ |
| 87 | 87 | private Integer garOrderHandlerStatus; |
| 88 | 88 | |
| 89 | + /** | |
| 90 | + * 实际派发车辆 | |
| 91 | + */ | |
| 92 | + private Integer garRealCarCount; | |
| 93 | + | |
| 89 | 94 | /** |
| 90 | 95 | * 约定时间 |
| 91 | 96 | */ |
| ... | ... | @@ -420,4 +425,46 @@ public class GarOrder implements Serializable { |
| 420 | 425 | public void setGarCoordinate(String garCoordinate) { |
| 421 | 426 | this.garCoordinate = garCoordinate; |
| 422 | 427 | } |
| 428 | + | |
| 429 | + public Integer getGarRealCarCount() { | |
| 430 | + return garRealCarCount; | |
| 431 | + } | |
| 432 | + | |
| 433 | + public void setGarRealCarCount(Integer garRealCarCount) { | |
| 434 | + this.garRealCarCount = garRealCarCount; | |
| 435 | + } | |
| 436 | + | |
| 437 | + @Override | |
| 438 | + public String toString() { | |
| 439 | + return "GarOrder{" + | |
| 440 | + "garOrderId='" + garOrderId + '\'' + | |
| 441 | + ", count=" + count + | |
| 442 | + ", garOrderUserId='" + garOrderUserId + '\'' + | |
| 443 | + ", garOrderHandlerId='" + garOrderHandlerId + '\'' + | |
| 444 | + ", garOrderAddress='" + garOrderAddress + '\'' + | |
| 445 | + ", garOrderAddressDetails='" + garOrderAddressDetails + '\'' + | |
| 446 | + ", garOrderContactName='" + garOrderContactName + '\'' + | |
| 447 | + ", garOrderTrashType='" + garOrderTrashType + '\'' + | |
| 448 | + ", garOrderContactTel='" + garOrderContactTel + '\'' + | |
| 449 | + ", garOrderCompanyId='" + garOrderCompanyId + '\'' + | |
| 450 | + ", garOrderCompanyName='" + garOrderCompanyName + '\'' + | |
| 451 | + ", garOrderCompanyTel='" + garOrderCompanyTel + '\'' + | |
| 452 | + ", garOrderHandlerStatus=" + garOrderHandlerStatus + | |
| 453 | + ", realCarCount=" + garRealCarCount + | |
| 454 | + ", garOrderAgreementTime='" + garOrderAgreementTime + '\'' + | |
| 455 | + ", garCreateTime=" + garCreateTime + | |
| 456 | + ", garUpdateTime=" + garUpdateTime + | |
| 457 | + ", garCreateBy='" + garCreateBy + '\'' + | |
| 458 | + ", garUpdateBy='" + garUpdateBy + '\'' + | |
| 459 | + ", garRemark='" + garRemark + '\'' + | |
| 460 | + ", garCancelFlag=" + garCancelFlag + | |
| 461 | + ", garOrderMatchFlag=" + garOrderMatchFlag + | |
| 462 | + ", garLongitude=" + garLongitude + | |
| 463 | + ", garLatitude=" + garLatitude + | |
| 464 | + ", garCoordinate='" + garCoordinate + '\'' + | |
| 465 | + ", garEvaluateFlag=" + garEvaluateFlag + | |
| 466 | + ", garHandlerEvaluateFlag=" + garHandlerEvaluateFlag + | |
| 467 | + ", garReason='" + garReason + '\'' + | |
| 468 | + '}'; | |
| 469 | + } | |
| 423 | 470 | } |
| 424 | 471 | \ No newline at end of file | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/service/impl/GarOrderServiceImpl.java
| ... | ... | @@ -376,6 +376,34 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 376 | 376 | return "已评价"; |
| 377 | 377 | } |
| 378 | 378 | |
| 379 | + public static void main(String[] args) { | |
| 380 | + System.out.println(convert("PAYPALISHIRING", 3)); | |
| 381 | + } | |
| 382 | + public static String convert(String s, int numRows) { | |
| 383 | + if (numRows == 1) { | |
| 384 | + return s; | |
| 385 | + } | |
| 386 | + List<StringBuilder> list = new ArrayList<>(numRows); | |
| 387 | + for (int i = 0; i < numRows; i++) { | |
| 388 | + list.add(new StringBuilder()); | |
| 389 | + } | |
| 390 | + int space = 1; | |
| 391 | + int x = -1; | |
| 392 | + // 0 1 2 - 2 1 0 - 0 1 2 || 0 1 2 3 2 1 0 1 2 3 || 0 1 2 3 4 5 6 7 8 9 | |
| 393 | + for (int i = 0; i < s.length(); i++) { | |
| 394 | + space = space + x; | |
| 395 | + list.get(space).append(s.charAt(i)); | |
| 396 | + if (i % (numRows - 1) == 0) { | |
| 397 | + x = -x; | |
| 398 | + } | |
| 399 | + } | |
| 400 | + StringBuilder sb = new StringBuilder(); | |
| 401 | + for (int i = 0; i < numRows; i++) { | |
| 402 | + sb.append(list.get(i)); | |
| 403 | + } | |
| 404 | + return sb.toString(); | |
| 405 | + } | |
| 406 | + | |
| 379 | 407 | @Override |
| 380 | 408 | public List<GarOrder> queryOrderListByGarOrder(GarOrder garOrder) { |
| 381 | 409 | LambdaQueryWrapper<GarOrder> qw = createQueryWrapper(garOrder); |
| ... | ... | @@ -478,6 +506,8 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 478 | 506 | public void dispatchOrder(DispatchDto dto) { |
| 479 | 507 | GarOrder order = getById(dto.getGarOrderId()); |
| 480 | 508 | List<GarOrderMatchHandler> handlerList = new ArrayList<>(dto.getDispatchList().size()); |
| 509 | + int realCarCount = 0; | |
| 510 | + // 每次下发统计选中驾驶员更新实际派车数量 | |
| 481 | 511 | // 已分配 继续下发 |
| 482 | 512 | if (order.getGarOrderMatchFlag().equals(GlobalStatus.GarOrderStatus.MATCH_YES.getValue())) { |
| 483 | 513 | LambdaQueryWrapper<GarOrderMatchHandler> qw = new LambdaQueryWrapper<>(); |
| ... | ... | @@ -490,14 +520,17 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 490 | 520 | GarOrderMatchHandler handler = getGarOrderMatchHandler(order, dispatchDetail); |
| 491 | 521 | handlerList.add(handler); |
| 492 | 522 | } |
| 523 | + realCarCount = handlerMap.size() + handlerList.size(); | |
| 493 | 524 | } else { |
| 494 | 525 | for (DispatchDto.DispatchDetail detail : dto.getDispatchList()) { |
| 495 | 526 | GarOrderMatchHandler handler = getGarOrderMatchHandler(order, detail); |
| 496 | 527 | handlerList.add(handler); |
| 497 | 528 | } |
| 529 | + realCarCount = handlerList.size(); | |
| 498 | 530 | } |
| 499 | 531 | handlerService.saveBatch(handlerList); |
| 500 | 532 | order.setGarOrderMatchFlag(GlobalStatus.GarOrderStatus.MATCH_YES.getValue()); |
| 533 | + order.setGarRealCarCount(realCarCount); | |
| 501 | 534 | updateById(order); |
| 502 | 535 | } |
| 503 | 536 | ... | ... |
trash-garbage/src/main/resources/mapper/GarOrderMapper.xml
| ... | ... | @@ -31,6 +31,7 @@ |
| 31 | 31 | <result property="garLatitude" column="gar_latitude" jdbcType="DOUBLE"/> |
| 32 | 32 | <result property="garLongitude" column="gar_longitude" jdbcType="DOUBLE"/> |
| 33 | 33 | <result property="garCoordinate" column="gar_coordinate" jdbcType="DOUBLE"/> |
| 34 | + <result property="garRealCarCount" column="gar_real_car_count" jdbcType="INTEGER"/> | |
| 34 | 35 | </resultMap> |
| 35 | 36 | |
| 36 | 37 | <sql id="Base_Column_List"> |
| ... | ... | @@ -41,7 +42,7 @@ |
| 41 | 42 | gar_order_company_name,gar_order_company_tel,gar_order_handler_status, |
| 42 | 43 | gar_order_agreement_time,gar_create_time,gar_update_time, |
| 43 | 44 | gar_create_by,gar_update_by,gar_remark,gar_reason,gar_cancel_flag, |
| 44 | - gar_evaluate_flag,gar_handler_evaluate_flag,gar_order_match_flag,gar_coordinate,gar_longitude,gar_latitude | |
| 45 | + gar_evaluate_flag,gar_handler_evaluate_flag,gar_order_match_flag,gar_coordinate,gar_longitude,gar_latitude,gar_real_car_count | |
| 45 | 46 | </sql> |
| 46 | 47 | <select id="queryCleanNumberByEnterpriseIds" resultType="com.trash.garbage.pojo.domain.GarOrder"> |
| 47 | 48 | select gar_order_company_id, count(gar_order_company_id) as count |
| ... | ... | @@ -60,7 +61,7 @@ |
| 60 | 61 | `order`.gar_order_trash_type,`order`.gar_order_contact_tel,`order`.gar_order_company_id,`order`.gar_latitude, |
| 61 | 62 | `order`.gar_order_company_name,`order`.gar_order_company_tel,`order`.gar_order_match_flag, |
| 62 | 63 | `order`.gar_order_agreement_time,`order`.gar_remark,`order`.gar_handler_evaluate_flag,`order`.gar_order_handler_status gar_order_status, |
| 63 | - `handler`.gar_order_status gar_order_handler_status,`handler`.gar_cancel_flag,`handler`.gar_reason | |
| 64 | + `handler`.gar_order_status gar_order_handler_status,`handler`.gar_cancel_flag,`handler`.gar_reason,`order`.gar_real_car_count | |
| 64 | 65 | FROM gar_order `order` |
| 65 | 66 | INNER JOIN gar_order_match_handler `handler` ON `order`.gar_order_id = `handler`.gar_order_id |
| 66 | 67 | <where> |
| ... | ... | @@ -78,7 +79,7 @@ |
| 78 | 79 | `order`.gar_order_id ,`order`.gar_order_user_id,`order`.gar_order_handler_id,`order`.gar_latitude, |
| 79 | 80 | `order`.gar_order_address,`order`.gar_order_address_details,`order`.gar_order_contact_name,`order`.gar_longitude, |
| 80 | 81 | `order`.gar_order_trash_type,`order`.gar_order_contact_tel,`order`.gar_order_company_id,`order`.gar_coordinate, |
| 81 | - `order`.gar_order_company_name,`order`.gar_order_company_tel,`order`.gar_order_match_flag, | |
| 82 | + `order`.gar_order_company_name,`order`.gar_order_company_tel,`order`.gar_order_match_flag,`order`.gar_real_car_count, | |
| 82 | 83 | `order`.gar_order_agreement_time,`order`.gar_remark,`order`.gar_handler_evaluate_flag,`order`.gar_order_handler_status gar_order_status, |
| 83 | 84 | `handler`.gar_order_status gar_order_handler_status,`handler`.gar_cancel_flag,`handler`.gar_reason,`handler`.gar_handler_car_code |
| 84 | 85 | FROM gar_order `order` | ... | ... |