package com.project.admin.controller.system;
|
|
import com.project.common.annotation.Log;
|
import com.project.common.annotation.RepeatSubmit;
|
import com.project.common.core.controller.BaseController;
|
import com.project.common.core.domain.AjaxResult;
|
import com.project.common.core.page.TableDataInfo;
|
import com.project.common.enums.BusinessType;
|
import com.project.common.utils.StringUtils;
|
import com.project.common.utils.file.ImageUtils;
|
import com.project.common.utils.poi.ExcelUtil;
|
import com.project.common.utils.zip.ZipUtils;
|
import com.project.system.domain.SysCompany;
|
import com.project.system.domain.bo.editBo.SysCompanyBo;
|
import com.project.system.domain.bo.queryBo.SysCompanyQueryBo;
|
import com.project.system.domain.vo.SysCompanyResultVo;
|
import com.project.system.domain.vo.SysCompanyVo;
|
import com.project.system.service.ISysCompanyService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
/**
|
* 企业信息Controller
|
*
|
* @author manton
|
*/
|
@Api(value = "企业信息控制器", tags = {"企业信息管理"})
|
@RequiredArgsConstructor(onConstructor_ = @Autowired)
|
@RestController
|
@RequestMapping("/system/company")
|
public class SysCompanyController extends BaseController {
|
|
private final ISysCompanyService iSysCompanyService;
|
|
|
|
@ApiOperation("查询企业信息列表")
|
@GetMapping("/list")
|
public TableDataInfo list(SysCompanyQueryBo bo)
|
{
|
startPage();
|
List<SysCompanyVo> list = iSysCompanyService.queryList(bo);
|
return getDataTable(list);
|
}
|
|
|
@ApiOperation("下载二维码")
|
@GetMapping("/downloadQrcode")
|
public void downloadQrcode(String companyIds, HttpServletResponse response)
|
{
|
if (StringUtils.isNotEmpty(companyIds)){
|
String[] split = companyIds.split(",");
|
List<Long> longs = new ArrayList<>();
|
for (String s : split) {
|
long l = Long.parseLong(s);
|
longs.add(l);
|
}
|
List<SysCompany> list = iSysCompanyService.list(iSysCompanyService.lq()
|
.in(StringUtils.isNotEmpty(longs), SysCompany::getCompanyId, longs)
|
);
|
list.forEach(e->{
|
if (StringUtils.isEmpty(e.getQrcodeImg())){
|
String qrcode = ImageUtils.createQrcode(e.getCompanyCode(), e.getCompanyName(), "2");
|
e.setQrcodeImg(qrcode);
|
iSysCompanyService.updateById(e);
|
}
|
});
|
List<String> collect = list.stream().map(SysCompany::getQrcodeImg).collect(Collectors.toList());
|
List<String> names = list.stream().map(SysCompany::getCompanyName).collect(Collectors.toList());
|
ZipUtils.downloadToZip(collect,names, response);
|
}
|
}
|
|
|
@ApiOperation("导出企业信息列表")
|
//@PreAuthorize("@ss.hasPermi('system:company:export')")
|
@Log(title = "企业信息", businessType = BusinessType.EXPORT)
|
@GetMapping("/export")
|
@RepeatSubmit
|
public AjaxResult export(SysCompanyQueryBo bo)
|
{
|
List<SysCompanyVo> list;
|
if (bo==null){
|
list = new ArrayList<>();
|
} else {
|
list = iSysCompanyService.queryList(bo);
|
}
|
ExcelUtil<SysCompanyVo> util = new ExcelUtil<>(SysCompanyVo.class);
|
return util.exportExcel(list, "企业信息");
|
}
|
|
|
@ApiOperation("获取企业信息详细信息")
|
@GetMapping("/{companyId}")
|
public AjaxResult getInfo(@PathVariable("companyId" ) Long companyId)
|
{
|
return AjaxResult.success(iSysCompanyService.queryById(companyId));
|
}
|
|
|
@ApiOperation("新增企业信息")
|
//@PreAuthorize("@ss.hasPermi('system:company:add')")
|
@Log(title = "企业信息", businessType = BusinessType.INSERT)
|
@PostMapping("/add")
|
@RepeatSubmit
|
public AjaxResult add(@RequestBody SysCompanyBo bo)
|
{
|
return toAjax(iSysCompanyService.insertByBo(bo) ? 1 : 0);
|
}
|
|
|
@ApiOperation("修改企业信息")
|
//@PreAuthorize("@ss.hasPermi('system:company:edit')")
|
@Log(title = "企业信息", businessType = BusinessType.UPDATE)
|
@PostMapping("/upd")
|
@RepeatSubmit
|
public AjaxResult upd(@RequestBody SysCompanyBo bo)
|
{
|
return toAjax(iSysCompanyService.updateByBo(bo) ? 1 : 0);
|
}
|
|
|
@ApiOperation("企业信息状态开关")
|
//@PreAuthorize("@ss.hasPermi('system:company:edit')")
|
@Log(title = "企业信息状态开关", businessType = BusinessType.UPDATE)
|
@PostMapping("/updStatus")
|
@RepeatSubmit
|
public AjaxResult updStatus(@RequestBody SysCompanyBo bo)
|
{
|
return toAjax(iSysCompanyService.updStatus(bo) ? 1 : 0);
|
}
|
|
|
@ApiOperation("删除企业信息")
|
//@PreAuthorize("@ss.hasPermi('system:company:remove')")
|
@Log(title = "企业信息" , businessType = BusinessType.DELETE)
|
@DeleteMapping("/{companyIds}")
|
@RepeatSubmit
|
public AjaxResult remove(@PathVariable Long[] companyIds)
|
{
|
return toAjax(iSysCompanyService.deleteByIds(Arrays.asList(companyIds)) ? 1 : 0);
|
}
|
|
|
@ApiOperation("企业信息模板下载")
|
@GetMapping("/exportTemplate")
|
public AjaxResult exportTemplate()
|
{
|
ExcelUtil<SysCompanyVo> util = new ExcelUtil<>(SysCompanyVo.class);
|
return util.exportExcel(null, "企业信息模板");
|
}
|
|
@ApiOperation(value = "处理导入信息")
|
@Log(title = "导入企业信息处理" , businessType = BusinessType.OTHER)
|
@ApiImplicitParam(value = "企业信息", name = "file", dataType = "file", dataTypeClass = MultipartFile.class)
|
@PostMapping("/doImport")
|
public AjaxResult doImport(@RequestPart(value = "file") MultipartFile file) throws Exception
|
{
|
|
ExcelUtil<SysCompanyVo> util = new ExcelUtil<>(SysCompanyVo.class);
|
List<SysCompanyVo> list = util.importExcel(file.getInputStream());
|
return AjaxResult.success(iSysCompanyService.doImport(list));
|
}
|
|
@ApiOperation(value = "校验导入信息")
|
@Log(title = "导入企业信息校验" , businessType = BusinessType.OTHER)
|
@PostMapping("/checkImport")
|
public AjaxResult checkImport(@RequestBody SysCompanyResultVo resultVo)
|
{
|
return AjaxResult.success(iSysCompanyService.checkImport(resultVo));
|
}
|
|
@ApiOperation(value = "保存导入信息")
|
@Log(title = "导入企业信息保存" , businessType = BusinessType.IMPORT)
|
@RepeatSubmit
|
@PostMapping("/saveImport")
|
public AjaxResult saveImport(@RequestBody SysCompanyResultVo resultVo)
|
{
|
return toAjax(iSysCompanyService.saveImport(resultVo) ? 1 : 0);
|
}
|
|
|
}
|