package doumeemes.api.ext; 
 | 
  
 | 
import doumeemes.api.BaseController; 
 | 
import doumeemes.core.annotation.excel.ExcelExporter; 
 | 
import doumeemes.core.annotation.pr.PreventRepeat; 
 | 
import doumeemes.core.model.ApiResponse; 
 | 
import doumeemes.core.model.PageWrap; 
 | 
import doumeemes.core.model.PageData; 
 | 
import doumeemes.dao.business.dto.CompanyInitDataDTO; 
 | 
import doumeemes.dao.business.model.Company; 
 | 
import doumeemes.dao.ext.dto.QueryCompanyExtDTO; 
 | 
import doumeemes.dao.ext.vo.CompanyExtListVO; 
 | 
import doumeemes.dao.ext.vo.CompanyInfoListVO; 
 | 
import doumeemes.service.business.CompanyService; 
 | 
import doumeemes.service.ext.CompanyExtService; 
 | 
import doumeemes.service.system.SystemLoginService; 
 | 
import io.swagger.annotations.Api; 
 | 
import io.swagger.annotations.ApiOperation; 
 | 
import org.apache.shiro.authz.annotation.RequiresPermissions;     
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.validation.annotation.Validated; 
 | 
import org.springframework.web.bind.annotation.*; 
 | 
  
 | 
import javax.servlet.http.HttpServletRequest; 
 | 
import javax.servlet.http.HttpServletResponse; 
 | 
  
 | 
import java.util.ArrayList; 
 | 
import java.util.List; 
 | 
  
 | 
/** 
 | 
 * 企业信息接口 
 | 
 * @author 江蹄蹄 
 | 
 * @date 2022/04/20 10:59 
 | 
 */ 
 | 
@RestController 
 | 
@RequestMapping("/ext/companyExt") 
 | 
@Api(tags = "企业信息接口") 
 | 
public class CompanyExtController extends BaseController { 
 | 
  
 | 
    @Autowired 
 | 
    private CompanyExtService companyExtService; 
 | 
  
 | 
    @Autowired 
 | 
    private SystemLoginService systemLoginService; 
 | 
  
 | 
    @Autowired 
 | 
    private CompanyService companyService; 
 | 
  
 | 
    /** 
 | 
     * @author Eva.Caesar Liu 
 | 
     * @date 2022/04/18 18:12 
 | 
     */ 
 | 
    @ApiOperation(value = "初始化企业接口",httpMethod = "POST" ) 
 | 
    @RequiresPermissions("ext:companyext:create") 
 | 
    @RequestMapping("/initCompany") 
 | 
    public ApiResponse<Integer> initCompany(@Validated @RequestBody CompanyInitDataDTO user , HttpServletRequest request) throws Exception{ 
 | 
        return ApiResponse.success(companyExtService.createByPlat(user, request)); 
 | 
    } 
 | 
  
 | 
    @ApiOperation(value = "编辑企业接口",httpMethod = "POST" ) 
 | 
    @RequiresPermissions("ext:companyext:update") 
 | 
    @RequestMapping("/updateByPlat") 
 | 
    public ApiResponse<Integer> updateByPlat(@Validated @RequestBody CompanyInitDataDTO user, HttpServletRequest request){ 
 | 
        return ApiResponse.success(companyExtService.updateByPlat(user, request)); 
 | 
    } 
 | 
  
 | 
    @PreventRepeat 
 | 
    @ApiOperation("新建") 
 | 
    @PostMapping("/create") 
 | 
    @RequiresPermissions("ext:companyext:create") 
 | 
    public ApiResponse create(@RequestBody Company company) { 
 | 
        return ApiResponse.success(companyService.create(company)); 
 | 
    } 
 | 
  
 | 
    @ApiOperation("根据ID删除") 
 | 
    @GetMapping("/delete/{id}") 
 | 
    @RequiresPermissions("ext:companyext:delete") 
 | 
    public ApiResponse deleteById(@PathVariable Integer id) { 
 | 
        companyService.deleteById(id); 
 | 
        return ApiResponse.success(null); 
 | 
    } 
 | 
  
