当前位置: 首页 > news >正文

泰安市网站建设_网站建设公司_小程序网站_seo优化

芜湖网站备案咨询电话,深圳网站建设价格多少,文创产品设计步骤,白沙网站建设的基本情况前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住分享一下给大家。点击跳转到教程。 import com.alibaba.druid.support.json.JSONUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; imp…前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。点击跳转到教程。  import com.alibaba.druid.support.json.JSONUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.foreveross.security.service.extension.ApplicationException; import com.foreveross.springboot.dubbo.utils.Payload; import com.XXX.XXX.domain.dto.ProjectImportDto; import com.xxx.xxx.service.rest.api.ProjectImportRestService; import com.google.common.collect.Lists; import com.sargeraswang.util.ExcelUtil.ExcelLogs; import com.sargeraswang.util.ExcelUtil.ExcelUtil; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileItemFactory; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils;import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.PersistenceUnit; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.Consumes; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.util.Collection; import java.util.Date; import java.util.List; import java.util.UUID;/*** 导入xxxx数据*/ Service(projectImportRestService) Path(/api/v1/project) public class ProjectImportRestServiceImpl implements ProjectImportRestService {private static Logger logger LoggerFactory.getLogger(ProjectImportRestServiceImpl.class);PersistenceUnitprivate EntityManagerFactory emf;private ListString questionIds; // 存储问题数据POSTPath(/import)Consumes({MediaType.MULTIPART_FORM_DATA})Produces({MediaType.APPLICATION_JSON})Overridepublic Payload importProject(Context HttpServletRequest request, Context HttpServletResponse response) {response.setCharacterEncoding(UTF-8);boolean isMultipart ServletFileUpload.isMultipartContent(request);if (isMultipart) {FileItemFactory factory new DiskFileItemFactory();ServletFileUpload upload new ServletFileUpload(factory);// 支持中文文件名upload.setHeaderEncoding(utf-8);ListFileItem fileItems Lists.newArrayList(); // guava 不用处理泛型左边是什么类型右边可以自动匹配。如果list里面放map这种就可以自动转换。try {fileItems upload.parseRequest(request);FileItem fileItem fileItems.get(0); // 可以多文件上传只有一个文件所以get(0)取第一个。//获得上传的文件名String name UUID.randomUUID().toString() - fileItem.getName();String filePath /home/logs;this.upload4Stream(name, filePath, fileItem.getInputStream());} catch (ApplicationException ex) {ex.printStackTrace(); // return new Payload(ex.getMessage());throw new ApplicationException(Response.Status.NOT_IMPLEMENTED, ex.getMessage());} catch (Exception e) {e.printStackTrace();throw new ApplicationException(Response.Status.INTERNAL_SERVER_ERROR, 导入发生异常, e);}} else {throw new ApplicationException(Response.Status.INTERNAL_SERVER_ERROR, 请上传文件);}return new Payload(Success questionIds);}/*** 上传文件具体操作 ** param fileName 文件名* param filePath 文件上传路径* param inStream 文件流* return 上传是否成功*/private boolean upload4Stream(String fileName, String filePath,InputStream inStream) throws Exception {boolean result false;if ((filePath null) || (filePath.trim().length() 0)) {return result;}File outputFile null;try {String wholeFilePath filePath File.separator fileName;File dir new File(filePath);if (!dir.exists()) {dir.mkdirs();}outputFile new File(wholeFilePath);boolean isFileExist outputFile.exists();boolean canUpload true;if (isFileExist) {canUpload outputFile.delete();}if (canUpload) {FileUtils.copyInputStreamToFile(inStream, outputFile);//导入数据库importData(outputFile);}} finally {FileUtils.deleteQuietly(outputFile);}return result;}/*** 导入Excel 数据到数据库* param file* throws Exception*/private void importData(File file) throws Exception {InputStream inputStream new FileInputStream(file);ExcelLogs logs new ExcelLogs();CollectionProjectImportDto list ExcelUtil.importExcel(ProjectImportDto.class, inputStream,yyyy-MM-dd HH:mm:ss, logs);EntityManager em getEm();try {int i 0;for (ProjectImportDto dto : list) {if (StringUtils.isEmpty(dto.getProjectCode())) {throw new ApplicationException(Response.Status.INTERNAL_SERVER_ERROR, xxx编号不能为空请输入xxx编号并检查是否为文本类型);}String querySql select * from GAEI_PROJECT where CODE dto.getProjectCode() ;ListObject objectArrayList em.createNativeQuery(querySql).getResultList();int result;try {em.getTransaction().begin();if (!CollectionUtils.isEmpty(objectArrayList)) {Object[] data (Object[]) objectArrayList.get(0);JSONArray jsonArray JSON.parseArray(data[9].toString()); // -----------------------------------------checkManagerId(dto,em); // -----------------------------------------String professionJson toProfessionJson(jsonArray, dto);String updateSql update GAEI_PROJECT set PROFESSIONAL_GROUP professionJson where CODE dto.getProjectCode() ;result em.createNativeQuery(updateSql).executeUpdate();} else { // -----------------------------------------checkManagerId(dto,em); // -----------------------------------------JSONArray jsonArray new JSONArray();String insertSql insert into GAEI_PROJECT (SOURCE, PROJECT_DIRECTOR_NO, CODE, STATUS,CREATED_AT, PROFESSIONAL_GROUP) values (本系统新增, gedProjectDirectorId(dto.getProjectManagerCode(),em) , dto.getProjectCode() , 正常, DateFormatUtils.format(new Date(), yyyy-MM-dd HH:mm:ss) , toProfessionJson(jsonArray, dto) );result em.createNativeQuery(insertSql).executeUpdate();}em.getTransaction().commit();} catch (ApplicationException ex) {ex.printStackTrace();throw new ApplicationException(Response.Status.INTERNAL_SERVER_ERROR, ex.getMessage());} catch (Exception ex) {ex.printStackTrace();em.getTransaction().rollback();throw new ApplicationException(Response.Status.INTERNAL_SERVER_ERROR, 导入xxxx数据失败, ex);}if (result 0) {throw new ApplicationException(Response.Status.INTERNAL_SERVER_ERROR, 插入xxx数据失败);}}} catch (ApplicationException ex) {ex.printStackTrace();throw new ApplicationException(Response.Status.INTERNAL_SERVER_ERROR, ex.getMessage());}catch (Exception ex) {ex.printStackTrace();throw new ApplicationException(Response.Status.INTERNAL_SERVER_ERROR, ex.getMessage());} finally {if (null ! em) {em.close();}}}/*** 得xxxxid* param projectManagerCode* param em* return*/private String gedProjectDirectorId(String projectManagerCode,EntityManager em){if(projectManagerCode.length() 3){ // 没有工号return 00000;}String getIdSql select id from appbricks_user where usernumber projectManagerCode ;String projectDirectorId (String)em.createNativeQuery(getIdSql).getSingleResult();if(null projectDirectorId){questionIds.add(xxx工号:projectManagerCode);throw new ApplicationException(Response.Status.INTERNAL_SERVER_ERROR, xxx工号 projectManagerCode 有误请核查);}return projectDirectorId;}/*** 设置xxxxid* param dto* param em*/private ProjectImportDto checkManagerId(ProjectImportDto dto,EntityManager em){String getManagerIdSql select id from appbricks_user where usernumber dto.getProfessionGroupManagerCode() ;if(null ! dto null ! dto.getProfessionGroupManagerCode()){if(dto.getProfessionGroupManagerCode().length()4 ){ // 长度大于4String managerId null;try{managerId (String)em.createNativeQuery(getManagerIdSql).getSingleResult();}catch ( Exception e){questionIds.add(xxxx工号:dto.getProfessionGroupManagerCode());logger.info(------------------------------------------------------------------\nxxx导入xxxid不正确 e.getMessage());throw new ApplicationException(Response.Status.INTERNAL_SERVER_ERROR, xxxx工号 dto.getProfessionGroupManagerCode() 有误请核查);}dto.setProfessionGroupManagerCode(String.valueOf(managerId));}else {dto.setProfessionGroupManagerCode(无);}}else {dto.setProfessionGroupManagerCode(无);}return dto;}/*** 得EntityManager** return*/private EntityManager getEm() {return emf.createEntityManager();}/*** xxx转json* param jsonArray* param dto* return*/private String toProfessionJson(JSONArray jsonArray, ProjectImportDto dto) {JSONObject jsonObject new JSONObject();jsonObject.put(name, dto.getProfessionGroup());jsonObject.put(departmentId, );jsonObject.put(managerId, dto.getProfessionGroupManagerCode());jsonObject.put(managerName, dto.getProfessionGroupManagerName());if(null jsonArray){jsonArray new JSONArray();}jsonArray.add(jsonObject);return JSONUtils.toJSONString(jsonArray);} }
http://www.ihoyoo.com/news/37991.html

相关文章:

  • 湛江模板建站系统做数据的网站有哪些内容
  • 大安市网站仿站源码
  • 沈阳个人网站建设代理品牌cocos creator做网站
  • 怎么投稿各大媒体网站网站建设的行业客户
  • 为什么中国人都跑去泰国做网站网站建设网站需要的软硬件
  • 必要这个网站怎么样地址一地址二在线发布页
  • 网站开发属于软件设计嘛网站优化推广怎么做
  • 自学网站建设作业义乌网络优化
  • 北京网站建设seo跨境电商服务
  • phpstudy搭建网站教程哪里制作网站好
  • 网站qq未启用旧安卓手机做网站
  • 网站开发分类列表北京经济适用房
  • 网站怎么做中英文交互免费响应式网站模板
  • 淘宝客网站开发视频定制化开发是什么意思
  • 手机微网站平台登录入口保定网站建设多少钱哪家好
  • 如何制作自己的视频网站宜宾百度网站建设
  • 网站设计英文东莞建设工程交易网
  • django完整网站开发响应网站开发
  • 定边网站建设wordpress 免签约主题
  • 玉林市住房和城乡建设局网站网站备份文件
  • 加强企业门户网站建设淮安市哪里可以做网站
  • 做网站建设的销售薪水和目网站
  • 第三方商城网站开发阳江招聘网最新消息今天招聘
  • 网站大数据怎么做琪恋网站建设
  • 安徽省建设厅网站工程师查询怎么网站搜索排名优化
  • 域名哪个网站买最好复杂的手游app要多少钱
  • 哈尔滨大型网站设计公司合肥网站建设黄页
  • 自学建百度首页网站宁夏交通建设质监局官方网站
  • 用meteor框架做的微博网站vs中做网站怎么设置图片标准
  • 任县网站建设小程序怎么引流推广