| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package com.cyksj.service.advertisement.impl;
- import cn.hutool.core.bean.BeanUtil;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.toolkit.Wrappers;
- import com.baomidou.mybatisplus.extension.service.IService;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.cyksj.common.exception.BusinessRuntimeException;
- import com.cyksj.common.util.StreamUtil;
- import com.cyksj.mapper.advertisement.AdvertisementProjectMapper;
- import com.cyksj.mapper.advertisement.AdvertisementUserMapper;
- import com.cyksj.model.dto.MiniProgramSession;
- import com.cyksj.model.dto.UserWhoami;
- import com.cyksj.model.entity.AdvertisementProject;
- import com.cyksj.model.entity.AdvertisementUser;
- import com.cyksj.model.entity.WxApp;
- import com.cyksj.service.advertisement.AdvertisementProjectService;
- import com.cyksj.service.advertisement.AdvertisementUserService;
- import com.cyksj.service.wechat.WeChatService;
- import lombok.RequiredArgsConstructor;
- import org.apache.commons.lang3.StringUtils;
- import org.checkerframework.checker.units.qual.A;
- import org.springframework.stereotype.Service;
- import org.springframework.util.Assert;
- import java.math.BigDecimal;
- import java.util.List;
- import java.util.Optional;
- /**
- * @author chan
- * @date 2023/5/16 11:05 AM
- */
- @RequiredArgsConstructor
- @Service
- public class AdvertisementUserServiceImpl extends ServiceImpl<AdvertisementUserMapper, AdvertisementUser> implements AdvertisementUserService {
- private final WeChatService weChatService;
- @Override
- public AdvertisementUser wxlogin(String code, String appId) throws Exception{
- MiniProgramSession session = weChatService.code2Session(appId,code);
- if(StringUtils.isBlank(session.getOpenid())){
- throw BusinessRuntimeException.getInstance("获取用户信息异常.");
- }
- // 根据unionId 判断用户是否存在
- String openid = session.getOpenid();
- // 查询用户是否存在
- LambdaQueryWrapper<AdvertisementUser> userLambdaQueryWrapper = new QueryWrapper<AdvertisementUser>().lambda();
- userLambdaQueryWrapper.eq(AdvertisementUser::getOpenId, openid);
- AdvertisementUser user = Optional.ofNullable(
- getOne(userLambdaQueryWrapper))
- .orElseGet(() -> new AdvertisementUser()
- .setOpenId(openid));
- this.saveOrUpdate(user);
- user = getById(user.getId());
- return user;
- }
- @Override
- public UserWhoami whoami(Long userId) {
- AdvertisementUser user = this.getById(userId);
- Assert.notNull(user,"业务处理失败,请联系客服");
- UserWhoami userWhoami = new UserWhoami();
- BeanUtil.copyProperties(user, userWhoami);
- return userWhoami;
- }
- }
|