This commit is contained in:
dute7liang
2024-01-21 01:50:08 +08:00
parent 0814fc36c5
commit a6302d5125
4 changed files with 77 additions and 4 deletions

View File

@@ -10,9 +10,9 @@ import com.ruoyi.cai.dto.admin.query.UserForbidReq;
import com.ruoyi.cai.dto.admin.query.UserUpdateAdminReq;
import com.ruoyi.cai.dto.admin.vo.UserAdminVo;
import com.ruoyi.cai.dto.admin.vo.UserFullAdminVo;
import com.ruoyi.cai.dto.app.query.IdRes;
import com.ruoyi.cai.manager.UserAdminManager;
import com.ruoyi.cai.manager.UserForbidManager;
import com.ruoyi.cai.service.UserForbidService;
import com.ruoyi.cai.service.UserService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
@@ -78,6 +78,11 @@ public class UserController extends BaseController {
@Autowired
private UserForbidManager userForbidManager;
@PostMapping("/resetAvatar")
public R<Void> resetAvatar(@RequestBody IdRes res){
userService.resetAvatar(res.getId());
return R.ok();
}
@PostMapping("/userForbid")
public R<Void> userForbid(@RequestBody UserForbidReq userForbidReq){

View File

@@ -10,8 +10,6 @@ import com.ruoyi.cai.dto.app.vo.user.UserInfoVo;
import com.ruoyi.cai.dto.app.vo.user.UserListVo;
import com.ruoyi.common.core.domain.PageQuery;
import java.util.List;
/**
* 用户Service接口
*
@@ -40,4 +38,6 @@ public interface UserService extends IService<User> {
void resetPassword(Long userId, String password);
boolean removeUser(Long id);
void resetAvatar(Long id);
}

View File

@@ -1,10 +1,13 @@
package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.PayConfig;
import com.ruoyi.cai.mapper.PayConfigMapper;
import com.ruoyi.cai.pay.PayConfigManager;
import com.ruoyi.cai.pay.PayTypeEnum;
import com.ruoyi.cai.service.PayConfigService;
import com.ruoyi.common.exception.ServiceException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -24,6 +27,20 @@ public class PayConfigServiceImpl extends ServiceImpl<PayConfigMapper,PayConfig>
@Override
@Transactional(rollbackFor = Exception.class)
public boolean addPayConfig(PayConfig payConfig){
if(payConfig.getPayType().equals(PayTypeEnum.ALI.getCode())){
boolean exists = this.exists(Wrappers.lambdaQuery(PayConfig.class)
.eq(PayConfig::getAppid, payConfig.getAppid()));
if(exists){
throw new ServiceException("检测到已经存在的支付宝APPID无法重复添加");
}
}
if(payConfig.getPayType().equals(PayTypeEnum.WX.getCode())){
boolean exists = this.exists(Wrappers.lambdaQuery(PayConfig.class)
.eq(PayConfig::getWxMcid, payConfig.getWxMcid()));
if(exists){
throw new ServiceException("检测到已经存在的微信商户ID无法重复添加");
}
}
boolean save = this.save(payConfig);
if(save){
payConfigManager.addPayConfig(payConfig);
@@ -34,6 +51,22 @@ public class PayConfigServiceImpl extends ServiceImpl<PayConfigMapper,PayConfig>
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updatePayConfig(PayConfig payConfig){
if(payConfig.getPayType().equals(PayTypeEnum.ALI.getCode())){
boolean exists = this.exists(Wrappers.lambdaQuery(PayConfig.class)
.eq(PayConfig::getAppid, payConfig.getAppid())
.ne(PayConfig::getId,payConfig.getId()));
if(exists){
throw new ServiceException("检测到已经存在的支付宝APPID无法重复添加");
}
}
if(payConfig.getPayType().equals(PayTypeEnum.WX.getCode())){
boolean exists = this.exists(Wrappers.lambdaQuery(PayConfig.class)
.eq(PayConfig::getWxMcid, payConfig.getWxMcid())
.ne(PayConfig::getId,payConfig.getId()));
if(exists){
throw new ServiceException("检测到已经存在的微信商户ID无法重复添加");
}
}
boolean update = this.updateById(payConfig);
if(update){
payConfig = this.getById(payConfig.getId());

View File

@@ -1,6 +1,7 @@
package com.ruoyi.cai.service.impl;
import cn.dev33.satoken.secure.BCrypt;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -9,9 +10,9 @@ 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.UserMapperQuery;
import com.ruoyi.cai.dto.app.query.index.UserQuery;
import com.ruoyi.cai.dto.app.vo.user.OnlineStatusVo;
import com.ruoyi.cai.dto.app.vo.user.UserInfoVo;
import com.ruoyi.cai.dto.app.vo.user.UserListVo;
import com.ruoyi.cai.dto.app.vo.user.OnlineStatusVo;
import com.ruoyi.cai.enums.GenderEnum;
import com.ruoyi.cai.mapper.UserMapper;
import com.ruoyi.cai.service.*;
@@ -19,11 +20,17 @@ import com.ruoyi.cai.ws.service.RoomService;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.yunxin.client.ImUserRefClient;
import com.ruoyi.yunxin.req.UpdateUinfoReq;
import com.ruoyi.yunxin.resp.YxCommonR;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
/**
* 用户Service业务层处理
*
@@ -31,6 +38,7 @@ import org.springframework.transaction.annotation.Transactional;
* @date 2023-12-19
*/
@Service
@Slf4j
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Autowired
private AnchorService anchorService;
@@ -225,4 +233,31 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
return true;
}
@Resource
private ImUserRefClient userRefClient;
@Override
public void resetAvatar(Long id) {
User user = this.getById(id);
if(user == null){
return;
}
Integer gender = user.getGender();
GenderEnum genderEnum = GenderEnum.getByCode(gender);
if(genderEnum == null){
return;
}
this.update(Wrappers.lambdaUpdate(User.class)
.eq(User::getId,user.getId())
.set(User::getAvatar,genderEnum.getDefaultAvatar())
.set(User::getAvatarState, 0));
UpdateUinfoReq uinfoReq = new UpdateUinfoReq();
uinfoReq.setAccid(user.getId()+"");
uinfoReq.setIcon(genderEnum.getDefaultAvatar());
YxCommonR r = userRefClient.updateUinfo(uinfoReq);
if(!r.isSuccess()){
log.error("云信更新失败,需要检查!{}", JSON.toJSONString(r));
}
}
}