xuhy
2024-08-23 bb3b342cecf87eeba29c3258cf6ac0d835f48254
邀请用户积分处理,首页公告处理
12个文件已修改
65 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUser.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/ali/pojo/AppletUserLogin.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppUserService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TInviteUserService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TInviteUserServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/wx/pojo/AppletUserEncrypteData.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppUserMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TAdvertisingController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TNoticeController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUser.java
@@ -11,6 +11,7 @@
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@@ -109,6 +110,9 @@
    @ApiModelProperty(value = "最后一次登录时间")
    @TableField("last_login_time")
    private LocalDateTime lastLoginTime;
    @ApiModelProperty(value = "邀请人id")
    @TableField("invite_user_id")
    private Long inviteUserId;
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/ali/pojo/AppletUserLogin.java
@@ -19,4 +19,7 @@
    @NotBlank(message = "获取用户信息加密串不能为空")
    private String token;
    @ApiModelProperty(value = "邀请用户id")
    private Long inviteUserId;
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java
@@ -65,7 +65,7 @@
            String phoneNumber = new AliAppletTools(aliProperties).getPhoneNumber(appletUserLogin.getToken());
            log.info("获取支付宝用户信息:{}", phoneNumber);
            // 用户信息封装
            return AjaxResult.success(appUserService.aliLogin(response,phoneNumber));
            return AjaxResult.success(appUserService.aliLogin(response,phoneNumber,appletUserLogin.getInviteUserId()));
        } else {
             String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
             log.warn("诊断结果:{}",diagnosisUrl);
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java
@@ -65,6 +65,6 @@
        }
        AppletUserDecodeData appletUserDecodeData = WxUtils.encryptedData(data.getEncryptedData(), sessionKey,  data.getIv());
        appletUserDecodeData.setOpenId(openid);
        return AjaxResult.success(appUserService.wxLogin(appletUserDecodeData));
        return AjaxResult.success(appUserService.wxLogin(appletUserDecodeData,data.getInviteUserId()));
    }
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TAppUserService.java
@@ -24,7 +24,7 @@
     * @param appletUserDecodeData
     * @return
     */
    Map<String, Object> wxLogin(AppletUserDecodeData appletUserDecodeData);
    Map<String, Object> wxLogin(AppletUserDecodeData appletUserDecodeData,Long inviteUserId);
    /**
     * 支付宝小程序登录用户封装
@@ -32,7 +32,7 @@
     * @return
     */
//    Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response, AlipayUserInfoShareResponse userInfo);
    Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response,String phone);
    Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response,String phone,Long inviteUserId);
    /**
     * 封装用户信息和token
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/TInviteUserService.java
@@ -13,4 +13,11 @@
 */
public interface TInviteUserService extends IService<TInviteUser> {
    /**
     * 添加邀请用户
     * @param appUserId
     * @param beInvitedAppUserId
     */
    void saveInviteUser(Long appUserId, Long beInvitedAppUserId);
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java
@@ -10,6 +10,7 @@
import com.ruoyi.account.api.model.TAppUser;
import com.ruoyi.account.mapper.TAppUserMapper;
import com.ruoyi.account.service.TAppUserService;
import com.ruoyi.account.service.TInviteUserService;
import com.ruoyi.account.wx.model.WeixinProperties;
import com.ruoyi.account.wx.pojo.AppletUserDecodeData;
import com.ruoyi.common.core.exception.ServiceException;
@@ -35,8 +36,10 @@
public class TAppUserServiceImpl extends ServiceImpl<TAppUserMapper, TAppUser> implements TAppUserService {
    @Autowired
    private TokenService tokenService;
    @Autowired
    private TInviteUserService inviteUserService;
    @Override
    public Map<String, Object> wxLogin(AppletUserDecodeData appletUserDecodeData) {
    public Map<String, Object> wxLogin(AppletUserDecodeData appletUserDecodeData,Long inviteUserId) {
        // 通过手机号查询用户,是否已存在手动导入用户,包含支付宝用户
        TAppUser appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class)
                .eq(TAppUser::getPhone, appletUserDecodeData.getPhoneNumber())
@@ -56,17 +59,19 @@
        if(Objects.nonNull(appUser.getStatus())){
            throwInfo(appUser.getStatus());
        }
        appUser.setInviteUserId(inviteUserId);
        appUser.setAvatar(appletUserDecodeData.getAvatarUrl());
        appUser.setCity(appletUserDecodeData.getCity());
        appUser.setName(appletUserDecodeData.getNickName());
        appUser.setProvince(appletUserDecodeData.getProvince());
        appUser.setWxOpenid(appletUserDecodeData.getOpenId());
        this.saveOrUpdate(appUser);
        inviteUserService.saveInviteUser(appUser.getId(), inviteUserId);
        return this.getUserInfo(appUser);
    }
    @Override
    public Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response,String phone) {
    public Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response,String phone,Long inviteUserId) {
        // 通过手机号查询用户,是否已存在手动导入用户,包含微信用户
        TAppUser appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class)
                .eq(TAppUser::getPhone, phone)
@@ -86,8 +91,10 @@
        if(Objects.nonNull(appUser.getStatus())){
            throwInfo(appUser.getStatus());
        }
        appUser.setInviteUserId(inviteUserId);
        appUser.setAliOpenid(response.getOpenId());
        this.saveOrUpdate(appUser);
        inviteUserService.saveInviteUser(appUser.getId(), inviteUserId);
        return this.getUserInfo(appUser);
    }
