package com.qianwen.mdc.controller.account; import java.util.List; import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.qianwen.mdc.common.OpResult; import com.qianwen.mdc.dto.MachineCountryDTO; import com.qianwen.mdc.dto.account.MachineAccountEditDTO; import com.qianwen.mdc.dto.usedepartment.UseDepartmentDTO; import com.qianwen.mdc.mapper.MachineCountryMapper; import com.qianwen.mdc.service.account.MachineAccountAddService; import com.qianwen.mdc.service.usedepartment.UseDepartmentService; import com.qianwen.mdc.vallidate.AddGroup; /** * 台账新增控制器 */ @RestController @CrossOrigin @RequestMapping(value = "/account") public class MachineAccountAddController { @Autowired private MachineAccountAddService accountAddService; @Autowired private UseDepartmentService useDepartmentService; @Autowired private MachineCountryMapper countryMapper; public static final Logger logger = LoggerFactory.getLogger(MachineAccountAddController.class); @PostMapping(value = "/create") public OpResult create(@RequestHeader(value = "mdc-token", defaultValue = "") String token, @Validated(value = {AddGroup.class}) @RequestBody MachineAccountEditDTO dto, HttpServletRequest request) { try { // accountTokenService.checkToken(token); accountAddService.save(dto); } catch (Exception ex) { logger.error("新增台账错误", ex); return OpResult.fail(ex.getMessage()); } return OpResult.success(); } /** * 上传文件 * * @param file * @param id 台账id * @return */ @PostMapping(value = "/uploadPic") public OpResult uploadPic(MultipartFile file, Integer id) { try { String path = accountAddService.uploadPic(file, id); return OpResult.success(path); } catch (Exception ex) { logger.error("上传设备图片失败", ex); return OpResult.fail(ex.getMessage()); } } @GetMapping(value = "/useDepartments") public OpResult> getDepartments() { return OpResult.success(useDepartmentService.allList()); } @GetMapping(value = "/countries") public OpResult> getCountries() { return OpResult.success(this.countryMapper.selectList(Wrappers.emptyWrapper()).stream().map(c -> { MachineCountryDTO dto = new MachineCountryDTO(); dto.setId(c.getId()); dto.setName(c.getName()); return dto; }).collect(Collectors.toList())); } /* * * * @RequestMapping(value = "/file/delete", method = RequestMethod.POST) * JSONObject fileDelete(@RequestHeader(value = "mdc-token", defaultValue = "") * String token, String fileId) { //TODO checktoken * * JSONObject jsonResult = new JSONObject(); * * if (fileId == null) { jsonResult.put("result", "FAIL"); * jsonResult.put("errCode", "407"); return jsonResult; } * * String[] file = fileId.split("#"); if ((file[0] == null) || (file[1] == * null)) { jsonResult.put("result", "FAIL"); jsonResult.put("errCode", "403"); * return jsonResult; } * * MdcMachine mdcMachineObj = new MdcMachine(); * mdcMachineObj.setId(Integer.parseInt(file[0])); MdcMachine mdcMachine = * mdcMachineMapper.selectOne(mdcMachineObj); if (mdcMachine == null) { * jsonResult.put("result", "FAIL"); jsonResult.put("errCode", "404"); return * jsonResult; } * * MdcWorkshop mdcWorkshopObj = new MdcWorkshop(); * mdcWorkshopObj.setId(mdcMachine.getWorkshopId()); MdcWorkshop mdcWorkshop = * mdcWorkshopMapper.selectOne(mdcWorkshopObj); if (mdcWorkshop == null) { * jsonResult.put("result", "FAIL"); jsonResult.put("errCode", "405"); return * jsonResult; } * * MdcSection mdcSectionObj = new MdcSection(); * mdcSectionObj.setId(mdcMachine.getSectionId()); MdcSection mdcSection = * mdcSectionMapper.selectOne(mdcSectionObj); if (mdcSection == null) { * jsonResult.put("result", "FAIL"); jsonResult.put("errCode", "406"); return * jsonResult; } * * jsonResult.put("result", "SUCCESS"); * * StringBuilder sb = new StringBuilder(); * sb.append(uploadPath).append("/").append(mdcWorkshop.getName()).append("/"). * append(mdcSection.getName()) * .append("/").append(mdcMachine.getName()).append("/").append(file[1]); File * fileDel = new File(sb.toString()); fileDel.delete(); * * return jsonResult; } * * @RequestMapping(value = "/file/get", method = RequestMethod.POST) JSONObject * fileGet(@RequestHeader(value = "mdc-token", defaultValue = "") String token, * String machineId) { MdcToken mdcTokenObj = new MdcToken(); * mdcTokenObj.setToken(token); MdcToken mdcToken = * mdcTokenMapper.selectOne(mdcTokenObj); JSONObject tokenResult = * MdcTokenServiceImpl.genTokenErrMsg(mdcToken); if (tokenResult != null) { * return tokenResult; } * * mdcToken.setExpired(MdcTokenServiceImpl.genExpiredTime()); * mdcTokenMapper.updateByPrimaryKeySelective(mdcToken); * * JSONObject jsonResult = new JSONObject(); * * MdcMachine mdcMachineObj = new MdcMachine(); * mdcMachineObj.setId(Integer.parseInt(machineId)); MdcMachine mdcMachine = * mdcMachineMapper.selectOne(mdcMachineObj); if (mdcMachine == null) { * jsonResult.put("result", "FAIL"); jsonResult.put("errCode", "404"); return * jsonResult; } * * MdcWorkshop mdcWorkshopObj = new MdcWorkshop(); * mdcWorkshopObj.setId(mdcMachine.getWorkshopId()); MdcWorkshop mdcWorkshop = * mdcWorkshopMapper.selectOne(mdcWorkshopObj); if (mdcWorkshop == null) { * jsonResult.put("result", "FAIL"); jsonResult.put("errCode", "405"); return * jsonResult; } * * MdcSection mdcSectionObj = new MdcSection(); * mdcSectionObj.setId(mdcMachine.getSectionId()); MdcSection mdcSection = * mdcSectionMapper.selectOne(mdcSectionObj); if (mdcSection == null) { * jsonResult.put("result", "FAIL"); jsonResult.put("errCode", "406"); return * jsonResult; } * * jsonResult.put("result", "SUCCESS"); * * StringBuilder sb = new StringBuilder(); * sb.append(uploadPath).append("/").append(mdcWorkshop.getName()).append("/"). * append(mdcSection.getName()) .append("/").append(mdcMachine.getName()); File * path = new File(sb.toString()); * * JSONArray jsonArray = new JSONArray(); jsonResult.put("list", jsonArray); * * File[] files = path.listFiles(); if (files != null) { for (File file : files) * { JSONObject item = new JSONObject(); jsonArray.add(item); * item.put("fileName", file.getName()); } } * * return jsonResult; } */ }