From 856f1cf8ee52443ce616ce00ecff7cbb7c30f000 Mon Sep 17 00:00:00 2001 From: cjl <276999030@qq.com> Date: Wed, 01 Nov 2023 16:21:06 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/cjl' into dev --- screen-api/src/main/java/com/moral/api/controller/AppUserController.java | 106 ++++++++++++++++++++++++++-------------------------- 1 files changed, 53 insertions(+), 53 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/controller/AppUserController.java b/screen-api/src/main/java/com/moral/api/controller/AppUserController.java index 74d50c9..444a080 100644 --- a/screen-api/src/main/java/com/moral/api/controller/AppUserController.java +++ b/screen-api/src/main/java/com/moral/api/controller/AppUserController.java @@ -3,28 +3,28 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.codec.digest.DigestUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.client.RestTemplate; +import java.util.HashMap; import java.util.Map; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.moral.api.entity.AppUser; -import com.moral.api.exception.BusinessException; -import com.moral.api.mapper.AppUserMapper; import com.moral.api.service.UserService; -import com.moral.api.utils.WechatUtils; + +import com.moral.api.utils.HttpClientUtil; +import com.moral.api.vo.WxMssVo; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; + @Slf4j @Api(tags = {"���������������������"}) @@ -35,11 +35,8 @@ @Autowired private UserService userService; - @Autowired - private AppUserMapper appUserMapper; - - @ApiOperation(value = "������������", notes = "������������") - @PostMapping("login") + @ApiOperation(value = "������������") + @PostMapping("logins") public ResultMessage login(@RequestBody Map<String, Object> parameters) { if (!(parameters.containsKey("account") && parameters.containsKey("password"))) { return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), @@ -53,46 +50,49 @@ } - @PostMapping("/wx/login") - @ApiOperation(value = "���������������", notes = "���������������") - public ResultMessage userLogin(@RequestParam(value = "code", required = false) String code, - @RequestParam(value = "rawData", required = false) String rawData, - @RequestParam(value = "signature", required = false) String signature) { - // ������������������������rawData - // ���������signature - JSONObject rawDataJson = JSON.parseObject(rawData); - // 1.������������������������code - // 2.������������������ ������������������������ appi + appsecret + code - JSONObject SessionKeyOpenId = WechatUtils.getSessionKeyOrOpenId(code); - // 3.������������������������ ��������������������� - String openid = SessionKeyOpenId.getString("openid"); - String sessionKey = SessionKeyOpenId.getString("session_key"); - - // 4.������������ ������������������������signature������������������������������signature2 = sha1(rawData + sessionKey) - String signature2 = DigestUtils.sha1Hex(rawData + sessionKey); - if (!signature.equals(signature2)) { -// return ResultMessage.ok().message("������������������"); -// return ResultMessage.ok("������������������"); - throw new BusinessException("������������������"); - } - // 5.���������������User������������������������������������������������������������������������������������������ - LambdaQueryWrapper<AppUser> lqw = Wrappers.lambdaQuery(); - lqw.eq(AppUser::getOpenId, openid); -// User user = userService.getOne(lqw); - AppUser user = appUserMapper.selectOne(lqw); - - if (user == null) { - // ������������������ - String nickName = rawDataJson.getString("nickName"); - String avatarUrl = rawDataJson.getString("avatarUrl"); - user = new AppUser(); - user.setOpenId(Integer.parseInt(openid)); - user.setAvatarUrl(avatarUrl); - user.setNickName(nickName); - appUserMapper.insert(user); - } - return ResultMessage.ok(user); + @GetMapping("/wx/login") + @ApiOperation(value = "���������������") + public ResultMessage userLogin(@RequestParam(value = "code") String code + ) { + Map<String, Object> result = userService.wxLogin(code); + return ResultMessage.ok(result); } + @GetMapping("/wx/exit") + @ApiOperation(value = "���������������") + public ResultMessage updateUserId(@RequestParam @ApiParam(value = "userId",name = "������������") Integer userId) { + userService.updateUserId(userId); + return ResultMessage.ok(); + } + + @GetMapping("pushOneUser") + @ApiOperation(value = "���������������������") + public ResultMessage pushOneUser(String openid){ + String body = push("oOCWi6yfVapaK25Jnkk7jKSbMLyw"); + return ResultMessage.ok(body); + } + + + public String push(String openid) { + RestTemplate restTemplate = new RestTemplate(); + //������������������������������������������������access_token������������������������������access_token������������������������������ + String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + HttpClientUtil.getAccessToken(); + //��������������������� + WxMssVo wxMssVo = new WxMssVo(); + wxMssVo.setTouser(openid);//���������openid��������������������������������������������������������������������� + wxMssVo.setTemplate_id("sClgB85aEG1hgaiXpnJBopo5LJX6r91DUsyikOmUgv8");//������������������id + wxMssVo.setPage("pages/index/index"); + + Map<String, String> m = new HashMap<>(3); + m.put("time2", "2023-10-23"); + m.put("thing3", "������"); + m.put("thing7", "������������������"); + m.put("character_string8", "������������������"); + m.put("phrase10", "������������������"); + wxMssVo.setData(m); + ResponseEntity<String> responseEntity = + restTemplate.postForEntity(url, wxMssVo, String.class); + return responseEntity.getBody(); + } } -- Gitblit v1.8.0