server/company/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java
@@ -71,14 +71,14 @@ @ApiOperation("å页æ¥è¯¢") @PostMapping("/page") @RequiresPermissions("business:applychagnedetail:query") public ApiResponse<PageData<ApplyChagneDetail>> findPage (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap) { public ApiResponse<PageData<ApplyChagneDetail>> findPage (@RequestBody PageWrap<ApplyChagneDetail> pageWrap) { return ApiResponse.success(applyChagneDetailService.findPage(pageWrap)); } @ApiOperation("导åºExcel") @PostMapping("/exportExcel") @RequiresPermissions("business:applychagnedetail:exportExcel") public void exportExcel (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap, HttpServletResponse response) { public void exportExcel (@RequestBody PageWrap<ApplyChagneDetail> pageWrap, HttpServletResponse response) { ExcelExporter.build(ApplyChagneDetail.class).export(applyChagneDetailService.findPage(pageWrap).getRecords(), "å åä¿æ¢åç³è¯·æç»ä¿¡æ¯è¡¨", response); } server/company/src/main/java/com/doumee/api/business/ApplyChangeController.java
@@ -82,6 +82,18 @@ public void exportExcel (@RequestBody PageWrap<ApplyChange> pageWrap, HttpServletResponse response) { ExcelExporter.build(ApplyChange.class).export(applyChangeService.findPage(pageWrap).getRecords(), "å åä¿æ¢åç³è¯·ä¿¡æ¯è¡¨", response); } @ApiOperation("导åºå åä¿è¯¦æ å") @PostMapping("/exportJiajianBaoExcel") @RequiresPermissions("business:insuranceapply:exportExcel") public void exportJiajianBaoExcel (@RequestBody ApplyChange model, HttpServletResponse response) { ExcelExporter.build(ApplyChange.class).exportJiajianBaoExcel(applyChangeService.exportJiajianBaoExcel(model), response); } @ApiOperation("å¯¼åºæ¢åç³è¯·è¯¦æ å") @PostMapping("/exportChangeUnitExcel") @RequiresPermissions("business:insuranceapply:exportExcel") public void exportChangeUnitExcel (@RequestBody ApplyChange model, HttpServletResponse response) { ExcelExporter.build(ApplyChange.class).exportChangeUnitExcel(applyChangeService.exportChangeUnitExcel(model), response); } @ApiOperation("æ ¹æ®IDæ¥è¯¢") @GetMapping("/{id}") server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java
@@ -89,13 +89,24 @@ public void exportExcel (@RequestBody PageWrap<InsuranceApplyQueryDTO> pageWrap, HttpServletResponse response) { ExcelExporter.build(InsuranceApply.class).export(insuranceApplyService.findPage(pageWrap).getRecords(), "æä¿ç³è¯·ä¿¡æ¯è¡¨", response); } @ApiOperation("å¯¼åºæä¿è¯¦æ å") @PostMapping("/exportDetailExcel") @RequiresPermissions("business:insuranceapply:exportExcel") public void exportDetailExcel (@RequestBody InsuranceApply model, HttpServletResponse response) { ExcelExporter.build(InsuranceApply.class).exportApplyDetail(insuranceApplyService.findDetailForExport(model), response); } @ApiOperation("æ ¹æ®IDæ¥è¯¢") @GetMapping("/{id}") @RequiresPermissions("business:insuranceapply:query") public ApiResponse findById(@PathVariable Integer id) { public ApiResponse<InsuranceApply> findById(@PathVariable Integer id) { return ApiResponse.success(insuranceApplyService.findDetail(id)); } @ApiOperation("æ ¹æ®IDæ¥è¯¢") @GetMapping("/getSignLink/{id}") @RequiresPermissions("business:insuranceapply:query") public ApiResponse<String> getSignLink(@PathVariable Integer id) { return ApiResponse.success(insuranceApplyService.getSignLink(id)); } @ApiOperation("ç³è¯·è®°å½ç¶æå¤ç") server/dianziqian/src/main/java/com/jzq/JzqHttpApiTest.java
ÎļþÃû´Ó server/dianziqian/src/test/java/com/jzq/common/test/JzqHttpApiTest.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package com.jzq.common.test; package com.jzq; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -219,9 +219,9 @@ public static void main(String[] args) { // new JzqHttpApiTest().testOrganizationCreate(); // new JzqHttpApiTest().testOrganizationAuditStatus(); new JzqHttpApiTest().uploadEntSign("è±ç±³ç§æå ¬ç« æ°",new File("D://sing.png"),"jp@doumee.com"); // new JzqHttpApiTest().uploadEntSign("è±ç±³ç§æå ¬ç« æ°",new File("D://sing.png"),"jp@doumee.com"); new JzqHttpApiTest().testlink( new JzqHttpApiTest().testApplySign()); // new JzqHttpApiTest().testlink( new JzqHttpApiTest().testApplySign()); // new JzqHttpApiTest().testlinkFile(); } server/dianziqian/src/main/java/com/jzq/common/bean/sign/NotifyDataReq.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ package com.jzq.common.bean.sign; import io.swagger.annotations.ApiModel; import lombok.Data; @Data @ApiModel("ç¾çº¦æ¹ä¿¡æ¯") public class NotifyDataReq { private String applyNo;//ç¾çº¦ç¼å· * post string private String identityType;// è¯ä»¶ç±»å 1身份è¯, 2æ¤ç §, 3å°èè¯, 4æ¸¯æ¾³å± æ°æ¥å¾å å°éè¡è¯, 11è¥ä¸æ§ç §, 12ç»ä¸ç¤¾ä¼ä¿¡ç¨ä»£ç , 99å ¶ä» * post int private String fullName;// åç§° * post string private String identityCard ;//è¯ä»¶å· * post string private Long optTime;//æä½æ¶é´(毫ç§) * post long private Integer signStatus;// 1ç¾çº¦å®æ2æç¾3å·²ä¿å ¨ï¼1ãç¾çº¦å®ææ¯æç¨æ·ç¾ç½²æä»¶æåï¼2ãæç¾æ¯æç¨æ·å¨ç¾çº¦é¡µé¢ç¹äºæç¾æé®ï¼éè¦è¿å ¥å°ç¾ç½²é¡µé¢ç¨æ·æå¨ç¾ç½²æä¼åºç°æç¾æé®ï¼3ãå·²ä¿å ¨æ¯æç¨æ·å®æç¾ç½²åï¼ååç¾ä¼ç«å³èªå¨å¯¹ç¨æ·ç¾ç½²è¿ç¨çæä½ä»¥åååæä»¶ä¿¡æ¯è¿è¡ä¸é¾åè¯åºåï¼å·²ä¿å ¨æ¯ååçæç»ç¶æï¼å¦æéè¦ä¸è½½åå请以已ä¿å ¨ç¶æä¸ºåãï¼ * post int } server/dianziqian/src/main/java/com/jzq/common/bean/sign/NotifyReq.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package com.jzq.common.bean.sign; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("ç¾çº¦æ¹ä¿¡æ¯") public class NotifyReq { private String method ;//ä¸å¡ç±»å * post private String version ;//çæ¬ * post private Long timestamp ;//æ¶é´æ³ï¼ç²¾ç¡®å°æ¯«ç§ï¼ * post private NotifyDataReq data ;//JSONObjectç»æ * post private String sign;// ç¾åsign(sha1对åé¢çåæ°ç¾å) * post private String appkey;// appkey * post } server/platform/src/main/java/com/doumee/api/business/ApplyChangeController.java
@@ -116,7 +116,7 @@ public void exportJiajianBaoExcel (@RequestBody ApplyChange model, HttpServletResponse response) { ExcelExporter.build(ApplyChange.class).exportJiajianBaoExcel(applyChangeService.exportJiajianBaoExcel(model), response); } @ApiOperation("导åºå åä¿è¯¦æ å") @ApiOperation("å¯¼åºæ¢åç³è¯·è¯¦æ å") @PostMapping("/exportChangeUnitExcel") @RequiresPermissions("business:insuranceapply:exportExcel") public void exportChangeUnitExcel (@RequestBody ApplyChange model, HttpServletResponse response) { server/platform/src/main/java/com/doumee/api/business/WorktypeController.java
@@ -90,13 +90,13 @@ } @ApiOperation("å¯¼å ¥æ¨¡æ¿") @PostMapping("/importExcel/{id}") @PostMapping("/importExcel") @ApiImplicitParams({ @ApiImplicitParam(name = "file", value = "file", required = true, paramType = "query", dataType = "file", dataTypeClass = File.class), }) @RequiresPermissions("business:worktype:create") public ApiResponse<List<String>> importExcel (@ApiParam(value = "file") MultipartFile file,@PathVariable Integer id) { return ApiResponse.success(worktypeService .importBatch(file,id)); public ApiResponse<List<String>> importExcel (@ApiParam(value = "file") MultipartFile file ) { return ApiResponse.success(worktypeService .importBatch(file)); } server/platform/src/main/java/com/doumee/api/common/PublicController.java
@@ -4,17 +4,30 @@ import com.doumee.api.BaseController; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.annotation.trace.Trace; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.ApiResponse; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.aliyun.ALiYunUtil; import com.doumee.dao.business.model.InsuranceApply; import com.doumee.dao.business.model.InterfaceLog; import com.doumee.dao.business.model.Solutions; import com.doumee.service.business.InsuranceApplyService; import com.doumee.service.business.InterfaceLogService; import com.doumee.service.business.third.SignService; import com.jzq.common.bean.sign.NotifyReq; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; 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.multipart.MultipartFile; @@ -26,10 +39,7 @@ import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.UUID; import java.util.*; /** * @author Eva.Caesar Liu @@ -43,6 +53,46 @@ public class PublicController extends BaseController { @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired private InsuranceApplyService insuranceApplyService; @Autowired public InterfaceLogService interfaceLogService = null; @ApiOperation("ååç¾ç¾çº¦åè°éç¥") @PostMapping("/signNotify") public ApiResponse updateStatus(@RequestBody NotifyReq request) { InterfaceLog log=new InterfaceLog(); log.setType(1); log.setCreateDate(new Date()); log.setIsdeleted(0); log.setRequest(JSONObject.toJSONString(request)); log.setName("ååç¾ç¾çº¦åè°éç¥"); log.setUrl(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SIGN_DONE_NOTIFY_URL).getCode()); try { String appKey = systemDictDataBiz.queryByCode(Constants.SIGN,Constants.SIGN_APPKEY).getCode(); String appSecret = systemDictDataBiz.queryByCode(Constants.SIGN,Constants.SIGN_APPSECRET).getCode(); if(!StringUtils.equals(appKey,request.getAppkey())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"appkeyä¸å¹é "); } String sign = DigestUtils.sha1Hex("data"+JSONObject.toJSONString(request.getData())+"method"+request.getMethod()+"version"+request.getVersion()+"timestamp"+request.getTimestamp() +"appKey"+appKey+"appSecret"+appSecret); if(!StringUtils.equals(sign,request.getSign())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"éªç¾ä¸éè¿"); } insuranceApplyService.dealSignResult(request.getData()); }catch (Exception e){ log.setRepose("å¤çå¼å¸¸ï¼"+e.getMessage()); throw e; }finally { interfaceLogService.create(log); } return ApiResponse.success(null); } @ApiOperation(value = "ä¸ä¼ ", notes = "ä¸ä¼ ", httpMethod = "POST", position = 6) @ApiImplicitParams({ @ApiImplicitParam(name = "folder", value = "æä»¶å¤¹", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class), server/pom.xml
@@ -155,6 +155,16 @@ </dependency> <!-- è·åç³»ç»ä¿¡æ¯ä¾èµå --> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.13.3</version> </dependency> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.xls.free</artifactId> <version>3.9.1</version> </dependency> <dependency> <groupId>com.github.oshi</groupId> <artifactId>oshi-core</artifactId> <version>${oshi.version}</version> @@ -204,6 +214,13 @@ <version>2.6.12</version> </dependency> </dependencies> <repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>https://repo.e-iceblue.cn/repository/maven-public/</url> </repository> </repositories> <build> <plugins> <plugin> server/service/src/main/java/com/doumee/core/annotation/excel/ExcelToPdfTool.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,45 @@ package com.doumee.core.annotation.excel; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; /** * Excel导åºå®ç° * @author Eva.Caesar Liu * @date 2023/02/14 11:14 */ public class ExcelToPdfTool { public static void main(String[] args) { String inputExcelPath = "D:\\1.xlsx"; String outputPdfPath = "D:\\555.pdf"; /* Workbook workbook = new Workbook(); workbook.loadFromFile(inputExcelPath); //è½¬æ¢æ¶è®¾ç½®å·¥ä½è¡¨éåºå®½åº¦ workbook.getConverterSetting().setSheetFitToWidth(true); //è·å第ä¸ä¸ªå·¥ä½è¡¨ Worksheet worksheet = workbook.getWorksheets().get(0); // File f = new File(outputPdfPath); // if(!f.exists()){ // f.createNewFile(); // } //ä¿å为PDFææ¡£æ ¼å¼ worksheet.saveToPdf(outputPdfPath);*/ //å建Workbook å®ä¾å¹¶å è½½ç¤ºä¾ææ¡£ Workbook workbook = new Workbook(); workbook.loadFromFile(inputExcelPath); //è½¬æ¢æ¶è®¾ç½®å·¥ä½è¡¨éåºå®½åº¦ workbook.getConverterSetting().setSheetFitToWidth(true); //è·å第ä¸ä¸ªå·¥ä½è¡¨ Worksheet worksheet = workbook.getWorksheets().get(0); //ä¿å为PDFææ¡£æ ¼å¼ worksheet.saveToPdf(outputPdfPath); } } server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -76,6 +76,7 @@ public static final String TAXES_FILE = "TAXES_FILE"; public static final String APPLY_FILE ="APPLY_FILE" ; public static final String SETTLE_FILE ="SETTLE_FILE" ; public static final String SIGN_DONE_NOTIFY_URL = "SIGN_DONE_NOTIFY_URL"; /** * ä¼ä¸æ°æ®æ¥æº 0平尿³¨å 1åå°å¯¼å ¥ server/service/src/main/java/com/doumee/dao/business/model/ApplyChange.java
@@ -86,7 +86,8 @@ @ApiModelProperty(value = "ç¶æ 0å¾ ç¾ç½² 1å·²ç¾ç« 2å·²ä¸ä¼ æ¹å 3éåç³è¯· 4å¹³å°åæ 5å¹³å°é©³å") @ExcelColumn(name="ç¶æ 0å¾ ç¾ç½² 1å·²ç¾ç« 2å·²ä¸ä¼ æ¹å 3éåç³è¯· 4å¹³å°åæ 5å¹³å°é©³å") private Integer status; @ApiModelProperty(value = "å¨çº¿ç¾ç« ååå·") private String signApplyNo; @ApiModelProperty(value = "ææä¿é©çæèµ·æ") @ExcelColumn(name="ææä¿é©çæèµ·æ") private Date validTime; server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java
@@ -105,6 +105,9 @@ @ApiModelProperty(value = "åå·") @ExcelColumn(name="åå·") private String code; @ApiModelProperty(value = "å¨çº¿ç¾ç« ååå·") @ExcelColumn(name="å¨çº¿ç¾ç« ååå·") private String signApplyNo; @ApiModelProperty(value = "ç¶æ 0å¾ å®¡æ ¸ 1å¹³å°éåä¿åï¼å·²éåï¼ 2å·²ä¸ä¼ 代ç¾ç³è¯·è¡¨å¾ ä¼ä¸ç¾ç« ï¼å¾ ç¾ç½²ï¼ 3å·²ç¾ç« å¾ ä¸ä¼ ä¿é©åï¼å¾ åºåï¼ 4ä¿ååºå ·å¤±è´¥éåï¼å·²éåï¼ 5å·²ä¸ä¼ ä¿åï¼ä¿éä¸ï¼6ä¼ä¸ç³è¯·éåä¸ 7å¹³å°åæéåï¼å·²éåï¼ 8ä¼ä¸å ³é ï¼å·²å ³éï¼", example = "1") @ExcelColumn(name="ç¶æ 0å¾ å®¡æ ¸ 1å¹³å°éåä¿åï¼å·²éåï¼ 2å·²ä¸ä¼ 代ç¾ç³è¯·è¡¨å¾ ä¼ä¸ç¾ç« ï¼å¾ ç¾ç½²ï¼ 3å·²ç¾ç« å¾ ä¸ä¼ ä¿é©åï¼å¾ åºåï¼ 4ä¿ååºå ·å¤±è´¥éåï¼å·²éåï¼ 5å·²ä¸ä¼ ä¿åï¼ä¿éä¸ï¼6ä¼ä¸ç³è¯·éåä¸ 7å¹³å°åæéåï¼å·²éåï¼ 8ä¼ä¸å ³é ï¼å·²å ³éï¼") @@ -164,4 +167,8 @@ @ApiModelProperty(value = "å¤çä¼ä¸ç³è¯·ç¶æ 0åæ 1驳å") @TableField(exist = false) private int dealBackApply; @ApiModelProperty(value = "å¨çº¿ç¾ç« å°å") @TableField(exist = false) private String signLink; } server/service/src/main/java/com/doumee/dao/business/model/Solutions.java
@@ -151,6 +151,9 @@ @ApiModelProperty(value = "åå·¥", example = "1") @TableField(exist = false) private Integer memberId; @ApiModelProperty(value = "ä¿é©å ¬å¸åç§°", example = "1") @TableField(exist = false) private String insuranceName; @ApiModelProperty(value = "ä¿å主é®", example = "1") server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
@@ -5,6 +5,8 @@ import com.doumee.dao.business.dto.InsuranceApplyOptDTO; import com.doumee.dao.business.dto.InsuranceApplyQueryDTO; import com.doumee.dao.business.model.InsuranceApply; import com.jzq.common.bean.sign.NotifyDataReq; import java.util.List; /** @@ -116,4 +118,8 @@ List<InsuranceApply> findListByDTO(InsuranceApplyQueryDTO model); Integer editBaoxiandan(InsuranceApply param); String getSignLink(Integer id); void dealSignResult(NotifyDataReq data); } server/service/src/main/java/com/doumee/service/business/WorktypeService.java
@@ -107,5 +107,5 @@ */ long count(Worktype worktype); List<String> importBatch(MultipartFile file,Integer id); List<String> importBatch(MultipartFile file); } server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
@@ -92,7 +92,7 @@ dispatchUnitMapper.updateById(update); if(Constants.equalsInteger(param.getWorktypeStatus(),Constants.ONE)){ //å®¡æ ¸éè¿ï¼ä¿®æ¹ç¶æï¼äº§çåå²çæ¬ newVersionData(model,update); newVersionData(dispatchUnitMapper.selectById(param.getId()),update); }else{ //æ´æ°æç»æ°æ®ä¸ºå®¡æ ¸å¤±è´¥ duSolutionMapper.update(null,new UpdateWrapper<DuSolution>().lambda() @@ -190,7 +190,7 @@ dispatchUnitMapper.updateById(update); if(Constants.equalsInteger(model.getStatus(),Constants.ONE)){ //å®¡æ ¸éè¿ï¼ä¿®æ¹ç¶æï¼äº§çåå²çæ¬ newVersionData(model,update); newVersionData(dispatchUnitMapper.selectById(param.getId()),update); }else{ //æ´æ°æç»æ°æ®ä¸ºå®¡æ ¸å¤±è´¥ duSolutionMapper.update(null,new UpdateWrapper<DuSolution>().lambda() server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -23,8 +23,10 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.doumee.service.business.third.SignService; import com.github.xiaoymin.knife4j.core.util.CollectionUtils; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.jzq.common.bean.sign.NotifyDataReq; import io.swagger.models.auth.In; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; @@ -46,6 +48,8 @@ @Autowired private InsuranceApplyMapper insuranceApplyMapper; @Autowired private ApplyChangeMapper applyChangeMapper; @Autowired private SystemDictDataBiz systemDictDataBiz; @@ -59,6 +63,8 @@ @Autowired private ApplyLogMapper applyLogMapper; @Autowired private SignService signService; @Autowired private MultifileMapper multifileMapper; @@ -278,6 +284,73 @@ } @Override public String getSignLink(Integer id) { if(id == null ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } InsuranceApply model = insuranceApplyMapper.selectById(id); if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Constants.ApplyLogType applyLogType = null; String info = ""; //妿æ¯é©³å,åªè½å¯é©³åå·²ç¾ç« ç¶æä¸çéåç³è¯·ç¶æè¿è¡æä½ if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE.getKey())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼è¯¥ç³è¯·ç¶æå·²æµè½¬ï¼å½å䏿¯æè¯¥æä½~"); } Company company = user.getCompany(); if(company== null || StringUtils.isBlank( company.getEmail()) || !Constants.equalsInteger(company.getSignStatus(),Constants.ONE)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼ä¼ä¸å°æªå ·å¤å¨çº¿ç¾ç« æ¡ä»¶ï¼è¯·è系平å°ç®¡çå确认~"); } Multifile f = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda() .eq(Multifile::getObjId,model.getId()) .eq(Multifile::getObjType,Constants.MultiFile.BD_APPLY_PDF.getKey()) .eq(Multifile::getIsdeleted,Constants.ZERO).last("limit 1")); if(f == null || StringUtils.isBlank(f.getFileurl())){ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼è·åå¾ ç¾ç« æä»¶å¤±è´¥ï¼è¯·è系平å°ç®¡çå确认æä¿åæ¯å¦æ£ç¡®ï¼"); } String url = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+systemDictDataBiz.queryByCode(Constants.OSS,Constants.APPLY_FILE).getCode()+f.getFileurl(); String notifyUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SIGN_DONE_NOTIFY_URL).getCode(); notifyUrl = notifyUrl.replace("${type}","0").replace("${id}",model.getId().toString()); String applyNo = signService.applySign(company.getName(),url,company.getName(),company.getCode(),company.getEmail(),null,company.getSignId(),notifyUrl); if(StringUtils.isBlank(applyNo) ){ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼è·åå¨çº¿ç¾ç« å°å失败ï¼è¯·ç¨åéè¯ï¼"); } String link = signService.signLink(applyNo,company.getEmail(),company.getCode()); if(StringUtils.isBlank(link) ){ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼è·åå¨çº¿ç¾ç« å°å失败ï¼è¯·ç¨åéè¯ï¼"); } InsuranceApply update= new InsuranceApply(); update.setId(model.getId()); update.setEditor(user.getId()); update.setEditDate(new Date()); update.setSignApplyNo(applyNo); insuranceApplyMapper.updateById(update); return link; } @Override public void dealSignResult(NotifyDataReq data){ if(data.getApplyNo() == null ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } InsuranceApply model = insuranceApplyMapper.selectOne(new QueryWrapper<InsuranceApply>().lambda().eq(InsuranceApply::getSignApplyNo,data.getApplyNo()).last("limit 1" )); if(model != null ){ //-----------------TUDO--------å®åç¾çº¦å®æä¸å¡------ }else{ ApplyChange applyChange = applyChangeMapper.selectOne(new QueryWrapper<ApplyChange>().lambda().eq(ApplyChange::getSignApplyNo,data.getApplyNo()).last("limit 1" )); if(applyChange == null){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"ç³»ç»æªæ¾å°å¹é ååå·!"); } //-----------------TUDO-------å®åç¾çº¦å®æ------- } } @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public Integer uploadToubaodan(InsuranceApply insuranceApply) { if(insuranceApply.getId() == null server/service/src/main/java/com/doumee/service/business/impl/InsuranceServiceImpl.java
@@ -89,7 +89,7 @@ BeanUtils.copyProperties(w, newType); newType.setInsuranceId(newModel.getId()); newType.setBaseId(w.getId()); newType.setDataType(Constants.ONE); newType.setDataType(Constants.TWO); newType.setVersion(newModel.getVersion()); w.setSortnum(num++); worktypeMapper.insert(newType); @@ -186,6 +186,7 @@ newModel.setId(null); newModel.setVersion(updateModel.getVersion()); newModel.setCreateDate(new Date()); newModel.setName(updateModel.getName()); newModel.setBaseId(insurance.getId()); newModel.setDataType(Constants.TWO); insuranceMapper.insert(newModel); @@ -199,8 +200,16 @@ .lambda() .eq(Insurance::getBaseId,insurance.getId()) .eq(Insurance::getDataType,Constants.TWO) .ne(Insurance::getId,newModel.getId()) .set(Insurance::getDataType,Constants.ONE) ); worktypeMapper.update(null,new UpdateWrapper<Worktype>() .lambda() .eq(Worktype::getBaseId,insurance.getId()) .eq(Worktype::getDataType,Constants.TWO) .set(Worktype::getDataType,Constants.ONE) ); //å¤çå·¥ä½ä¿¡æ¯ï¼æ°å¢ææ°çï¼åæ¶äº§çåå²çæ¬ dealWorkTypeData(updateModel,newModel,insurance.getWorktypeList(),false); } server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
@@ -122,7 +122,7 @@ ||solutions.getWorktypeIdList().size()==0 ||Constants.formatIntegerNum(solutions.getMaxAge()) < 0 ||Constants.formatIntegerNum(solutions.getMinAge()) < 0 ||Constants.formatIntegerNum(solutions.getPriceCycleUnit()) < 0 // ||Constants.formatIntegerNum(solutions.getPriceCycleUnit()) < 0 ||Constants.formatIntegerNum(solutions.getInsureCycle()) < 0 ||Constants.formatIntegerNum(solutions.getInsureCycleUnit()) < 0 || solutions.getMinAge() >solutions.getMaxAge() @@ -170,7 +170,7 @@ //å¦æä¿®æ¹ï¼å产çä¸ä¸ªæ°çåå²çæ¬ ~ Solutions newModel = new Solutions(); BeanUtils.copyProperties(model,newModel); BeanUtils.copyProperties( findById(solutions.getId()),newModel); newModel.setId(null); newModel.setVersion(solutions.getVersion()); newModel.setCreateDate(new Date()); @@ -262,98 +262,103 @@ @Override public PageData<Solutions> findPage(PageWrap<Solutions> pageWrap) { IPage<Solutions> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); QueryWrapper<Solutions> queryWrapper = new QueryWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); pageWrap.getModel().setDataType(Constants.ZERO);//åªéæ©åºè¡¨æ°æ® pageWrap.getModel().setIsdeleted(Constants.ZERO); MPJLambdaWrapper<Solutions> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); queryWrapper.selectAll(Solutions.class); queryWrapper.selectAs(Insurance::getName,Solutions::getInsuranceName); queryWrapper.leftJoin(Insurance.class,Insurance::getId,Solutions::getInsuranceId); if (pageWrap.getModel().getId() != null) { queryWrapper.lambda().eq(Solutions::getId, pageWrap.getModel().getId()); queryWrapper.eq(Solutions::getId, pageWrap.getModel().getId()); } if (pageWrap.getModel().getCreator() != null) { queryWrapper.lambda().eq(Solutions::getCreator, pageWrap.getModel().getCreator()); queryWrapper.eq(Solutions::getCreator, pageWrap.getModel().getCreator()); } if (pageWrap.getModel().getCreateDate() != null) { queryWrapper.lambda().ge(Solutions::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); queryWrapper.lambda().le(Solutions::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); queryWrapper.ge(Solutions::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); queryWrapper.le(Solutions::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); } if (pageWrap.getModel().getEditor() != null) { queryWrapper.lambda().eq(Solutions::getEditor, pageWrap.getModel().getEditor()); queryWrapper.eq(Solutions::getEditor, pageWrap.getModel().getEditor()); } if (pageWrap.getModel().getEditDate() != null) { queryWrapper.lambda().ge(Solutions::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); queryWrapper.lambda().le(Solutions::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); queryWrapper.ge(Solutions::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); queryWrapper.le(Solutions::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); } if (pageWrap.getModel().getIsdeleted() != null) { queryWrapper.lambda().eq(Solutions::getIsdeleted, pageWrap.getModel().getIsdeleted()); queryWrapper.eq(Solutions::getIsdeleted, pageWrap.getModel().getIsdeleted()); } if (pageWrap.getModel().getName() != null) { queryWrapper.lambda().like(Solutions::getName, pageWrap.getModel().getName()); queryWrapper.like(Solutions::getName, pageWrap.getModel().getName()); } if (pageWrap.getModel().getRemark() != null) { queryWrapper.lambda().eq(Solutions::getRemark, pageWrap.getModel().getRemark()); queryWrapper.eq(Solutions::getRemark, pageWrap.getModel().getRemark()); } if (pageWrap.getModel().getStatus() != null) { queryWrapper.lambda().eq(Solutions::getStatus, pageWrap.getModel().getStatus()); queryWrapper.eq(Solutions::getStatus, pageWrap.getModel().getStatus()); } if (pageWrap.getModel().getSortnum() != null) { queryWrapper.lambda().eq(Solutions::getSortnum, pageWrap.getModel().getSortnum()); queryWrapper.eq(Solutions::getSortnum, pageWrap.getModel().getSortnum()); } if (pageWrap.getModel().getInsuranceId() != null) { queryWrapper.lambda().eq(Solutions::getInsuranceId, pageWrap.getModel().getInsuranceId()); queryWrapper.eq(Solutions::getInsuranceId, pageWrap.getModel().getInsuranceId()); } if (pageWrap.getModel().getValidType() != null) { queryWrapper.lambda().eq(Solutions::getValidType, pageWrap.getModel().getValidType()); queryWrapper.eq(Solutions::getValidType, pageWrap.getModel().getValidType()); } if (pageWrap.getModel().getType() != null) { queryWrapper.lambda().eq(Solutions::getType, pageWrap.getModel().getType()); queryWrapper.eq(Solutions::getType, pageWrap.getModel().getType()); } if (pageWrap.getModel().getMinAge() != null) { queryWrapper.lambda().eq(Solutions::getMinAge, pageWrap.getModel().getMinAge()); queryWrapper.eq(Solutions::getMinAge, pageWrap.getModel().getMinAge()); } if (pageWrap.getModel().getMaxAge() != null) { queryWrapper.lambda().eq(Solutions::getMaxAge, pageWrap.getModel().getMaxAge()); queryWrapper.eq(Solutions::getMaxAge, pageWrap.getModel().getMaxAge()); } if (pageWrap.getModel().getPrice() != null) { queryWrapper.lambda().eq(Solutions::getPrice, pageWrap.getModel().getPrice()); queryWrapper.eq(Solutions::getPrice, pageWrap.getModel().getPrice()); } if (pageWrap.getModel().getTimeUnit() != null) { queryWrapper.lambda().eq(Solutions::getTimeUnit, pageWrap.getModel().getTimeUnit()); queryWrapper.eq(Solutions::getTimeUnit, pageWrap.getModel().getTimeUnit()); } if (pageWrap.getModel().getInsureCycle() != null) { queryWrapper.lambda().eq(Solutions::getInsureCycle, pageWrap.getModel().getInsureCycle()); queryWrapper.eq(Solutions::getInsureCycle, pageWrap.getModel().getInsureCycle()); } if (pageWrap.getModel().getInsureCycleUnit() != null) { queryWrapper.lambda().eq(Solutions::getInsureCycleUnit, pageWrap.getModel().getInsureCycleUnit()); queryWrapper.eq(Solutions::getInsureCycleUnit, pageWrap.getModel().getInsureCycleUnit()); } if (pageWrap.getModel().getPriceCycleUnit() != null) { queryWrapper.lambda().eq(Solutions::getPriceCycleUnit, pageWrap.getModel().getPriceCycleUnit()); queryWrapper.eq(Solutions::getPriceCycleUnit, pageWrap.getModel().getPriceCycleUnit()); } if (pageWrap.getModel().getSingleWorktype() != null) { queryWrapper.lambda().eq(Solutions::getSingleWorktype, pageWrap.getModel().getSingleWorktype()); queryWrapper.eq(Solutions::getSingleWorktype, pageWrap.getModel().getSingleWorktype()); } if (pageWrap.getModel().getEmail() != null) { queryWrapper.lambda().eq(Solutions::getEmail, pageWrap.getModel().getEmail()); queryWrapper.eq(Solutions::getEmail, pageWrap.getModel().getEmail()); } if (pageWrap.getModel().getSpecialAgreement() != null) { queryWrapper.lambda().eq(Solutions::getSpecialAgreement, pageWrap.getModel().getSpecialAgreement()); queryWrapper.eq(Solutions::getSpecialAgreement, pageWrap.getModel().getSpecialAgreement()); } if (pageWrap.getModel().getSpecialInfo() != null) { queryWrapper.lambda().eq(Solutions::getSpecialInfo, pageWrap.getModel().getSpecialInfo()); queryWrapper.eq(Solutions::getSpecialInfo, pageWrap.getModel().getSpecialInfo()); } if (pageWrap.getModel().getOrtherInfo() != null) { queryWrapper.lambda().eq(Solutions::getOrtherInfo, pageWrap.getModel().getOrtherInfo()); queryWrapper.eq(Solutions::getOrtherInfo, pageWrap.getModel().getOrtherInfo()); } if (pageWrap.getModel().getSolutionBaseId() != null) { queryWrapper.lambda().eq(Solutions::getSolutionBaseId, pageWrap.getModel().getSolutionBaseId()); queryWrapper.eq(Solutions::getSolutionBaseId, pageWrap.getModel().getSolutionBaseId()); } if (pageWrap.getModel().getVersion() != null) { queryWrapper.lambda().eq(Solutions::getVersion, pageWrap.getModel().getVersion()); queryWrapper.eq(Solutions::getVersion, pageWrap.getModel().getVersion()); } if (pageWrap.getModel().getDataType() != null) { queryWrapper.lambda().eq(Solutions::getDataType, pageWrap.getModel().getDataType()); queryWrapper.eq(Solutions::getDataType, pageWrap.getModel().getDataType()); } if (pageWrap.getModel().getBaseId() != null) { queryWrapper.lambda().eq(Solutions::getBaseId, pageWrap.getModel().getBaseId()); queryWrapper.eq(Solutions::getBaseId, pageWrap.getModel().getBaseId()); } for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { @@ -362,7 +367,8 @@ queryWrapper.orderByAsc(sortData.getProperty()); } } return PageData.from(solutionsMapper.selectPage(page, queryWrapper)); PageData<Solutions> pageData = PageData.from(solutionsJoinMapper.selectJoinPage(page,Solutions.class, queryWrapper)); return pageData; } @Override public PageData<Solutions> findPageCom(PageWrap<Solutions> pageWrap) { server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java
@@ -175,15 +175,15 @@ return worktypeMapper.selectCount(wrapper); } @Override public List<String> importBatch(MultipartFile file,Integer id){ List<Worktype> list = new ArrayList<>(); if(id!=null){ public List<String> importBatch(MultipartFile file ){ /* List<Worktype> list = new ArrayList<>(); if(id!=null){ Worktype param = new Worktype(); param.setIsdeleted(Constants.ZERO); param.setDataType(Constants.ZERO); param.setInsuranceId(id); list = findList(param); } }*/ ExcelImporter ie = null; List<WorktypeImport> dataList =null; try { @@ -197,9 +197,9 @@ } List<String> result = new ArrayList<>(); for(WorktypeImport model : dataList){ if(StringUtils.isNotBlank(model.getName()) && !isNewWorkTypeByName(model.getName(),list)){ // if(StringUtils.isNotBlank(model.getName()) && !isNewWorkTypeByName(model.getName(),list)){ result.add(model.getName()); } // } } return result; } server/service/src/main/java/com/doumee/service/business/third/SignService.java
@@ -255,7 +255,7 @@ * @param email * @param postionJson */ public String applySign(String name,String fileUrl,String fullname,String creditCoe,String email,String postionJson,String singId){ public String applySign(String name,String fileUrl,String fullname,String creditCoe,String email,String postionJson,String singId,String notifyUrl){ try { String url=SERVICE_URL+"/v2/sign/applySign"; Map<String, Object> params=bodyParams; @@ -267,6 +267,7 @@ params.put("positionType",1); //æå®éè¿è¡¨ååæ¹å¼è®¾ç½®ç¾åä½ç½® params.put("fileType",1); params.put("needQifengSign",1); params.put("notifyUrl",notifyUrl); JSONArray signatories=new JSONArray(); SignatoryReq sReq=new SignatoryReq(); sReq.setFullName(fullname); //ä¼ä¸å§å