package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.dto.UpdateAppUserDto;
import com.ruoyi.system.model.TAppUser;
import com.ruoyi.system.query.AppUserListQuery;
import com.ruoyi.system.service.TAppUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
*
* 用户管理 前端控制器
*
*
* @author xiaochen
* @since 2025-11-06
*/
@RestController
@RequestMapping("/t-app-user")
@Api(tags = "(嘉视达)用户管理")
public class TAppUserController {
@Resource
private TAppUserService appUserService;
@Autowired
private RedisTemplate redisTemplate;
@ApiOperation(value = "用户管理分页列表")
@PostMapping(value = "/pageList")
public R> pageList(@RequestBody AppUserListQuery query) {
return R.ok(appUserService.pageList(query));
}
@ApiOperation(value = "修改状态")
@GetMapping(value = "/changeStatus")
@Log(title = "小程序用户-修改状态", businessType = BusinessType.UPDATE)
public R pageList(@RequestParam Integer id) {
TAppUser appUser = appUserService.getById(id);
appUser.setStatus(appUser.getStatus()==1?2:1);
appUserService.updateById(appUser);
return R.ok();
}
@ApiOperation(value = "修改用户信息")
@PostMapping(value = "/updateAppUser")
@Log(title = "小程序用户-修改用户信息", businessType = BusinessType.UPDATE)
public R updateAppUser(@RequestBody UpdateAppUserDto dto) {
if(dto.getCode()!=null && !dto.getCode().isEmpty()){
long count = appUserService.count(new LambdaQueryWrapper().eq(TAppUser::getCode, dto.getCode()).ne(TAppUser::getId, dto.getId()));
if (count > 0) {
return R.fail("推广号已存在");
}
}
TAppUser appUser = appUserService.getById(dto.getId());
String code = appUser.getCode();
if(dto.getCode()!=null && !dto.getCode().isEmpty() && !code.equals(dto.getCode())){
appUser.setCode(dto.getCode());
// 移除之前的二维码
redisTemplate.delete("USER_WX_IMG" + appUser.getId());
}
if(dto.getPromotionStatus()!=null){
appUser.setPromotionStatus(dto.getPromotionStatus());
}
if(dto.getUserType()!=null){
appUser.setUserType(dto.getUserType());
}
if(dto.getReferrerUserId()!=null){
appUser.setReferrerUserId(dto.getReferrerUserId());
}
if(dto.getCompanyId()!=null){
appUser.setCompanyId(dto.getCompanyId());
}
appUserService.updateById(appUser);
return R.ok();
}
@ApiOperation(value = "查看详情")
@GetMapping(value = "/detail")
public R detail(@RequestParam String id) {
return R.ok(appUserService.getById( id));
}
}