 | 
    @ApiOperation("批量删除") 
 | 
    @GetMapping("/delete/batch") 
 | 
    @RequiresPermissions("ext:companyext:delete") 
 | 
    public ApiResponse deleteByIds(@RequestParam String ids) { 
 | 
        String [] idArray = ids.split(","); 
 | 
        List<Integer> idList = new ArrayList<>(); 
 | 
        for (String id : idArray) { 
 | 
            idList.add(Integer.valueOf(id)); 
 | 
        } 
 | 
        companyService.deleteByIdInBatch(idList); 
 | 
        return ApiResponse.success(null); 
 | 
    } 
 | 
  
 | 
    @ApiOperation("根据ID修改") 
 | 
    @PostMapping("/updateById") 
 | 
    @RequiresPermissions("ext:companyext:update") 
 | 
    public ApiResponse updateById(@RequestBody Company company) { 
 | 
        companyService.updateById(company); 
 | 
        return ApiResponse.success(null); 
 | 
    } 
 | 
  
 | 
    @ApiOperation("分页查询") 
 | 
    @PostMapping("/page") 
 | 
    @RequiresPermissions("ext:companyext:query") 
 | 
    public ApiResponse<PageData<CompanyExtListVO>> findPage (@RequestBody PageWrap<QueryCompanyExtDTO> pageWrap) { 
 | 
        return ApiResponse.success(companyExtService.findPage(pageWrap)); 
 | 
    } 
 | 
  
 | 
    @ApiOperation("导出Excel") 
 | 
    @PostMapping("/exportExcel") 
 | 
    @RequiresPermissions("ext:companyext:exportExcel") 
 | 
    public void exportExcel (@RequestBody PageWrap<QueryCompanyExtDTO> pageWrap, HttpServletResponse response) { 
 | 
        ExcelExporter.build(CompanyExtListVO.class).export(companyExtService.findPage(pageWrap).getRecords(), "企业信息", response); 
 | 
    } 
 | 
  
 | 
    @ApiOperation("根据ID查询") 
 | 
    @GetMapping("/{id}") 
 | 
    @RequiresPermissions("ext:companyext:query") 
 | 
    public ApiResponse findById(@PathVariable Integer id) { 
 | 
        return ApiResponse.success(companyService.findById(id)); 
 | 
    } 
 | 
  
 | 
    @ApiOperation("分页查询客户信息") 
 | 
    @PostMapping("/findCompanyInfoListVOPage") 
 | 
    @RequiresPermissions("ext:companyext:query") 
 | 
    public ApiResponse<PageData<CompanyInfoListVO>> findCompanyInfoListVOPage(@RequestBody PageWrap<QueryCompanyExtDTO> pageWrap){ 
 | 
        return ApiResponse.success(companyExtService.findCompanyInfoListVOPage(pageWrap)); 
 | 
    } 
 | 
  
 | 
    @ApiOperation("查询客户信息") 
 | 
    @GetMapping("/findCompanyInfo") 
 | 
    @RequiresPermissions("ext:companyext:query") 
 | 
    public ApiResponse<CompanyInfoListVO> findCompanyInfo (@RequestParam Integer CompanyId){ 
 | 
        return ApiResponse.success(companyExtService.findCompanyInfo(CompanyId)); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 主键更新 
 | 
     * 
 | 
     * @param company 实体对象 
 | 
     */ 
 | 
    @ApiOperation("修改公司客户信息") 
 | 
    @PostMapping("/update") 
 | 
    @RequiresPermissions("ext:companyext:query") 
 | 
    public ApiResponse update(@RequestBody Company company){ 
 | 
        companyService.update(company); 
 | 
        return ApiResponse.success(null); 
 | 
    } 
 | 
} 
 |