记得上下班打卡 | git大法好,push需谨慎

Commit 65dfffbc authored by jiangxiulong's avatar jiangxiulong

Merge branch 'dev-sweet' into pre

parents 85069ab4 da3c0a0d
......@@ -18,10 +18,11 @@ public class WechatMpConfigure {
private static String tokenZhengzai;
private static String aeskeyZhengzai;
private static String appidModernsky;
private static String secretModernsky;
@Value("${liquidnet.wechat.service.zhengzai.appid}")
public void setAppidZhengzai(String appidZhengzai) {
WechatMpConfigure.appidZhengzai = appidZhengzai;
}
public void setAppidZhengzai(String appidZhengzai) { WechatMpConfigure.appidZhengzai = appidZhengzai; }
@Value("${liquidnet.wechat.service.zhengzai.secret}")
public void setSecretZhengzai(String secretZhengzai) {
WechatMpConfigure.secretZhengzai = secretZhengzai;
......@@ -35,7 +36,17 @@ public class WechatMpConfigure {
WechatMpConfigure.aeskeyZhengzai = aeskeyZhengzai;
}
@Value("${liquidnet.wechat.service.modernsky.appid}")
public void setAppidModernsky(String appidModernsky) {
WechatMpConfigure.appidModernsky = appidModernsky;
}
@Value("${liquidnet.wechat.service.modernsky.secret}")
public void setSecretModernsky(String secretModernsky) {
WechatMpConfigure.secretModernsky = secretModernsky;
}
private WxMpService wxMpZhengzaiService;
private WxMpService wxMpModernskyService;
@Autowired
private StringRedisTemplate stringRedisTemplate;
......@@ -52,12 +63,29 @@ public class WechatMpConfigure {
wxMpDefaultConfig.setToken(tokenZhengzai);
wxMpDefaultConfig.setAesKey(aeskeyZhengzai);
this.setWxMpConfigStorage(wxMpDefaultConfig);
}
};
wxMpModernskyService = new WxMpServiceImpl() {
{
RedisTemplateWxRedisOps redisTemplateWxRedisOps = new RedisTemplateWxRedisOps(stringRedisTemplate);
WxMpRedisConfigImpl wxMpDefaultConfig = new WxMpRedisConfigImpl(redisTemplateWxRedisOps, "sweet:accessToken:service:modernsky");
wxMpDefaultConfig.setAppId(appidModernsky);
wxMpDefaultConfig.setSecret(secretModernsky);
this.setWxMpConfigStorage(wxMpDefaultConfig);
}
};
}
public WxMpService getWxMpService() {
return wxMpZhengzaiService;
public WxMpService getWxMpService(Integer pnum) {
switch (pnum) {
case 1:
return wxMpZhengzaiService;
case 2:
return wxMpModernskyService;
}
return null;
}
}
......@@ -10,6 +10,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -18,6 +19,7 @@ import java.util.List;
@Api(tags = "数据迁移")
@RestController
@RequestMapping("/sweetData")
@Slf4j
public class SweetDataController {
@Autowired
......@@ -25,52 +27,44 @@ public class SweetDataController {
@Autowired
private RedisUtil redisUtil;
@GetMapping("drawLuck")
@ApiOperation("中奖概率迁移")
public ResponseDto<String> drawLuck() {
try {
List<SweetUserTempVo> listHPFD = sweetAnswerMapper.selectHPFD();
List<SweetUserTempVo> listHPWR = sweetAnswerMapper.selectHPWR();
List<SweetUserTempVo> listHXC = sweetAnswerMapper.selectHXC();
List<SweetUserTempVo> listMember = sweetAnswerMapper.selectMember();
List<SweetUserTempVo> listOrder1 = sweetAnswerMapper.selectOrder1();
List<SweetUserTempVo> listOrder2 = sweetAnswerMapper.selectOrder2();
List<SweetUserTempVo> listOrder3 = sweetAnswerMapper.selectOrder3();
for (SweetUserTempVo item : listHPFD) {
presentRedis(item.getMobile());
}
for (SweetUserTempVo item : listHPWR) {
presentRedis(item.getMobile());
}
for (SweetUserTempVo item : listHXC) {
presentRedis(item.getMobile());
}
for (SweetUserTempVo item : listMember) {
presentRedis(item.getMobile());
}
for (SweetUserTempVo item : listOrder1) {
presentRedis(item.getMobile());
}
for (SweetUserTempVo item : listOrder2) {
presentRedis(item.getMobile());
}
for (SweetUserTempVo item : listOrder3) {
presentRedis(item.getMobile());
}
return ResponseDto.success();
} catch (Exception e) {
e.printStackTrace();
return ResponseDto.failure();
}
}
// @GetMapping("drawLuck")
// @ApiOperation("中奖概率迁移")
// public ResponseDto<String> drawLuck() {
// try {
//// List<SweetUserTempVo> listHPFD = sweetAnswerMapper.selectHPFD();
//// for (SweetUserTempVo item : listHPFD) {
//// presentRedis(item.getMobile());
//// }
//// List<SweetUserTempVo> listHPWR = sweetAnswerMapper.selectHPWR();
//// for (SweetUserTempVo item : listHPWR) {
//// presentRedis(item.getMobile());
//// }
//// List<SweetUserTempVo> listHXC = sweetAnswerMapper.selectHXC();
//// for (SweetUserTempVo item : listHXC) {
//// presentRedis(item.getMobile());
//// }
//// List<SweetUserTempVo> listMember = sweetAnswerMapper.selectMember();
//// for (SweetUserTempVo item : listMember) {
//// presentRedis(item.getMobile());
//// }
// List<SweetUserTempVo> listOrder1 = sweetAnswerMapper.selectOrder1();
// for (SweetUserTempVo item : listOrder1) {
// presentRedis(item.getMobile());
// }
//// List<SweetUserTempVo> listOrder2 = sweetAnswerMapper.selectOrder2();
//// for (SweetUserTempVo item : listOrder2) {
//// presentRedis(item.getMobile());
//// }
//// List<SweetUserTempVo> listOrder3 = sweetAnswerMapper.selectOrder3();
//// for (SweetUserTempVo item : listOrder3) {
//// presentRedis(item.getMobile());
//// }
// return ResponseDto.success();
// } catch (Exception e) {
// e.printStackTrace();
// return ResponseDto.failure();
// }
// }
@PostMapping("drawLuck/add")
@ApiOperation("增加可中奖数量1最大6(20210820)")
......@@ -84,7 +78,7 @@ public class SweetDataController {
redisUtil.incr(redisKey, 1);
}
return ResponseDto.success();
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
return ResponseDto.failure();
}
......
......@@ -6,15 +6,17 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "小程序登陆")
@Api(tags = "小程序/公众号登陆相关")
@RestController
@RequestMapping("/wechatLogin")
@Slf4j
public class SweetWechatLoginController {
@Autowired
......@@ -37,4 +39,24 @@ public class SweetWechatLoginController {
return sweetLoginService.userInfo(code, encryptedData, iv, type);
}
@ApiOperation(value = "微信小程序登录凭证校验 获取openid", notes = "这里仅用于获取OPENID使用")
@GetMapping(value = {"maOpenId"})
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "jsCode", value = "微信jsCode", required = true),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "type", value = "1草莓 2五百里 3mdsk 4正在", required = true)
})
public ResponseDto<String> wxaCode2Session(@RequestParam String jsCode, @RequestParam Integer type) {
return sweetLoginService.wxaCode2Session(jsCode, type);
}
@ApiOperation(value = "微信公众号登录 获取openid", notes = "这里仅用于获取OPENID使用")
@GetMapping(value = {"mpOpenId"})
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "code", value = "微信code", required = true),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "type", value = "1草莓 2五百里 3mdsk 4正在", required = true)
})
public ResponseDto<String> wxOauth2AccessToken(@RequestParam String code, @RequestParam Integer type) {
return sweetLoginService.wxOauth2AccessToken(code, type);
}
}
package com.liquidnet.service.sweet.controller;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.config.WechatMpConfigure;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.bean.WxJsapiSignature;
import me.chanjar.weixin.common.enums.TicketType;
import me.chanjar.weixin.mp.api.WxMpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 正在 摩登公众号分享
* </p>
*
* @author jiangxiulong
* @since 2021-08-20
*/
@Slf4j
@Api(tags = "正在/摩登公众号分享")
@RestController
@RequestMapping("wechatShareSign")
public class SweetWechatShareController {
@Autowired
WechatMpConfigure wechatMpConfigure;
@GetMapping("/zhengzai")
@ApiOperation("正在微信分享sign")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "url", value = "url地址 注意 URL 一定要动态获取,不能 hardcode", required = true),
})
public ResponseDto<WxJsapiSignature> zhengzai(@RequestParam String url) {
try {
WxMpService wxMpService = wechatMpConfigure.getWxMpService(1);
log.info("zhengzaiShare-isAccessTokenExpired:[{}] ", wxMpService.getWxMpConfigStorage().isAccessTokenExpired());
log.info("zhengzaiShare-getAccessToken:[{}] ", wxMpService.getWxMpConfigStorage().getAccessToken());
log.info("zhengzaiShare-isTicketExpired:[{}] ", wxMpService.getWxMpConfigStorage().isTicketExpired(TicketType.JSAPI));
log.info("zhengzaiShare-Ticket:[{}] ", wxMpService.getWxMpConfigStorage().getTicket(TicketType.JSAPI));
WxJsapiSignature jsapiSignature = wxMpService.createJsapiSignature(url);
return ResponseDto.success(jsapiSignature);
} catch (Exception e) {
log.error("分享signZhengzaiException", e);
return ResponseDto.success();
}
}
@GetMapping("/modernsky")
@ApiOperation("摩登微信分享sign")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "url", value = "url地址 注意 URL 一定要动态获取,不能 hardcode", required = true),
})
public ResponseDto<WxJsapiSignature> modernsky(@RequestParam String url) {
try {
WxMpService wxMpService = wechatMpConfigure.getWxMpService(2);
log.info("modernskyShare-isAccessTokenExpired:[{}] ", wxMpService.getWxMpConfigStorage().isAccessTokenExpired());
log.info("modernskyShare-getAccessToken:[{}] ", wxMpService.getWxMpConfigStorage().getAccessToken());
log.info("modernskyShare-isTicketExpired:[{}] ", wxMpService.getWxMpConfigStorage().isTicketExpired(TicketType.JSAPI));
log.info("modernskyShare-Ticket:[{}] ", wxMpService.getWxMpConfigStorage().getTicket(TicketType.JSAPI));
WxJsapiSignature jsapiSignature = wxMpService.createJsapiSignature(url);
return ResponseDto.success(jsapiSignature);
} catch (Exception e) {
log.error("分享signModernskyException", e);
return ResponseDto.success();
}
}
}
......@@ -32,7 +32,7 @@ public interface SweetAnswerMapper extends BaseMapper<SweetAnswer> {
@Select({"select user_id as 'uid',user_mobile as 'mobile' from kylin_order_tickets as kot " +
" inner join kylin_order_ticket_status as kots on kot.order_tickets_id = kots.order_id " +
" inner join kylin_order_ticket_relations as kotr on kot.order_tickets_id = kotr.order_id " +
" where (status = 1 or status = 4) and performance_id in (select performances_id from kylin_performances where title like '%和平饭店%')\n" +
" where (status = 1 or status = 4) and performance_id in (select performances_id from kylin_performances where title like '%和平饭店%')" +
" group by user_id;"
})
List<SweetUserTempVo> selectHPFD();
......@@ -73,7 +73,7 @@ public interface SweetAnswerMapper extends BaseMapper<SweetAnswer> {
@Select({"select count(0) as 'buyCount',user_id as 'uid',user_mobile as 'mobile' from kylin_order_tickets as kot inner join kylin_order_ticket_status as kots on kot.order_tickets_id = kots.order_id " +
" where (status = 1 or status = 4) " +
" group by user_id " +
" having buyCount >= 2;"
" having buyCount >= 3;"
})
List<SweetUserTempVo> selectOrder3();
......
......@@ -54,7 +54,7 @@ public class SweetWechatCallbackServiceImpl {
}
public String record(String requestBody, String timestamp, String nonce, String encType, String msgSignature) {
WxMpService wxMpService = wechatMpConfigure.getWxMpService();
WxMpService wxMpService = wechatMpConfigure.getWxMpService(1);
String out = null;
if (encType == null || encType.isEmpty()) {
// 明文传输的消息
......
......@@ -7,6 +7,7 @@ import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.bean.oauth2.WxOAuth2AccessToken;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
......@@ -60,7 +61,7 @@ public class SweetWechatLoginServiceImpl {
String unionId = sessionInfo.getUnionid();
String openId = sessionInfo.getOpenid();
HashMap<String,Object> userInfo = CollectionUtil.mapStringObject();
HashMap<String, Object> userInfo = CollectionUtil.mapStringObject();
userInfo.put("unionId", unionId);
userInfo.put("openId", openId);
userInfo.put("getPhoneNumber", wxMaPhoneNumberInfo.getPhoneNumber());
......@@ -85,4 +86,23 @@ public class SweetWechatLoginServiceImpl {
}
}
public ResponseDto<String> wxaCode2Session(String jsCode, Integer type) {
try {
WxMaJscode2SessionResult wxMaJscode2SessionResult = sweetWechatService.sessionInfo(jsCode, type);
return ResponseDto.success(wxMaJscode2SessionResult.getOpenid());
} catch (Exception e) {
log.error("wxaCode2SessionError", e);
return ResponseDto.failure();
}
}
public ResponseDto<String> wxOauth2AccessToken(String code, Integer type) {
try {
WxOAuth2AccessToken wxOAuth2AccessToken = sweetWechatService.wxOauth2AccessToken(code, type);
return ResponseDto.success(wxOAuth2AccessToken.getOpenId());
} catch (Exception e) {
log.error("wxaCode2SessionError", e);
return ResponseDto.failure();
}
}
}
......@@ -32,7 +32,7 @@ public class SweetWechatMpService {
private QueueUtils queueUtils;
public void userInfo() throws WxErrorException {
WxMpService wxMpService = wechatMpConfigure.getWxMpService();
WxMpService wxMpService = wechatMpConfigure.getWxMpService(1);
String nextOpenid = "";
do {
......@@ -93,7 +93,7 @@ public class SweetWechatMpService {
}
public void getUser(String openId) throws WxErrorException {
WxMpService wxMpService = wechatMpConfigure.getWxMpService();
WxMpService wxMpService = wechatMpConfigure.getWxMpService(1);
WxMpUser wxMpUser = wxMpService.getUserService().userInfo(openId);
log.info("openId:[{}],wxMpUsers:[{}]", openId, wxMpUser);
......
......@@ -5,8 +5,11 @@ import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import com.liquidnet.service.sweet.config.WechatMaConfigure;
import com.liquidnet.service.sweet.config.WechatMpConfigure;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.bean.oauth2.WxOAuth2AccessToken;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -16,6 +19,9 @@ public class SweetWechatService {
@Autowired
WechatMaConfigure wechatMaConfigure;
@Autowired
WechatMpConfigure wechatMpConfigure;
public WxMaJscode2SessionResult sessionInfo(String code, Integer anum) throws WxErrorException {
WxMaService wxMaService = wechatMaConfigure.getWxMaService(anum);
log.info("isAccessTokenExpired:[{}] ", wxMaService.getWxMaConfig().isAccessTokenExpired());
......@@ -33,4 +39,12 @@ public class SweetWechatService {
return wxMaService.getUserService().getPhoneNoInfo(sessionKey, encryptedData, iv);
}
public WxOAuth2AccessToken wxOauth2AccessToken(String code, Integer type) throws WxErrorException {
WxMpService wxMpService = wechatMpConfigure.getWxMpService(type);
log.info("isAccessTokenExpired:[{}] ", wxMpService.getWxMpConfigStorage().isAccessTokenExpired());
log.info("getAccessToken:[{}] ", wxMpService.getWxMpConfigStorage().getAccessToken());
return wxMpService.getOAuth2Service().getAccessToken(code);
}
}
......@@ -146,12 +146,12 @@ public class SweetWechatTemplateServiceImpl {
try {
String nowTime = DateUtil.getNowTime();
if (DateUtil.compareStrDay(nowTime, "2021-08-14 10:00:00") == 1) {
WxMpTemplateMessage templateMessage = getTemplateMessage(templateId, sweetWechatUser.getOpenId(), appletAppid, "pages/webview?query=active");
WxMpTemplateMessage templateMessage = getTemplateMessage(templateId, sweetWechatUser.getOpenId(), appletAppid, "pages/webview?query=lottery");
// 添加模板数据
templateMessage.addData(new WxMpTemplateData("first", "感谢关注「正在现场」服务号。我们是草莓音乐节演出官方票务平台。"))
.addData(new WxMpTemplateData("keyword1", "您已成功关注「正在现场」服务号"))
.addData(new WxMpTemplateData("keyword2", "4006-310-750"))
.addData(new WxMpTemplateData("remark", "点击下方小程序,继续参与「和我最有缘的音乐人」测试"));
.addData(new WxMpTemplateData("remark", "点击下方小程序,再次参与「草莓星球来的人」周边抽奖"));
String msgId = sendTmpMsg(templateMessage);
} else {
WxMpTemplateMessage templateMessage = getTemplateMessage(templateId, sweetWechatUser.getOpenId(), "");
......@@ -210,7 +210,7 @@ public class SweetWechatTemplateServiceImpl {
String msgId = null;
try {
// 发送模板消息
WxMpService wxMpService = wechatMpConfigure.getWxMpService();
WxMpService wxMpService = wechatMpConfigure.getWxMpService(1);
log.info("sendTmpMsg-isAccessTokenExpired:[{}] ", wxMpService.getWxMpConfigStorage().isAccessTokenExpired());
log.info("sendTmpMsg-getAccessToken:[{}] ", wxMpService.getWxMpConfigStorage().getAccessToken());
msgId = wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment