From 6992aaf0587c09f7c511c1afd12e1519d91363d3 Mon Sep 17 00:00:00 2001 From: cjl <276999030@qq.com> Date: Thu, 14 Dec 2023 15:38:45 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/cjl' into qa --- screen-api/src/main/java/com/moral/api/controller/AppUserController.java | 127 +++++++++++++++++++++++++----------------- 1 files changed, 76 insertions(+), 51 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..c6157c1 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,34 @@ 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 javax.validation.Valid; + 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.entity.Allocation; +import com.moral.api.pojo.query.app.AppAllocationPushUserCond; import com.moral.api.service.UserService; + + import com.moral.api.utils.WechatUtils; +import com.moral.api.vo.WxMssVo; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; + @Slf4j @Api(tags = {"���������������������"}) @@ -35,11 +41,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 +56,68 @@ } - @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(); + } + + @PostMapping("pushOneUser") + @ApiOperation(value = "���������������������") + public ResultMessage pushOneUser(@Valid @RequestBody Allocation appAllocationPushUserCond){ + userService.pushOneUser(appAllocationPushUserCond); +// String body = push("oOCWi6-_hnzSvrMT8HX5D7Dz7tEA"); + return ResultMessage.ok(); + } + + + 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=" + WechatUtils.getAccessToken(); +// String url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=" + HttpClientUtil.getAccessToken(); +// String url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=" + HttpClientUtil.getAccessToken(); +// String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + HttpClientUtil.getAccessToken(); + //��������������� +// String url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" + HttpClientUtil.getAccessToken(); + + + //��������������������� + WxMssVo wxMssVo = new WxMssVo(); + wxMssVo.setTouser(openid);//���������openid��������������������������������������������������������������������� + wxMssVo.setTemplate_id("YNqUZ1MgMvwY3G-NENVbcmIBR5dUotSdnwcz96CWrho");//������������������id + wxMssVo.setLang("zh_CN"); + wxMssVo.setMiniprogramState("formal"); +// wxMssVo.setPage("pages/index/index"); + + Map<String, Object> m = new HashMap<>(); + HashMap<String, Object> map1 = new HashMap<>(); + HashMap<String, Object> map2 = new HashMap<>(); + HashMap<String, Object> map3 = new HashMap<>(); + HashMap<String, Object> map4 = new HashMap<>(); + map1.put("value","���������2"); + map2.put("value","ouyanglun"); + map3.put("value","���������1"); + map4.put("value","2023-10-16"); + m.put("thing18", map1); + m.put("character_string1", map2); + m.put("thing2", map3); + m.put("date4", map4); + wxMssVo.setData(JSON.toJSON(m)); + + ResponseEntity<String> responseEntity = + restTemplate.postForEntity(url, wxMssVo, String.class); + return responseEntity.getBody(); + } } -- Gitblit v1.8.0