init
This commit is contained in:
@@ -173,7 +173,7 @@ mybatis-plus:
|
||||
dbConfig:
|
||||
# 主键类型
|
||||
# AUTO 自增 NONE 空 INPUT 用户输入 ASSIGN_ID 雪花 ASSIGN_UUID 唯一 UUID
|
||||
idType: ASSIGN_ID
|
||||
idType: AUTO
|
||||
# 逻辑已删除值
|
||||
logicDeleteValue: 2
|
||||
# 逻辑未删除值
|
||||
|
||||
@@ -145,17 +145,17 @@ public class CaiLoginManager {
|
||||
try {
|
||||
UserInvite check = userInviteService.getByUserId(user.getId());
|
||||
if(check == null){
|
||||
UserInfo userInfo = userInfoService.getByUserId(user.getId());
|
||||
UserInfo inviteUserInfo = userInfoService.getByUserId(inviteUser.getId());
|
||||
UserInvite userInvite = new UserInvite();
|
||||
userInvite.setUserId(user.getId());
|
||||
userInvite.setInviteId(user.getInviteId());
|
||||
userInvite.setVideoIncomeRate(userInfo.getVideoIncomeRate());
|
||||
userInvite.setGuardIncomeRate(userInfo.getGuardIncomeRate());
|
||||
userInvite.setGiftIncomeRate(userInfo.getGiftIncomeRate());
|
||||
userInvite.setPayIncomeRate(userInfo.getPayIncomeRate());
|
||||
userInvite.setVideoIncomeRate(inviteUserInfo.getVideoIncomeRate());
|
||||
userInvite.setGuardIncomeRate(inviteUserInfo.getGuardIncomeRate());
|
||||
userInvite.setGiftIncomeRate(inviteUserInfo.getGiftIncomeRate());
|
||||
userInvite.setPayIncomeRate(inviteUserInfo.getPayIncomeRate());
|
||||
if(inviteUser.getIsUnion() == 1){
|
||||
BigDecimal unionOneRate = systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.DEFAULT_UNION_ONE_INCOME_RATE);
|
||||
BigDecimal videoIncome = NumberUtil.add(userInfo.getVideoIncomeRate(), unionOneRate);
|
||||
BigDecimal videoIncome = NumberUtil.add(inviteUserInfo.getVideoIncomeRate(), unionOneRate);
|
||||
userInvite.setVideoIncomeRate(videoIncome);
|
||||
}
|
||||
userInviteService.save(userInvite);
|
||||
@@ -178,6 +178,7 @@ public class CaiLoginManager {
|
||||
if(checkUnionUser != null){
|
||||
UnionUser unionUser = new UnionUser();
|
||||
unionUser.setUnionId(union.getId());
|
||||
unionUser.setUnionUserId(union.getUserId());
|
||||
unionUser.setUserId(user.getId());
|
||||
unionUser.setVideoDivide(systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.DEFAULT_UNION_VIDEO_INCOME_RATE));
|
||||
unionUser.setGiftDivide(systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.DEFAULT_UNION_VIDEO_INCOME_RATE));
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.ruoyi.cai.controller.admin;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.cai.domain.Union;
|
||||
import com.ruoyi.cai.dto.admin.query.UsercodeReq;
|
||||
import com.ruoyi.cai.dto.admin.vo.UnionAdminVo;
|
||||
import com.ruoyi.cai.service.UnionService;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
@@ -66,13 +67,10 @@ public class UnionController extends BaseController {
|
||||
@Log(title = "工会列表", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody Union bo) {
|
||||
return toAjax(unionService.save(bo));
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody UsercodeReq bo) {
|
||||
return toAjax(unionService.saveUnion(bo.getUsercode()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改工会列表
|
||||
*/
|
||||
@SaCheckPermission("cai:userUnion:edit")
|
||||
@Log(title = "工会列表", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@@ -82,15 +80,12 @@ public class UnionController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除工会列表
|
||||
*
|
||||
* @param ids 主键串
|
||||
* 解散工会
|
||||
*/
|
||||
@SaCheckPermission("cai:userUnion:remove")
|
||||
@Log(title = "工会列表", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(unionService.removeBatchByIds(Arrays.asList(ids)));
|
||||
@DeleteMapping("/{id}")
|
||||
public R<Void> dissolve(@NotNull(message = "主键不能为空") @PathVariable Long id) {
|
||||
return toAjax(unionService.dissolve(id));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.ruoyi.cai.controller.admin;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.cai.domain.User;
|
||||
import com.ruoyi.cai.domain.UserCodeGen;
|
||||
import com.ruoyi.cai.dto.admin.query.ResetPasswordReq;
|
||||
import com.ruoyi.cai.dto.admin.query.UserUpdateAdminReq;
|
||||
import com.ruoyi.cai.dto.admin.vo.UserAdminVo;
|
||||
@@ -19,12 +21,15 @@ import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 用户
|
||||
@@ -51,6 +56,24 @@ public class UserController extends BaseController {
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
@GetMapping("/getByUsercode")
|
||||
public R<User> getByUsercode(String usercode){
|
||||
return R.ok(userService.getByUserCode(usercode));
|
||||
}
|
||||
|
||||
@GetMapping("/listByUserCode")
|
||||
public R<List<String>> listByUserCode(String usercode,int limit){
|
||||
if(limit == 0){
|
||||
limit = 40;
|
||||
}
|
||||
List<User> users = userService.list(Wrappers.lambdaQuery(User.class)
|
||||
.select(User::getUsercode)
|
||||
.like(StringUtils.isNotEmpty(usercode), User::getUsercode, usercode)
|
||||
.last("limit " + limit));
|
||||
return R.ok(users.stream().map(User::getUsercode).collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取用户详细信息
|
||||
*
|
||||
@@ -97,16 +120,10 @@ public class UserController extends BaseController {
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除用户
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("cai:user:remove")
|
||||
@Log(title = "用户", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Integer[] ids) {
|
||||
return toAjax(userService.removeBatchByIds(Arrays.asList(ids)));
|
||||
@DeleteMapping("/{id}")
|
||||
public R<Void> remove(@NotNull(message = "主键不能为空") @PathVariable Long id) {
|
||||
return toAjax(userService.removeUser(id));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ public class UnionUser implements Serializable {
|
||||
* 工会id
|
||||
*/
|
||||
private Long unionId;
|
||||
private Long unionUserId;
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.ruoyi.cai.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
@@ -22,7 +23,7 @@ public class UserForbid implements Serializable {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
@TableId(value = "id",type = IdType.INPUT)
|
||||
private Long id;
|
||||
/**
|
||||
* 类型 :1 封用户uid 2.封设备uuid 3.imei 4.mac
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.ruoyi.cai.dto.admin.query;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class UsercodeReq {
|
||||
private String usercode;
|
||||
}
|
||||
@@ -27,5 +27,6 @@ public class AnchorAdminVo extends Anchor {
|
||||
private Integer gender;
|
||||
private Integer age;
|
||||
|
||||
private Long city;
|
||||
private Long cityId;
|
||||
private String city;
|
||||
}
|
||||
|
||||
@@ -17,4 +17,8 @@ public interface UnionService extends IService<Union> {
|
||||
Page<UnionAdminVo> pageAdmin(PageQuery pageQuery, UnionAdminVo bo);
|
||||
|
||||
Union getByUserId(Long userId);
|
||||
|
||||
boolean dissolve(Long id);
|
||||
|
||||
boolean saveUnion(String usercode);
|
||||
}
|
||||
|
||||
@@ -39,4 +39,5 @@ public interface UserService extends IService<User> {
|
||||
|
||||
void resetPassword(String mobile, String password);
|
||||
|
||||
boolean removeUser(Long id);
|
||||
}
|
||||
|
||||
@@ -3,12 +3,15 @@ package com.ruoyi.cai.service.impl;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.Union;
|
||||
import com.ruoyi.cai.domain.*;
|
||||
import com.ruoyi.cai.dto.admin.vo.UnionAdminVo;
|
||||
import com.ruoyi.cai.mapper.UnionMapper;
|
||||
import com.ruoyi.cai.service.UnionService;
|
||||
import com.ruoyi.cai.service.*;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* 工会列表Service业务层处理
|
||||
@@ -19,6 +22,15 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class UnionServiceImpl extends ServiceImpl<UnionMapper, Union> implements UnionService {
|
||||
|
||||
@Autowired
|
||||
private UnionUserService unionUserService;
|
||||
@Autowired
|
||||
private UserInviteService inviteService;
|
||||
@Autowired
|
||||
private UserInfoService userInfoService;
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
|
||||
@Override
|
||||
public Page<UnionAdminVo> pageAdmin(PageQuery pageQuery, UnionAdminVo bo) {
|
||||
return baseMapper.pageAdmin(pageQuery.build(),bo);
|
||||
@@ -28,4 +40,47 @@ public class UnionServiceImpl extends ServiceImpl<UnionMapper, Union> implements
|
||||
public Union getByUserId(Long userId) {
|
||||
return this.getOne(Wrappers.lambdaQuery(Union.class).eq(Union::getUserId,userId).last("limit 1"));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean dissolve(Long id) {
|
||||
Union union = this.getById(id);
|
||||
if(union == null){
|
||||
throw new ServiceException("工会不存在");
|
||||
}
|
||||
boolean b = this.removeById(id);
|
||||
if(!b){
|
||||
throw new ServiceException("工会不存在");
|
||||
}
|
||||
unionUserService.remove(Wrappers.lambdaQuery(UnionUser.class).eq(UnionUser::getUnionId,id));
|
||||
UserInfo userInfo = userInfoService.getByUserId(union.getUserId());
|
||||
inviteService.update(Wrappers.lambdaUpdate(UserInvite.class)
|
||||
.eq(UserInvite::getInviteId,union.getUserId())
|
||||
.set(UserInvite::getVideoIncomeRate,userInfo.getVideoIncomeRate())
|
||||
.set(UserInvite::getGiftIncomeRate,userInfo.getGuardIncomeRate())
|
||||
.set(UserInvite::getGuardIncomeRate,userInfo.getGuardIncomeRate())
|
||||
.set(UserInvite::getPayIncomeRate,userInfo.getPayIncomeRate()));
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean saveUnion(String usercode) {
|
||||
User user = userService.getByUserCode(usercode);
|
||||
if(user == null){
|
||||
throw new ServiceException("用户不存在");
|
||||
}
|
||||
boolean update = userService.update(Wrappers.lambdaUpdate(User.class).eq(User::getId, user.getId())
|
||||
.eq(User::getIsUnion, 0)
|
||||
.set(User::getIsUnion, 1));
|
||||
if(!update){
|
||||
throw new ServiceException("新建工会失败,工会已存在");
|
||||
}
|
||||
Union union = new Union();
|
||||
union.setUserId(user.getId());
|
||||
union.setName("工会"+user.getUsercode());
|
||||
union.setEnableRate(true);
|
||||
this.save(union);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,8 +4,7 @@ import cn.dev33.satoken.secure.BCrypt;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.Anchor;
|
||||
import com.ruoyi.cai.domain.User;
|
||||
import com.ruoyi.cai.domain.*;
|
||||
import com.ruoyi.cai.dto.admin.vo.UserAdminVo;
|
||||
import com.ruoyi.cai.dto.app.query.index.GreetQuery;
|
||||
import com.ruoyi.cai.dto.app.query.index.UserQuery;
|
||||
@@ -20,6 +19,7 @@ import com.ruoyi.common.helper.LoginHelper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* 用户Service业务层处理
|
||||
@@ -43,6 +43,16 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
||||
private UserGiftService userGiftService;
|
||||
@Autowired
|
||||
private UserOnlineService userOnlineService;
|
||||
@Autowired
|
||||
private UserInfoService userInfoService;
|
||||
@Autowired
|
||||
private UserInviteService userInviteService;
|
||||
@Autowired
|
||||
private AccountService accountService;
|
||||
@Autowired
|
||||
private UserCountService userCountService;
|
||||
@Autowired
|
||||
private DynamicImagesService dynamicImagesService;
|
||||
|
||||
@Override
|
||||
public User getByUsername(String username) {
|
||||
@@ -152,4 +162,50 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
||||
.eq(User::getMobile,mobile)
|
||||
.set(User::getPassword,BCrypt.hashpw(password)));
|
||||
}
|
||||
|
||||
@Autowired
|
||||
private UserGreetService userGreetService;
|
||||
@Autowired
|
||||
private UserMemberService userMemberService;
|
||||
@Autowired
|
||||
private UserForbidService userForbidService;
|
||||
@Autowired
|
||||
private AnchorApplyService anchorApplyService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean removeUser(Long id) {
|
||||
User user = this.getById(id);
|
||||
if(user == null){
|
||||
throw new ServiceException("用户不存在");
|
||||
}
|
||||
if(user.getIsUnion() == 1){
|
||||
throw new ServiceException("该用户为会长,无法删除,请先前往工会列表解散工会");
|
||||
}
|
||||
if(user.getType() == 1){
|
||||
throw new ServiceException("该员工为内部员工,禁止删除");
|
||||
}
|
||||
boolean b = this.removeById(id);
|
||||
if(!b){
|
||||
throw new ServiceException("用户不存在");
|
||||
}
|
||||
userOnlineService.remove(Wrappers.lambdaQuery(UserOnline.class).eq(UserOnline::getUserId, id));
|
||||
userInfoService.remove(Wrappers.lambdaQuery(UserInfo.class).eq(UserInfo::getUserId, id));
|
||||
userInviteService.remove(Wrappers.lambdaQuery(UserInvite.class).eq(UserInvite::getUserId, id));
|
||||
userInviteService.remove(Wrappers.lambdaQuery(UserInvite.class).eq(UserInvite::getInviteId, id));
|
||||
accountService.remove(Wrappers.lambdaQuery(Account.class).eq(Account::getUserId, id));
|
||||
userCountService.remove(Wrappers.lambdaQuery(UserCount.class).eq(UserCount::getUserId, id));
|
||||
anchorService.remove(Wrappers.lambdaQuery(Anchor.class).eq(Anchor::getUserId, id));
|
||||
userAlbumService.remove(Wrappers.lambdaQuery(UserAlbum.class).eq(UserAlbum::getUserId, id));
|
||||
dynamicService.remove(Wrappers.lambdaQuery(Dynamic.class).eq(Dynamic::getUserId, id));
|
||||
dynamicImagesService.remove(Wrappers.lambdaQuery(DynamicImages.class).eq(DynamicImages::getUserId, id));
|
||||
userFollowService.remove(Wrappers.lambdaQuery(UserFollow.class).eq(UserFollow::getUserId, id));
|
||||
userFollowService.remove(Wrappers.lambdaQuery(UserFollow.class).eq(UserFollow::getFollowUser, id));
|
||||
userGreetService.remove(Wrappers.lambdaQuery(UserGreet.class).eq(UserGreet::getUserId,id));
|
||||
userMemberService.remove(Wrappers.lambdaQuery(UserMember.class).eq(UserMember::getUserId,id));
|
||||
userForbidService.remove(Wrappers.lambdaQuery(UserForbid.class).eq(UserForbid::getId,id));
|
||||
anchorApplyService.remove(Wrappers.lambdaQuery(AnchorApply.class).eq(AnchorApply::getId,id));
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
t1.*,t2.age,t2.avatar,t2.usercode,t2.nickname,t2.mobile,t2.gender,t2.age,t2.city
|
||||
from cai_anchor t1
|
||||
left join cai_user t2 on t1.user_id = t2.id
|
||||
order by t1.create_time desc
|
||||
</select>
|
||||
<select id="pageApp" resultType="com.ruoyi.cai.dto.app.vo.AnchorListVo">
|
||||
select t1.avatar,t1.gender,t1.city,t1.nickname,t1.usercode,t1.city_id,t1.city,t2.give_score
|
||||
|
||||
@@ -25,13 +25,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<select id="pageAdmin" resultType="com.ruoyi.cai.dto.admin.vo.UserInviteAdminVo">
|
||||
select t1.*,
|
||||
t2.usercode,t2.mobile,
|
||||
t3.usercode as invite_usercode,t3.mobile as invite_mobile,t3.is_union as invite_is_union,
|
||||
t5.name as union_name
|
||||
t3.usercode as invite_usercode,t3.mobile as invite_mobile,t3.is_union as invite_is_union
|
||||
from cai_user_invite t1
|
||||
left join cai_user t2 on t1.user_id = t2.id
|
||||
left join cai_user t3 on t1.invite_id = t3.id
|
||||
left join cai_union_user t4 on t1.user_id = t4.user_id
|
||||
left join cai_union t5 on t4.union_id = t5.id
|
||||
<where>
|
||||
<if test="bo.mobile != null and bo.mobile != ''">
|
||||
and t2.mobile = #{bo.mobile}
|
||||
@@ -45,9 +42,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="bo.inviteUsercode != null and bo.inviteUsercode != ''">
|
||||
and t3.usercode = #{bo.inviteUsercode}
|
||||
</if>
|
||||
<if test="bo.unionName != null and bo.unionName != ''">
|
||||
and t5.name like concat('%',#{bo.unionName},'%')
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
and t1.city = #{query.city}
|
||||
</if>
|
||||
</where>
|
||||
order by t2.last_login_time desc
|
||||
</select>
|
||||
<select id="pageApp" resultType="com.ruoyi.cai.dto.app.vo.user.UserListVo">
|
||||
select t1.avatar,t1.gender,t1.city,t1.city_id,t1.nickname,t1.usercode,t1.age,t2.last_live_time
|
||||
|
||||
Reference in New Issue
Block a user