pull/1/head
wqy 1 year ago
parent cce5c23778
commit 94523b00ea

@ -35,6 +35,20 @@ public class RedisService {
redisCache.setCacheObject(key,list); redisCache.setCacheObject(key,list);
} }
public void setVerifyCode(String code) {
String key = RedisKeys.VERIFY_CODE + code;
redisCache.setCacheObject(key, code);
redisCache.expire(key, 5, TimeUnit.MINUTES);
}
public void deleteVerifyCode(String code) {
redisCache.deleteObject(RedisKeys.VERIFY_CODE + code);
}
public String getVerifyCode(String code) {
return redisCache.getCacheObject(RedisKeys.VERIFY_CODE + code);
}
public String getWechatToken() { public String getWechatToken() {
return redisCache.getCacheObject(RedisKeys.WECHAT_ACCESS_TOKEN); return redisCache.getCacheObject(RedisKeys.WECHAT_ACCESS_TOKEN);
} }
@ -43,12 +57,12 @@ public class RedisService {
redisCache.setCacheObject(RedisKeys.WECHAT_ACCESS_TOKEN, token, 100, TimeUnit.MINUTES); redisCache.setCacheObject(RedisKeys.WECHAT_ACCESS_TOKEN, token, 100, TimeUnit.MINUTES);
} }
public void setQrCode(String code) { public void setQrCode(String code, String scene) {
redisCache.setCacheObject(RedisKeys.WECHAT_QR_CODE, code, 30, TimeUnit.DAYS); redisCache.setCacheObject(RedisKeys.WECHAT_QR_CODE + scene, code, 30, TimeUnit.DAYS);
} }
public String getQrCode() { public String getQrCode(String scene) {
return redisCache.getCacheObject(RedisKeys.WECHAT_QR_CODE); return redisCache.getCacheObject(RedisKeys.WECHAT_QR_CODE + scene);
} }
interface RedisKeys { interface RedisKeys {
@ -57,6 +71,7 @@ public class RedisService {
String WECHAT_ACCESS_TOKEN = "WECHAT_ACCESS_TOKEN_"; String WECHAT_ACCESS_TOKEN = "WECHAT_ACCESS_TOKEN_";
String WECHAT_QR_CODE = "WECHAT_QR_CODE_"; String WECHAT_QR_CODE = "WECHAT_QR_CODE_";
String VERIFY_CODE = "VERIFY_CODE:";
} }
/** /**

@ -32,7 +32,6 @@ import java.util.List;
*/ */
@Api(description ="会员信息接口列表") @Api(description ="会员信息接口列表")
@RestController @RestController
@RequestMapping("/ums/member")
public class MemberController extends BaseController { public class MemberController extends BaseController {
@Autowired @Autowired
private MemberService service; private MemberService service;
@ -41,14 +40,14 @@ public class MemberController extends BaseController {
@Autowired @Autowired
private WechatAuthService wechatAuthService; private WechatAuthService wechatAuthService;
@GetMapping("/wechat/code") @RequestMapping(path ={"/ums/member/wechat/code","/h5/member/wechat/code"},method=RequestMethod.GET)
public AjaxResult getWechatCode() { public AjaxResult getWechatCode(@RequestParam(required = false) String scene) {
return AjaxResult.successData(wechatAuthService.getQRCode()); return AjaxResult.successData(wechatAuthService.getQRCode(scene));
} }
@ApiOperation("查询会员信息列表") @ApiOperation("查询会员信息列表")
@PreAuthorize("@ss.hasPermi('ums:member:list')") @PreAuthorize("@ss.hasPermi('ums:member:list')")
@PostMapping("/list") @PostMapping("/ums/member/list")
public ResponseEntity<Page<Member>> list(@RequestBody MemberQuery query, Pageable page) { public ResponseEntity<Page<Member>> list(@RequestBody MemberQuery query, Pageable page) {
List<Member> list = service.selectList(query, page); List<Member> list = service.selectList(query, page);
return ResponseEntity.ok(new PageImpl<>(list, page, ((com.github.pagehelper.Page)list).getTotal())); return ResponseEntity.ok(new PageImpl<>(list, page, ((com.github.pagehelper.Page)list).getTotal()));
@ -57,7 +56,7 @@ public class MemberController extends BaseController {
@ApiOperation("导出会员信息列表") @ApiOperation("导出会员信息列表")
@PreAuthorize("@ss.hasPermi('ums:member:export')") @PreAuthorize("@ss.hasPermi('ums:member:export')")
@Log(title = "会员信息", businessType = BusinessType.EXPORT) @Log(title = "会员信息", businessType = BusinessType.EXPORT)
@GetMapping("/export") @GetMapping("/ums/member/export")
public ResponseEntity<String> export(MemberQuery query) { public ResponseEntity<String> export(MemberQuery query) {
List<Member> list = service.selectList(query, null); List<Member> list = service.selectList(query, null);
ExcelUtil<MemberVO> util = new ExcelUtil<>(MemberVO.class); ExcelUtil<MemberVO> util = new ExcelUtil<>(MemberVO.class);
@ -66,7 +65,7 @@ public class MemberController extends BaseController {
@ApiOperation("获取会员信息详细信息") @ApiOperation("获取会员信息详细信息")
@PreAuthorize("@ss.hasPermi('ums:member:query')") @PreAuthorize("@ss.hasPermi('ums:member:query')")
@GetMapping(value = "/{id}") @GetMapping(value = "/ums/member/{id}")
public ResponseEntity<Member> getInfo(@PathVariable("id") Long id) { public ResponseEntity<Member> getInfo(@PathVariable("id") Long id) {
return ResponseEntity.ok(service.selectById(id)); return ResponseEntity.ok(service.selectById(id));
} }
@ -74,7 +73,7 @@ public class MemberController extends BaseController {
@ApiOperation("新增会员信息") @ApiOperation("新增会员信息")
@PreAuthorize("@ss.hasPermi('ums:member:add')") @PreAuthorize("@ss.hasPermi('ums:member:add')")
@Log(title = "会员信息", businessType = BusinessType.INSERT) @Log(title = "会员信息", businessType = BusinessType.INSERT)
@PostMapping @PostMapping("/ums/member")
public ResponseEntity<Integer> add(@RequestBody Member member) { public ResponseEntity<Integer> add(@RequestBody Member member) {
return ResponseEntity.ok(service.insert(member)); return ResponseEntity.ok(service.insert(member));
} }
@ -82,7 +81,7 @@ public class MemberController extends BaseController {
@ApiOperation("修改会员信息") @ApiOperation("修改会员信息")
@PreAuthorize("@ss.hasPermi('ums:member:edit')") @PreAuthorize("@ss.hasPermi('ums:member:edit')")
@Log(title = "会员信息", businessType = BusinessType.UPDATE) @Log(title = "会员信息", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping("/ums/member")
public ResponseEntity<Integer> edit(@RequestBody Member member) { public ResponseEntity<Integer> edit(@RequestBody Member member) {
return ResponseEntity.ok(service.update(member)); return ResponseEntity.ok(service.update(member));
} }
@ -90,7 +89,7 @@ public class MemberController extends BaseController {
@ApiOperation("修改会员备注信息") @ApiOperation("修改会员备注信息")
@PreAuthorize("@ss.hasPermi('ums:member:edit')") @PreAuthorize("@ss.hasPermi('ums:member:edit')")
@Log(title = "会员备注信息", businessType = BusinessType.UPDATE) @Log(title = "会员备注信息", businessType = BusinessType.UPDATE)
@PostMapping("/mark/update") @PostMapping("/ums/member/mark/update")
public ResponseEntity<Integer> editMark(@RequestBody Member member) { public ResponseEntity<Integer> editMark(@RequestBody Member member) {
return ResponseEntity.ok(service.updateMark(member)); return ResponseEntity.ok(service.updateMark(member));
} }
@ -98,26 +97,26 @@ public class MemberController extends BaseController {
@ApiOperation("删除会员信息") @ApiOperation("删除会员信息")
@PreAuthorize("@ss.hasPermi('ums:member:remove')") @PreAuthorize("@ss.hasPermi('ums:member:remove')")
@Log(title = "会员信息", businessType = BusinessType.DELETE) @Log(title = "会员信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}") @DeleteMapping("/ums/member/{id}")
public ResponseEntity<Integer> remove(@PathVariable Long id) { public ResponseEntity<Integer> remove(@PathVariable Long id) {
return ResponseEntity.ok(service.deleteById(id)); return ResponseEntity.ok(service.deleteById(id));
} }
@ApiOperation(("修改会员账户状态")) @ApiOperation(("修改会员账户状态"))
@Log(title = "会员信息", businessType = BusinessType.UPDATE) @Log(title = "会员信息", businessType = BusinessType.UPDATE)
@PostMapping("/status/change") @PostMapping("/ums/member/status/change")
public ResponseEntity<Integer> changeStatus(@RequestBody ChangeMemberStatusForm form){ public ResponseEntity<Integer> changeStatus(@RequestBody ChangeMemberStatusForm form){
return ResponseEntity.ok(service.changeStatus(form)); return ResponseEntity.ok(service.changeStatus(form));
} }
@ApiOperation("会员手机号解密") @ApiOperation("会员手机号解密")
@GetMapping("/phone/decrypt/{phoneEncrypted}") @GetMapping("/ums/member/phone/decrypt/{phoneEncrypted}")
public ResponseEntity<String> getPhoneDecrypted(@PathVariable String phoneEncrypted){ public ResponseEntity<String> getPhoneDecrypted(@PathVariable String phoneEncrypted){
return ResponseEntity.ok(service.getPhoneDecrypted(phoneEncrypted)); return ResponseEntity.ok(service.getPhoneDecrypted(phoneEncrypted));
} }
@ApiOperation("查看会员统计数据") @ApiOperation("查看会员统计数据")
@GetMapping("/view/statistics/{memberId}") @GetMapping("/ums/member/view/statistics/{memberId}")
public ResponseEntity<MemberDataStatisticsVO> viewStatistics(@PathVariable Long memberId){ public ResponseEntity<MemberDataStatisticsVO> viewStatistics(@PathVariable Long memberId){
return ResponseEntity.ok(service.viewStatistics(memberId)); return ResponseEntity.ok(service.viewStatistics(memberId));
} }

@ -0,0 +1,37 @@
package com.cyl.manager.ums.controller;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.redis.RedisService;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class PlatformVerifyController {
@Autowired
private RedisService redisService;
/**
* h5
* @param code
* @return
*/
@GetMapping("/h5/verified/code/generate")
public AjaxResult createCode(String code){
redisService.setVerifyCode(code);
return AjaxResult.success(true);
}
@GetMapping("/no-auth/verified/code")
public AjaxResult verifyCode(String code){
String verifyCode = redisService.getVerifyCode(code);
if (StringUtils.isEmpty(verifyCode)) {
return AjaxResult.success(false);
}
redisService.deleteVerifyCode(code);
return AjaxResult.success(true);
}
}

@ -3,7 +3,6 @@ package com.cyl.wechat;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.cyl.h5.config.SecurityUtil;
import com.cyl.wechat.response.WechatUserAuth; import com.cyl.wechat.response.WechatUserAuth;
import com.ruoyi.common.core.redis.RedisService; import com.ruoyi.common.core.redis.RedisService;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
@ -61,9 +60,9 @@ public class WechatAuthService {
* *
* @return * @return
*/ */
public String getQRCode() { public String getQRCode(String scene) {
String base64Str = redisService.getQrCode(); String base64Str = redisService.getQrCode(scene);
if (StringUtils.isNotEmpty(base64Str)) { if (!StringUtils.isEmpty(base64Str)) {
return base64Str; return base64Str;
} }
String accessToken = getAccessToken(); String accessToken = getAccessToken();
@ -73,7 +72,7 @@ public class WechatAuthService {
} }
String postUrl = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken; String postUrl = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken;
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("scene", "1"); //可以用作传参,必填,内容随意 jsonObject.put("scene", StringUtils.isEmpty(scene) ? "1" : scene); //可以用作传参,必填,内容随意
jsonObject.put("page", "pages/index/index"); //扫码后跳转页面,选填 jsonObject.put("page", "pages/index/index"); //扫码后跳转页面,选填
jsonObject.put("check_path", false); //是否检查跳转页面存不存在 jsonObject.put("check_path", false); //是否检查跳转页面存不存在
jsonObject.put("env_version", "release"); //版本 jsonObject.put("env_version", "release"); //版本
@ -85,7 +84,7 @@ public class WechatAuthService {
log.error("get wechat code error",e); log.error("get wechat code error",e);
} }
base64Str = Base64.getEncoder().encodeToString(string); base64Str = Base64.getEncoder().encodeToString(string);
redisService.setQrCode(base64Str); redisService.setQrCode(base64Str, scene);
log.info("wechat code:{}",base64Str); log.info("wechat code:{}",base64Str);
return base64Str; return base64Str;
} }
@ -95,7 +94,7 @@ public class WechatAuthService {
String token = redisService.getWechatToken(); String token = redisService.getWechatToken();
log.info("redis token{}",token); log.info("redis token{}",token);
if (StringUtils.isNotEmpty(token)) { if (!StringUtils.isEmpty(token)) {
return token; return token;
} }
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();

Loading…
Cancel
Save