Commit 635fea4d 635fea4d37574052509965115e4a32bfdf78c379 by xianghan@topdraw.cn

1.新增保存小屏账户并创建会员信息的接口

1 parent 35cb731a
1 package com.topdraw.business.module.member.profile.rest; 1 package com.topdraw.business.module.member.profile.rest;
2 2
3 import com.topdraw.annotation.AnonymousAccess;
3 import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO; 4 import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO;
4 import com.topdraw.business.module.member.service.MemberService; 5 import com.topdraw.business.module.member.service.MemberService;
5 import com.topdraw.business.module.member.service.dto.MemberDTO; 6 import com.topdraw.business.module.member.service.dto.MemberDTO;
...@@ -22,7 +23,7 @@ import java.util.Objects; ...@@ -22,7 +23,7 @@ import java.util.Objects;
22 */ 23 */
23 @Api(tags = "MemberProfile管理") 24 @Api(tags = "MemberProfile管理")
24 @RestController 25 @RestController
25 @RequestMapping("/api/MemberProfile") 26 @RequestMapping("/ucEngine/api/memberProfile")
26 @CrossOrigin 27 @CrossOrigin
27 public class MemberProfileController { 28 public class MemberProfileController {
28 29
...@@ -46,6 +47,7 @@ public class MemberProfileController { ...@@ -46,6 +47,7 @@ public class MemberProfileController {
46 @Log 47 @Log
47 @PostMapping(value = "/create") 48 @PostMapping(value = "/create")
48 @ApiOperation("新增MemberProfile") 49 @ApiOperation("新增MemberProfile")
50 @AnonymousAccess
49 public ResultInfo create(@Validated @RequestBody MemberProfile resources) { 51 public ResultInfo create(@Validated @RequestBody MemberProfile resources) {
50 MemberProfileService.create(resources); 52 MemberProfileService.create(resources);
51 return ResultInfo.success(); 53 return ResultInfo.success();
...@@ -54,6 +56,7 @@ public class MemberProfileController { ...@@ -54,6 +56,7 @@ public class MemberProfileController {
54 @Log 56 @Log
55 @PutMapping(value = "/update") 57 @PutMapping(value = "/update")
56 @ApiOperation("修改MemberProfile") 58 @ApiOperation("修改MemberProfile")
59 @AnonymousAccess
57 public ResultInfo update(@Validated @RequestBody MemberProfile resources) { 60 public ResultInfo update(@Validated @RequestBody MemberProfile resources) {
58 Long memberId = resources.getMemberId(); 61 Long memberId = resources.getMemberId();
59 Assert.notNull(memberId,"memberId can't be null"); 62 Assert.notNull(memberId,"memberId can't be null");
......
1 package com.topdraw.business.module.user.iptv.rest; 1 package com.topdraw.business.module.user.iptv.rest;
2 2
3 import com.topdraw.annotation.AnonymousAccess;
3 import com.topdraw.common.ResultInfo; 4 import com.topdraw.common.ResultInfo;
4 import com.topdraw.annotation.Log; 5 import com.topdraw.annotation.Log;
5 import com.topdraw.business.module.user.iptv.domain.UserTv; 6 import com.topdraw.business.module.user.iptv.domain.UserTv;
...@@ -17,7 +18,7 @@ import io.swagger.annotations.*; ...@@ -17,7 +18,7 @@ import io.swagger.annotations.*;
17 */ 18 */
18 @Api(tags = "UserTv管理") 19 @Api(tags = "UserTv管理")
19 @RestController 20 @RestController
20 @RequestMapping("/api/UserTv") 21 @RequestMapping("/ucEngine/api/userTv")
21 public class UserTvController { 22 public class UserTvController {
22 23
23 @Autowired 24 @Autowired
...@@ -36,8 +37,9 @@ public class UserTvController { ...@@ -36,8 +37,9 @@ public class UserTvController {
36 } 37 }
37 38
38 @Log 39 @Log
39 @PostMapping 40 @PostMapping(value = "/create")
40 @ApiOperation("新增UserTv") 41 @ApiOperation("新增UserTv")
42 @AnonymousAccess
41 public ResultInfo create(@Validated @RequestBody UserTv resources) { 43 public ResultInfo create(@Validated @RequestBody UserTv resources) {
42 UserTvService.create(resources); 44 UserTvService.create(resources);
43 return ResultInfo.success(); 45 return ResultInfo.success();
...@@ -46,6 +48,7 @@ public class UserTvController { ...@@ -46,6 +48,7 @@ public class UserTvController {
46 @Log 48 @Log
47 @PutMapping 49 @PutMapping
48 @ApiOperation("修改UserTv") 50 @ApiOperation("修改UserTv")
51 @AnonymousAccess
49 public ResultInfo update(@Validated @RequestBody UserTv resources) { 52 public ResultInfo update(@Validated @RequestBody UserTv resources) {
50 UserTvService.update(resources); 53 UserTvService.update(resources);
51 return ResultInfo.success(); 54 return ResultInfo.success();
......
1 package com.topdraw.business.module.user.weixin.rest; 1 package com.topdraw.business.module.user.weixin.rest;
2 2
3 import com.topdraw.annotation.AnonymousAccess;
3 import com.topdraw.common.ResultInfo; 4 import com.topdraw.common.ResultInfo;
4 import com.topdraw.annotation.Log; 5 import com.topdraw.annotation.Log;
5 import com.topdraw.business.module.user.weixin.domain.UserWeixin; 6 import com.topdraw.business.module.user.weixin.domain.UserWeixin;
...@@ -17,7 +18,7 @@ import io.swagger.annotations.*; ...@@ -17,7 +18,7 @@ import io.swagger.annotations.*;
17 */ 18 */
18 @Api(tags = "UserWeixin管理") 19 @Api(tags = "UserWeixin管理")
19 @RestController 20 @RestController
20 @RequestMapping("/api/UserWeixin") 21 @RequestMapping("/ucEngine/api/userWeixin")
21 public class UserWeixinController { 22 public class UserWeixinController {
22 23
23 @Autowired 24 @Autowired
...@@ -36,16 +37,18 @@ public class UserWeixinController { ...@@ -36,16 +37,18 @@ public class UserWeixinController {
36 } 37 }
37 38
38 @Log 39 @Log
39 @PostMapping 40 @PostMapping(value = "/create")
40 @ApiOperation("新增UserWeixin") 41 @ApiOperation("新增UserWeixin")
42 @AnonymousAccess
41 public ResultInfo create(@Validated @RequestBody UserWeixin resources) { 43 public ResultInfo create(@Validated @RequestBody UserWeixin resources) {
42 UserWeixinService.create(resources); 44 UserWeixinService.create(resources);
43 return ResultInfo.success(); 45 return ResultInfo.success();
44 } 46 }
45 47
46 @Log 48 @Log
47 @PutMapping 49 @PutMapping(value = "/update")
48 @ApiOperation("修改UserWeixin") 50 @ApiOperation("修改UserWeixin")
51 @AnonymousAccess
49 public ResultInfo update(@Validated @RequestBody UserWeixin resources) { 52 public ResultInfo update(@Validated @RequestBody UserWeixin resources) {
50 UserWeixinService.update(resources); 53 UserWeixinService.update(resources);
51 return ResultInfo.success(); 54 return ResultInfo.success();
......
...@@ -67,6 +67,30 @@ public class UserOperationController { ...@@ -67,6 +67,30 @@ public class UserOperationController {
67 return ResultInfo.success(result); 67 return ResultInfo.success(result);
68 } 68 }
69 69
70 @Log("新增小屏账户同时创建会员信息")
71 @PostMapping(value = "/createWeixinUserAndCreateMember")
72 @ApiOperation("新增小屏账户同时创建会员信息")
73 @AnonymousAccess
74 public ResultInfo createWeixinUserAndCreateMember(@Validated @RequestBody WeiXinUserBean resources) {
75
76 log.info("Param ==> resource ==> [{}]",resources);
77
78 String appId = resources.getAppId();
79 if (StringUtils.isBlank(appId))
80 throw new NullPointerException("appId is null !");
81
82 String openId = resources.getOpenId();
83 if (StringUtils.isBlank(openId))
84 throw new NullPointerException("openId is null !");
85
86 String unionId = resources.getUnionId();
87 if (StringUtils.isBlank(unionId))
88 throw new NullPointerException("unionId is null !");
89
90 boolean result = this.userTvOperationService.createWeixinUserAndCreateMember(resources);
91 return ResultInfo.success(result);
92 }
93
70 @Log("获取大屏绑定的小屏会员列表") 94 @Log("获取大屏绑定的小屏会员列表")
71 @GetMapping(value = "/findBindByPlatformAccount/{platformAccount}") 95 @GetMapping(value = "/findBindByPlatformAccount/{platformAccount}")
72 @AnonymousAccess 96 @AnonymousAccess
...@@ -319,6 +343,7 @@ public class UserOperationController { ...@@ -319,6 +343,7 @@ public class UserOperationController {
319 @Log("保存用户手机号信息") 343 @Log("保存用户手机号信息")
320 @PostMapping(value = "/saveUserWeixinPhone") 344 @PostMapping(value = "/saveUserWeixinPhone")
321 @ApiOperation("保存用户手机号信息") 345 @ApiOperation("保存用户手机号信息")
346 @AnonymousAccess
322 public ResultInfo saveUserWeixinPhone(@RequestBody WeiXinUserBean resources) { 347 public ResultInfo saveUserWeixinPhone(@RequestBody WeiXinUserBean resources) {
323 log.info("resources :[{}]",resources); 348 log.info("resources :[{}]",resources);
324 MemberProfile s = this.userTvOperationService.saveUserWeixinPhone(resources); 349 MemberProfile s = this.userTvOperationService.saveUserWeixinPhone(resources);
......
...@@ -130,4 +130,6 @@ public interface UserOperationService { ...@@ -130,4 +130,6 @@ public interface UserOperationService {
130 130
131 131
132 JSONObject getUnionIdByAppIdAndOpenId(String appId,String secret,String code); 132 JSONObject getUnionIdByAppIdAndOpenId(String appId,String secret,String code);
133
134 boolean createWeixinUserAndCreateMember(WeiXinUserBean resources);
133 } 135 }
......
...@@ -165,19 +165,22 @@ public class MemberOperationServiceImpl implements MemberOperationService { ...@@ -165,19 +165,22 @@ public class MemberOperationServiceImpl implements MemberOperationService {
165 * @return 165 * @return
166 */ 166 */
167 private MemberProfileDTO configMemberProfile(MemberProfileDTO memberProfileDTO_0, MemberDTO memberDTO, String appid) { 167 private MemberProfileDTO configMemberProfile(MemberProfileDTO memberProfileDTO_0, MemberDTO memberDTO, String appid) {
168
169 if (Objects.isNull(memberProfileDTO_0)) return memberProfileDTO_0;
170
168 MemberProfileDTO memberProfileDTO = new MemberProfileDTO(); 171 MemberProfileDTO memberProfileDTO = new MemberProfileDTO();
169 BeanUtils.copyProperties(memberProfileDTO_0,memberProfileDTO); 172 BeanUtils.copyProperties(memberProfileDTO_0,memberProfileDTO);
170 173
171 // 真实姓名 174 // 真实姓名
172 String realname = memberProfileDTO.getRealname(); 175 String realname = memberProfileDTO.getRealname();
173 if (StringUtils.isNotBlank(realname)) { 176 if (StringUtils.isNotBlank(realname)) {
174 realname = new String(Base64.getDecoder().decode(realname.getBytes(StandardCharsets.UTF_8))); 177 realname = new String(Base64.getEncoder().encode(realname.getBytes(StandardCharsets.UTF_8)));
175 } 178 }
176 179
177 // 昵称 180 // 昵称
178 String nickname = memberDTO.getNickname(); 181 String nickname = memberDTO.getNickname();
179 if (StringUtils.isNotBlank(nickname)) { 182 if (StringUtils.isNotBlank(nickname)) {
180 nickname = new String(Base64.getDecoder().decode(nickname.getBytes(StandardCharsets.UTF_8))); 183 nickname = new String(Base64.getEncoder().encode(nickname.getBytes(StandardCharsets.UTF_8)));
181 } 184 }
182 185
183 // vip 186 // vip
......
...@@ -5,18 +5,15 @@ import cn.hutool.core.date.DateUtil; ...@@ -5,18 +5,15 @@ import cn.hutool.core.date.DateUtil;
5 import cn.hutool.core.util.ObjectUtil; 5 import cn.hutool.core.util.ObjectUtil;
6 import cn.hutool.core.util.StrUtil; 6 import cn.hutool.core.util.StrUtil;
7 import cn.hutool.http.HttpUtil; 7 import cn.hutool.http.HttpUtil;
8 import com.alibaba.druid.util.HttpClientUtils;
9 import com.alibaba.fastjson.JSONObject; 8 import com.alibaba.fastjson.JSONObject;
10 import com.topdraw.business.module.member.domain.Member; 9 import com.topdraw.business.module.member.domain.Member;
11 import com.topdraw.business.module.member.domain.MemberBuilder; 10 import com.topdraw.business.module.member.domain.MemberBuilder;
12 import com.topdraw.business.module.member.domain.MemberConstant;
13 import com.topdraw.business.module.member.profile.domain.MemberProfile; 11 import com.topdraw.business.module.member.profile.domain.MemberProfile;
14 import com.topdraw.business.module.member.profile.service.MemberProfileService; 12 import com.topdraw.business.module.member.profile.service.MemberProfileService;
15 import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO; 13 import com.topdraw.business.module.member.profile.service.dto.MemberProfileDTO;
16 import com.topdraw.business.module.member.service.MemberService; 14 import com.topdraw.business.module.member.service.MemberService;
17 import com.topdraw.business.module.member.service.dto.MemberDTO; 15 import com.topdraw.business.module.member.service.dto.MemberDTO;
18 import com.topdraw.business.module.member.service.dto.MemberQueryCriteria; 16 import com.topdraw.business.module.member.service.dto.MemberQueryCriteria;
19 import com.topdraw.business.module.member.viphistory.domain.MemberVipHistory;
20 import com.topdraw.business.module.user.iptv.domain.UserConstant; 17 import com.topdraw.business.module.user.iptv.domain.UserConstant;
21 import com.topdraw.business.module.user.iptv.domain.UserTv; 18 import com.topdraw.business.module.user.iptv.domain.UserTv;
22 import com.topdraw.business.module.user.iptv.service.UserTvService; 19 import com.topdraw.business.module.user.iptv.service.UserTvService;
...@@ -36,11 +33,8 @@ import com.topdraw.business.process.service.UserOperationService; ...@@ -36,11 +33,8 @@ import com.topdraw.business.process.service.UserOperationService;
36 import com.topdraw.business.process.service.mapper.CollectionMq2DetailMapper; 33 import com.topdraw.business.process.service.mapper.CollectionMq2DetailMapper;
37 import com.topdraw.config.LocalConstants; 34 import com.topdraw.config.LocalConstants;
38 import com.topdraw.config.RedisKeyUtil; 35 import com.topdraw.config.RedisKeyUtil;
39 import com.topdraw.config.ServiceEnvConfig;
40 import com.topdraw.exception.BadRequestException; 36 import com.topdraw.exception.BadRequestException;
41 import com.topdraw.exception.EntityNotFoundException; 37 import com.topdraw.exception.EntityNotFoundException;
42 import com.topdraw.module.mq.DataSyncMsg;
43 import com.topdraw.module.mq.EntityType;
44 import com.topdraw.security.AESUtil; 38 import com.topdraw.security.AESUtil;
45 import com.topdraw.util.IdWorker; 39 import com.topdraw.util.IdWorker;
46 import com.topdraw.util.TimestampUtil; 40 import com.topdraw.util.TimestampUtil;
...@@ -53,26 +47,18 @@ import com.topdraw.weixin.util.WeChatConstants; ...@@ -53,26 +47,18 @@ import com.topdraw.weixin.util.WeChatConstants;
53 import com.topdraw.weixin.util.WeiXinRequestUtil; 47 import com.topdraw.weixin.util.WeiXinRequestUtil;
54 import com.topdraw.weixin.util.WeixinUtil; 48 import com.topdraw.weixin.util.WeixinUtil;
55 import lombok.extern.slf4j.Slf4j; 49 import lombok.extern.slf4j.Slf4j;
56 import lombok.var;
57 import org.redisson.api.RedissonClient; 50 import org.redisson.api.RedissonClient;
58 import org.springframework.beans.BeanUtils; 51 import org.springframework.beans.BeanUtils;
59 import org.springframework.beans.factory.annotation.Autowired; 52 import org.springframework.beans.factory.annotation.Autowired;
60 import org.springframework.beans.factory.annotation.Value; 53 import org.springframework.beans.factory.annotation.Value;
54 import org.springframework.context.annotation.Bean;
61 import org.springframework.data.domain.PageRequest; 55 import org.springframework.data.domain.PageRequest;
62 import org.springframework.data.domain.Sort; 56 import org.springframework.data.domain.Sort;
63 import org.springframework.http.HttpMethod;
64 import org.springframework.http.ResponseEntity;
65 import org.springframework.stereotype.Service; 57 import org.springframework.stereotype.Service;
66 import org.springframework.transaction.annotation.Propagation; 58 import org.springframework.transaction.annotation.Propagation;
67 import org.springframework.transaction.annotation.Transactional; 59 import org.springframework.transaction.annotation.Transactional;
68 import org.springframework.util.Assert;
69 import org.springframework.util.CollectionUtils; 60 import org.springframework.util.CollectionUtils;
70 import org.springframework.web.client.RestTemplate;
71 61
72 import javax.annotation.Resource;
73 import java.io.IOException;
74 import java.sql.Timestamp;
75 import java.time.LocalDateTime;
76 import java.util.*; 62 import java.util.*;
77 import java.util.concurrent.TimeUnit; 63 import java.util.concurrent.TimeUnit;
78 import java.util.stream.Collectors; 64 import java.util.stream.Collectors;
...@@ -485,6 +471,19 @@ public class UserOperationServiceImpl implements UserOperationService { ...@@ -485,6 +471,19 @@ public class UserOperationServiceImpl implements UserOperationService {
485 } 471 }
486 472
487 /** 473 /**
474 *
475 * @param userWeixinDTO
476 * @param vip
477 * @return
478 */
479 private Long doCreateMember(UserWeixinDTO userWeixinDTO,Integer vip) {
480 UserWeixin userWeixin = new UserWeixin();
481 BeanUtils.copyProperties(userWeixinDTO,userWeixin);
482 Long memberId = this.doCreateMember(userWeixin, vip);
483 return memberId;
484 }
485
486 /**
488 * 创建会员 487 * 创建会员
489 * @description 同一用户只有一个会员,通过unionId查询任意账户是否关联了会员,如果关联了就不用再创建 488 * @description 同一用户只有一个会员,通过unionId查询任意账户是否关联了会员,如果关联了就不用再创建
490 * @param userWeixin 489 * @param userWeixin
...@@ -527,6 +526,16 @@ public class UserOperationServiceImpl implements UserOperationService { ...@@ -527,6 +526,16 @@ public class UserOperationServiceImpl implements UserOperationService {
527 return memberId; 526 return memberId;
528 } 527 }
529 528
529 private UserWeixinDTO doCreateUserWeiXin(UserWeixinDTO userWeixin,Long memberId) {
530 if (Objects.isNull(memberId))
531 throw new NullPointerException("memberId is null !");
532
533 UserWeixin userWeixin1 = new UserWeixin();
534 BeanUtils.copyProperties(userWeixin,userWeixin1);
535 UserWeixinDTO userWeixinDTO = this.doCreateUserWeiXin(userWeixin1, memberId);
536 return userWeixinDTO;
537 }
538
530 /** 539 /**
531 * 保存微信账户信息 540 * 保存微信账户信息
532 * @param userWeixin 541 * @param userWeixin
...@@ -658,21 +667,29 @@ public class UserOperationServiceImpl implements UserOperationService { ...@@ -658,21 +667,29 @@ public class UserOperationServiceImpl implements UserOperationService {
658 667
659 } 668 }
660 669
661 if (StringUtils.isNotBlank(userInfo)) { 670 String phoneNumber = "";
671 if (StringUtils.isNotBlank(encryptedData)) {
662 672
663 JSONObject userInfoJo = JSONObject.parseObject(userInfo); 673 JSONObject userInfoJo = JSONObject.parseObject(userInfo);
664 if (Objects.nonNull(userInfoJo)) { 674 if (Objects.nonNull(userInfoJo)) {
665 encryptedData = userInfoJo.getString("encryptedData"); 675 encryptedData = userInfoJo.getString("encryptedData");
666 iv = userInfoJo.getString("iv"); 676 iv = userInfoJo.getString("iv");
667 String sessionkey = jsonObject.getString("session_key"); 677 String sessionkey = jsonObject.getString("session_key");
668 String userInfoWeixin = AESUtil.decryptJsUserInfo(encryptedData, iv, sessionkey); 678 JSONObject userInfoPhone = AESUtil.decryptJsUserPhone(encryptedData, iv, sessionkey);
669 log.info("userInfo:" + userInfo); 679 if (ObjectUtil.isNull(userInfoPhone)) {
670 userInfoWxJo = JSONObject.parseObject(userInfoWeixin); 680 throw new BadRequestException("decrypt phone error...");
681 }
682
683 phoneNumber = userInfoPhone.getString("phoneNumber");
684 if (StringUtils.isBlank(phoneNumber)) {
685 throw new BadRequestException("phoneNumber is null...");
686 }
687
671 } 688 }
672 } 689 }
673 690
674 DefaultWeiXinBeanDefinition weiXinBeanDefinition = 691 DefaultWeiXinBeanDefinition weiXinBeanDefinition =
675 new DefaultWeiXinBeanDefinition(appId,code,unionId,openId,userInfoWxJo); 692 new DefaultWeiXinBeanDefinition(appId,code,unionId,openId,userInfoWxJo,phoneNumber);
676 693
677 return weiXinBeanDefinition; 694 return weiXinBeanDefinition;
678 } 695 }
...@@ -1360,6 +1377,44 @@ public class UserOperationServiceImpl implements UserOperationService { ...@@ -1360,6 +1377,44 @@ public class UserOperationServiceImpl implements UserOperationService {
1360 return jsonObject; 1377 return jsonObject;
1361 } 1378 }
1362 1379
1380 @Override
1381 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
1382 public boolean createWeixinUserAndCreateMember(WeiXinUserBean resources) {
1383
1384 String appId = resources.getAppId();
1385 String openId = resources.getOpenId();
1386 String unionId = resources.getUnionId();
1387
1388 UserWeixinDTO userWeixinDTO = this.findFirstByUnionIdAndAppIdAndOpenId(unionId,appId, openId);
1389 if (Objects.nonNull(userWeixinDTO))
1390 throw new BadRequestException("账户已存在");
1391
1392 // 当前用户的任意微信app
1393 UserWeixinDTO userWeixinDTO1 = this.findFirstByUnionId(unionId);
1394
1395 Long memberId = null;
1396 Integer vip = 0;
1397 if (Objects.nonNull(userWeixinDTO1.getId()) && Objects.nonNull(userWeixinDTO1.getMemberId())) {
1398
1399 memberId = userWeixinDTO1.getMemberId();
1400
1401 } else {
1402 userWeixinDTO1 = new UserWeixinDTO();
1403 BeanUtils.copyProperties(resources,userWeixinDTO1);
1404 // 创建会员
1405 memberId = this.doCreateMember(userWeixinDTO1,0);
1406 }
1407
1408 // 保存微信账户
1409 this.doCreateUserWeiXin(userWeixinDTO1,memberId);
1410
1411 return true;
1412 }
1413
1414 private UserWeixinDTO findFirstByUnionId(String unionId) {
1415 return this.userWeixinService.findFirstByUnionId(unionId);
1416 }
1417
1363 /** 1418 /**
1364 * 通过id检索大屏信息 1419 * 通过id检索大屏信息
1365 * @param userIptvId 1420 * @param userIptvId
......
...@@ -132,7 +132,7 @@ public class WeiXinAppletUserParser implements WeiXinUserParser { ...@@ -132,7 +132,7 @@ public class WeiXinAppletUserParser implements WeiXinUserParser {
132 } 132 }
133 133
134 DefaultWeiXinBeanDefinition weiXinBeanDefinition = 134 DefaultWeiXinBeanDefinition weiXinBeanDefinition =
135 new DefaultWeiXinBeanDefinition(appId,code,unionId,openId,userInfoWxJo); 135 new DefaultWeiXinBeanDefinition(appId,code,unionId,openId,userInfoWxJo,null);
136 return weiXinBeanDefinition; 136 return weiXinBeanDefinition;
137 } 137 }
138 138
......
...@@ -46,7 +46,7 @@ public class DefaultWeiXinBeanDefinition implements WeiXinBeanDefinition { ...@@ -46,7 +46,7 @@ public class DefaultWeiXinBeanDefinition implements WeiXinBeanDefinition {
46 public DefaultWeiXinBeanDefinition() { 46 public DefaultWeiXinBeanDefinition() {
47 } 47 }
48 48
49 public DefaultWeiXinBeanDefinition(String appId, String code,String unionId,String openId, JSONObject userInfoWxJo) { 49 public DefaultWeiXinBeanDefinition(String appId, String code,String unionId,String openId, JSONObject userInfoWxJo,String phone) {
50 50
51 this.userInfo = userInfoWxJo; 51 this.userInfo = userInfoWxJo;
52 if (userInfo != null) { 52 if (userInfo != null) {
...@@ -91,6 +91,7 @@ public class DefaultWeiXinBeanDefinition implements WeiXinBeanDefinition { ...@@ -91,6 +91,7 @@ public class DefaultWeiXinBeanDefinition implements WeiXinBeanDefinition {
91 } 91 }
92 92
93 this.unionId = unionId; 93 this.unionId = unionId;
94 this.phoneNumber = phone;
94 this.openId = openId; 95 this.openId = openId;
95 this.appid = appId; 96 this.appid = appId;
96 this.code = code; 97 this.code = code;
......
...@@ -9,15 +9,18 @@ import org.slf4j.LoggerFactory; ...@@ -9,15 +9,18 @@ import org.slf4j.LoggerFactory;
9 import org.springframework.boot.test.context.SpringBootTest; 9 import org.springframework.boot.test.context.SpringBootTest;
10 import org.springframework.test.context.junit4.SpringRunner; 10 import org.springframework.test.context.junit4.SpringRunner;
11 11
12 import java.sql.Timestamp;
13
12 @SpringBootTest(classes= MemberServiceApplication.class) 14 @SpringBootTest(classes= MemberServiceApplication.class)
13 @RunWith(SpringRunner.class) 15 @RunWith(SpringRunner.class)
14 public class BaseTest { 16 public class BaseTest {
15 17
16 public Logger LOG = LoggerFactory.getLogger(BaseTest.class); 18 public Logger LOG = LoggerFactory.getLogger(BaseTest.class);
19
17 private static String replaceUrl(String body, String ftpPath) { 20 private static String replaceUrl(String body, String ftpPath) {
18 boolean contains = body.contains("<source src="); 21 boolean contains = body.contains("<source src=");
19 if (contains) { 22 if (contains) {
20 body = body.replaceAll( "(<source src=(.*?)/>)","<source src="+"\""+ftpPath+"\"/>"); 23 body = body.replaceAll("(<source src=(.*?)/>)", "<source src=" + "\"" + ftpPath + "\"/>");
21 } 24 }
22 return body; 25 return body;
23 } 26 }
...@@ -27,4 +30,6 @@ public class BaseTest { ...@@ -27,4 +30,6 @@ public class BaseTest {
27 DataSyncMsg.TaskTemplateParam taskTemplateParam = JSONObject.parseObject(param, DataSyncMsg.TaskTemplateParam.class); 30 DataSyncMsg.TaskTemplateParam taskTemplateParam = JSONObject.parseObject(param, DataSyncMsg.TaskTemplateParam.class);
28 System.out.println(taskTemplateParam); 31 System.out.println(taskTemplateParam);
29 } 32 }
33
34
30 } 35 }
......