125 lines
4.3 KiB
Java
125 lines
4.3 KiB
Java
|
package com.ff.agent.contoller;
|
||
|
|
||
|
|
||
|
import cn.hutool.core.util.IdUtil;
|
||
|
import com.ff.agent.dto.AgentTenantSecretKeyDTO;
|
||
|
import com.ff.agent.request.AgentCreateTenantRequest;
|
||
|
import com.ff.base.core.controller.BaseController;
|
||
|
import com.ff.base.core.domain.AjaxResult;
|
||
|
import com.ff.base.core.page.TableDataInfo;
|
||
|
import com.ff.base.system.dto.TenantSecretKeyDTO;
|
||
|
import com.ff.base.system.service.ISysDeptService;
|
||
|
import com.ff.base.system.service.ISysRoleService;
|
||
|
import com.ff.base.system.service.ISysUserService;
|
||
|
import com.ff.base.utils.MessageUtils;
|
||
|
import com.ff.base.utils.SecurityUtils;
|
||
|
import com.ff.base.utils.bean.BeanUtils;
|
||
|
import com.ff.base.utils.uuid.IdUtils;
|
||
|
import com.ff.base.system.domain.TenantSecretKey;
|
||
|
import com.ff.common.service.ITenantGameQuotaService;
|
||
|
import com.ff.base.system.service.ITenantSecretKeyService;
|
||
|
import lombok.extern.slf4j.Slf4j;
|
||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||
|
import org.springframework.transaction.annotation.Transactional;
|
||
|
import org.springframework.util.Assert;
|
||
|
import org.springframework.util.CollectionUtils;
|
||
|
import org.springframework.validation.annotation.Validated;
|
||
|
import org.springframework.web.bind.annotation.*;
|
||
|
|
||
|
import javax.annotation.Resource;
|
||
|
import java.util.ArrayList;
|
||
|
import java.util.List;
|
||
|
|
||
|
/**
|
||
|
* api控制器
|
||
|
*
|
||
|
* @author shi
|
||
|
* @date 2025/02/10
|
||
|
*/
|
||
|
@RestController
|
||
|
@RequestMapping("/agent/tenant")
|
||
|
@Slf4j
|
||
|
public class AgentController extends BaseController {
|
||
|
|
||
|
|
||
|
@Resource
|
||
|
private ITenantSecretKeyService tenantSecretKeyService;
|
||
|
|
||
|
@Resource
|
||
|
private ITenantGameQuotaService tenantGameQuotaService;
|
||
|
|
||
|
@Resource
|
||
|
private ISysRoleService roleService;
|
||
|
|
||
|
@Resource
|
||
|
private ISysDeptService deptService;
|
||
|
|
||
|
@Resource
|
||
|
private ISysUserService userService;
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 列表
|
||
|
*
|
||
|
* @param tenantSecretKeyDTO 租户密钥
|
||
|
* @return {@link TableDataInfo }
|
||
|
*/
|
||
|
@GetMapping("/list")
|
||
|
@Transactional
|
||
|
@PreAuthorize("@ss.hasPermi('agent:tenant:list')")
|
||
|
public TableDataInfo list(TenantSecretKeyDTO tenantSecretKeyDTO) {
|
||
|
startPage();
|
||
|
tenantSecretKeyDTO.setAgentId(getUserId());
|
||
|
List<TenantSecretKey> tenantSecretKeys = tenantSecretKeyService.selectTenantSecretKeyDTOList(tenantSecretKeyDTO);
|
||
|
TableDataInfo dataTable = getDataTable(tenantSecretKeys);
|
||
|
List<AgentTenantSecretKeyDTO> list=new ArrayList<>();
|
||
|
for (TenantSecretKey row : (List<TenantSecretKey>) dataTable.getRows()) {
|
||
|
AgentTenantSecretKeyDTO agentTenantSecretKeyDTO=new AgentTenantSecretKeyDTO();
|
||
|
BeanUtils.copyProperties(row, agentTenantSecretKeyDTO);
|
||
|
list.add(agentTenantSecretKeyDTO);
|
||
|
}
|
||
|
dataTable.setRows(list);
|
||
|
|
||
|
return dataTable;
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 信息
|
||
|
*
|
||
|
* @return {@link AjaxResult }
|
||
|
*/
|
||
|
@PostMapping("/create")
|
||
|
@Transactional
|
||
|
@PreAuthorize("@ss.hasPermi('agent:tenant:create')")
|
||
|
public AjaxResult createTenant(@Validated @RequestBody AgentCreateTenantRequest agentCreateTenantRequest) {
|
||
|
|
||
|
Assert.isTrue(CollectionUtils.isEmpty(tenantSecretKeyService.selectTenantSecretKeyList(TenantSecretKey.builder()
|
||
|
.tenantKey(agentCreateTenantRequest.getAccount())
|
||
|
.build())), MessageUtils.message("operation.tenant.account.already.used"));
|
||
|
|
||
|
Assert.isTrue(agentCreateTenantRequest.getPassword().equals(agentCreateTenantRequest.getConfirmPassword()),MessageUtils.message("operation.password.mismatch"));
|
||
|
//创建租户
|
||
|
TenantSecretKey tenantSecretKey = new TenantSecretKey();
|
||
|
tenantSecretKey.setAgentId(getUserId());
|
||
|
tenantSecretKey.setTenantKey(agentCreateTenantRequest.getAccount());
|
||
|
tenantSecretKey.setPassword(SecurityUtils.encryptPassword(agentCreateTenantRequest.getPassword()));
|
||
|
tenantSecretKey.setTenantSn(tenantSecretKeyService.generateTenantSn());
|
||
|
tenantSecretKey.setTenantSecret(IdUtils.simpleUUID());
|
||
|
tenantSecretKey.setDepositRatio(agentCreateTenantRequest.getDepositRatio());
|
||
|
tenantSecretKey.setTenantType(agentCreateTenantRequest.getTenantType());
|
||
|
tenantSecretKey.setCreateBy(getUsername());
|
||
|
tenantSecretKey.setTenantStatus(Boolean.TRUE);
|
||
|
int insertedTenantSecretKey = tenantSecretKeyService.insertTenantSecretKey(tenantSecretKey);
|
||
|
|
||
|
|
||
|
return toAjax(insertedTenantSecretKey);
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
}
|