diff --git a/coolstore-partner-common/src/main/java/com/cool/store/utils/SecureUtil.java b/coolstore-partner-common/src/main/java/com/cool/store/utils/SecureUtil.java new file mode 100644 index 000000000..b2f1cbc28 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/utils/SecureUtil.java @@ -0,0 +1,63 @@ +package com.cool.store.utils; + +import java.io.UnsupportedEncodingException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +public class SecureUtil { + private static final String API_KEY = "c344cbe01972777dcfe7f9767e3d2e7f"; + private static final String API_SECRET = "fAIgCJc3kPmSzD3SgEHU"; + + /** + * 利用java原生的摘要实现SHA256加密 + * @param source 加密内容 + * @param salt 盐 + * @return + */ + public static String sha256(String source, String salt) { + String encodeStr = ""; + try { + MessageDigest digest = MessageDigest.getInstance("SHA-256"); + if (salt != null) { + digest.reset(); + digest.update(salt.getBytes("UTF-8")); + } + digest.update(source.getBytes("UTF-8")); + encodeStr = byte2Hex(digest.digest()); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + return encodeStr; + } + + /** + * 将byte转为16进制 + * @param bytes + * @return + */ + private static String byte2Hex(byte[] bytes){ + StringBuffer stringBuffer = new StringBuffer(); + for (int i=0;i lineList(LineListRequest lineListRequest, String userId, List wantShopAreaIds) { - List lineInfo = lineInfoMapper.lineList(lineListRequest,userId,wantShopAreaIds); + public List lineList(LineListRequest lineListRequest,String wantShopAreaName, String userId, List wantShopAreaIds) { + List lineInfo = lineInfoMapper.lineList(lineListRequest,wantShopAreaName,userId,wantShopAreaIds); return lineInfo; } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineInfoMapper.java index 0dd9d0225..909279423 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LineInfoMapper.java @@ -37,6 +37,7 @@ public interface LineInfoMapper extends Mapper { * @return */ List lineList(@Param("request") LineListRequest lineListRequest, + @Param("wantShopAreaName") String wantShopAreaName, @Param("userId") String userId, @Param("wantShopAreaIds") List wantShopAreaIds); diff --git a/coolstore-partner-dao/src/main/resources/mapper/IntentAgreementMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/IntentAgreementMapper.xml index a4282a2b4..ce12fc3ed 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/IntentAgreementMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/IntentAgreementMapper.xml @@ -20,6 +20,7 @@ + id, @@ -39,7 +40,8 @@ business_license_address, create_time, update_time, - deleted + deleted, + audit_id insert into xfsg_signing_base_info diff --git a/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml index d839f4546..4b246c390 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml @@ -326,6 +326,9 @@ and investment_manager = #{userId} + + and b.area_path like concat('%',#{wantShopAreaName},'%') + and username = #{request.userName} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/InitiatingDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/InitiatingDO.java new file mode 100644 index 000000000..46e1d2111 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/InitiatingDO.java @@ -0,0 +1,98 @@ +package com.cool.store.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * https://apifox.com/apidoc/shared-c48218f7-4a34-4422-8689-927502f171ff/api-160442266 + * 密码:aJJq9F7k + */ +@Builder +@Data +@NoArgsConstructor +@AllArgsConstructor +public class InitiatingDO { + + private String kdzBusinessId; + + private String title; + + private String apply_user; + + private String apply_user_name; + + private String apply_date; + + private String jms_id_card; + + private String jms_id_card_address; + + private String jms_name; + + private BigDecimal lybzj; + + private BigDecimal lybzjwb; + + private String lybzjdx; + + private String jms_mobile; + + private String annex1; + + private String annex2; + + private String annex3; + + private Integer qy_year; + + private Integer qy_month; + + private Integer qy_day; + + private Integer jy_year; + + private Integer jy_month; + + private Integer jy_day; + + private String yxjzz; + + private Integer xyqx_month; + + private BigDecimal jmf; + + private BigDecimal jmfwb; + + private String jmfdx; + + private BigDecimal jmyxj; + + private BigDecimal jmyxjwb; + + private String csfz; + + private String jmsxx; + + private String annex4; + + private String annex5; + + private String annex6; + + private String annex7; + + private String dkr; + + private String dkrq; + + private Integer jm_type; + + private Integer jms_type; + + private String jm_csgs; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/LeaseBaseInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/LeaseBaseInfoDO.java index 7887400fa..b40d758c3 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/LeaseBaseInfoDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/LeaseBaseInfoDO.java @@ -20,9 +20,9 @@ public class LeaseBaseInfoDO { private Date experienceStartTime; private Date experienceEndTime; -@ApiModelProperty("体验状态 0完成 1放弃") + @ApiModelProperty("体验状态 0完成 1放弃") private Integer experienceStatus; -@ApiModelProperty("放弃原因") + @ApiModelProperty("放弃原因") private String abandonCause; private Date createTime; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/SigningBaseInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/SigningBaseInfoDO.java index 97bef00e7..1093e32ee 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/SigningBaseInfoDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/SigningBaseInfoDO.java @@ -43,4 +43,6 @@ public class SigningBaseInfoDO { private Integer deleted; + private Long auditId; + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/InitiatingRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/InitiatingRequest.java new file mode 100644 index 000000000..d43a1a740 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/InitiatingRequest.java @@ -0,0 +1,160 @@ +package com.cool.store.request; + +import com.cool.store.entity.InitiatingDO; +import com.cool.store.utils.StringUtil; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; + +@Data +public class InitiatingRequest { + + private Long lineId; + + private String signName; + + private String idCardNo; + + private String businessLicenseCode; + + private String mobile; + + private String idCardAddress; + + private String businessLicenseAddress; + + private String title; + + private String apply_user; + + private String apply_user_name; + + private String apply_date; + + private String jms_id_card; + + private String jms_id_card_address; + + private String jms_name; + + private BigDecimal lybzj; + + private BigDecimal lybzjwb; + + private String lybzjdx; + + private String jms_mobile; + + private String annex1; + + private String annex2; + + private String annex3; + + private Integer qy_year; + + private Integer qy_month; + + private Integer qy_day; + + private Integer jy_year; + + private Integer jy_month; + + private Integer jy_day; + + private String yxjzz; + + private Integer xyqx_month; + + private BigDecimal jmf; + + private BigDecimal jmfwb; + + private String jmfdx; + + private BigDecimal jmyxj; + + private BigDecimal jmyxjwb; + + private String csfz; + + private String jmsxx; + + private String annex4; + + private String annex5; + + private String annex6; + + private String annex7; + + private String dkr; + + private String dkrq; + + private Integer jm_type; + + private Integer jms_type; + + private String jm_csgs; + + + public InitiatingDO toInitiatingDO() { + InitiatingDO initiatingDO = new InitiatingDO(); + LocalDate currentDate = LocalDate.now(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + // 格式化日期并输出 + String dateTime = currentDate.format(formatter); + initiatingDO.setTitle("加盟意向协议-" + this.signName + "-" + dateTime); + initiatingDO.setApply_user(this.apply_user); + initiatingDO.setApply_user_name(this.signName); + initiatingDO.setApply_date(this.apply_date); + initiatingDO.setJms_id_card(this.idCardNo); + if (StringUtil.isNotBlank(this.businessLicenseAddress)){ + initiatingDO.setJms_id_card_address(this.businessLicenseAddress); + }else if (StringUtil.isNotBlank(this.businessLicenseCode)){ + initiatingDO.setJms_id_card_address(this.businessLicenseCode); + } + if (StringUtil.isNotBlank(this.businessLicenseCode)){ + initiatingDO.setJms_id_card(this.businessLicenseCode); + }else if (StringUtil.isNotBlank(this.idCardNo)){ + initiatingDO.setJms_id_card(this.idCardNo); + } + initiatingDO.setJms_name(this.jms_name); + initiatingDO.setLybzj(this.lybzj); + initiatingDO.setLybzjwb(this.lybzj); + initiatingDO.setLybzjdx(this.lybzjdx); + initiatingDO.setJms_mobile(this.mobile); + initiatingDO.setAnnex1(this.annex1); + initiatingDO.setAnnex2(this.annex2); + initiatingDO.setAnnex3(this.annex3); + initiatingDO.setQy_year(this.qy_year); + initiatingDO.setQy_month(this.qy_month); + initiatingDO.setQy_day(this.qy_day); + initiatingDO.setJy_year(this.jy_year); + initiatingDO.setJy_month(this.jy_month); + initiatingDO.setJy_day(this.jy_day); + initiatingDO.setYxjzz(this.yxjzz); + initiatingDO.setXyqx_month(this.xyqx_month); + initiatingDO.setJmf(this.jmf); + initiatingDO.setJmfwb(this.jmf); + initiatingDO.setJmfdx(this.jmfdx); + initiatingDO.setJmyxj(this.jmyxj); + initiatingDO.setJmyxjwb(this.jmyxj); + initiatingDO.setCsfz(this.csfz); + initiatingDO.setJmsxx(this.jmsxx); + initiatingDO.setAnnex4(this.annex4); + initiatingDO.setAnnex5(this.annex5); + initiatingDO.setAnnex6(this.annex6); + initiatingDO.setAnnex7(this.annex7); + initiatingDO.setDkr(this.dkr); + initiatingDO.setDkrq(this.dkrq); + initiatingDO.setJm_type(this.jm_type); + initiatingDO.setJms_type(this.jms_type); + initiatingDO.setJm_csgs(this.jm_csgs); + return initiatingDO; + } +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/LineListRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/LineListRequest.java index 12b7d1771..1d8364a88 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/LineListRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/LineListRequest.java @@ -27,7 +27,7 @@ public class LineListRequest extends PageBasicInfo { @ApiModelProperty("线索创建时间_结束") private String createTimeEnd; @ApiModelProperty("意向区域ID") - private Integer wantShopAreaId; + private Long wantShopAreaId; @ApiModelProperty("线索来源") private Integer lineSource; @ApiModelProperty("招商经理ID") diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/InitiatingResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/InitiatingResponse.java new file mode 100644 index 000000000..dacb64159 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/InitiatingResponse.java @@ -0,0 +1,21 @@ +package com.cool.store.response; + +import lombok.Data; + +@Data +public class InitiatingResponse { + /** + * 返回结果代码 + */ + private long code; + /** + * oa流程id + */ + private String data; + /** + * 提示信息 + */ + private String msg; + + private long serverTime; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/SigningBaseInfoResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/SigningBaseInfoResponse.java index 221cc223d..01795e311 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/SigningBaseInfoResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/SigningBaseInfoResponse.java @@ -47,6 +47,8 @@ public class SigningBaseInfoResponse { @ApiModelProperty("加盟身份 1个人加盟 2企业加盟") private Integer type; + @ApiModelProperty("公开拒绝原因") + private String rejectPublicReason; public static SigningBaseInfoResponse from(SigningBaseInfoDO signingBaseInfoDO) { if (signingBaseInfoDO == null) { diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/IntentAgreementService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/IntentAgreementService.java index 7f41eba0f..524d132a9 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/IntentAgreementService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/IntentAgreementService.java @@ -1,6 +1,8 @@ package com.cool.store.service; +import com.cool.store.request.InitiatingRequest; import com.cool.store.request.IntentAgreementSubmitRequest; +import com.cool.store.response.InitiatingResponse; import com.cool.store.response.SigningBaseInfoResponse; public interface IntentAgreementService { @@ -18,4 +20,6 @@ public interface IntentAgreementService { * @return */ SigningBaseInfoResponse getMiniIntentAgreement(String partnerId, Long lineId); + + InitiatingResponse initiating(InitiatingRequest request); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/TrainingExperienceService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/TrainingExperienceService.java index 886287d38..d69f7c0a3 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/TrainingExperienceService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/TrainingExperienceService.java @@ -20,4 +20,6 @@ public interface TrainingExperienceService { void experienceStatusChange(Long lineId, Integer status, String abandonCause); LeaseBaseInfoDO getTrainingExperience(Long lineId); + + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java index 7a6de22b4..6db1cf453 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java @@ -1,24 +1,33 @@ package com.cool.store.service.impl; +import com.alibaba.fastjson.JSONObject; import com.cool.store.dao.LineInfoDAO; -import com.cool.store.entity.LineInfoDO; -import com.cool.store.entity.MemberQuestionDO; -import com.cool.store.entity.SigningBaseInfoDO; -import com.cool.store.enums.*; +import com.cool.store.entity.*; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.enums.WorkflowSubStageEnum; +import com.cool.store.enums.WorkflowSubStageStatusEnum; import com.cool.store.exception.ServiceException; import com.cool.store.mapper.IntentAgreementMapper; import com.cool.store.mapper.JoinIntentionMapper; +import com.cool.store.mapper.LineAuditInfoMapper; import com.cool.store.mapper.LineInfoMapper; +import com.cool.store.mq.util.HttpRestTemplateService; +import com.cool.store.request.InitiatingRequest; import com.cool.store.request.IntentAgreementSubmitRequest; +import com.cool.store.response.InitiatingResponse; import com.cool.store.response.SigningBaseInfoResponse; import com.cool.store.service.IntentAgreementService; +import com.cool.store.utils.SecureUtil; import com.cool.store.utils.StringUtil; -import com.cool.store.utils.poi.StringUtils; +import com.cool.store.utils.poi.constant.Constants; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; import java.util.Objects; import static com.cool.store.enums.ErrorCodeEnum.PARAMS_VALIDATE_ERROR; @@ -40,21 +49,30 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten @Resource LineInfoDAO lineInfoDAO; + @Resource + private HttpRestTemplateService httpRestTemplateService; + + @Value("${xfsg.url}") + private String xfsgUrl; + + @Resource + LineAuditInfoMapper lineAuditInfoMapper; + @Override @Transactional(rollbackFor = Exception.class) public boolean submit(IntentAgreementSubmitRequest request) { SigningBaseInfoDO signingBaseInfoDO = request.toSigningBaseInfoDO(); - if(Objects.nonNull(request.getIdCardNo()) || Objects.nonNull(request.getBusinessLicenseCode())){ + if (Objects.nonNull(request.getIdCardNo()) || Objects.nonNull(request.getBusinessLicenseCode())) { SigningBaseInfoDO isExist = intentAgreementMapper.judge(request); - if (Objects.nonNull(isExist)){ + if (Objects.nonNull(isExist)) { throw new ServiceException(ErrorCodeEnum.BUSINESS_LICENSE_OR_ID_CARD_REPEAT); } } boolean submitStatus = intentAgreementMapper.insert(signingBaseInfoDO); - if (submitStatus){ + if (submitStatus) { LineInfoDO lineInfoDO = lineInfoMapper.getByPartnerId(request.getPartnerId()); - if (Objects.isNull(lineInfoDO)){ + if (Objects.isNull(lineInfoDO)) { throw new ServiceException(ErrorCodeEnum.INTERVIEW_PARTNER_NOT_EXIST); } lineInfoDO.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_63.getCode()); @@ -67,17 +85,27 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten @Override public SigningBaseInfoResponse getMiniIntentAgreement(String partnerId, Long lineId) { - if (StringUtil.isBlank(partnerId) && lineId == null){ + if (StringUtil.isBlank(partnerId) && lineId == null) { throw new ServiceException(PARAMS_VALIDATE_ERROR); } SigningBaseInfoDO signingBaseInfoDO = intentAgreementMapper.selectByPartnerIdOrLineId(partnerId, lineId); - if (Objects.isNull(signingBaseInfoDO)){ + + + if (Objects.isNull(signingBaseInfoDO)) { log.info("getMiniIntentAgreement signingBaseInfoDO IS NULL......"); return null; } + SigningBaseInfoResponse response = SigningBaseInfoResponse.from(signingBaseInfoDO); MemberQuestionDO byLineId = joinIntentionMapper.getByLineId(lineId); response.setType(byLineId.getJoinType()); + if (Objects.nonNull(signingBaseInfoDO.getAuditId())){ + LineAuditInfoDO lineAuditInfoDO = lineAuditInfoMapper.selectByPrimaryKey(signingBaseInfoDO.getAuditId()); + if (Objects.isNull(lineAuditInfoDO)){ + response.setRejectPublicReason(null); + } + response.setRejectPublicReason(lineAuditInfoDO.getRejectPublicReason()); + } return response; } @@ -90,25 +118,25 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten protected Boolean auditPass(Long auditId, LineInfoDO lineInfo) { //校验是否是审核节点 if (!lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_63.getCode()) && - !lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_75.getCode())){ + !lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_75.getCode())) { throw new ServiceException(ErrorCodeEnum.NOT_APPROVE_NODE); } //待审核code 63 处理逻辑 - if (lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_63.getCode())){ - lineInfo.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_70.getCode()); - lineInfoDAO.updateLineInfo(lineInfo); + if (lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_63.getCode())) { + lineInfo.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_70.getCode()); + lineInfoDAO.updateLineInfo(lineInfo); } //待OA审核code 75 处理逻辑 - if(lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_75.getCode())){ + if (lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_75.getCode())) { WorkflowSubStageEnum workflowSubStageEnum = WorkflowSubStageEnum.getWorkflowSubStageEnum(lineInfo.getWorkflowSubStage()); WorkflowSubStageEnum nextStage = workflowSubStageEnum.getNextStage(); //更新线索阶段 lineInfoDAO.updateWorkflowStage(lineInfo.getId(), nextStage, nextStage.getInitStatus()); //更新auditId SigningBaseInfoDO signingBaseInfoDO = intentAgreementMapper.selectByPartnerIdOrLineId(null, lineInfo.getId()); - if (Objects.nonNull(signingBaseInfoDO)){ - intentAgreementMapper.updateAuditId(lineInfo.getId(),auditId); - }else { + if (Objects.nonNull(signingBaseInfoDO)) { + intentAgreementMapper.updateAuditId(lineInfo.getId(), auditId); + } else { throw new ServiceException("无法更新,没有对应的签约基本信息"); } @@ -119,20 +147,20 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten @Override protected Boolean auditReject(Long auditId, LineInfoDO lineInfo) { if ((!lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_63.getCode()) && - !lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_75.getCode()))){ + !lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_75.getCode()))) { throw new ServiceException(ErrorCodeEnum.NOT_APPROVE_NODE); } //待审核code 63 处理逻辑 - if (lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_63.getCode())){ + if (lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_63.getCode())) { lineInfo.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_65.getCode()); lineInfoDAO.updateLineInfo(lineInfo); } //待OA审核code 75 处理逻辑 - if(lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_75.getCode())){ + if (lineInfo.getWorkflowStage().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_75.getCode())) { lineInfo.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_80.getCode()); lineInfoDAO.updateLineInfo(lineInfo); //更新auditId - intentAgreementMapper.updateAuditId(lineInfo.getId(),auditId); + intentAgreementMapper.updateAuditId(lineInfo.getId(), auditId); } return Boolean.TRUE; } @@ -141,4 +169,28 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten protected Boolean auditClose(Long auditId, LineInfoDO lineInfo) { return Boolean.TRUE; } + + @Override + public InitiatingResponse initiating(InitiatingRequest request) { + log.info("initiating request:{}", JSONObject.toJSONString(request)); + if (Objects.isNull(request)) { + throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); + } + Map requestMap = new HashMap<>(); + fillSignatureInfo(requestMap); + String url = xfsgUrl + Constants.INTENTION_CONTRACT_URL + "?timestamp=" + requestMap.get("timestamp") + "&signature=" + requestMap.get("signature"); + InitiatingDO initiatingDO = request.toInitiatingDO(); + LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(request.getLineId()); + initiatingDO.setKdzBusinessId(lineInfoDO.getId() + "_" + lineInfoDO.getWorkflowSubStageStatus()); + InitiatingResponse initiatingResponse = httpRestTemplateService.postForObject(url, initiatingDO, InitiatingResponse.class); + return initiatingResponse; + + } + + private void fillSignatureInfo(Map requestMap) { + long timestamp = System.currentTimeMillis(); + String signature = SecureUtil.getSignature(timestamp); + requestMap.put("timestamp", timestamp); + requestMap.put("signature", signature); + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java index 26f3ff70c..0e98851f0 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java @@ -114,8 +114,13 @@ public class LineServiceImpl implements LineService { userId = loginUserInfo.getUserId(); } } + String areaName = null; + if (lineListRequest.getWantShopAreaId() != null){ + HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(lineListRequest.getWantShopAreaId()); + areaName = hyOpenAreaInfoDO.getAreaPath(); + } PageHelper.startPage(lineListRequest.getPageNum(), lineListRequest.getPageSize()); - List lineInfoDOS = lineInfoDAO.lineList(lineListRequest, userId, wantShopAreaIds); + List lineInfoDOS = lineInfoDAO.lineList(lineListRequest,areaName, userId, wantShopAreaIds); PageInfo page = new PageInfo(lineInfoDOS); Map userPortraitMap = deskService.getUserPortraitMap(lineInfoDOS); List wantShopAreaIdList = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList()); @@ -191,7 +196,7 @@ public class LineServiceImpl implements LineService { String areaName = null; if (partnerRequest.getWantShopAreaId() != null){ HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(partnerRequest.getWantShopAreaId()); - areaName = hyOpenAreaInfoDO.getAreaName(); + areaName = hyOpenAreaInfoDO.getAreaPath(); } PageHelper.startPage(partnerRequest.getPageNum(), partnerRequest.getPageSize()); List lineInfoDOS = lineInfoDAO.partnerList(partnerRequest,areaName, userId, wantShopAreaIds); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TrainingExperienceServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TrainingExperienceServiceImpl.java index 574316d3e..a01ef0f0d 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TrainingExperienceServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TrainingExperienceServiceImpl.java @@ -98,4 +98,5 @@ public class TrainingExperienceServiceImpl extends LineFlowService implements Tr protected Boolean auditClose(Long auditId, LineInfoDO lineInfo) { return Boolean.TRUE; } + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java b/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java index 65536d4a0..f20a3b69e 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java @@ -167,4 +167,9 @@ public class Constants public static final String CONTENT_ENCODING = "Content-Encoding"; + public static final String INTENTION_CONTRACT_URL = "/api/coolstore/start-flow/intention-contract"; + + + + } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCIntentAgreementController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCIntentAgreementController.java index 02979f2db..295a43155 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCIntentAgreementController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCIntentAgreementController.java @@ -1,5 +1,7 @@ package com.cool.store.controller.webb; +import com.cool.store.request.InitiatingRequest; +import com.cool.store.response.InitiatingResponse; import com.cool.store.response.ResponseResult; import com.cool.store.response.SigningBaseInfoResponse; import com.cool.store.service.IntentAgreementService; @@ -27,4 +29,11 @@ public class PCIntentAgreementController { SigningBaseInfoResponse resp = intentAgreementService.getMiniIntentAgreement(partnerId, lineId); return ResponseResult.success(resp); } + + @PostMapping(path = "/initiating") + @ApiOperation("kdz -> xfsg 发起意向协议流程") + public ResponseResult initiating(@RequestParam + @RequestBody InitiatingRequest request) { + return ResponseResult.success(intentAgreementService.initiating(request)); + } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniTrainingExperienceController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniTrainingExperienceController.java index 31c004958..6d19bf2c4 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniTrainingExperienceController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniTrainingExperienceController.java @@ -1,15 +1,13 @@ package com.cool.store.controller.webc; +import com.cool.store.entity.LeaseBaseInfoDO; import com.cool.store.request.TrainingExperienceChangeRequest; import com.cool.store.response.ResponseResult; import com.cool.store.service.TrainingExperienceService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -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 javax.annotation.Resource; @@ -29,4 +27,12 @@ public class MiniTrainingExperienceController { return ResponseResult.success(); } + @ApiOperation("查询实训体验") + @GetMapping("/getStore") + public ResponseResult getStore(@RequestParam("lineId") Long lineId) { + return ResponseResult.success(trainingExperienceService.getTrainingExperience(lineId)); + } + + + } diff --git a/coolstore-partner-web/src/main/resources/application-local.properties b/coolstore-partner-web/src/main/resources/application-local.properties index b3c29452c..f70348bd0 100644 --- a/coolstore-partner-web/src/main/resources/application-local.properties +++ b/coolstore-partner-web/src/main/resources/application-local.properties @@ -74,4 +74,6 @@ wx.pay.privateKeyPath=D:\\weixin\\apiclient_key.pem aliyun.accessKeyId=LTAI5tQ6QBnWaB5LaJYz6zcD aliyun.accessKeySecret=spqsOgtfr54cwK861O3N3fInydTgjA -coolstore.page.domain=https://t2store.coolstore.cn/ \ No newline at end of file +coolstore.page.domain=https://t2store.coolstore.cn/ + +xfsg.url=https://inf-test.xianfengsg.com/InfService \ No newline at end of file diff --git a/coolstore-partner-web/src/main/resources/application-online.properties b/coolstore-partner-web/src/main/resources/application-online.properties index 0b57d5bb4..16379e74a 100644 --- a/coolstore-partner-web/src/main/resources/application-online.properties +++ b/coolstore-partner-web/src/main/resources/application-online.properties @@ -77,4 +77,6 @@ xxl.job.executor.logretentiondays=3 xxl.job.accessToken=25365115eed84e9ba5e0040abb255a09 exhibition.channel.id=52399 -recommended.channel.id=52400 \ No newline at end of file +recommended.channel.id=52400 + +xfsg.url=https://inf-test.xianfengsg.com/InfService \ No newline at end of file diff --git a/coolstore-partner-web/src/main/resources/application-test.properties b/coolstore-partner-web/src/main/resources/application-test.properties index e94418c21..c292ce1c2 100644 --- a/coolstore-partner-web/src/main/resources/application-test.properties +++ b/coolstore-partner-web/src/main/resources/application-test.properties @@ -79,4 +79,6 @@ xxl.job.accessToken = exhibition.channel.id=52399 recommended.channel.id=52400 -coolstore.page.domain=https://t2store.coolstore.cn/ \ No newline at end of file +coolstore.page.domain=https://t2store.coolstore.cn/ + +xfsg.url=https://inf-test.xianfengsg.com/InfService \ No newline at end of file