diff --git a/dxhy-core/src/main/java/com/dxhy/core/config/WebConfiguration.java b/dxhy-core/src/main/java/com/dxhy/core/config/WebConfiguration.java index 50ba2ef3..a935bf45 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/config/WebConfiguration.java +++ b/dxhy-core/src/main/java/com/dxhy/core/config/WebConfiguration.java @@ -65,7 +65,7 @@ public class WebConfiguration implements WebMvcConfigurer { private ArrayList getIncludePathPatterns() { ArrayList list = new ArrayList<>(); String[] urls = - {"/excel/apply", "/ftp/download", "/scan/get/scaninfo", "/setPwd", "/resetPwd", "/invoiceDetail/info", + {"/mailGatherLog/**","/emailMaintain/**","/excel/apply", "/ftp/download", "/scan/get/scaninfo", "/setPwd", "/resetPwd", "/invoiceDetail/info", "/invoiceDetail/saleInfo", "/smcy/info", "/invoiceDetail/companyPoolInvoiceDetail/**", "/pool/**"}; Collections.addAll(list, urls); return list; diff --git a/dxhy-core/src/main/java/com/dxhy/core/controller/mailGather/EmailMaintainController.java b/dxhy-core/src/main/java/com/dxhy/core/controller/mailGather/EmailMaintainController.java index 0823020c..b2f4cf11 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/controller/mailGather/EmailMaintainController.java +++ b/dxhy-core/src/main/java/com/dxhy/core/controller/mailGather/EmailMaintainController.java @@ -1,22 +1,29 @@ package com.dxhy.core.controller.mailGather; import cn.hutool.core.codec.Base64; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.excel.EasyExcel; import com.alibaba.fastjson.JSONObject; import com.dxhy.common.controller.AbstractController; +import com.dxhy.common.util.UUIDUtils; import com.dxhy.common.utils.Base64Encoding; import com.dxhy.common.utils.R; import com.dxhy.common.vo.UserInfo; +import com.dxhy.core.model.mailGather.EmailMaintainExcel; import com.dxhy.core.model.mailGather.EmailMaintainVo; import com.dxhy.core.service.mailGather.EmailMaintainService; +import com.google.common.collect.Lists; +import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.http.ResponseEntity; -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.RestController; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.IOException; +import java.util.Date; +import java.util.List; import java.util.Map; /** @@ -110,16 +117,79 @@ public class EmailMaintainController extends AbstractController { /** * 编辑数据 * - * @param emailMaintain 实体 + * @param file 实体 * @return 编辑结果 */ - @PostMapping("/emailUpload") - public ResponseEntity emailUpload(@RequestBody EmailMaintainVo emailMaintain) { - boolean b = emailMaintainService.update(emailMaintain); - if(b){ - return ResponseEntity.ok(R.ok()); + @RequestMapping("/emailUpload") + public ResponseEntity emailUpload(@RequestParam(value = "file") MultipartFile file, + @RequestParam(value = "deptId") String deptId, + @RequestParam(value = "deptName") String deptName) { + + try { + List emailMaintainExcels = + EasyExcel.read(file.getInputStream()).sheet().head(EmailMaintainExcel.class).headRowNumber(1).doReadSync(); + log.info("解析的数据:{}",JSONObject.toJSONString(emailMaintainExcels)); + if (emailMaintainExcels == null || emailMaintainExcels.isEmpty()) { + return ResponseEntity.ok(R.error("数据解析失败")); + } + List errorMsgList = Lists.newArrayList(); + List mailList = Lists.newArrayList(); + + int resultIndex = 2; + for (EmailMaintainExcel maintainExcel : emailMaintainExcels) { + String userId = maintainExcel.getUserId(); + if (StringUtils.isBlank(userId)) { + errorMsgList.add("第" + resultIndex + "行,用户编码不能为空"); + continue; + } + String userName = emailMaintainService.getUserName(userId); + if(StringUtils.isBlank(userName)){ + errorMsgList.add("第" + resultIndex + "行,用户编码在系统中查询不到,请核实!"); + continue; + } + String address = maintainExcel.getEmailAddress(); + if (StringUtils.isBlank(address)) { + errorMsgList.add("第" + resultIndex + "行,邮箱地址不能为空"); + continue; + } + if(!"@qq.com".equals(address) || !"@163.com".equals(address)){ + errorMsgList.add("第" + resultIndex + "行,不支持该邮箱类型"); + continue; + } + String password = maintainExcel.getEmailPassword(); + if (StringUtils.isBlank(password)) { + errorMsgList.add("第" + resultIndex + "行,授权码不能为空"); + continue; + } + EmailMaintainVo maintainVo = new EmailMaintainVo(); + maintainVo.setId(UUIDUtils.generateShortUuid()); + maintainVo.setCompanyCode(deptId); + maintainVo.setDeptName(deptName); + maintainVo.setUsername(userName); + maintainVo.setUserId(userId); + maintainVo.setEmailAddress(address); + String encode = Base64Encoding.encode(password); + maintainVo.setEmailPassword(encode); + maintainVo.setDelStatus("0"); + maintainVo.setCreateUser(getUserInfo().getLoginname()); + maintainVo.setCreateTime(new Date()); + maintainVo.setModifyTime(new Date()); + mailList.add(maintainVo); + resultIndex++; + } + if (ObjectUtil.isNotEmpty(errorMsgList)) { + JSONObject json = new JSONObject(); + json.put("datalist", errorMsgList); + return ResponseEntity.ok(R.ok().put("data",Base64.encode(json.toJSONString()))); + } + int i = emailMaintainService.insertBatch(mailList); + if(i > 0){ + return ResponseEntity.ok(R.ok()); + } + } catch (IOException e) { + throw new RuntimeException(e); } - return ResponseEntity.ok(R.error()); + return ResponseEntity.ok(R.error("数据解析失败")); } diff --git a/dxhy-core/src/main/java/com/dxhy/core/model/mailGather/EmailMaintainExcel.java b/dxhy-core/src/main/java/com/dxhy/core/model/mailGather/EmailMaintainExcel.java new file mode 100644 index 00000000..72760453 --- /dev/null +++ b/dxhy-core/src/main/java/com/dxhy/core/model/mailGather/EmailMaintainExcel.java @@ -0,0 +1,23 @@ +package com.dxhy.core.model.mailGather; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.dxhy.core.model.CommonDTO; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + + +@Data +public class EmailMaintainExcel { + + + @ExcelProperty("序号") + public String xh; + @ExcelProperty("*用户编码") + public String userId; + @ExcelProperty("*邮箱地址") + public String emailAddress; + @ExcelProperty("*授权码") + public String emailPassword; +} diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/mailGather/EmailMaintainService.java b/dxhy-core/src/main/java/com/dxhy/core/service/mailGather/EmailMaintainService.java index 220990ed..99328e74 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/service/mailGather/EmailMaintainService.java +++ b/dxhy-core/src/main/java/com/dxhy/core/service/mailGather/EmailMaintainService.java @@ -1,6 +1,7 @@ package com.dxhy.core.service.mailGather; import com.dxhy.core.model.mailGather.EmailMaintainVo; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -48,4 +49,6 @@ public interface EmailMaintainService { boolean deleteById(String id); String getUserName(String userCode); + + int insertBatch(List entities); } diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/mailGather/impl/EmailMaintainServiceImpl.java b/dxhy-core/src/main/java/com/dxhy/core/service/mailGather/impl/EmailMaintainServiceImpl.java index 7f2c9d9d..892b849f 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/service/mailGather/impl/EmailMaintainServiceImpl.java +++ b/dxhy-core/src/main/java/com/dxhy/core/service/mailGather/impl/EmailMaintainServiceImpl.java @@ -30,8 +30,6 @@ public class EmailMaintainServiceImpl implements EmailMaintainService { /** * 通过ID查询单条数据 - * - * @param id 主键 * @return 实例对象 */ @Override @@ -46,17 +44,16 @@ public class EmailMaintainServiceImpl implements EmailMaintainService { */ @Override public String queryByPage(Map pramsMap) { - List returnList = new ArrayList<>(); + DynamicContextHolder.push(DbConstant.BASICS_READ); JSONObject json = new JSONObject(); int curr = (int)pramsMap.get("curr"); int size = (int)pramsMap.get("size"); PageHelper.startPage(curr, size); List emailMaintainVos = emailMaintainDao.queryAllByLimit(pramsMap); PageInfo pageInfo = new PageInfo<>(emailMaintainVos); - returnList.add(pageInfo.getList()); // 设置记录总数 json.put("total", pageInfo.getTotal()); - json.put("datalist", returnList); + json.put("datalist", pageInfo.getList()); String jsonString = null; if (json != null) { log.debug("返回结果:{}", json.toJSONString()); @@ -114,6 +111,11 @@ public class EmailMaintainServiceImpl implements EmailMaintainService { return emailMaintainDao.getUserName(userCode); } + @Override + public int insertBatch(List entities) { + return emailMaintainDao.insertBatch(entities); + } + //根据用户名进行查询 public void getdeptInfo(String deptId){ DynamicContextHolder.push(DbConstant.BASICS_READ); diff --git a/dxhy-core/src/main/java/com/dxhy/core/service/mailGather/impl/MailGatherLogServiceImpl.java b/dxhy-core/src/main/java/com/dxhy/core/service/mailGather/impl/MailGatherLogServiceImpl.java index 1f8d683f..83ebd997 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/service/mailGather/impl/MailGatherLogServiceImpl.java +++ b/dxhy-core/src/main/java/com/dxhy/core/service/mailGather/impl/MailGatherLogServiceImpl.java @@ -3,6 +3,8 @@ package com.dxhy.core.service.mailGather.impl; import cn.hutool.core.codec.Base64; import com.alibaba.fastjson.JSONObject; +import com.dxhy.common.constant.DbConstant; +import com.dxhy.common.datasource.config.DynamicContextHolder; import com.dxhy.core.dao.mailGather.MailGatherLogDao; import com.dxhy.core.model.mailGather.MailGatherLogVo; import com.dxhy.core.service.mailGather.MailGatherLogService; @@ -42,18 +44,16 @@ public class MailGatherLogServiceImpl implements MailGatherLogService { */ @Override public String queryByPage(Map pramsMap) { - - List returnList = new ArrayList<>(); + DynamicContextHolder.push(DbConstant.BASICS_READ); JSONObject json = new JSONObject(); int curr = (int)pramsMap.get("curr"); int size = (int)pramsMap.get("size"); PageHelper.startPage(curr, size); List emailMaintainVos = mailGatherLogDao.queryAllByLimit(pramsMap); PageInfo pageInfo = new PageInfo<>(emailMaintainVos); - returnList.add(pageInfo.getList()); // 设置记录总数 json.put("total", pageInfo.getTotal()); - json.put("datalist", returnList); + json.put("datalist", pageInfo.getList()); String jsonString = null; if (json != null) { log.debug("返回结果:{}", json.toJSONString()); diff --git a/dxhy-core/src/main/resources/export/gysTemplate.xlsx b/dxhy-core/src/main/resources/export/gysTemplate.xlsx new file mode 100644 index 00000000..f43bde46 Binary files /dev/null and b/dxhy-core/src/main/resources/export/gysTemplate.xlsx differ diff --git a/dxhy-core/src/main/resources/mapper/mailGather/EmailMaintainMapper.xml b/dxhy-core/src/main/resources/mapper/mailGather/EmailMaintainMapper.xml index 7481faf1..d1ae63c0 100644 --- a/dxhy-core/src/main/resources/mapper/mailGather/EmailMaintainMapper.xml +++ b/dxhy-core/src/main/resources/mapper/mailGather/EmailMaintainMapper.xml @@ -95,10 +95,10 @@ - insert into email_maintain(dept_id, company_code, dept_name, username, user_id, email_address, email_password, create_time, del_status, modify_time) + insert into email_maintain(dept_id, company_code, dept_name, username, user_id, email_address, email_password, create_user, create_time, del_status, modify_time) values - (#{entity.deptId}, #{entity.companyCode}, #{entity.deptName}, #{entity.username}, #{entity.userId}, #{entity.emailAddress}, #{entity.emailPassword}, #{entity.createTime}, #{entity.delStatus}, #{entity.modifyTime}) + (#{entity.deptId}, #{entity.companyCode}, #{entity.deptName}, #{entity.username}, #{entity.userId}, #{entity.emailAddress}, #{entity.emailPassword},#{entity.createUser}, #{entity.createTime}, #{entity.delStatus}, #{entity.modifyTime}) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/entity/TDxRecordInvoiceDetail.java b/dxhy-erp/src/main/java/com/dxhy/erp/entity/TDxRecordInvoiceDetail.java index 75e3d695..e7bae17e 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/entity/TDxRecordInvoiceDetail.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/entity/TDxRecordInvoiceDetail.java @@ -114,9 +114,4 @@ public class TDxRecordInvoiceDetail implements Serializable { */ private String goodsNum; - /** - * 税码 - */ - private String taxCode; - } diff --git a/dxhy-sign/src/main/resources/mapper/SignInvoiceMapper.xml b/dxhy-sign/src/main/resources/mapper/SignInvoiceMapper.xml index e0fce424..ac9a2335 100644 --- a/dxhy-sign/src/main/resources/mapper/SignInvoiceMapper.xml +++ b/dxhy-sign/src/main/resources/mapper/SignInvoiceMapper.xml @@ -32,7 +32,7 @@