99 lines
5.3 KiB
Java
99 lines
5.3 KiB
Java
package com.peanut.modules.common.controller;
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
import com.peanut.common.utils.R;
|
|
import com.peanut.common.utils.ShiroUtils;
|
|
import com.peanut.modules.common.entity.*;
|
|
import com.peanut.modules.common.service.MyUserService;
|
|
import com.peanut.modules.common.service.UserInviteCourseService;
|
|
import com.peanut.modules.common.service.UserInviteRegisterService;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.apache.commons.lang.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* 用户邀请管理
|
|
*/
|
|
@Slf4j
|
|
@RestController("commonUserInvite")
|
|
@RequestMapping("common/userInvite")
|
|
public class UserInviteController {
|
|
|
|
@Autowired
|
|
private UserInviteRegisterService inviteRegisterService;
|
|
@Autowired
|
|
private UserInviteCourseService inviteCourseService;
|
|
@Autowired
|
|
private MyUserService myUserService;
|
|
|
|
|
|
//获取邀请注册记录列表
|
|
@RequestMapping("/getInviteRegisterList")
|
|
public R getInviteRegisterList(@RequestBody Map<String,Object> params) {
|
|
MPJLambdaWrapper<UserInviteRegister> wrapper = new MPJLambdaWrapper();
|
|
wrapper.leftJoin(MyUserEntity.class,MyUserEntity::getId,UserInviteRegister::getUserId);
|
|
wrapper.leftJoin(MyUserEntity.class,MyUserEntity::getId,UserInviteRegister::getInvitedUserId);
|
|
wrapper.select("t.create_time");
|
|
wrapper.select("t1.name,t1.nickname,t1.tel,t1.email");
|
|
wrapper.select("t2.name invitedName,t2.nickname invitedNickname,t2.tel invitedTel,t2.email invitedEmail");
|
|
wrapper.orderByDesc(UserInviteRegister::getId);
|
|
if (StringUtils.isNotBlank(params.get("userInfo").toString())){
|
|
wrapper.and(t->t.like(MyUserEntity::getName,params.get("userInfo")).or().like(MyUserEntity::getNickname,params.get("userInfo"))
|
|
.or().like(MyUserEntity::getTel,params.get("userInfo")).or().like(MyUserEntity::getEmail,params.get("userInfo")));
|
|
}
|
|
if (StringUtils.isNotBlank(params.get("invitedUserInfo").toString())){
|
|
wrapper.and(t->t.like(MyUserEntity::getName,params.get("invitedUserInfo")).or().like(MyUserEntity::getNickname,params.get("invitedUserInfo"))
|
|
.or().like(MyUserEntity::getTel,params.get("invitedUserInfo")).or().like(MyUserEntity::getEmail,params.get("invitedUserInfo")));
|
|
}
|
|
Page<Map<String,Object>> page = inviteRegisterService.pageMaps(new Page<>((int)params.get("page"), (int)params.get("limit")), wrapper);
|
|
return R.ok().put("result", page);
|
|
}
|
|
|
|
//获取邀请购买课程记录列表
|
|
@RequestMapping("/getInviteCourseList")
|
|
public R getInviteCourseList(@RequestBody Map<String,Object> params) {
|
|
MPJLambdaWrapper<UserInviteCourse> wrapper = new MPJLambdaWrapper();
|
|
wrapper.leftJoin(MyUserEntity.class,MyUserEntity::getId,UserInviteCourse::getUserId);
|
|
wrapper.leftJoin(MyUserEntity.class,MyUserEntity::getId,UserInviteCourse::getInvitedUserId);
|
|
wrapper.leftJoin(BuyOrder.class,BuyOrder::getOrderId,UserInviteCourse::getOrderId);
|
|
wrapper.leftJoin(CourseEntity.class,CourseEntity::getId,UserInviteCourse::getCourseId);
|
|
wrapper.leftJoin(CourseCatalogueEntity.class,CourseCatalogueEntity::getId,UserInviteCourse::getCatalogueId);
|
|
wrapper.select("t.create_time");
|
|
wrapper.select("t1.name,t1.nickname,t1.tel,t1.email");
|
|
wrapper.select("t2.name invitedName,t2.nickname invitedNickname,t2.tel invitedTel,t2.email invitedEmail");
|
|
wrapper.select("t3.order_sn,t4.title,t5.title catalogueTitle");
|
|
wrapper.orderByDesc(UserInviteCourse::getId);
|
|
if (StringUtils.isNotBlank(params.get("userInfo").toString())){
|
|
wrapper.and(t->t.like(MyUserEntity::getName,params.get("userInfo")).or().like(MyUserEntity::getNickname,params.get("userInfo"))
|
|
.or().like(MyUserEntity::getTel,params.get("userInfo")).or().like(MyUserEntity::getEmail,params.get("userInfo")));
|
|
}
|
|
if (StringUtils.isNotBlank(params.get("invitedUserInfo").toString())){
|
|
wrapper.and(t->t.like(MyUserEntity::getName,params.get("invitedUserInfo")).or().like(MyUserEntity::getNickname,params.get("invitedUserInfo"))
|
|
.or().like(MyUserEntity::getTel,params.get("invitedUserInfo")).or().like(MyUserEntity::getEmail,params.get("invitedUserInfo")));
|
|
}
|
|
if (StringUtils.isNotBlank(params.get("courseName").toString())){
|
|
wrapper.like(CourseEntity::getTitle,params.get("courseName"));
|
|
}
|
|
Page<Map<String,Object>> page = inviteCourseService.pageMaps(new Page<>((int)params.get("page"), (int)params.get("limit")), wrapper);
|
|
return R.ok().put("result", page);
|
|
}
|
|
|
|
//生成邀请码
|
|
@RequestMapping("/generateInviteCode")
|
|
public R generateInviteCode() {
|
|
MyUserEntity userEntity = myUserService.getById(ShiroUtils.getUId());
|
|
String code = inviteRegisterService.generateInviteCode();
|
|
userEntity.setInviteCode(code);
|
|
myUserService.updateById(userEntity);
|
|
return R.ok();
|
|
|
|
}
|
|
}
|