From 0c87cb27f3ebf6775f5fb14d9b9654570ccc1cdd Mon Sep 17 00:00:00 2001 From: chendaze <1824191732@qq.com> Date: Mon, 26 Feb 2024 15:53:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E5=AF=B9=E5=BA=94?= =?UTF-8?q?=E7=9A=84=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/mapper/IcsCustomerStaffMapper.java | 1 + .../service/IIcsCustomerStaffService.java | 3 + .../impl/IcsCustomerStaffServiceImpl.java | 6 ++ .../mapper/admin/IcsCustomerStaffMapper.xml | 4 + .../com/ics/common/constant/Constants.java | 5 ++ .../ics/controller/mobile/SmallWxOkHttp.java | 4 +- .../mobile/WxLoginAPIController.java | 76 ++++++++++++++++--- .../meeting/ApiRoomContentController.java | 32 ++++++++ 8 files changed, 119 insertions(+), 12 deletions(-) create mode 100644 ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiRoomContentController.java diff --git a/ics-admin/src/main/java/com/ics/admin/mapper/IcsCustomerStaffMapper.java b/ics-admin/src/main/java/com/ics/admin/mapper/IcsCustomerStaffMapper.java index cfc4d48..d35cebe 100644 --- a/ics-admin/src/main/java/com/ics/admin/mapper/IcsCustomerStaffMapper.java +++ b/ics-admin/src/main/java/com/ics/admin/mapper/IcsCustomerStaffMapper.java @@ -69,4 +69,5 @@ public interface IcsCustomerStaffMapper extends BaseMapper { */ String checkMobileUnique(IcsCustomerStaff icsCustomerStaff); + IcsCustomerStaff selectUserByOpenid(String openid); } diff --git a/ics-admin/src/main/java/com/ics/admin/service/IIcsCustomerStaffService.java b/ics-admin/src/main/java/com/ics/admin/service/IIcsCustomerStaffService.java index bd3734b..168e5da 100644 --- a/ics-admin/src/main/java/com/ics/admin/service/IIcsCustomerStaffService.java +++ b/ics-admin/src/main/java/com/ics/admin/service/IIcsCustomerStaffService.java @@ -68,4 +68,7 @@ public interface IIcsCustomerStaffService extends IService { * @return */ String checkMobileUnique(IcsCustomerStaff icsCustomerStaff); + + IcsCustomerStaff selectUserByOpenid(String openid); + } diff --git a/ics-admin/src/main/java/com/ics/admin/service/impl/IcsCustomerStaffServiceImpl.java b/ics-admin/src/main/java/com/ics/admin/service/impl/IcsCustomerStaffServiceImpl.java index 080d02b..4ed9825 100644 --- a/ics-admin/src/main/java/com/ics/admin/service/impl/IcsCustomerStaffServiceImpl.java +++ b/ics-admin/src/main/java/com/ics/admin/service/impl/IcsCustomerStaffServiceImpl.java @@ -94,4 +94,10 @@ public class IcsCustomerStaffServiceImpl extends ServiceImpl WHERE mobile=#{mobile} + diff --git a/ics-common/ics-common-core/src/main/java/com/ics/common/constant/Constants.java b/ics-common/ics-common-core/src/main/java/com/ics/common/constant/Constants.java index bbe8295..2c774fd 100644 --- a/ics-common/ics-common-core/src/main/java/com/ics/common/constant/Constants.java +++ b/ics-common/ics-common-core/src/main/java/com/ics/common/constant/Constants.java @@ -125,4 +125,9 @@ public class Constants { * 企业访客 */ public static final String CUSTOMER_VISIT = "2"; + + + /** + * + */ } diff --git a/ics-web/src/main/java/com/ics/controller/mobile/SmallWxOkHttp.java b/ics-web/src/main/java/com/ics/controller/mobile/SmallWxOkHttp.java index 923d70d..e211f55 100644 --- a/ics-web/src/main/java/com/ics/controller/mobile/SmallWxOkHttp.java +++ b/ics-web/src/main/java/com/ics/controller/mobile/SmallWxOkHttp.java @@ -10,8 +10,8 @@ import java.util.Map; public class SmallWxOkHttp { - static String APP_ID = "wxa29895567831500a"; - static String SECRET = "46a11f73665fffaa888061d806661a93"; + static String APP_ID = "wxd9f93ef41a607dd5"; + static String SECRET = "417507767334672bc46bb6eb3bf1c29b"; public static JSONObject sendGet(String url , Map map){ OkHttpClient client = new OkHttpClient(); diff --git a/ics-web/src/main/java/com/ics/controller/mobile/WxLoginAPIController.java b/ics-web/src/main/java/com/ics/controller/mobile/WxLoginAPIController.java index 515594d..ddc8ee4 100644 --- a/ics-web/src/main/java/com/ics/controller/mobile/WxLoginAPIController.java +++ b/ics-web/src/main/java/com/ics/controller/mobile/WxLoginAPIController.java @@ -9,10 +9,14 @@ import cn.binarywang.wx.miniapp.util.WxMaConfigHolder; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.aliyun.oss.ServiceException; import com.ics.admin.domain.IcsCustomerStaff; import com.ics.admin.service.IIcsCustomerStaffService; +import com.ics.common.annotation.LoginUser; import com.ics.common.constant.Constants; +import com.ics.common.core.controller.BaseController; import com.ics.common.core.domain.R; +import com.ics.common.exception.user.UserPasswordNotMatchException; import com.ics.common.utils.DateUtils; import com.ics.common.utils.MessageUtils; import com.ics.common.utils.RandomUtil; @@ -47,7 +51,9 @@ import java.util.concurrent.TimeUnit; */ @Slf4j @RestController -public class WxLoginAPIController { +public class WxLoginAPIController extends BaseController { + + @Autowired private IIcsCustomerStaffService icsCustomerStaffService; @@ -65,6 +71,44 @@ public class WxLoginAPIController { String smallWxAccessTokenKey = "smallWxAccessToken"; String smallWxUserPassword = "123456"; + + + @PostMapping("/weixin/login") + public R login(@RequestBody Map paramMap) { + // 参数 + String jsCode = paramMap.get("jsCode"); + // 必填 + if (org.apache.commons.lang3.StringUtils.isBlank(jsCode)) { + throw new RuntimeException("请传递jsCode"); + } + // 小程序登录 + JSONObject sessionObject = SmallWxOkHttp.code2Session(jsCode); + String openid = sessionObject.getString("openid"); + String unionid = sessionObject.getString("unionid"); + // + R ajax = R.ok(); + // 校验用户是否存在 + IcsCustomerStaff sysUser = icsCustomerStaffService.selectUserByOpenid(openid); + // 用户存在直接获取token + if (sysUser != null) { + String phonenumber = sysUser.getMobile(); + User user = new User(); + PublishFactory.recordLoginInfo(sysUser.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")); + BeanUtils.copyBeanProp(user, sysUser); + Map token = tokenService.createToken(user); + ajax.put(Constants.TOKEN, token); +// ajax.put(Constants.TOKEN, token); + ajax.put("user", sysUser); + ajax.put("openid", openid); + return ajax; + } else { // 用户不存在返回openid进行注册登录 + ajax.put("openid", openid); + return ajax; + } + } + + + @PostMapping("/social_user_login/login") public R social(@RequestBody Map paramMap) { try { @@ -92,9 +136,22 @@ public class WxLoginAPIController { User user = new User(); PublishFactory.recordLoginInfo(list.get(0).getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")); BeanUtils.copyBeanProp(user,list.get(0)); - return R.ok(tokenService.createToken(user)); + Map token = tokenService.createToken(user); + R ajax = R.ok(); + ajax.put(Constants.TOKEN, token); +// ajax.put(Constants.TOKEN, token); + ajax.put("user", user); + ajax.put("openid", openid); + return ajax; }else { - return R.error("登录失败"); + // 新增用户信息 + icsCustomerStaff.setUsername(phoneNumber); + icsCustomerStaff.setDataType(Constants.CUSTOMER_VISIT); + icsCustomerStaff.setOpenid(openid); + icsCustomerStaff.setGender("0"); + icsCustomerStaff.setStatus("0"); + int i = icsCustomerStaffService.insertIcsCustomerStaff(icsCustomerStaff); + return toAjax(i); } } catch (Exception e) { log.error(e.getMessage(), e); @@ -115,7 +172,7 @@ public class WxLoginAPIController { return smallWxAccessToken; } - @PostMapping("/wx/login") + @PostMapping("/wx/getUserInfo") public R login(@RequestBody String mobile) { try { //检查是否是否存在 @@ -123,16 +180,15 @@ public class WxLoginAPIController { icsCustomerStaff.setMobile(mobile); List list = icsCustomerStaffService.selectIcsCustomerStaffList(icsCustomerStaff); if(list.size()>0){ - User user = new User(); - PublishFactory.recordLoginInfo(list.get(0).getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")); - BeanUtils.copyBeanProp(user,list.get(0)); - return R.ok(tokenService.createToken(user)); + IcsCustomerStaff icsCustomerStaff1 = list.get(0); + return R.ok().put("data",icsCustomerStaff1); }else { - return R.error("登录失败"); + return R.error("获取微信用户数据失败"); } } catch (Exception e) { - log.error("调用微信服务器出现异常", e); return R.error("获取微信用户数据失败"); } } + + } diff --git a/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiRoomContentController.java b/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiRoomContentController.java new file mode 100644 index 0000000..74cfef6 --- /dev/null +++ b/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiRoomContentController.java @@ -0,0 +1,32 @@ +package com.ics.controller.mobile.meeting; + +import com.ics.admin.domain.meeting.RoomContent; +import com.ics.admin.service.meeting.IRoomContentService; +import com.ics.common.core.controller.BaseController; +import com.ics.common.core.domain.R; +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.RestController; + +import java.util.List; + +@RestController +@RequestMapping("/roomContent") +public class ApiRoomContentController extends BaseController { + + @Autowired + private IRoomContentService roomContentService; + + + /** + * 获取房间内容 + */ + @GetMapping("list") + public R list(RoomContent roomContent) { + List roomContents = roomContentService.selectRoomContentList(roomContent); + + return result(roomContents); + } + +}