//    @Override
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TInviteUserServiceImpl.java
@@ -6,6 +6,8 @@
import com.ruoyi.account.service.TInviteUserService;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
/**
 * <p>
 *  服务实现类
@@ -17,4 +19,12 @@
@Service
public class TInviteUserServiceImpl extends ServiceImpl<TInviteUserMapper, TInviteUser> implements TInviteUserService {
    @Override
    public void saveInviteUser(Long appUserId, Long beInvitedAppUserId) {
        TInviteUser inviteUser = new TInviteUser();
        inviteUser.setAppUserId(appUserId);
        inviteUser.setBeInvitedAppUserId(beInvitedAppUserId);
        inviteUser.setCreateTime(LocalDateTime.now());
        this.save(inviteUser);
    }
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/wx/pojo/AppletUserEncrypteData.java
@@ -1,5 +1,6 @@
package com.ruoyi.account.wx.pojo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@@ -14,4 +15,6 @@
    private String rawData;
    private String signature;
    private String code;
    @ApiModelProperty(value = "邀请用户id")
    private Long inviteUserId;
}
ruoyi-service/ruoyi-account/src/main/resources/mapper/account/TAppUserMapper.xml
@@ -24,11 +24,12 @@
        <result column="create_time" property="createTime" />
        <result column="del_flag" property="delFlag" />
        <result column="last_login_time" property="lastLoginTime" />
        <result column="invite_user_id" property="inviteUserId" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, name, phone, avatar, vip_id, vip_end_time, company_id, id_card, auth_status, wx_openid, ali_openid, points, province, province_code, city, city_code, status, create_time, del_flag, last_login_time
        id, name, phone, avatar, vip_id, vip_end_time, company_id, id_card, auth_status, wx_openid, ali_openid, points, province, province_code, city, city_code, status, create_time, del_flag, last_login_time,invite_user_id
    </sql>
</mapper>
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TAdvertisingController.java
@@ -69,9 +69,10 @@
    @ApiOperation(tags = {"小程序-广告管理"},value = "广告列表查询")
    @GetMapping(value = "/list")
    public AjaxResult<List<TAdvertising>> list() {
    public AjaxResult<List<TAdvertising>> list(@RequestParam("position") Integer position) {
        return AjaxResult.ok(advertisingService.list(Wrappers.lambdaQuery(TAdvertising.class)
                .eq(TAdvertising::getStatus, AdvertisingStatusEnum.YES.getCode())));
                .eq(TAdvertising::getStatus, AdvertisingStatusEnum.YES.getCode())
                .eq(TAdvertising::getPosition,position)));
    }
}
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TNoticeController.java
@@ -1,6 +1,7 @@
package com.ruoyi.other.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.other.api.domain.TNotice;
@@ -12,6 +13,7 @@
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
/**
 * <p>
@@ -80,5 +82,14 @@
    }
    @ApiOperation(tags = {"小程序-首页-公告管理"},value = "查询")
    @GetMapping(value = "/list")
    public AjaxResult<List<TNotice>> list() {
        return AjaxResult.success(noticeService.list(Wrappers.lambdaQuery(TNotice.class)
                .ge(TNotice::getStartTime, LocalDateTime.now())
                .le(TNotice::getEndTime,LocalDateTime.now())));
    }
}