diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ab99174
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+# Created by .ignore support plugin (hsz.mobi)
+/target/
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..6d83802
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,983 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ callback
+ success"
+ System.out.println
+ fast
+ jedisPool
+ pool
+ get
+ s-valid-lottery
+ letter"
+ record
+ redis
+ autologin
+ rm-uf6ghz8v10sjx1719.mysql.rds.aliyuncs.com
+ r-uf6l1kaunndm1ikjg3pd.redis.rds.aliyuncs.com
+
+
+ log.fin
+ logger.info
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1596695903430
+
+
+ 1596695903430
+
+
+
+
+
+
+
+
+
+
+
+ 1596723235629
+
+
+
+ 1596723235629
+
+
+ 1596733843956
+
+
+
+ 1596733843956
+
+
+ 1597022474271
+
+
+
+ 1597022474271
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ file://$PROJECT_DIR$/src/main/java/com/bsd/say/controller/WechatController.java
+ 72
+
+
+
+
+ file://$PROJECT_DIR$/src/main/java/com/bsd/say/controller/WechatController.java
+ 67
+
+
+
+
+ file://$PROJECT_DIR$/src/main/java/com/bsd/say/util/wechat/WXBizMsgCrypt.java
+ 220
+
+
+
+
+ file://$PROJECT_DIR$/src/main/java/com/bsd/say/util/AESWithJCEUtils.java
+ 24
+
+
+
+
+ file://$PROJECT_DIR$/src/main/java/com/bsd/say/controller/AwardListController.java
+ 17
+
+
+
+
+ file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java
+ 142
+
+
+
+
+ file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java
+ 166
+
+
+
+
+ file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/WeixinService.java
+ 222
+
+
+
+
+ file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/WeixinService.java
+ 244
+
+
+
+
+ file://$PROJECT_DIR$/src/main/java/com/bsd/say/service/impl/WeixinService.java
+ 255
+
+
+
+
+
+
+
+
+
+
+
+
+ redisService.exists(openId)
+ JAVA
+ CODE_FRAGMENT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Spring
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.8.0_211
+
+
+
+
+
+
+
+
+
+
+
+ bsd-say
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/bsd/say/controller/WechatController.java b/src/main/java/com/bsd/say/controller/WechatController.java
index 5f90c06..376bb43 100644
--- a/src/main/java/com/bsd/say/controller/WechatController.java
+++ b/src/main/java/com/bsd/say/controller/WechatController.java
@@ -1,17 +1,11 @@
package com.bsd.say.controller;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.api.R;
import com.bsd.say.beans.AjaxRequest;
import com.bsd.say.beans.AjaxResult;
-import com.bsd.say.entities.Record;
import com.bsd.say.mapper.RecordMapper;
import com.bsd.say.service.WxOpenServiceDemo;
import com.bsd.say.service.impl.WeixinService;
-import com.bsd.say.util.AESWithJCEUtils;
-import com.bsd.say.util.HttpRequestUtils;
import com.bsd.say.util.LogUtils;
import com.bsd.say.util.wechat.AesException;
import me.chanjar.weixin.common.error.WxErrorException;
@@ -29,7 +23,6 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
-import java.util.Date;
import java.util.Map;
@RestController
@@ -139,42 +132,53 @@ public class WechatController {
weixinService.refreshComponentAccessToken();
}
+// @RequestMapping("autologin")
+// public AjaxResult autoLogin(@RequestParam String openId) throws IOException {
+//
+// logger.info("请求openid:"+ openId);
+// String result1 = HttpRequestUtils.sendGet("https://api.weq.me/wx/token.php?id=15969759463491&key=1234567890123456");
+//
+// JSONObject result2 = JSONObject.parseObject(result1);
+// String result3 = result2.getString("access_token");
+// String pubkey = "1234567890123456";
+// String iv = "WJi7HTZQoh8eHjup";
+// String decode = AESWithJCEUtils.aesDecode(result3, pubkey, iv);
+// String resutl = HttpRequestUtils.sendGet("https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + decode + "&openid=" + openId + "&lang=zh_CN");
+// JSONObject jsonObject = JSONObject.parseObject(resutl);
+// Integer subscribe = jsonObject.getInteger("subscribe");
+// weixinService.insertRecord(openId,subscribe);
+// AjaxResult ajaxResult = new AjaxResult();
+// ajaxResult.setData(jsonObject);
+// return ajaxResult;
+// }
+
+
@RequestMapping("autologin")
public AjaxResult autoLogin(@RequestParam String openId) throws IOException {
- logger.info("请求openid:"+ openId);
- String result1 = HttpRequestUtils.sendGet("https://api.weq.me/wx/token.php?id=15969759463491&key=1234567890123456");
-
- JSONObject result2 = JSONObject.parseObject(result1);
- String result3 = result2.getString("access_token");
- String pubkey = "1234567890123456";
- String iv = "WJi7HTZQoh8eHjup";
- String decode = AESWithJCEUtils.aesDecode(result3, pubkey, iv);
- String resutl = HttpRequestUtils.sendGet("https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + decode + "&openid=" + openId + "&lang=zh_CN");
- JSONObject jsonObject = JSONObject.parseObject(resutl);
- Integer subscribe = jsonObject.getInteger("subscribe");
- weixinService.insertRecord(openId,subscribe);
- AjaxResult ajaxResult = new AjaxResult();
+ logger.info("请求openid:" + openId);
+ JSONObject jsonObject = weixinService.autoLogin(openId);
+ AjaxResult ajaxResult = new AjaxResult();
ajaxResult.setData(jsonObject);
return ajaxResult;
}
@RequestMapping("get-sign")
- public AjaxResult getSign(@RequestBody AjaxRequest ajaxRequest){
+ public AjaxResult getSign(@RequestBody AjaxRequest ajaxRequest) {
AjaxResult ajaxResult = new AjaxResult();
JSONObject data = ajaxRequest.getData();
- if (data == null){
+ if (data == null) {
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("data missing");
return ajaxResult;
- }else {
+ } else {
String url = data.getString("url");
- if (StringUtils.isEmpty(url)){
+ if (StringUtils.isEmpty(url)) {
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("url missing");
return ajaxResult;
- }else {
- Map sign = weixinService.getSign(url);
+ } else {
+ Map sign = weixinService.getSign(url);
ajaxResult.setRetmsg("SUCCESS");
ajaxResult.setRetcode(AjaxResult.SUCCESS);
ajaxResult.setData(sign);
diff --git a/src/main/java/com/bsd/say/service/RedisService.java b/src/main/java/com/bsd/say/service/RedisService.java
new file mode 100644
index 0000000..297b9b5
--- /dev/null
+++ b/src/main/java/com/bsd/say/service/RedisService.java
@@ -0,0 +1,64 @@
+package com.bsd.say.service;
+
+
+/**
+ * redicache 工具类
+ */
+public interface RedisService {
+
+ /**
+ * 批量删除对应的value
+ *
+ * @param keys
+ */
+ public void remove(final String... keys);
+
+ /**
+ * 批量删除key
+ *
+ * @param pattern
+ */
+ public void removePattern(final String pattern);
+
+ /**
+ * 删除对应的value
+ *
+ * @param key
+ */
+ public void remove(final String key);
+
+
+ /**
+ * 判断缓存中是否有对应的value
+ *
+ * @param key
+ * @return
+ */
+ public boolean exists(final String key);
+
+ /**
+ * 读取缓存
+ *
+ * @param key
+ * @return
+ */
+ public Object get(final String key);
+
+ /**
+ * 写入缓存
+ *
+ * @param key
+ * @param value
+ * @return
+ */
+ public boolean set(final String key, Object value);
+
+ /**
+ * 写入缓存
+ *
+ * @param key
+ * @param value
+ * @return
+ */
+ public boolean set(final String key, Object value, Long expireTime);
+}
\ No newline at end of file
diff --git a/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java b/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java
index af59a53..539f717 100644
--- a/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java
+++ b/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java
@@ -136,15 +136,15 @@ public class AwardListServiceImpl extends BaseServiceImpllambdaQuery().eq(Users::getOpenId,openId)
.and(queryWrapper1 -> queryWrapper1.eq(Users::getState,1)));
if (users == null){
//新会员直接创,肯定没抽过奖
Users newUsers = new Users();
newUsers.setOpenId(openId);
- newUsers.setUnionId(unionId);
+// newUsers.setUnionId(unionId);
newUsers.setUserType(2);
newUsers.setCreateDateTime(new Date());
newUsers.setUpdateDateTime(new Date());
diff --git a/src/main/java/com/bsd/say/service/impl/RedisServiceImpl.java b/src/main/java/com/bsd/say/service/impl/RedisServiceImpl.java
new file mode 100644
index 0000000..3091c29
--- /dev/null
+++ b/src/main/java/com/bsd/say/service/impl/RedisServiceImpl.java
@@ -0,0 +1,125 @@
+package com.bsd.say.service.impl;
+
+import com.bsd.say.service.RedisService;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.ValueOperations;
+import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import java.io.Serializable;
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * redicache 工具类
+ */
+@Service
+public class RedisServiceImpl implements RedisService {
+
+ @Resource
+ private RedisTemplate redisTemplate;
+
+ /**
+ * 批量删除对应的value
+ *
+ * @param keys
+ */
+ public void remove(final String... keys) {
+ for (String key : keys) {
+ remove(key);
+ }
+ }
+
+ /**
+ * 批量删除key
+ *
+ * @param pattern
+ */
+ public void removePattern(final String pattern) {
+
+ Set keys = redisTemplate.keys(pattern);
+ if (keys.size() > 0)
+ redisTemplate.delete(keys);
+ }
+
+ /**
+ * 删除对应的value
+ *
+ * @param key
+ */
+ public void remove(final String key) {
+
+ if (exists(key)) {
+ redisTemplate.delete(key);
+ }
+ }
+
+
+ /**
+ * 判断缓存中是否有对应的value
+ *
+ * @param key
+ * @return
+ */
+ public boolean exists(final String key) {
+ return redisTemplate.hasKey(key);
+ }
+
+ /**
+ * 读取缓存
+ *
+ * @param key
+ * @return
+ */
+ public Object get(final String key) {
+
+ Object result = null;
+ ValueOperations operations = redisTemplate.opsForValue();
+ result = operations.get(key);
+
+ return result;
+ }
+
+ /**
+ * 写入缓存
+ *
+ * @param key
+ * @param value
+ * @return
+ */
+ public boolean set(final String key, Object value) {
+ boolean result = false;
+
+ try {
+
+ ValueOperations operations = redisTemplate.opsForValue();
+ operations.set(key, value);
+ result = true;
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return result;
+ }
+
+ /**
+ * 写入缓存
+ *
+ * @param key
+ * @param value
+ * @return
+ */
+ public boolean set(final String key, Object value, Long expireTime) {
+
+ boolean result = false;
+ try {
+ ValueOperations operations = redisTemplate.opsForValue();
+ operations.set(key, value);
+ redisTemplate.expire(key, expireTime, TimeUnit.SECONDS);
+ result = true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return result;
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/bsd/say/service/impl/WeixinService.java b/src/main/java/com/bsd/say/service/impl/WeixinService.java
index 3cf318e..8a9027d 100644
--- a/src/main/java/com/bsd/say/service/impl/WeixinService.java
+++ b/src/main/java/com/bsd/say/service/impl/WeixinService.java
@@ -6,12 +6,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.bsd.say.config.RedisProperies;
import com.bsd.say.entities.Record;
import com.bsd.say.mapper.RecordMapper;
-import com.bsd.say.service.WxOpenServiceDemo;
+import com.bsd.say.service.RedisService;
import com.bsd.say.util.AESWithJCEUtils;
import com.bsd.say.util.HttpRequestUtils;
import com.bsd.say.util.LogUtils;
import com.bsd.say.util.wechat.Sign;
-import com.sun.org.apache.bcel.internal.generic.NEW;
import me.chanjar.weixin.open.api.impl.WxOpenInRedisConfigStorage;
import me.chanjar.weixin.open.api.impl.WxOpenMessageRouter;
import me.chanjar.weixin.open.api.impl.WxOpenServiceImpl;
@@ -20,10 +19,8 @@ import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
import redis.clients.jedis.JedisPool;
-import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
@@ -31,7 +28,9 @@ import java.util.Map;
import java.util.concurrent.TimeUnit;
@Service
-public class WeixinService extends WxOpenServiceImpl {
+public class WeixinService extends WxOpenServiceImpl {
+
+
@Value("${wechat.aesKey}")
private String aesKey;
@Value("${wechat.componentToken}")
@@ -56,22 +55,27 @@ public class WeixinService extends WxOpenServiceImpl {
private RedisTemplate redisTemplate;
@Resource
private RecordMapper recordMapper;
-
private WxOpenMessageRouter wxOpenMessageRouter;
+
+ @Resource
+ private RedisService redisService;
+
+
Logger logger = LogUtils.getBussinessLogger();
+
/**
* 刷新第三方accessToken
*/
- public void refreshComponentAccessToken(){
+ public void refreshComponentAccessToken() {
RedisProperies redisProperies = new RedisProperies();
JedisPool pool =
- new JedisPool(redisProperies, redisProperies.getHost(),
- redisProperies.getPort(), redisProperies.getConnectionTimeout(),
- redisProperies.getSoTimeout(), redisProperies.getPassword(),
- redisProperies.getDatabase(), redisProperies.getClientName(),
- redisProperies.isSsl(), redisProperies.getSslSocketFactory(),
- redisProperies.getSslParameters(), redisProperies.getHostnameVerifier());
+ new JedisPool(redisProperies, redisProperies.getHost(),
+ redisProperies.getPort(), redisProperies.getConnectionTimeout(),
+ redisProperies.getSoTimeout(), redisProperies.getPassword(),
+ redisProperies.getDatabase(), redisProperies.getClientName(),
+ redisProperies.isSsl(), redisProperies.getSslSocketFactory(),
+ redisProperies.getSslParameters(), redisProperies.getHostnameVerifier());
try {
WxOpenInRedisConfigStorage inRedisConfigStorage = new WxOpenInRedisConfigStorage(pool);
inRedisConfigStorage.setComponentAppId(componentAppId);
@@ -81,19 +85,19 @@ public class WeixinService extends WxOpenServiceImpl {
setWxOpenConfigStorage(inRedisConfigStorage);
wxOpenMessageRouter = new WxOpenMessageRouter(this);
String ComponentVerifyTicket = inRedisConfigStorage.getComponentVerifyTicket();
- logger.info("ComponentVerifyTicket:"+ComponentVerifyTicket);
+ logger.info("ComponentVerifyTicket:" + ComponentVerifyTicket);
JSONObject jsonObject = new JSONObject();
jsonObject.put("component_appid", componentAppId);
jsonObject.put("component_appsecret", componentAppSecret);
jsonObject.put("component_verify_ticket", ComponentVerifyTicket);
- String post = HttpRequestUtils.sendPost(getComponentAccessTokenUrl,jsonObject);
+ String post = HttpRequestUtils.sendPost(getComponentAccessTokenUrl, jsonObject);
// logger.debug("====================返回post结果:" + post);
HashMap hashMap = JSON.parseObject(post, HashMap.class);
String componentAccessToken = hashMap.get("component_access_token");
if (StringUtils.isNotEmpty(componentAccessToken)) {
redisTemplate.opsForValue().set("component_access_token", componentAccessToken, 60 * 60 * 2, TimeUnit.SECONDS);
String accessToken = redisTemplate.opsForValue().get("component_access_token").toString();
- System.out.println("accessToken"+accessToken);
+ System.out.println("accessToken" + accessToken);
// logger.debug("====================令牌component_access_token】:【" + accessToken + "】====================");
} else {
throw new RuntimeException("微信开放平台,第三方平台获取【令牌】失败");
@@ -105,10 +109,11 @@ public class WeixinService extends WxOpenServiceImpl {
/**
* 获取accessToken
+ *
* @return
*/
- public JSONObject getAccessToken(String code){
- String component_access_token = redisTemplate.opsForValue().get("component_access_token").toString();
+ public JSONObject getAccessToken(String code) {
+ String component_access_token = redisTemplate.opsForValue().get("component_access_token").toString();
String param = appId + "&code=" + code + "&grant_type=authorization_code&component_appid=" + componentAppId
+ "&component_access_token=" + component_access_token;
String url = getAccessTokenUrl + param;
@@ -119,10 +124,11 @@ public class WeixinService extends WxOpenServiceImpl {
/**
* 获取unionId
+ *
* @param code
* @return
*/
- public String getUnionId(String code){
+ public String getUnionId(String code) {
JSONObject jsonObject = getAccessToken(code);
String accessToken = jsonObject.getString("access_token");
String openid = jsonObject.getString("openid");
@@ -137,9 +143,8 @@ public class WeixinService extends WxOpenServiceImpl {
/**
* 通过openId获取用户信息(含是否订阅公众号)
*/
- public JSONObject getUserInfoByOpenId(String openId){
+ public JSONObject getUserInfoByOpenId(String openId) {
String result1 = HttpRequestUtils.sendGet("https://api.weq.me/wx/token.php?id=15969759463491&key=1234567890123456");
- logger.info("openId----: "+ openId);
JSONObject result2 = JSONObject.parseObject(result1);
String result3 = result2.getString("access_token");
String pubkey = "1234567890123456";
@@ -147,14 +152,14 @@ public class WeixinService extends WxOpenServiceImpl {
String decode = AESWithJCEUtils.aesDecode(result3, pubkey, iv);
String resutl = HttpRequestUtils.sendGet("https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + decode + "&openid=" + openId + "&lang=zh_CN");
JSONObject jsonObject = JSONObject.parseObject(resutl);
- logger.info("userInfo:"+ jsonObject.toString());
+ logger.info("userInfo:" + jsonObject.toString());
return jsonObject;
}
/**
* 通过accessToken刷新ticket
*/
- public String getTicket(){
+ public String getTicket() {
String result1 = HttpRequestUtils.sendGet("https://api.weq.me/wx/token.php?id=15969759463491&key=1234567890123456");
JSONObject result2 = JSONObject.parseObject(result1);
String access_token = result2.getString("access_token");
@@ -166,49 +171,91 @@ public class WeixinService extends WxOpenServiceImpl {
return jsapi_ticket;
}
- public Map getSign(String url){
+ public Map getSign(String url) {
String jsapiTicket = getTicket();
- logger.info("jsapiTicket:"+ jsapiTicket);
- Map sign = Sign.sign(jsapiTicket,url);
- sign.put("appId",appId);
+ logger.info("jsapiTicket:" + jsapiTicket);
+ Map sign = Sign.sign(jsapiTicket, url);
+ sign.put("appId", appId);
logger.info("sign:" + sign);
return sign;
}
/**
* 插入记录的
+ *
* @param openId
* @param subscribe
*/
- @Transactional
- public void insertRecord(String openId,Integer subscribe){
- logger.info("subscribe:"+ subscribe);
- Record recordByOpenId = recordMapper.selectOne(Wrappers.lambdaQuery().eq(Record::getOpenId,openId)
- .and(queryWrapper1 -> queryWrapper1.eq(Record::getState,1)));
- if (subscribe == 0){
+ public void insertRecord(String openId, Integer subscribe) {
+ logger.info("subscribe:" + subscribe);
+ Record recordByOpenId = recordMapper.selectOne(Wrappers.lambdaQuery().eq(Record::getOpenId, openId)
+ .and(queryWrapper1 -> queryWrapper1.eq(Record::getState, 1)));
+ if (subscribe == 0) {
//未关注公众号
- if (recordByOpenId == null){
+ if (recordByOpenId == null) {
logger.info("新粉丝第一次进入");
Record record = new Record();
record.setOpenId(openId);
record.setFan("新粉丝");
record.setCreateDateTime(new Date());
recordMapper.insert(record);
- }else {
+ } else {
logger.info("游客访问过,但未关注");
}
- }else {
+ } else {
//关注过公众号
- if (recordByOpenId == null){
+ if (recordByOpenId == null) {
logger.info("老粉丝第一次进入");
Record record = new Record();
record.setOpenId(openId);
record.setFan("老粉丝");
record.setCreateDateTime(new Date());
recordMapper.insert(record);
- }else {
+ } else {
logger.info("老粉丝访问过,已关注");
}
}
}
+
+ public JSONObject autoLogin(String openId) {
+
+ String userInfo = "";
+ if (redisService.exists(openId)) {
+
+ userInfo = redisService.get(openId).toString();
+ JSONObject jsonObject = JSONObject.parseObject(userInfo);
+ Integer subscribe = jsonObject.getInteger("subscribe");
+ insertRecord(openId, subscribe);
+ return jsonObject;
+ }
+
+ String accessToken = fetchAccessToken();
+ userInfo = HttpRequestUtils.sendGet("https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + accessToken + "&openid=" + openId + "&lang=zh_CN");
+ redisService.set(openId, userInfo.toString());
+ JSONObject jsonObject = JSONObject.parseObject(userInfo);
+ Integer subscribe = jsonObject.getInteger("subscribe");
+ insertRecord(openId, subscribe);
+ return jsonObject;
+ }
+
+ private String fetchAccessToken() {
+
+ String access_token = "";
+ //从cache中获取
+ if (redisService.exists("access_token")) {
+ access_token = redisService.get("access_token").toString();
+ return access_token;
+ }
+ String accessTokenResult = HttpRequestUtils.sendGet("https://api.weq.me/wx/token.php?id=15969759463491&key=1234567890123456");
+ JSONObject accessTokenObject = JSONObject.parseObject(accessTokenResult);
+ String aesAccessToken = accessTokenObject.getString("access_token");
+ Long expiresIn = accessTokenObject.getLongValue("expires_in");
+ String pubkey = "1234567890123456";
+ String iv = "WJi7HTZQoh8eHjup";
+ String accessToken = AESWithJCEUtils.aesDecode(aesAccessToken, pubkey, iv);
+ redisService.set("access_token", access_token, expiresIn - 1000);
+ return accessToken;
+ }
+
+
}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
new file mode 100644
index 0000000..117ce61
--- /dev/null
+++ b/src/main/resources/application-dev.yml
@@ -0,0 +1,69 @@
+# springboot整合postgres连接配制
+spring:
+ redis:
+ database: 0
+ #host: 111.229.204.101
+ host: r-uf6l1kaunndm1ikjg3pd.redis.rds.aliyuncs.com
+ port: 7682
+ password: Bsd00L0ve202008#H5
+ jedis:
+ pool:
+ max-idle: 8
+ min-idle: 0
+ max-active: 8
+ max-wait: -1
+ datasource:
+ url: jdbc:mysql://rm-uf6ghz8v10sjx1719yo.mysql.rds.aliyuncs.com:1978/bsdloveh5?characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true
+ username: bsdloveh5
+ password: L0ve#h5_Bsd202008+
+ driver-class-name: com.mysql.jdbc.Driver
+ #解决整合后报的一个错:
+ jpa:
+ properties:
+ hibernate:
+ jdbc:
+ lob:
+ non_contextual_creation: true
+#mybatis-plus整合,加了表前缀的全局配制,加了类中与表中驼峰的映射,不加会查不出数据,因无法做表与类字段映射
+mybatis-plus:
+ global-config:
+ db-config:
+ table-prefix: template.
+ mapper-locations: classpath*:mapper/*Mapper.xml
+ type-aliases-package: com.bsd.say.entities
+ configuration:
+ map-underscore-to-camel-case: true
+
+logging:
+ level:
+ com.bsd.say.mapper: debug
+
+server:
+ port: 8082
+
+award:
+ rule: 5
+ amount: 10
+
+wechat:
+ aesKey: r4cbRuIfbbnTIgJoQE33vJACJuoioZ5pRAhumITsP8O
+ componentToken: bosidengqixi
+ appId: wx4f4363086a52e92c
+ componentAppId: wx474350bcaea2d745
+ componentAppSecret: 947dc4a4500adf09fc5ee31b132742e5
+ getComponentAccessTokenUrl: https://api.weixin.qq.com/cgi-bin/component/api_component_token
+ getAccessTokenUrl: https://api.weixin.qq.com/sns/oauth2/component/access_token?appid=
+ getUnionIdUrl: https://api.weixin.qq.com/sns/userinfo?access_token=
+ getWxUserInfoUrl: https://api.weixin.qq.com/cgi-bin/user/info?access_token=
+ getTicketUrl: https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=
+
+
+bsd:
+ tokenkey: BOSIDENG
+ sendSource: BRAND_VERIFY_CODE
+ verifySMSCodeUrl: http://wxitf.bsd.cn/BSD_WXAPP/sysWeChat/verifySMSCode?token=
+ addCouponUrl: http://wxitf.bsd.cn/BSD_WXAPP/miniProgram/addCoupon?token=
+### 上传文件路径
+#upload:
+# excel:
+# path: /Users/yaoyao.zhu/Documents/
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
new file mode 100644
index 0000000..81e83e3
--- /dev/null
+++ b/src/main/resources/application-prod.yml
@@ -0,0 +1,69 @@
+# springboot整合postgres连接配制
+spring:
+ redis:
+ database: 0
+ #host: 111.229.204.101
+ host: r-uf6l1kaunndm1ikjg3.redis.rds.aliyuncs.com
+ port: 7682
+ password: Bsd00L0ve202008#H5
+ jedis:
+ pool:
+ max-idle: 8
+ min-idle: 0
+ max-active: 8
+ max-wait: -1
+ datasource:
+ url: jdbc:mysql://rm-uf6ghz8v10sjx1719.mysql.rds.aliyuncs.com:1978/bsdloveh5?characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true
+ username: bsdloveh5
+ password: L0ve#h5_Bsd202008+
+ driver-class-name: com.mysql.jdbc.Driver
+ #解决整合后报的一个错:
+ jpa:
+ properties:
+ hibernate:
+ jdbc:
+ lob:
+ non_contextual_creation: true
+#mybatis-plus整合,加了表前缀的全局配制,加了类中与表中驼峰的映射,不加会查不出数据,因无法做表与类字段映射
+mybatis-plus:
+ global-config:
+ db-config:
+ table-prefix: template.
+ mapper-locations: classpath*:mapper/*Mapper.xml
+ type-aliases-package: com.bsd.say.entities
+ configuration:
+ map-underscore-to-camel-case: true
+
+logging:
+ level:
+ com.bsd.say.mapper: debug
+
+server:
+ port: 8082
+
+award:
+ rule: 5
+ amount: 10
+
+wechat:
+ aesKey: r4cbRuIfbbnTIgJoQE33vJACJuoioZ5pRAhumITsP8O
+ componentToken: bosidengqixi
+ appId: wx4f4363086a52e92c
+ componentAppId: wx474350bcaea2d745
+ componentAppSecret: 947dc4a4500adf09fc5ee31b132742e5
+ getComponentAccessTokenUrl: https://api.weixin.qq.com/cgi-bin/component/api_component_token
+ getAccessTokenUrl: https://api.weixin.qq.com/sns/oauth2/component/access_token?appid=
+ getUnionIdUrl: https://api.weixin.qq.com/sns/userinfo?access_token=
+ getWxUserInfoUrl: https://api.weixin.qq.com/cgi-bin/user/info?access_token=
+ getTicketUrl: https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=
+
+
+bsd:
+ tokenkey: BOSIDENG
+ sendSource: BRAND_VERIFY_CODE
+ verifySMSCodeUrl: http://wxitf.bsd.cn/BSD_WXAPP/sysWeChat/verifySMSCode?token=
+ addCouponUrl: http://wxitf.bsd.cn/BSD_WXAPP/miniProgram/addCoupon?token=
+### 上传文件路径
+#upload:
+# excel:
+# path: /Users/yaoyao.zhu/Documents/
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index c8aa494..caf4dfc 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,68 +1,3 @@
-# springboot整合postgres连接配制
spring:
- redis:
- database: 4
- host: 111.229.204.101
- port: 63790
- password: 1qaz2wsx
- jedis:
- pool:
- max-idle: 8
- min-idle: 0
- max-active: 8
- max-wait: -1
- datasource:
- url: jdbc:mysql://47.100.216.66:3306/bsd_asy?characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true
- username: root
- password: Bsd@2019
- driver-class-name: com.mysql.jdbc.Driver
- #解决整合后报的一个错:
- jpa:
- properties:
- hibernate:
- jdbc:
- lob:
- non_contextual_creation: true
-#mybatis-plus整合,加了表前缀的全局配制,加了类中与表中驼峰的映射,不加会查不出数据,因无法做表与类字段映射
-mybatis-plus:
- global-config:
- db-config:
- table-prefix: template.
- mapper-locations: classpath*:mapper/*Mapper.xml
- type-aliases-package: com.bsd.say.entities
- configuration:
- map-underscore-to-camel-case: true
-
-logging:
- level:
- com.bsd.say.mapper: debug
-
-server:
- port: 8082
-
-award:
- rule: 5
- amount: 10
-
-wechat:
- aesKey: r4cbRuIfbbnTIgJoQE33vJACJuoioZ5pRAhumITsP8O
- componentToken: bosidengqixi
- appId: wx4f4363086a52e92c
- componentAppId: wx474350bcaea2d745
- componentAppSecret: 947dc4a4500adf09fc5ee31b132742e5
- getComponentAccessTokenUrl: https://api.weixin.qq.com/cgi-bin/component/api_component_token
- getAccessTokenUrl: https://api.weixin.qq.com/sns/oauth2/component/access_token?appid=
- getUnionIdUrl: https://api.weixin.qq.com/sns/userinfo?access_token=
- getWxUserInfoUrl: https://api.weixin.qq.com/cgi-bin/user/info?access_token=
- getTicketUrl: https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=
-
-
-bsd:
- tokenkey: BOSIDENG
- sendSource: BRAND_VERIFY_CODE
- verifySMSCodeUrl: http://wxitf.bsd.cn/BSD_WXAPP/sysWeChat/verifySMSCode?token=
- addCouponUrl: http://wxitf.bsd.cn/BSD_WXAPP/miniProgram/addCoupon?token=
-### 上传文件路径
-#upload:
-# excel:
-# path: /Users/yaoyao.zhu/Documents/
+ profiles:
+ active: dev
\ No newline at end of file
diff --git a/target/bsd-say-1.0-SNAPSHOT.jar b/target/bsd-say-1.0-SNAPSHOT.jar
new file mode 100644
index 0000000..47c79b4
Binary files /dev/null and b/target/bsd-say-1.0-SNAPSHOT.jar differ
diff --git a/target/bsd-say-1.0-SNAPSHOT.jar.original b/target/bsd-say-1.0-SNAPSHOT.jar.original
new file mode 100644
index 0000000..4399845
Binary files /dev/null and b/target/bsd-say-1.0-SNAPSHOT.jar.original differ
diff --git a/target/classes/META-INF/spring-configuration-metadata.json b/target/classes/META-INF/spring-configuration-metadata.json
new file mode 100644
index 0000000..e633647
--- /dev/null
+++ b/target/classes/META-INF/spring-configuration-metadata.json
@@ -0,0 +1,177 @@
+{
+ "groups": [
+ {
+ "name": "wechat.redis",
+ "type": "com.bsd.say.config.RedisProperies",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ }
+ ],
+ "properties": [
+ {
+ "name": "wechat.redis.block-when-exhausted",
+ "type": "java.lang.Boolean",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.client-name",
+ "type": "java.lang.String",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.connection-timeout",
+ "type": "java.lang.Integer",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.database",
+ "type": "java.lang.Integer",
+ "sourceType": "com.bsd.say.config.RedisProperies",
+ "defaultValue": 4
+ },
+ {
+ "name": "wechat.redis.eviction-policy",
+ "type": "org.apache.commons.pool2.impl.EvictionPolicy",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.eviction-policy-class-name",
+ "type": "java.lang.String",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.evictor-shutdown-timeout-millis",
+ "type": "java.lang.Long",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.fairness",
+ "type": "java.lang.Boolean",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.host",
+ "type": "java.lang.String",
+ "sourceType": "com.bsd.say.config.RedisProperies",
+ "defaultValue": "111.229.204.101"
+ },
+ {
+ "name": "wechat.redis.hostname-verifier",
+ "type": "javax.net.ssl.HostnameVerifier",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.jmx-enabled",
+ "type": "java.lang.Boolean",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.jmx-name-base",
+ "type": "java.lang.String",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.jmx-name-prefix",
+ "type": "java.lang.String",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.lifo",
+ "type": "java.lang.Boolean",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.max-idle",
+ "type": "java.lang.Integer",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.max-total",
+ "type": "java.lang.Integer",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.max-wait-millis",
+ "type": "java.lang.Long",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.min-evictable-idle-time-millis",
+ "type": "java.lang.Long",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.min-idle",
+ "type": "java.lang.Integer",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.num-tests-per-eviction-run",
+ "type": "java.lang.Integer",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.password",
+ "type": "java.lang.String",
+ "sourceType": "com.bsd.say.config.RedisProperies",
+ "defaultValue": "1qaz2wsx"
+ },
+ {
+ "name": "wechat.redis.port",
+ "type": "java.lang.Integer",
+ "sourceType": "com.bsd.say.config.RedisProperies",
+ "defaultValue": 63790
+ },
+ {
+ "name": "wechat.redis.so-timeout",
+ "type": "java.lang.Integer",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.soft-min-evictable-idle-time-millis",
+ "type": "java.lang.Long",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.ssl",
+ "type": "java.lang.Boolean",
+ "sourceType": "com.bsd.say.config.RedisProperies",
+ "defaultValue": false
+ },
+ {
+ "name": "wechat.redis.ssl-parameters",
+ "type": "javax.net.ssl.SSLParameters",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.ssl-socket-factory",
+ "type": "javax.net.ssl.SSLSocketFactory",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.test-on-borrow",
+ "type": "java.lang.Boolean",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.test-on-create",
+ "type": "java.lang.Boolean",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.test-on-return",
+ "type": "java.lang.Boolean",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.test-while-idle",
+ "type": "java.lang.Boolean",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ },
+ {
+ "name": "wechat.redis.time-between-eviction-runs-millis",
+ "type": "java.lang.Long",
+ "sourceType": "com.bsd.say.config.RedisProperies"
+ }
+ ],
+ "hints": []
+}
\ No newline at end of file
diff --git a/target/classes/application-dev.yml b/target/classes/application-dev.yml
new file mode 100644
index 0000000..117ce61
--- /dev/null
+++ b/target/classes/application-dev.yml
@@ -0,0 +1,69 @@
+# springboot整合postgres连接配制
+spring:
+ redis:
+ database: 0
+ #host: 111.229.204.101
+ host: r-uf6l1kaunndm1ikjg3pd.redis.rds.aliyuncs.com
+ port: 7682
+ password: Bsd00L0ve202008#H5
+ jedis:
+ pool:
+ max-idle: 8
+ min-idle: 0
+ max-active: 8
+ max-wait: -1
+ datasource:
+ url: jdbc:mysql://rm-uf6ghz8v10sjx1719yo.mysql.rds.aliyuncs.com:1978/bsdloveh5?characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true
+ username: bsdloveh5
+ password: L0ve#h5_Bsd202008+
+ driver-class-name: com.mysql.jdbc.Driver
+ #解决整合后报的一个错:
+ jpa:
+ properties:
+ hibernate:
+ jdbc:
+ lob:
+ non_contextual_creation: true
+#mybatis-plus整合,加了表前缀的全局配制,加了类中与表中驼峰的映射,不加会查不出数据,因无法做表与类字段映射
+mybatis-plus:
+ global-config:
+ db-config:
+ table-prefix: template.
+ mapper-locations: classpath*:mapper/*Mapper.xml
+ type-aliases-package: com.bsd.say.entities
+ configuration:
+ map-underscore-to-camel-case: true
+
+logging:
+ level:
+ com.bsd.say.mapper: debug
+
+server:
+ port: 8082
+
+award:
+ rule: 5
+ amount: 10
+
+wechat:
+ aesKey: r4cbRuIfbbnTIgJoQE33vJACJuoioZ5pRAhumITsP8O
+ componentToken: bosidengqixi
+ appId: wx4f4363086a52e92c
+ componentAppId: wx474350bcaea2d745
+ componentAppSecret: 947dc4a4500adf09fc5ee31b132742e5
+ getComponentAccessTokenUrl: https://api.weixin.qq.com/cgi-bin/component/api_component_token
+ getAccessTokenUrl: https://api.weixin.qq.com/sns/oauth2/component/access_token?appid=
+ getUnionIdUrl: https://api.weixin.qq.com/sns/userinfo?access_token=
+ getWxUserInfoUrl: https://api.weixin.qq.com/cgi-bin/user/info?access_token=
+ getTicketUrl: https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=
+
+
+bsd:
+ tokenkey: BOSIDENG
+ sendSource: BRAND_VERIFY_CODE
+ verifySMSCodeUrl: http://wxitf.bsd.cn/BSD_WXAPP/sysWeChat/verifySMSCode?token=
+ addCouponUrl: http://wxitf.bsd.cn/BSD_WXAPP/miniProgram/addCoupon?token=
+### 上传文件路径
+#upload:
+# excel:
+# path: /Users/yaoyao.zhu/Documents/
diff --git a/target/classes/application-prod.yml b/target/classes/application-prod.yml
new file mode 100644
index 0000000..81e83e3
--- /dev/null
+++ b/target/classes/application-prod.yml
@@ -0,0 +1,69 @@
+# springboot整合postgres连接配制
+spring:
+ redis:
+ database: 0
+ #host: 111.229.204.101
+ host: r-uf6l1kaunndm1ikjg3.redis.rds.aliyuncs.com
+ port: 7682
+ password: Bsd00L0ve202008#H5
+ jedis:
+ pool:
+ max-idle: 8
+ min-idle: 0
+ max-active: 8
+ max-wait: -1
+ datasource:
+ url: jdbc:mysql://rm-uf6ghz8v10sjx1719.mysql.rds.aliyuncs.com:1978/bsdloveh5?characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true
+ username: bsdloveh5
+ password: L0ve#h5_Bsd202008+
+ driver-class-name: com.mysql.jdbc.Driver
+ #解决整合后报的一个错:
+ jpa:
+ properties:
+ hibernate:
+ jdbc:
+ lob:
+ non_contextual_creation: true
+#mybatis-plus整合,加了表前缀的全局配制,加了类中与表中驼峰的映射,不加会查不出数据,因无法做表与类字段映射
+mybatis-plus:
+ global-config:
+ db-config:
+ table-prefix: template.
+ mapper-locations: classpath*:mapper/*Mapper.xml
+ type-aliases-package: com.bsd.say.entities
+ configuration:
+ map-underscore-to-camel-case: true
+
+logging:
+ level:
+ com.bsd.say.mapper: debug
+
+server:
+ port: 8082
+
+award:
+ rule: 5
+ amount: 10
+
+wechat:
+ aesKey: r4cbRuIfbbnTIgJoQE33vJACJuoioZ5pRAhumITsP8O
+ componentToken: bosidengqixi
+ appId: wx4f4363086a52e92c
+ componentAppId: wx474350bcaea2d745
+ componentAppSecret: 947dc4a4500adf09fc5ee31b132742e5
+ getComponentAccessTokenUrl: https://api.weixin.qq.com/cgi-bin/component/api_component_token
+ getAccessTokenUrl: https://api.weixin.qq.com/sns/oauth2/component/access_token?appid=
+ getUnionIdUrl: https://api.weixin.qq.com/sns/userinfo?access_token=
+ getWxUserInfoUrl: https://api.weixin.qq.com/cgi-bin/user/info?access_token=
+ getTicketUrl: https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=
+
+
+bsd:
+ tokenkey: BOSIDENG
+ sendSource: BRAND_VERIFY_CODE
+ verifySMSCodeUrl: http://wxitf.bsd.cn/BSD_WXAPP/sysWeChat/verifySMSCode?token=
+ addCouponUrl: http://wxitf.bsd.cn/BSD_WXAPP/miniProgram/addCoupon?token=
+### 上传文件路径
+#upload:
+# excel:
+# path: /Users/yaoyao.zhu/Documents/
diff --git a/target/classes/application.yml b/target/classes/application.yml
new file mode 100644
index 0000000..caf4dfc
--- /dev/null
+++ b/target/classes/application.yml
@@ -0,0 +1,3 @@
+spring:
+ profiles:
+ active: dev
\ No newline at end of file
diff --git a/target/classes/com/bsd/say/SayApplication.class b/target/classes/com/bsd/say/SayApplication.class
new file mode 100644
index 0000000..20d99fe
Binary files /dev/null and b/target/classes/com/bsd/say/SayApplication.class differ
diff --git a/target/classes/com/bsd/say/aop/LogAspect.class b/target/classes/com/bsd/say/aop/LogAspect.class
new file mode 100644
index 0000000..c62f943
Binary files /dev/null and b/target/classes/com/bsd/say/aop/LogAspect.class differ
diff --git a/target/classes/com/bsd/say/beans/AjaxData.class b/target/classes/com/bsd/say/beans/AjaxData.class
new file mode 100644
index 0000000..1359cdd
Binary files /dev/null and b/target/classes/com/bsd/say/beans/AjaxData.class differ
diff --git a/target/classes/com/bsd/say/beans/AjaxPage.class b/target/classes/com/bsd/say/beans/AjaxPage.class
new file mode 100644
index 0000000..6db9ed4
Binary files /dev/null and b/target/classes/com/bsd/say/beans/AjaxPage.class differ
diff --git a/target/classes/com/bsd/say/beans/AjaxRequest.class b/target/classes/com/bsd/say/beans/AjaxRequest.class
new file mode 100644
index 0000000..d996d6a
Binary files /dev/null and b/target/classes/com/bsd/say/beans/AjaxRequest.class differ
diff --git a/target/classes/com/bsd/say/beans/AjaxResult.class b/target/classes/com/bsd/say/beans/AjaxResult.class
new file mode 100644
index 0000000..fa1eed9
Binary files /dev/null and b/target/classes/com/bsd/say/beans/AjaxResult.class differ
diff --git a/target/classes/com/bsd/say/config/MybatisPlusConfig.class b/target/classes/com/bsd/say/config/MybatisPlusConfig.class
new file mode 100644
index 0000000..5077ebf
Binary files /dev/null and b/target/classes/com/bsd/say/config/MybatisPlusConfig.class differ
diff --git a/target/classes/com/bsd/say/config/RedisProperies.class b/target/classes/com/bsd/say/config/RedisProperies.class
new file mode 100644
index 0000000..885b513
Binary files /dev/null and b/target/classes/com/bsd/say/config/RedisProperies.class differ
diff --git a/target/classes/com/bsd/say/config/WebMvcConfig.class b/target/classes/com/bsd/say/config/WebMvcConfig.class
new file mode 100644
index 0000000..9ca8b1f
Binary files /dev/null and b/target/classes/com/bsd/say/config/WebMvcConfig.class differ
diff --git a/target/classes/com/bsd/say/constants/Constants.class b/target/classes/com/bsd/say/constants/Constants.class
new file mode 100644
index 0000000..1fe1a5c
Binary files /dev/null and b/target/classes/com/bsd/say/constants/Constants.class differ
diff --git a/target/classes/com/bsd/say/constants/FillterConstants.class b/target/classes/com/bsd/say/constants/FillterConstants.class
new file mode 100644
index 0000000..b8a2938
Binary files /dev/null and b/target/classes/com/bsd/say/constants/FillterConstants.class differ
diff --git a/target/classes/com/bsd/say/controller/AwardListController.class b/target/classes/com/bsd/say/controller/AwardListController.class
new file mode 100644
index 0000000..b378607
Binary files /dev/null and b/target/classes/com/bsd/say/controller/AwardListController.class differ
diff --git a/target/classes/com/bsd/say/controller/BaseController.class b/target/classes/com/bsd/say/controller/BaseController.class
new file mode 100644
index 0000000..c6a838b
Binary files /dev/null and b/target/classes/com/bsd/say/controller/BaseController.class differ
diff --git a/target/classes/com/bsd/say/controller/CouponController.class b/target/classes/com/bsd/say/controller/CouponController.class
new file mode 100644
index 0000000..e6c6712
Binary files /dev/null and b/target/classes/com/bsd/say/controller/CouponController.class differ
diff --git a/target/classes/com/bsd/say/controller/LoveLetterController.class b/target/classes/com/bsd/say/controller/LoveLetterController.class
new file mode 100644
index 0000000..46551ed
Binary files /dev/null and b/target/classes/com/bsd/say/controller/LoveLetterController.class differ
diff --git a/target/classes/com/bsd/say/controller/LoveTypeController.class b/target/classes/com/bsd/say/controller/LoveTypeController.class
new file mode 100644
index 0000000..39116a2
Binary files /dev/null and b/target/classes/com/bsd/say/controller/LoveTypeController.class differ
diff --git a/target/classes/com/bsd/say/controller/UsersController.class b/target/classes/com/bsd/say/controller/UsersController.class
new file mode 100644
index 0000000..e4ded4e
Binary files /dev/null and b/target/classes/com/bsd/say/controller/UsersController.class differ
diff --git a/target/classes/com/bsd/say/controller/WechatController.class b/target/classes/com/bsd/say/controller/WechatController.class
new file mode 100644
index 0000000..f1cb909
Binary files /dev/null and b/target/classes/com/bsd/say/controller/WechatController.class differ
diff --git a/target/classes/com/bsd/say/entities/AwardList.class b/target/classes/com/bsd/say/entities/AwardList.class
new file mode 100644
index 0000000..21f34d5
Binary files /dev/null and b/target/classes/com/bsd/say/entities/AwardList.class differ
diff --git a/target/classes/com/bsd/say/entities/BaseEntity.class b/target/classes/com/bsd/say/entities/BaseEntity.class
new file mode 100644
index 0000000..9358934
Binary files /dev/null and b/target/classes/com/bsd/say/entities/BaseEntity.class differ
diff --git a/target/classes/com/bsd/say/entities/Coupon.class b/target/classes/com/bsd/say/entities/Coupon.class
new file mode 100644
index 0000000..0cf984a
Binary files /dev/null and b/target/classes/com/bsd/say/entities/Coupon.class differ
diff --git a/target/classes/com/bsd/say/entities/LoveLetter.class b/target/classes/com/bsd/say/entities/LoveLetter.class
new file mode 100644
index 0000000..38daf96
Binary files /dev/null and b/target/classes/com/bsd/say/entities/LoveLetter.class differ
diff --git a/target/classes/com/bsd/say/entities/LoveType.class b/target/classes/com/bsd/say/entities/LoveType.class
new file mode 100644
index 0000000..25f279a
Binary files /dev/null and b/target/classes/com/bsd/say/entities/LoveType.class differ
diff --git a/target/classes/com/bsd/say/entities/Record.class b/target/classes/com/bsd/say/entities/Record.class
new file mode 100644
index 0000000..b9c7e5e
Binary files /dev/null and b/target/classes/com/bsd/say/entities/Record.class differ
diff --git a/target/classes/com/bsd/say/entities/Source.class b/target/classes/com/bsd/say/entities/Source.class
new file mode 100644
index 0000000..f1e71c3
Binary files /dev/null and b/target/classes/com/bsd/say/entities/Source.class differ
diff --git a/target/classes/com/bsd/say/entities/Users.class b/target/classes/com/bsd/say/entities/Users.class
new file mode 100644
index 0000000..040a8dd
Binary files /dev/null and b/target/classes/com/bsd/say/entities/Users.class differ
diff --git a/target/classes/com/bsd/say/exception/BusinessException.class b/target/classes/com/bsd/say/exception/BusinessException.class
new file mode 100644
index 0000000..fdf37d7
Binary files /dev/null and b/target/classes/com/bsd/say/exception/BusinessException.class differ
diff --git a/target/classes/com/bsd/say/exception/LoginException.class b/target/classes/com/bsd/say/exception/LoginException.class
new file mode 100644
index 0000000..86b84d5
Binary files /dev/null and b/target/classes/com/bsd/say/exception/LoginException.class differ
diff --git a/target/classes/com/bsd/say/exception/ParamsException.class b/target/classes/com/bsd/say/exception/ParamsException.class
new file mode 100644
index 0000000..372b059
Binary files /dev/null and b/target/classes/com/bsd/say/exception/ParamsException.class differ
diff --git a/target/classes/com/bsd/say/handler/JsonTypeHandler.class b/target/classes/com/bsd/say/handler/JsonTypeHandler.class
new file mode 100644
index 0000000..65f7f5b
Binary files /dev/null and b/target/classes/com/bsd/say/handler/JsonTypeHandler.class differ
diff --git a/target/classes/com/bsd/say/mapper/AwardListMapper.class b/target/classes/com/bsd/say/mapper/AwardListMapper.class
new file mode 100644
index 0000000..6561e97
Binary files /dev/null and b/target/classes/com/bsd/say/mapper/AwardListMapper.class differ
diff --git a/target/classes/com/bsd/say/mapper/CouponMapper.class b/target/classes/com/bsd/say/mapper/CouponMapper.class
new file mode 100644
index 0000000..9122b6b
Binary files /dev/null and b/target/classes/com/bsd/say/mapper/CouponMapper.class differ
diff --git a/target/classes/com/bsd/say/mapper/LoveLetterMapper.class b/target/classes/com/bsd/say/mapper/LoveLetterMapper.class
new file mode 100644
index 0000000..8587c2a
Binary files /dev/null and b/target/classes/com/bsd/say/mapper/LoveLetterMapper.class differ
diff --git a/target/classes/com/bsd/say/mapper/LoveTypeMapper.class b/target/classes/com/bsd/say/mapper/LoveTypeMapper.class
new file mode 100644
index 0000000..d38e9d9
Binary files /dev/null and b/target/classes/com/bsd/say/mapper/LoveTypeMapper.class differ
diff --git a/target/classes/com/bsd/say/mapper/RecordMapper.class b/target/classes/com/bsd/say/mapper/RecordMapper.class
new file mode 100644
index 0000000..7ed5d03
Binary files /dev/null and b/target/classes/com/bsd/say/mapper/RecordMapper.class differ
diff --git a/target/classes/com/bsd/say/mapper/SourceMapper.class b/target/classes/com/bsd/say/mapper/SourceMapper.class
new file mode 100644
index 0000000..624d231
Binary files /dev/null and b/target/classes/com/bsd/say/mapper/SourceMapper.class differ
diff --git a/target/classes/com/bsd/say/mapper/UsersMapper.class b/target/classes/com/bsd/say/mapper/UsersMapper.class
new file mode 100644
index 0000000..6a13968
Binary files /dev/null and b/target/classes/com/bsd/say/mapper/UsersMapper.class differ
diff --git a/target/classes/com/bsd/say/quartz/ScheduledTask.class b/target/classes/com/bsd/say/quartz/ScheduledTask.class
new file mode 100644
index 0000000..69eda5c
Binary files /dev/null and b/target/classes/com/bsd/say/quartz/ScheduledTask.class differ
diff --git a/target/classes/com/bsd/say/service/AwardListService.class b/target/classes/com/bsd/say/service/AwardListService.class
new file mode 100644
index 0000000..f67ad11
Binary files /dev/null and b/target/classes/com/bsd/say/service/AwardListService.class differ
diff --git a/target/classes/com/bsd/say/service/BaseService.class b/target/classes/com/bsd/say/service/BaseService.class
new file mode 100644
index 0000000..cef7e47
Binary files /dev/null and b/target/classes/com/bsd/say/service/BaseService.class differ
diff --git a/target/classes/com/bsd/say/service/CouponService.class b/target/classes/com/bsd/say/service/CouponService.class
new file mode 100644
index 0000000..c78de02
Binary files /dev/null and b/target/classes/com/bsd/say/service/CouponService.class differ
diff --git a/target/classes/com/bsd/say/service/LoveLetterService.class b/target/classes/com/bsd/say/service/LoveLetterService.class
new file mode 100644
index 0000000..a6daca3
Binary files /dev/null and b/target/classes/com/bsd/say/service/LoveLetterService.class differ
diff --git a/target/classes/com/bsd/say/service/LoveTypeService.class b/target/classes/com/bsd/say/service/LoveTypeService.class
new file mode 100644
index 0000000..81af276
Binary files /dev/null and b/target/classes/com/bsd/say/service/LoveTypeService.class differ
diff --git a/target/classes/com/bsd/say/service/RecordService.class b/target/classes/com/bsd/say/service/RecordService.class
new file mode 100644
index 0000000..2c4bb5a
Binary files /dev/null and b/target/classes/com/bsd/say/service/RecordService.class differ
diff --git a/target/classes/com/bsd/say/service/RedisService.class b/target/classes/com/bsd/say/service/RedisService.class
new file mode 100644
index 0000000..b494999
Binary files /dev/null and b/target/classes/com/bsd/say/service/RedisService.class differ
diff --git a/target/classes/com/bsd/say/service/SourceService.class b/target/classes/com/bsd/say/service/SourceService.class
new file mode 100644
index 0000000..57d8110
Binary files /dev/null and b/target/classes/com/bsd/say/service/SourceService.class differ
diff --git a/target/classes/com/bsd/say/service/UsersService.class b/target/classes/com/bsd/say/service/UsersService.class
new file mode 100644
index 0000000..9f53430
Binary files /dev/null and b/target/classes/com/bsd/say/service/UsersService.class differ
diff --git a/target/classes/com/bsd/say/service/WxOpenServiceDemo.class b/target/classes/com/bsd/say/service/WxOpenServiceDemo.class
new file mode 100644
index 0000000..1d65a9b
Binary files /dev/null and b/target/classes/com/bsd/say/service/WxOpenServiceDemo.class differ
diff --git a/target/classes/com/bsd/say/service/impl/AwardListServiceImpl.class b/target/classes/com/bsd/say/service/impl/AwardListServiceImpl.class
new file mode 100644
index 0000000..4993057
Binary files /dev/null and b/target/classes/com/bsd/say/service/impl/AwardListServiceImpl.class differ
diff --git a/target/classes/com/bsd/say/service/impl/BaseServiceImpl.class b/target/classes/com/bsd/say/service/impl/BaseServiceImpl.class
new file mode 100644
index 0000000..0160b4f
Binary files /dev/null and b/target/classes/com/bsd/say/service/impl/BaseServiceImpl.class differ
diff --git a/target/classes/com/bsd/say/service/impl/CouponServiceImpl.class b/target/classes/com/bsd/say/service/impl/CouponServiceImpl.class
new file mode 100644
index 0000000..2279a6e
Binary files /dev/null and b/target/classes/com/bsd/say/service/impl/CouponServiceImpl.class differ
diff --git a/target/classes/com/bsd/say/service/impl/LoveLetterServiceImpl.class b/target/classes/com/bsd/say/service/impl/LoveLetterServiceImpl.class
new file mode 100644
index 0000000..7aba150
Binary files /dev/null and b/target/classes/com/bsd/say/service/impl/LoveLetterServiceImpl.class differ
diff --git a/target/classes/com/bsd/say/service/impl/LoveTypeServiceImpl.class b/target/classes/com/bsd/say/service/impl/LoveTypeServiceImpl.class
new file mode 100644
index 0000000..e721cf6
Binary files /dev/null and b/target/classes/com/bsd/say/service/impl/LoveTypeServiceImpl.class differ
diff --git a/target/classes/com/bsd/say/service/impl/RecordServiceImpl.class b/target/classes/com/bsd/say/service/impl/RecordServiceImpl.class
new file mode 100644
index 0000000..5619bdc
Binary files /dev/null and b/target/classes/com/bsd/say/service/impl/RecordServiceImpl.class differ
diff --git a/target/classes/com/bsd/say/service/impl/RedisServiceImpl.class b/target/classes/com/bsd/say/service/impl/RedisServiceImpl.class
new file mode 100644
index 0000000..fdbe99f
Binary files /dev/null and b/target/classes/com/bsd/say/service/impl/RedisServiceImpl.class differ
diff --git a/target/classes/com/bsd/say/service/impl/SourceServiceImpl.class b/target/classes/com/bsd/say/service/impl/SourceServiceImpl.class
new file mode 100644
index 0000000..ddb72cb
Binary files /dev/null and b/target/classes/com/bsd/say/service/impl/SourceServiceImpl.class differ
diff --git a/target/classes/com/bsd/say/service/impl/UsersServiceImpl.class b/target/classes/com/bsd/say/service/impl/UsersServiceImpl.class
new file mode 100644
index 0000000..9e85e8b
Binary files /dev/null and b/target/classes/com/bsd/say/service/impl/UsersServiceImpl.class differ
diff --git a/target/classes/com/bsd/say/service/impl/WeixinService.class b/target/classes/com/bsd/say/service/impl/WeixinService.class
new file mode 100644
index 0000000..d0493cb
Binary files /dev/null and b/target/classes/com/bsd/say/service/impl/WeixinService.class differ
diff --git a/target/classes/com/bsd/say/util/AESWithJCEUtils.class b/target/classes/com/bsd/say/util/AESWithJCEUtils.class
new file mode 100644
index 0000000..c0c42fd
Binary files /dev/null and b/target/classes/com/bsd/say/util/AESWithJCEUtils.class differ
diff --git a/target/classes/com/bsd/say/util/CodeGenerator$1.class b/target/classes/com/bsd/say/util/CodeGenerator$1.class
new file mode 100644
index 0000000..4f6a7dc
Binary files /dev/null and b/target/classes/com/bsd/say/util/CodeGenerator$1.class differ
diff --git a/target/classes/com/bsd/say/util/CodeGenerator$2.class b/target/classes/com/bsd/say/util/CodeGenerator$2.class
new file mode 100644
index 0000000..81570e6
Binary files /dev/null and b/target/classes/com/bsd/say/util/CodeGenerator$2.class differ
diff --git a/target/classes/com/bsd/say/util/CodeGenerator.class b/target/classes/com/bsd/say/util/CodeGenerator.class
new file mode 100644
index 0000000..125d35f
Binary files /dev/null and b/target/classes/com/bsd/say/util/CodeGenerator.class differ
diff --git a/target/classes/com/bsd/say/util/DateUtils.class b/target/classes/com/bsd/say/util/DateUtils.class
new file mode 100644
index 0000000..07460e8
Binary files /dev/null and b/target/classes/com/bsd/say/util/DateUtils.class differ
diff --git a/target/classes/com/bsd/say/util/FileUtils.class b/target/classes/com/bsd/say/util/FileUtils.class
new file mode 100644
index 0000000..a1c3336
Binary files /dev/null and b/target/classes/com/bsd/say/util/FileUtils.class differ
diff --git a/target/classes/com/bsd/say/util/HttpRequestUtils.class b/target/classes/com/bsd/say/util/HttpRequestUtils.class
new file mode 100644
index 0000000..f78dc26
Binary files /dev/null and b/target/classes/com/bsd/say/util/HttpRequestUtils.class differ
diff --git a/target/classes/com/bsd/say/util/JWTUtil.class b/target/classes/com/bsd/say/util/JWTUtil.class
new file mode 100644
index 0000000..b420141
Binary files /dev/null and b/target/classes/com/bsd/say/util/JWTUtil.class differ
diff --git a/target/classes/com/bsd/say/util/LogEnum.class b/target/classes/com/bsd/say/util/LogEnum.class
new file mode 100644
index 0000000..2e60ba3
Binary files /dev/null and b/target/classes/com/bsd/say/util/LogEnum.class differ
diff --git a/target/classes/com/bsd/say/util/LogUtils.class b/target/classes/com/bsd/say/util/LogUtils.class
new file mode 100644
index 0000000..b85b360
Binary files /dev/null and b/target/classes/com/bsd/say/util/LogUtils.class differ
diff --git a/target/classes/com/bsd/say/util/MD5Utils.class b/target/classes/com/bsd/say/util/MD5Utils.class
new file mode 100644
index 0000000..3b3922b
Binary files /dev/null and b/target/classes/com/bsd/say/util/MD5Utils.class differ
diff --git a/target/classes/com/bsd/say/util/MessageUtil$1$1.class b/target/classes/com/bsd/say/util/MessageUtil$1$1.class
new file mode 100644
index 0000000..58b7fcf
Binary files /dev/null and b/target/classes/com/bsd/say/util/MessageUtil$1$1.class differ
diff --git a/target/classes/com/bsd/say/util/MessageUtil$1.class b/target/classes/com/bsd/say/util/MessageUtil$1.class
new file mode 100644
index 0000000..6b154b0
Binary files /dev/null and b/target/classes/com/bsd/say/util/MessageUtil$1.class differ
diff --git a/target/classes/com/bsd/say/util/MessageUtil.class b/target/classes/com/bsd/say/util/MessageUtil.class
new file mode 100644
index 0000000..975ccfd
Binary files /dev/null and b/target/classes/com/bsd/say/util/MessageUtil.class differ
diff --git a/target/classes/com/bsd/say/util/RandomUtils.class b/target/classes/com/bsd/say/util/RandomUtils.class
new file mode 100644
index 0000000..b5496ba
Binary files /dev/null and b/target/classes/com/bsd/say/util/RandomUtils.class differ
diff --git a/target/classes/com/bsd/say/util/ResponseUtil.class b/target/classes/com/bsd/say/util/ResponseUtil.class
new file mode 100644
index 0000000..6beaa65
Binary files /dev/null and b/target/classes/com/bsd/say/util/ResponseUtil.class differ
diff --git a/target/classes/com/bsd/say/util/Xml2MapUtil.class b/target/classes/com/bsd/say/util/Xml2MapUtil.class
new file mode 100644
index 0000000..1fc4a47
Binary files /dev/null and b/target/classes/com/bsd/say/util/Xml2MapUtil.class differ
diff --git a/target/classes/com/bsd/say/util/wechat/AesException.class b/target/classes/com/bsd/say/util/wechat/AesException.class
new file mode 100644
index 0000000..caf1673
Binary files /dev/null and b/target/classes/com/bsd/say/util/wechat/AesException.class differ
diff --git a/target/classes/com/bsd/say/util/wechat/ByteGroup.class b/target/classes/com/bsd/say/util/wechat/ByteGroup.class
new file mode 100644
index 0000000..64c372c
Binary files /dev/null and b/target/classes/com/bsd/say/util/wechat/ByteGroup.class differ
diff --git a/target/classes/com/bsd/say/util/wechat/PKCS7Encoder.class b/target/classes/com/bsd/say/util/wechat/PKCS7Encoder.class
new file mode 100644
index 0000000..de4e7d9
Binary files /dev/null and b/target/classes/com/bsd/say/util/wechat/PKCS7Encoder.class differ
diff --git a/target/classes/com/bsd/say/util/wechat/SHA1.class b/target/classes/com/bsd/say/util/wechat/SHA1.class
new file mode 100644
index 0000000..f0d2667
Binary files /dev/null and b/target/classes/com/bsd/say/util/wechat/SHA1.class differ
diff --git a/target/classes/com/bsd/say/util/wechat/Sign.class b/target/classes/com/bsd/say/util/wechat/Sign.class
new file mode 100644
index 0000000..8441d79
Binary files /dev/null and b/target/classes/com/bsd/say/util/wechat/Sign.class differ
diff --git a/target/classes/com/bsd/say/util/wechat/WXBizMsgCrypt.class b/target/classes/com/bsd/say/util/wechat/WXBizMsgCrypt.class
new file mode 100644
index 0000000..67abf5f
Binary files /dev/null and b/target/classes/com/bsd/say/util/wechat/WXBizMsgCrypt.class differ
diff --git a/target/classes/com/bsd/say/util/wechat/WXBizMsgCryptTest.class b/target/classes/com/bsd/say/util/wechat/WXBizMsgCryptTest.class
new file mode 100644
index 0000000..f1d1d97
Binary files /dev/null and b/target/classes/com/bsd/say/util/wechat/WXBizMsgCryptTest.class differ
diff --git a/target/classes/com/bsd/say/util/wechat/WeChatUtils.class b/target/classes/com/bsd/say/util/wechat/WeChatUtils.class
new file mode 100644
index 0000000..a8368dd
Binary files /dev/null and b/target/classes/com/bsd/say/util/wechat/WeChatUtils.class differ
diff --git a/target/classes/com/bsd/say/util/wechat/XMLParse.class b/target/classes/com/bsd/say/util/wechat/XMLParse.class
new file mode 100644
index 0000000..f26d8a4
Binary files /dev/null and b/target/classes/com/bsd/say/util/wechat/XMLParse.class differ
diff --git a/target/classes/log4j2.yml b/target/classes/log4j2.yml
new file mode 100644
index 0000000..0b4535a
--- /dev/null
+++ b/target/classes/log4j2.yml
@@ -0,0 +1,136 @@
+# 共有8个级别,按照从低到高为:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF。
+Configuration:
+ status: warn
+ monitorInterval: 30
+ Properties: # 定义全局变量
+ Property: # 缺省配置(用于开发环境)。其他环境需要在VM参数中指定,如下:
+ #测试:-Dlog.level.console=warn -Dlog.level.xjj=trace
+ #生产:-Dlog.level.console=warn -Dlog.level.xjj=info
+ - name: log.level.console
+ value: trace
+ - name: log.path
+ value: /usr/local/share/applications/bsd-say/log/
+ - name: project.name
+ value: templatePostgres
+ - name: log.pattern
+ value: "%d{yyyy-MM-dd HH:mm:ss.SSS} -%5p ${PID:-} [%15.15t] %-30.30C{1.} : %m%n"
+ Appenders:
+ Console: #输出到控制台
+ name: CONSOLE
+ target: SYSTEM_OUT
+ PatternLayout:
+ pattern: ${log.pattern}
+ # 启动日志
+ RollingFile:
+ - name: ROLLING_FILE
+ fileName: ${log.path}/${project.name}.log
+ filePattern: "${log.path}/historyRunLog/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz"
+ PatternLayout:
+ pattern: ${log.pattern}
+ Filters:
+ #一定要先去除不接受的日志级别,然后获取需要接受的日志级别
+ ThresholdFilter:
+ - level: error
+ onMatch: DENY
+ onMismatch: NEUTRAL
+ - level: info
+ onMatch: ACCEPT
+ onMismatch: DENY
+ Policies:
+ TimeBasedTriggeringPolicy: # 按天分类
+ modulate: true
+ interval: 1
+ DefaultRolloverStrategy: # 文件最多100个
+ max: 100
+ # 平台日志
+ - name: PLATFORM_ROLLING_FILE
+ ignoreExceptions: false
+ fileName: ${log.path}/platform/${project.name}_platform.log
+ filePattern: "${log.path}/platform/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz"
+ PatternLayout:
+ pattern: ${log.pattern}
+ Policies:
+ TimeBasedTriggeringPolicy: # 按天分类
+ modulate: true
+ interval: 1
+ DefaultRolloverStrategy: # 文件最多100个
+ max: 100
+ # 业务日志
+ - name: BUSSINESS_ROLLING_FILE
+ ignoreExceptions: false
+ fileName: ${log.path}/bussiness/${project.name}_bussiness.log
+ filePattern: "${log.path}/bussiness/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz"
+ PatternLayout:
+ pattern: ${log.pattern}
+ Policies:
+ TimeBasedTriggeringPolicy: # 按天分类
+ modulate: true
+ interval: 1
+ DefaultRolloverStrategy: # 文件最多100个
+ max: 100
+ # 错误日志
+ - name: EXCEPTION_ROLLING_FILE
+ ignoreExceptions: false
+ fileName: ${log.path}/exception/${project.name}_exception.log
+ filePattern: "${log.path}/exception/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz"
+ ThresholdFilter:
+ level: error
+ onMatch: ACCEPT
+ onMismatch: DENY
+ PatternLayout:
+ pattern: ${log.pattern}
+ Policies:
+ TimeBasedTriggeringPolicy: # 按天分类
+ modulate: true
+ interval: 1
+ DefaultRolloverStrategy: # 文件最多100个
+ max: 100
+ # DB 日志
+ - name: DB_ROLLING_FILE
+ ignoreExceptions: false
+ fileName: ${log.path}/db/${project.name}_db.log
+ filePattern: "${log.path}/db/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz"
+ PatternLayout:
+ pattern: ${log.pattern}
+ Policies:
+ TimeBasedTriggeringPolicy: # 按天分类
+ modulate: true
+ interval: 1
+ DefaultRolloverStrategy: # 文件最多100个
+ max: 100
+ Loggers:
+ Root:
+ level: info
+ AppenderRef:
+ - ref: CONSOLE
+ - ref: ROLLING_FILE
+ - ref: EXCEPTION_ROLLING_FILE
+ Logger:
+ - name: platform
+ level: info
+ additivity: false
+ AppenderRef:
+ - ref: PLATFORM_ROLLING_FILE
+ - name: bussiness
+ level: info
+ additivity: false
+ AppenderRef:
+ - ref: BUSSINESS_ROLLING_FILE
+ - name: exception
+ level: debug
+ additivity: true
+ AppenderRef:
+ - ref: EXCEPTION_ROLLING_FILE
+ - name: db
+ level: trace
+ additivity: false
+ AppenderRef:
+ - ref: DB_ROLLING_FILE
+ # 监听具体包下面的日志
+ # 为com.xjj包配置特殊的Log级别,方便调试
+ - name: com.oceanspot.template.mapper
+ additivity: false
+ level: trace
+ AppenderRef:
+ - ref: CONSOLE
+ - ref: DB_ROLLING_FILE
\ No newline at end of file
diff --git a/target/classes/mapper/AwardListMapper.xml b/target/classes/mapper/AwardListMapper.xml
new file mode 100644
index 0000000..8ea7920
--- /dev/null
+++ b/target/classes/mapper/AwardListMapper.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/target/classes/mapper/CouponMapper.xml b/target/classes/mapper/CouponMapper.xml
new file mode 100644
index 0000000..7a06483
--- /dev/null
+++ b/target/classes/mapper/CouponMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/target/classes/mapper/LoveLetterMapper.xml b/target/classes/mapper/LoveLetterMapper.xml
new file mode 100644
index 0000000..7fc868f
--- /dev/null
+++ b/target/classes/mapper/LoveLetterMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/target/classes/mapper/LoveTypeMapper.xml b/target/classes/mapper/LoveTypeMapper.xml
new file mode 100644
index 0000000..9f69261
--- /dev/null
+++ b/target/classes/mapper/LoveTypeMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/target/classes/mapper/UsersMapper.xml b/target/classes/mapper/UsersMapper.xml
new file mode 100644
index 0000000..f1d1690
--- /dev/null
+++ b/target/classes/mapper/UsersMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..8b8816a
--- /dev/null
+++ b/target/maven-archiver/pom.properties
@@ -0,0 +1,4 @@
+#Created by Apache Maven 3.6.1
+version=1.0-SNAPSHOT
+groupId=com.bsd
+artifactId=bsd-say
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..4ce7c49
--- /dev/null
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,85 @@
+com/bsd/say/util/wechat/XMLParse.class
+com/bsd/say/service/impl/RecordServiceImpl.class
+com/bsd/say/exception/ParamsException.class
+com/bsd/say/service/impl/AwardListServiceImpl.class
+com/bsd/say/mapper/RecordMapper.class
+com/bsd/say/beans/AjaxResult.class
+com/bsd/say/service/SourceService.class
+com/bsd/say/entities/Coupon.class
+com/bsd/say/controller/BaseController.class
+com/bsd/say/aop/LogAspect.class
+com/bsd/say/mapper/UsersMapper.class
+com/bsd/say/util/wechat/PKCS7Encoder.class
+com/bsd/say/util/MessageUtil$1$1.class
+com/bsd/say/util/wechat/SHA1.class
+com/bsd/say/config/MybatisPlusConfig.class
+com/bsd/say/quartz/ScheduledTask.class
+com/bsd/say/util/wechat/ByteGroup.class
+com/bsd/say/service/CouponService.class
+com/bsd/say/entities/LoveLetter.class
+com/bsd/say/exception/LoginException.class
+com/bsd/say/util/MD5Utils.class
+com/bsd/say/util/HttpRequestUtils.class
+com/bsd/say/service/impl/RedisServiceImpl.class
+com/bsd/say/util/wechat/WXBizMsgCrypt.class
+com/bsd/say/util/wechat/WXBizMsgCryptTest.class
+com/bsd/say/controller/CouponController.class
+com/bsd/say/service/impl/BaseServiceImpl.class
+com/bsd/say/service/impl/WeixinService.class
+com/bsd/say/entities/Users.class
+com/bsd/say/util/LogEnum.class
+com/bsd/say/service/UsersService.class
+com/bsd/say/mapper/CouponMapper.class
+com/bsd/say/service/BaseService.class
+com/bsd/say/util/Xml2MapUtil.class
+com/bsd/say/constants/Constants.class
+com/bsd/say/service/WxOpenServiceDemo.class
+com/bsd/say/util/ResponseUtil.class
+com/bsd/say/util/LogUtils.class
+com/bsd/say/entities/AwardList.class
+com/bsd/say/util/wechat/Sign.class
+com/bsd/say/service/impl/UsersServiceImpl.class
+com/bsd/say/util/wechat/WeChatUtils.class
+com/bsd/say/service/impl/LoveLetterServiceImpl.class
+com/bsd/say/util/CodeGenerator$1.class
+com/bsd/say/service/RecordService.class
+com/bsd/say/util/AESWithJCEUtils.class
+com/bsd/say/service/AwardListService.class
+com/bsd/say/controller/LoveLetterController.class
+com/bsd/say/service/impl/LoveTypeServiceImpl.class
+com/bsd/say/service/impl/CouponServiceImpl.class
+com/bsd/say/entities/Record.class
+com/bsd/say/util/CodeGenerator.class
+com/bsd/say/util/MessageUtil.class
+com/bsd/say/beans/AjaxData.class
+com/bsd/say/mapper/SourceMapper.class
+com/bsd/say/util/MessageUtil$1.class
+com/bsd/say/controller/WechatController.class
+com/bsd/say/handler/JsonTypeHandler.class
+com/bsd/say/controller/UsersController.class
+com/bsd/say/beans/AjaxRequest.class
+com/bsd/say/entities/LoveType.class
+com/bsd/say/util/wechat/AesException.class
+com/bsd/say/util/CodeGenerator$2.class
+com/bsd/say/entities/Source.class
+com/bsd/say/util/JWTUtil.class
+com/bsd/say/service/impl/SourceServiceImpl.class
+com/bsd/say/beans/AjaxPage.class
+com/bsd/say/util/RandomUtils.class
+com/bsd/say/controller/LoveTypeController.class
+com/bsd/say/util/DateUtils.class
+com/bsd/say/mapper/LoveTypeMapper.class
+com/bsd/say/util/FileUtils.class
+com/bsd/say/mapper/LoveLetterMapper.class
+com/bsd/say/service/LoveLetterService.class
+com/bsd/say/entities/BaseEntity.class
+META-INF/spring-configuration-metadata.json
+com/bsd/say/config/RedisProperies.class
+com/bsd/say/constants/FillterConstants.class
+com/bsd/say/exception/BusinessException.class
+com/bsd/say/config/WebMvcConfig.class
+com/bsd/say/mapper/AwardListMapper.class
+com/bsd/say/SayApplication.class
+com/bsd/say/controller/AwardListController.class
+com/bsd/say/service/RedisService.class
+com/bsd/say/service/LoveTypeService.class
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..937f207
--- /dev/null
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,83 @@
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/impl/BaseServiceImpl.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/exception/LoginException.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/exception/BusinessException.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/mapper/UsersMapper.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/CodeGenerator.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/wechat/SHA1.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/LoveTypeService.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/wechat/Sign.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/controller/LoveLetterController.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/controller/UsersController.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/impl/WeixinService.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/SayApplication.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/mapper/LoveLetterMapper.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/entities/Coupon.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/beans/AjaxData.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/SourceService.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/entities/LoveLetter.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/constants/Constants.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/controller/CouponController.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/AwardListService.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/impl/RedisServiceImpl.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/entities/Users.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/wechat/WXBizMsgCryptTest.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/LogEnum.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/wechat/WeChatUtils.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/ResponseUtil.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/entities/Source.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/DateUtils.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/controller/BaseController.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/wechat/PKCS7Encoder.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/config/RedisConfig.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/impl/LoveTypeServiceImpl.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/beans/AjaxPage.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/entities/LoveType.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/LoveLetterService.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/exception/ParamsException.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/LogUtils.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/impl/RecordServiceImpl.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/RandomUtils.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/WxOpenServiceDemo.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/MD5Utils.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/impl/UsersServiceImpl.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/config/MybatisPlusConfig.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/ExcelUtils.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/impl/LoveLetterServiceImpl.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/controller/LoveTypeController.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/HttpRequestUtils.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/RedisService.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/wechat/WXBizMsgCrypt.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/RecordService.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/entities/Record.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/impl/CouponServiceImpl.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/CouponService.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/config/RedisProperies.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/controller/WechatController.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/beans/AjaxResult.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/FileUtils.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/quartz/ScheduledTask.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/controller/AwardListController.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/entities/BaseEntity.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/JWTUtil.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/Xml2MapUtil.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/mapper/SourceMapper.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/AESWithJCEUtils.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/wechat/ByteGroup.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/UsersService.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/BaseService.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/constants/FillterConstants.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/aop/LogAspect.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/wechat/XMLParse.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/MessageUtil.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/config/WebMvcConfig.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/mapper/AwardListMapper.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/beans/AjaxRequest.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/impl/SourceServiceImpl.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/ExcelUtil.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/entities/AwardList.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/mapper/RecordMapper.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/util/wechat/AesException.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/mapper/LoveTypeMapper.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/handler/JsonTypeHandler.java
+/Users/yaoyao.zhu/Documents/work-space/bsd-say/src/main/java/com/bsd/say/mapper/CouponMapper.java