package com.ruoyi.account.controller;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ruoyi.account.api.dto.AppUserWhitelistImportDTO;
|
import com.ruoyi.account.api.dto.AppUserWhitelistQueryDTO;
|
import com.ruoyi.account.api.dto.AppUserWhitelistSaveDTO;
|
import com.ruoyi.account.api.model.TAppUserWhitelist;
|
import com.ruoyi.account.api.vo.AppUserWhitelistMatchVO;
|
import com.ruoyi.account.api.vo.AppUserWhitelistImportResultVO;
|
import com.ruoyi.account.service.TAppUserWhitelistService;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.utils.poi.ExcelUtil;
|
import com.ruoyi.common.log.annotation.Log;
|
import com.ruoyi.common.log.enums.BusinessType;
|
import com.ruoyi.common.log.enums.OperatorType;
|
import com.ruoyi.common.security.annotation.Logical;
|
import com.ruoyi.common.security.annotation.RequiresPermissions;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
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.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletResponse;
|
|
/**
|
* 白名单用户管理
|
*/
|
@Api(tags = "白名单用户管理")
|
@RestController
|
@RequestMapping("/t-app-user-whitelist")
|
public class TAppUserWhitelistController {
|
|
@Resource
|
private TAppUserWhitelistService whitelistService;
|
|
@ApiOperation("分页查询白名单用户")
|
@RequiresPermissions(value = {"/appUserWhitelist/list"}, logical = Logical.OR)
|
@PostMapping("/page")
|
public R<Page<TAppUserWhitelist>> page(@RequestBody AppUserWhitelistQueryDTO queryDTO) {
|
return R.ok(whitelistService.pageList(queryDTO));
|
}
|
|
@ApiOperation("查询白名单用户详情")
|
@RequiresPermissions(value = {"/appUserWhitelist/select"}, logical = Logical.OR)
|
@GetMapping("/detail/{id}")
|
public R<TAppUserWhitelist> detail(@PathVariable("id") Long id) {
|
return R.ok(whitelistService.detail(id));
|
}
|
|
@ApiOperation("判断用户当前站点是否命中白名单")
|
@GetMapping("/match")
|
public R<AppUserWhitelistMatchVO> match(@RequestParam("appUserId") Long appUserId, @RequestParam("siteId") Integer siteId) {
|
return R.ok(whitelistService.matchWhitelist(appUserId, siteId));
|
}
|
|
@ApiOperation("新增或修改白名单用户")
|
@RequiresPermissions(value = {"/appUserWhitelist/add", "/appUserWhitelist/update"}, logical = Logical.OR)
|
@Log(title = "【白名单用户】新增或修改", businessType = BusinessType.INSERT, operatorType = OperatorType.MANAGE)
|
@PostMapping("/addOrUpdate")
|
public R<Void> addOrUpdate(@RequestBody AppUserWhitelistSaveDTO saveDTO) {
|
whitelistService.saveWhitelist(saveDTO);
|
return R.ok();
|
}
|
|
@ApiOperation("删除白名单用户")
|
@RequiresPermissions(value = {"/appUserWhitelist/del"}, logical = Logical.OR)
|
@Log(title = "【白名单用户】删除", businessType = BusinessType.DELETE, operatorType = OperatorType.MANAGE)
|
@DeleteMapping("/delete")
|
public R<Void> delete(@RequestParam("ids") String ids) {
|
whitelistService.deleteByIds(ids);
|
return R.ok();
|
}
|
|
@ApiOperation("下载白名单用户导入模板")
|
@RequiresPermissions(value = {"/appUserWhitelist/import"}, logical = Logical.OR)
|
@GetMapping("/importTemplate")
|
public void importTemplate(HttpServletResponse response) {
|
ExcelUtil<AppUserWhitelistImportDTO> util = new ExcelUtil<>(AppUserWhitelistImportDTO.class);
|
util.importTemplateExcel(response, "白名单用户导入模板",
|
"填写说明:用户手机号填写11位手机号,如:13800138000。导入后默认享受全部免费权益、适用于全部电站。");
|
}
|
|
@ApiOperation("导入白名单用户")
|
@RequiresPermissions(value = {"/appUserWhitelist/import"}, logical = Logical.OR)
|
@Log(title = "【白名单用户】导入", businessType = BusinessType.IMPORT, operatorType = OperatorType.MANAGE)
|
@PostMapping("/import")
|
public R<AppUserWhitelistImportResultVO> importData(@RequestParam("file") MultipartFile file) throws Exception {
|
AppUserWhitelistImportResultVO result = whitelistService.importWhitelist(file);
|
if (result.getErrorCount() != null && result.getErrorCount() > 0) {
|
if (result.getSuccessCount() != null && result.getSuccessCount() > 0) {
|
return R.ok(result, "导入完成,部分数据导入失败");
|
}
|
return R.fail(result, "导入失败,请检查错误数据");
|
}
|
return R.ok(result, "导入成功");
|
}
|
}
|