1 package com
.baibao
.message
.service
.impl
;
3 import java
.util
.ArrayList
;
4 import java
.util
.HashMap
;
7 import javax
.jws
.WebService
;
9 import org
.slf4j
.Logger
;
10 import org
.slf4j
.LoggerFactory
;
11 import org
.springframework
.beans
.factory
.annotation
.Autowired
;
12 import org
.springframework
.beans
.factory
.annotation
.Value
;
13 import org
.springframework
.stereotype
.Service
;
14 import org
.springframework
.transaction
.annotation
.Transactional
;
16 import com
.baibao
.message
.data
.MessageType
;
17 import com
.baibao
.message
.model
.SmsRecord
;
18 import com
.baibao
.message
.repository
.SmsRecordRepository
;
19 import com
.baibao
.message
.service
.SmsRecordManager
;
20 import com
.baibao
.utils
.HttpHelper
;
21 import com
.baibao
.utils
.JsonHelper
;
22 import com
.baibao
.utils
.Utils
;
23 import com
.baibao
.utils
.service
.AbstractManagerImpl
;
24 import com
.google
.gson
.JsonElement
;
25 import com
.google
.gson
.JsonObject
;
27 @WebService(serviceName
= "smsRecordManager")
28 @Service("smsRecordManager")
29 public class SmsRecordManagerImpl
30 extends AbstractManagerImpl
<SmsRecord
, Long
>
31 implements SmsRecordManager
33 private static Logger log
=
34 LoggerFactory
.getLogger(SmsRecordManagerImpl
.class);
37 protected SmsRecordRepository smsRecordRepository
;
40 private String smsKey
;
42 public void afterPropertiesSet() throws Exception
{
43 setRepository(smsRecordRepository
);
48 public SmsRecord
sendSms(
49 MessageType type
, String phone
,
50 Map
<String
, Object
> parameters
)
52 String params
= HttpHelper
.encodeForm(parameters
);
54 log
.info(String
.format(
55 "发送to%s模板短信: %s!%s", phone
, type
, params
));
56 String url
= "http://yunpian.com/v1/sms/tpl_send.json";
58 Map
<String
, String
> paramMap
=
59 new HashMap
<String
, String
>();
61 paramMap
.put("apikey", smsKey
);
62 paramMap
.put("mobile", phone
);
63 paramMap
.put("tpl_id", String
.valueOf(type
));
64 paramMap
.put("tpl_value", params
);
72 value
= HttpHelper
.sendPost(url
, paramMap
);
75 (JsonObject
) JsonHelper
.parseJson(value
);
77 code
= element
.get("code").getAsInt();
80 element
.get("msg").getAsString(): "";
84 message
= e
.toString();
87 SmsRecord record
= new SmsRecord();
89 record
.setSendType(String
.valueOf(type
));
90 record
.setContent(params
);
91 record
.setResult(value
);
92 record
.setSendTime(Utils
.now());
93 record
.setPhone(phone
);
94 record
.setRealName(phone
);
95 record
.setResult(code
== 0?
"发送成功": message
);
97 smsRecordRepository
.save(record
);