|
package com.yami.trading.admin.controller.user;
|
|
import cn.hutool.core.util.StrUtil;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.yami.trading.admin.controller.service.SysUserOperService;
|
import com.yami.trading.admin.controller.user.model.UserDataAddModel;
|
import com.yami.trading.admin.facade.PermissionFacade;
|
import com.yami.trading.admin.model.UpdateUserModel;
|
import com.yami.trading.admin.model.UserDataListModel;
|
import com.yami.trading.bean.model.User;
|
import com.yami.trading.bean.user.dto.UserDataDto;
|
import com.yami.trading.common.annotation.SysLog;
|
import com.yami.trading.common.constants.Constants;
|
import com.yami.trading.common.domain.Result;
|
import com.yami.trading.common.exception.YamiShopBindException;
|
import com.yami.trading.common.util.IPHelper;
|
import com.yami.trading.security.common.util.SecurityUtils;
|
import com.yami.trading.security.common.manager.PasswordManager;
|
import com.yami.trading.service.user.UserRecomService;
|
import com.yami.trading.service.user.UserService;
|
import com.yami.trading.sys.service.SysUserService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.security.core.parameters.P;
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.validation.Valid;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@RestController
|
@RequestMapping("userData")
|
@Api(tags = "用户基础数据")
|
public class UserDataController {
|
@Autowired
|
UserService userService;
|
@Autowired
|
SysUserService sysUserService;
|
@Autowired
|
PasswordManager passwordManager;
|
@Autowired
|
PasswordEncoder passwordEncoder;
|
|
@Autowired
|
UserRecomService userRecomService;
|
|
@Autowired
|
SysUserOperService sysUserOperService;
|
|
@Autowired
|
private PermissionFacade permissionFacade;
|
|
@PostMapping("list")
|
@ApiOperation("列表")
|
public Result<Page<UserDataDto>> list(@Valid @RequestBody UserDataListModel model) {
|
List<String> roleNames = new ArrayList<>();
|
if (StrUtil.isEmpty(model.getRolename())) {
|
roleNames.add(Constants.SECURITY_ROLE_GUEST);
|
roleNames.add(Constants.SECURITY_ROLE_MEMBER);
|
roleNames.add(Constants.SECURITY_ROLE_TEST);
|
} else {
|
roleNames.add(model.getRolename());
|
}
|
|
Page<UserDataDto> page = new Page(model.getCurrent(), model.getSize());
|
userService.listUserAndRecom(page, roleNames, model.getUserCode(), model.getUserName(), model.getLastIp(),
|
permissionFacade.getOwnerUserIds());
|
for (UserDataDto userDataDto : page.getRecords()) {
|
userDataDto.setOnline(userService.isOnline(userDataDto.getUserId()));
|
userDataDto.setLoginAuthority(userDataDto.getStatus()==1);
|
userDataDto.setUserRegip(userDataDto.getUserLastip());
|
}
|
return Result.ok(page);
|
}
|
|
@ApiOperation(value = "修改用户")
|
@PostMapping("update")
|
@SysLog("修改用户")
|
public Result update(@Valid @RequestBody UpdateUserModel model) {
|
User user = userService.getById(model.getUserId());
|
if (user == null) {
|
throw new YamiShopBindException("参数错误!");
|
}
|
user.setEnabled(model.isEnabled());
|
user.setRemarks(model.getRemarks());
|
user.setStatus(model.isLoginAuthority()?1:0);
|
user.setWithdrawAuthority(model.isWithdrawAuthority());
|
user.setStatus(model.isLoginAuthority() ? 1 : 0);
|
user.setCreditScore(model.getCreditScore());
|
userService.updateById(user);
|
return Result.ok(null);
|
}
|
|
@ApiOperation(" 新增 演示账号")
|
@PostMapping(value = "add")
|
public Result add(@RequestBody @Valid UserDataAddModel request) {
|
request.setPassword(passwordManager.decryptPassword(request.getPassword()));
|
String username = request.getUsername().replace(" ", "");
|
String password = request.getPassword().replace(" ", "");
|
userService.saveUser(username, password, request.isLoginAuthority(), request.isEnabled(), request.getRemarks(), SecurityUtils.getSysUser().getUserId().toString(), IPHelper.getIpAddr(), request.getParentsUseCode());
|
return Result.succeed();
|
}
|
}
|