From 71962966894c7479a2a143694a8b1f544b54e4fc Mon Sep 17 00:00:00 2001 From: guohb Date: Mon, 29 Apr 2024 14:37:53 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E7=AD=BE=E7=BA=A6=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/enums/AuditTypeEnum.java | 1 + .../store/mapper/ShopAuditInfoMapper.java | 2 - .../com/cool/store/entity/FranchiseFeeDO.java | 2 + .../request/AuditFranchiseFeeRequest.java | 3 + .../store/response/FranchiseFeeResponse.java | 105 +++++++++++++++++- .../service/impl/FranchiseFeeServiceImpl.java | 29 ++++- 6 files changed, 136 insertions(+), 6 deletions(-) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/AuditTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/AuditTypeEnum.java index b516e7df4..0178cb702 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/AuditTypeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/AuditTypeEnum.java @@ -8,6 +8,7 @@ public enum AuditTypeEnum { SYS_BUILD(4, "系统建店"), SITE_SELECTION(5, "选址"), UPLOAD_RENT_CONTRACT(6, "上传租赁合同"), + PAY_FRANCHISE_FEE(7,"缴纳加盟费"), ; private Integer code; diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopAuditInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopAuditInfoMapper.java index 2012e37e7..417e91578 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopAuditInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopAuditInfoMapper.java @@ -20,6 +20,4 @@ public interface ShopAuditInfoMapper extends Mapper { * @description:根据店铺id查询审批结果 */ Long selectAuditIdByShopId(@Param("shopId") Long shopId); - - } \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/FranchiseFeeDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/FranchiseFeeDO.java index 69ef4eb05..31fe07899 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/FranchiseFeeDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/FranchiseFeeDO.java @@ -21,6 +21,8 @@ public class FranchiseFeeDO { private Long shopId; @Column(name = "pay_id") private Long payId; + @Column(name = "audit_id") + private Long auditId; @Column(name = "year_franchise_fee") private String yearFranchiseFee; @Column(name = "loan_margin") diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/AuditFranchiseFeeRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AuditFranchiseFeeRequest.java index 8012753db..fac0659e9 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/AuditFranchiseFeeRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AuditFranchiseFeeRequest.java @@ -13,4 +13,7 @@ public class AuditFranchiseFeeRequest { @ApiModelProperty("shopId") private Long shopId; + + @ApiModelProperty("主键id") + private Long id; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/FranchiseFeeResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/FranchiseFeeResponse.java index af0a15fa5..b22b6d701 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/FranchiseFeeResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/FranchiseFeeResponse.java @@ -42,7 +42,110 @@ public class FranchiseFeeResponse { private Date createTime; private Date updateTime; - private LinePayDO linePayDO; + private LinePay linePayDO; + + @Data + public static class LinePay{ + @ApiModelProperty("") + private Long id; + + @ApiModelProperty("xfsg_user_info.partner_id") + private String partnerId; + + @ApiModelProperty("line_info.id") + private Long lineId; + + @ApiModelProperty("支付状态 45:待缴费 50:已缴费 55缴费失败") + private Integer payStatus; + + @ApiModelProperty("支付方式 1微信 2银行转账") + private Integer payType; + + @ApiModelProperty("付款人姓名") + private String payUserName; + + @ApiModelProperty("付款账号") + private String payAccount; + + @ApiModelProperty("开户行code") + private String bankCode; + + @ApiModelProperty("开户行名称") + private String bankName; + + @ApiModelProperty("支行code") + private String branchBankCode; + + @ApiModelProperty("支行名称") + private String branchBankName; + + @ApiModelProperty("缴纳时间") + private Date payTime; + + @ApiModelProperty("付款截图") + private String payPic; + + @ApiModelProperty("承诺书图片") + private String promisePic; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新时间") + private Date updateTime; + + @ApiModelProperty("创建人") + private String createUserId; + + @ApiModelProperty("更新人") + private String updateUserId; + + @ApiModelProperty("是否删除:0.否 1.是") + private Boolean deleted; + + @ApiModelProperty("支付类型 0-缴纳意向金 1-缴纳加盟费 2-装修款") + private Integer payBusinessType; + + @ApiModelProperty("缴费金额") + private String amount; + + @ApiModelProperty("加盟商姓名") + private String partnerName; + + @ApiModelProperty("审核原因") + private String result; + + @ApiModelProperty("审核状态") + private Integer status; + + public static LinePay from(LinePayDO linePayDO) { + if (linePayDO == null) { + return null; + } + LinePay linePayDO1 = new LinePay(); + linePayDO1.setId(linePayDO.getId()); + linePayDO1.setPartnerId(linePayDO.getPartnerId()); + linePayDO1.setLineId(linePayDO.getLineId()); + linePayDO1.setPayStatus(linePayDO.getPayStatus()); + linePayDO1.setPayType(linePayDO.getPayType()); + linePayDO1.setPayUserName(linePayDO.getPayUserName()); + linePayDO1.setPayAccount(linePayDO.getPayAccount()); + linePayDO1.setBankCode(linePayDO.getBankCode()); + linePayDO1.setBankName(linePayDO.getBankName()); + linePayDO1.setBranchBankCode(linePayDO.getBranchBankCode()); + linePayDO1.setBranchBankName(linePayDO.getBranchBankName()); + linePayDO1.setPayTime(linePayDO.getPayTime()); + linePayDO1.setPayPic(linePayDO.getPayPic()); + linePayDO1.setPromisePic(linePayDO.getPromisePic()); + linePayDO1.setCreateTime(linePayDO.getCreateTime()); + linePayDO1.setUpdateTime(linePayDO.getUpdateTime()); + linePayDO1.setCreateUserId(linePayDO.getCreateUserId()); + linePayDO1.setUpdateUserId(linePayDO.getUpdateUserId()); + linePayDO1.setDeleted(linePayDO.getDeleted()); + linePayDO1.setPayBusinessType(linePayDO.getPayBusinessType()); + return linePayDO1; + } + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java index 1f95666f0..9526ae6a4 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseFeeServiceImpl.java @@ -5,11 +5,13 @@ import com.cool.store.context.CurrentUserHolder; import com.cool.store.context.LoginUserInfo; import com.cool.store.dao.ShopStageInfoDAO; import com.cool.store.entity.FranchiseFeeDO; +import com.cool.store.entity.LineInfoDO; import com.cool.store.entity.LinePayDO; import com.cool.store.entity.ShopAuditInfoDO; import com.cool.store.enums.AuditTypeEnum; import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.mapper.FranchiseFeeMapper; +import com.cool.store.mapper.LineInfoMapper; import com.cool.store.mapper.LinePayMapper; import com.cool.store.mapper.ShopAuditInfoMapper; import com.cool.store.request.AuditFranchiseFeeRequest; @@ -22,6 +24,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.math.BigInteger; +import java.util.Objects; @Service @Slf4j @@ -39,6 +43,9 @@ public class FranchiseFeeServiceImpl implements FranchiseFeeService { @Resource ShopStageInfoDAO shopStageInfoDAO; + @Resource + LineInfoMapper lineInfoMapper; + @Override @Transactional(rollbackFor = Exception.class) public Boolean submitLicense(FranchiseFeeRequest request) { @@ -54,8 +61,17 @@ public class FranchiseFeeServiceImpl implements FranchiseFeeService { franchiseFeeDO.setShopId(shopId); FranchiseFeeDO result = franchiseFeeMapper.selectOneByExample(franchiseFeeDO); LinePayDO linePayDO = linePayMapper.selectByPrimaryKey(result.getPayId()); + LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(linePayDO.getLineId()); FranchiseFeeResponse resp = FranchiseFeeResponse.from(result); - resp.setLinePayDO(linePayDO); + FranchiseFeeResponse.LinePay linePayResult = FranchiseFeeResponse.LinePay.from(linePayDO); + linePayResult.setAmount(new BigInteger(result.getPerformanceBond()).add(new BigInteger(result.getFirstYearFee())).toString()); + linePayResult.setPartnerName(lineInfoDO.getUsername()); + if (Objects.nonNull(result.getAuditId())){ + ShopAuditInfoDO shopAuditInfoDO = shopAuditInfoMapper.selectByPrimaryKey(result.getAuditId()); + linePayResult.setStatus(shopAuditInfoDO.getResultType()); + linePayResult.setResult(shopAuditInfoDO.getResultType() == 0 ? shopAuditInfoDO.getPassReason() : shopAuditInfoDO.getRejectReason()); + } + resp.setLinePayDO(linePayResult); return resp; } @@ -64,7 +80,7 @@ public class FranchiseFeeServiceImpl implements FranchiseFeeService { ShopAuditInfoDO shopAuditInfoDO = new ShopAuditInfoDO(); shopAuditInfoDO.setShopId(request.getShopId()); ShopSubStageStatusEnum shopSubStageStatusEnum = null; - shopAuditInfoDO.setAuditType(AuditTypeEnum.LICENSE_APPROVAL.getCode()); + shopAuditInfoDO.setAuditType(AuditTypeEnum.PAY_FRANCHISE_FEE.getCode()); LoginUserInfo user = CurrentUserHolder.getUser(); shopAuditInfoDO.setSubmittedUserId(user.getUserId()); shopAuditInfoDO.setSubmittedUserName(user.getName()); @@ -77,7 +93,14 @@ public class FranchiseFeeServiceImpl implements FranchiseFeeService { shopAuditInfoDO.setRejectReason(request.getResult()); shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_74; } + //更新阶段信息 shopStageInfoDAO.updateShopStageInfo(request.getShopId(),shopSubStageStatusEnum); - return shopAuditInfoMapper.insertSelective(shopAuditInfoDO) == 1 ? true : false; + //插入audit + shopAuditInfoMapper.insertSelective(shopAuditInfoDO); + //更新auditId + FranchiseFeeDO franchiseFeeDO = franchiseFeeMapper.selectByPrimaryKey(request.getId()); + franchiseFeeDO.setAuditId(shopAuditInfoDO.getId()); + franchiseFeeMapper.updateByPrimaryKeySelective(franchiseFeeDO); + return true; } } From cee949537b1529824f9d1bdf9e560ce4ec0ec2b6 Mon Sep 17 00:00:00 2001 From: wangxiaopeng <807933401@qq.com> Date: Mon, 29 Apr 2024 14:48:00 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E8=BA=AB=E4=BB=BD?= =?UTF-8?q?=E8=AF=81=E5=8F=B7=E8=8E=B7=E5=8F=96=E4=BA=BA=E5=91=98=E4=B8=BB?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/enums/ErrorCodeEnum.java | 1 + .../com/cool/store/dao/EnterpriseUserDAO.java | 11 ++++++-- .../store/mapper/EnterpriseUserMapper.java | 1 + .../resources/mapper/EnterpriseUserMapper.xml | 13 +++++++++- .../cool/store/entity/EnterpriseUserDO.java | 5 ++++ .../cool/store/service/XfsgEhrService.java | 4 ++- .../service/impl/XfsgEhrServiceImpl.java | 25 +++++++++++++++++++ .../webc/TrainingRegistController.java | 8 +++++- 8 files changed, 63 insertions(+), 5 deletions(-) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index 4e4e617f6..bfa0d79da 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -41,6 +41,7 @@ public enum ErrorCodeEnum { USER_FREEZE(1021019,"账号被冻结,请联系管理员",null), ENTERPRISE_NOT_EXIST(1021020,"企业不存在",null), USER_NOT_EXIST(1021021,"用户不存在",null), + JOBNUMBER_NOT_EXIST(1021017,"用户工号不存在",null), USER_WAIT_AUDIT(1021018,"账号审核中,请联系企业管理员",null), OPERATION_OVER_TIME(1021019, "您的操作过于频繁,休息一下~", null), GET_APP_SECRET_ERROR(1021020, "获取secret异常", null), diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java index a1e020a2e..17fc37b04 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java @@ -27,19 +27,26 @@ public class EnterpriseUserDAO { public EnterpriseUserDO getUserInfoById(String userId){ - if(StringUtils.isAnyBlank(userId)){ + if(StringUtils.isBlank(userId)){ return null; } return enterpriseUserMapper.getUserInfoById( userId); } public EnterpriseUserDO getUserInfoByJobnumber(String jobnumber){ - if(StringUtils.isAnyBlank(jobnumber)){ + if(StringUtils.isBlank(jobnumber)){ return null; } return enterpriseUserMapper.getUserInfoByJobnumber(jobnumber); } + public EnterpriseUserDO getUserInfoByThirdOaUniqueFlag(String thirdOaUniqueFlag){ + if(StringUtils.isBlank(thirdOaUniqueFlag)){ + return null; + } + return enterpriseUserMapper.getUserInfoByThirdOaUniqueFlag(thirdOaUniqueFlag); + } + public List getUserInfoByUserIds(List userIdList){ if(CollectionUtils.isEmpty(userIdList)){ return Lists.newArrayList(); diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java index 32efd13c9..8af158da8 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java @@ -22,6 +22,7 @@ public interface EnterpriseUserMapper { EnterpriseUserDO getUserInfoByJobnumber(@Param("jobnumber") String jobnumber); + EnterpriseUserDO getUserInfoByThirdOaUniqueFlag(@Param("thirdOaUniqueFlag") String thirdOaUniqueFlag); /** * 批量获取用户信息 diff --git a/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml index 18991e498..0a45e4285 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml @@ -19,13 +19,15 @@ + id, user_id, name, remark, mobile, email, org_email, main_admin, is_admin, unionid, - avatar, jobnumber, is_leader, is_leader_in_depts, face_url, user_status, create_time + avatar, jobnumber, is_leader, is_leader_in_depts, face_url, user_status, create_time, + third_oa_unique_flag user_region_ids @@ -51,6 +53,15 @@ jobnumber = #{jobnumber} + - select - - from xfsg_line_pay - where id = #{id,jdbcType=BIGINT} - - - delete from xfsg_line_pay - where id = #{id,jdbcType=BIGINT} - - - - SELECT LAST_INSERT_ID() - - insert into xfsg_line_pay - - - partner_id, - - - line_id, - - - pay_status, - - - pay_type, - - - pay_user_name, - - - pay_account, - - - bank_code, - - - bank_name, - - - branch_bank_code, - - - branch_bank_name, - - - pay_time, - - - pay_pic, - - - promise_pic, - - - create_time, - - - update_time, - - - create_user_id, - - - update_user_id, - - - deleted, - - - - - #{partnerId,jdbcType=VARCHAR}, - - - #{lineId,jdbcType=BIGINT}, - - - #{payStatus,jdbcType=TINYINT}, - - - #{payType,jdbcType=TINYINT}, - - - #{payUserName,jdbcType=VARCHAR}, - - - #{payAccount,jdbcType=VARCHAR}, - - - #{bankCode,jdbcType=VARCHAR}, - - - #{bankName,jdbcType=VARCHAR}, - - - #{branchBankCode,jdbcType=VARCHAR}, - - - #{branchBankName,jdbcType=VARCHAR}, - - - #{payTime,jdbcType=TIMESTAMP}, - - - #{payPic,jdbcType=VARCHAR}, - - - #{promisePic,jdbcType=VARCHAR}, - - - #{createTime,jdbcType=TIMESTAMP}, - - - #{updateTime,jdbcType=TIMESTAMP}, - - - #{createUserId,jdbcType=VARCHAR}, - - - #{updateUserId,jdbcType=VARCHAR}, - - - #{deleted,jdbcType=BIT}, - - - - - update xfsg_line_pay - - - partner_id = #{partnerId,jdbcType=VARCHAR}, - - - line_id = #{lineId,jdbcType=BIGINT}, - - - pay_status = #{payStatus,jdbcType=TINYINT}, - - - pay_type = #{payType,jdbcType=TINYINT}, - - - pay_user_name = #{payUserName,jdbcType=VARCHAR}, - - - pay_account = #{payAccount,jdbcType=VARCHAR}, - - - bank_code = #{bankCode,jdbcType=VARCHAR}, - - - bank_name = #{bankName,jdbcType=VARCHAR}, - - - branch_bank_code = #{branchBankCode,jdbcType=VARCHAR}, - - - branch_bank_name = #{branchBankName,jdbcType=VARCHAR}, - - - pay_time = #{payTime,jdbcType=TIMESTAMP}, - - - pay_pic = #{payPic,jdbcType=VARCHAR}, - - - promise_pic = #{promisePic,jdbcType=VARCHAR}, - - - create_time = #{createTime,jdbcType=TIMESTAMP}, - - - update_time = #{updateTime,jdbcType=TIMESTAMP}, - - - create_user_id = #{createUserId,jdbcType=VARCHAR}, - - - update_user_id = #{updateUserId,jdbcType=VARCHAR}, - - - deleted = #{deleted,jdbcType=BIT}, - - - where id = #{id,jdbcType=BIGINT} - - - update xfsg_line_pay - set audit_id = #{auditId} - where line_id = #{lineId} - and partner_id = #{partnerId} - - - - - and t.id = #{id,jdbcType=BIGINT} - - - and t.partner_id = #{partnerId,jdbcType=VARCHAR} - - - and t.line_id = #{lineId,jdbcType=BIGINT} - - - and t.pay_status = #{payStatus,jdbcType=TINYINT} - - - and t.pay_type = #{payType,jdbcType=TINYINT} - - - and t.pay_user_name = #{payUserName,jdbcType=VARCHAR} - - - and t.pay_account = #{payAccount,jdbcType=VARCHAR} - - - and t.bank_code = #{bankCode,jdbcType=VARCHAR} - - - and t.bank_name = #{bankName,jdbcType=VARCHAR} - - - and t.branch_bank_code = #{branchBankCode,jdbcType=VARCHAR} - - - and t.branch_bank_name = #{branchBankName,jdbcType=VARCHAR} - - - and t.pay_time = #{payTime,jdbcType=TIMESTAMP} - - - and t.pay_pic = #{payPic,jdbcType=VARCHAR} - - - and t.promise_pic = #{promisePic,jdbcType=VARCHAR} - - - and t.create_time = #{createTime,jdbcType=TIMESTAMP} - - - and t.update_time = #{updateTime,jdbcType=TIMESTAMP} - - - and t.create_user_id = #{createUserId,jdbcType=VARCHAR} - - - and t.update_user_id = #{updateUserId,jdbcType=VARCHAR} - - - and t.deleted = #{deleted,jdbcType=BIT} - - - + + + + delete + from xfsg_line_pay + where id = #{id,jdbcType=BIGINT} + + + + SELECT LAST_INSERT_ID() + + insert into xfsg_line_pay + + + partner_id, + + + line_id, + + + pay_status, + + + pay_type, + + + pay_user_name, + + + pay_account, + + + bank_code, + + + bank_name, + + + branch_bank_code, + + + branch_bank_name, + + + pay_time, + + + pay_pic, + + + promise_pic, + + + create_time, + + + update_time, + + + create_user_id, + + + update_user_id, + + + deleted, + + + pay_business_type + + + + + #{partnerId,jdbcType=VARCHAR}, + + + #{lineId,jdbcType=BIGINT}, + + + #{payStatus,jdbcType=TINYINT}, + + + #{payType,jdbcType=TINYINT}, + + + #{payUserName,jdbcType=VARCHAR}, + + + #{payAccount,jdbcType=VARCHAR}, + + + #{bankCode,jdbcType=VARCHAR}, + + + #{bankName,jdbcType=VARCHAR}, + + + #{branchBankCode,jdbcType=VARCHAR}, + + + #{branchBankName,jdbcType=VARCHAR}, + + + #{payTime,jdbcType=TIMESTAMP}, + + + #{payPic,jdbcType=VARCHAR}, + + + #{promisePic,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + #{updateTime,jdbcType=TIMESTAMP}, + + + #{createUserId,jdbcType=VARCHAR}, + + + #{updateUserId,jdbcType=VARCHAR}, + + + #{deleted,jdbcType=BIT}, + + + #{payBusinessType,jdbcType=TINYINT} + + + + + update xfsg_line_pay + + + partner_id = #{partnerId,jdbcType=VARCHAR}, + + + line_id = #{lineId,jdbcType=BIGINT}, + + + pay_status = #{payStatus,jdbcType=TINYINT}, + + + pay_type = #{payType,jdbcType=TINYINT}, + + + pay_user_name = #{payUserName,jdbcType=VARCHAR}, + + + pay_account = #{payAccount,jdbcType=VARCHAR}, + + + bank_code = #{bankCode,jdbcType=VARCHAR}, + + + bank_name = #{bankName,jdbcType=VARCHAR}, + + + branch_bank_code = #{branchBankCode,jdbcType=VARCHAR}, + + + branch_bank_name = #{branchBankName,jdbcType=VARCHAR}, + + + pay_time = #{payTime,jdbcType=TIMESTAMP}, + + + pay_pic = #{payPic,jdbcType=VARCHAR}, + + + promise_pic = #{promisePic,jdbcType=VARCHAR}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + update_time = #{updateTime,jdbcType=TIMESTAMP}, + + + create_user_id = #{createUserId,jdbcType=VARCHAR}, + + + update_user_id = #{updateUserId,jdbcType=VARCHAR}, + + + deleted = #{deleted,jdbcType=BIT}, + + + where id = #{id,jdbcType=BIGINT} + + + update xfsg_line_pay + set audit_id = #{auditId} + where line_id = #{lineId} + and partner_id = #{partnerId} + + + + + and t.id = #{id,jdbcType=BIGINT} + + + and t.partner_id = #{partnerId,jdbcType=VARCHAR} + + + and t.line_id = #{lineId,jdbcType=BIGINT} + + + and t.pay_status = #{payStatus,jdbcType=TINYINT} + + + and t.pay_type = #{payType,jdbcType=TINYINT} + + + and t.pay_user_name = #{payUserName,jdbcType=VARCHAR} + + + and t.pay_account = #{payAccount,jdbcType=VARCHAR} + + + and t.bank_code = #{bankCode,jdbcType=VARCHAR} + + + and t.bank_name = #{bankName,jdbcType=VARCHAR} + + + and t.branch_bank_code = #{branchBankCode,jdbcType=VARCHAR} + + + and t.branch_bank_name = #{branchBankName,jdbcType=VARCHAR} + + + and t.pay_time = #{payTime,jdbcType=TIMESTAMP} + + + and t.pay_pic = #{payPic,jdbcType=VARCHAR} + + + and t.promise_pic = #{promisePic,jdbcType=VARCHAR} + + + and t.create_time = #{createTime,jdbcType=TIMESTAMP} + + + and t.update_time = #{updateTime,jdbcType=TIMESTAMP} + + + and t.create_user_id = #{createUserId,jdbcType=VARCHAR} + + + and t.update_user_id = #{updateUserId,jdbcType=VARCHAR} + + + and t.deleted = #{deleted,jdbcType=BIT} + + + - + - + - + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/OpeningOperationPlanMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/OpeningOperationPlanMapper.xml index 005b6600a..bff49fd53 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/OpeningOperationPlanMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/OpeningOperationPlanMapper.xml @@ -47,7 +47,7 @@ - + select id as shopId,store_num as storeNum from xfsg_shop_info where 1=1 and id in - + #{shopId} @@ -149,11 +149,11 @@ - select r.parent_id from xfsg_shop_info xsi join region_${enterpriseId} r on r.id = xsi.region_id - where xsi.shop_code = #{shopCode} + where xsi.id = #{shopId} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/openPreparation/OpenPlanShopInfoDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/openPreparation/OpenPlanShopInfoDTO.java index 7603c0997..22063f80d 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/openPreparation/OpenPlanShopInfoDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/openPreparation/OpenPlanShopInfoDTO.java @@ -26,8 +26,8 @@ public class OpenPlanShopInfoDTO { @ApiModelProperty("门店名字") private String shopName; - @ApiModelProperty("门店代码") - private String shopCode; + @ApiModelProperty("门店编码") + private String storeNum; @ApiModelProperty("开店负责人id") private String shopManagerUserId; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/DecorationPayRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/DecorationPayRequest.java index 6afe557ef..66b65c8f9 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/DecorationPayRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/DecorationPayRequest.java @@ -1,8 +1,10 @@ package com.cool.store.request; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotNull; import java.util.Date; /** @@ -13,20 +15,30 @@ import java.util.Date; */ @Data public class DecorationPayRequest { + @ApiModelProperty("xfsg_user_info.partner_id") + private String partnerId; @ApiModelProperty("line_info.id") + @NotNull(message = "线索id不能为空") private Long lineId; - @ApiModelProperty("店铺编码") - private String shopCode; + @ApiModelProperty("店铺shopId") + private String shopId; @ApiModelProperty("加盟商姓名") private String name; @ApiModelProperty("支付账户") private String payAccount; @ApiModelProperty("开户行code") private String bankCode; + @ApiModelProperty("开户行名称") + private String bankName; @ApiModelProperty("支行code") private String branchBankCode; + @ApiModelProperty("支行名称") + private String branchBankName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty("缴纳时间") private Date payTime; @ApiModelProperty("付款截图") private String payPic; + @ApiModelProperty("支付类型 2-装修款") + private Integer payBusinessType; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/OpeningOperationPlanListVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/OpeningOperationPlanListVO.java index 16f52f23a..955780cf1 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/OpeningOperationPlanListVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/OpeningOperationPlanListVO.java @@ -22,7 +22,7 @@ public class OpeningOperationPlanListVO { private String shopName; @ApiModelProperty("门店代码") - private String shopCode; + private String storeNum; @ApiModelProperty("开店负责人") private String shopManagerName; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationService.java index 91c27f5fc..eceea9e3e 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/DecorationService.java @@ -3,6 +3,7 @@ package com.cool.store.service; import com.cool.store.dto.decoration.ConstructionScheduleDTO; import com.cool.store.dto.decoration.DecorationModelDTO; import com.cool.store.request.DecorationPayRequest; +import com.cool.store.request.LinePaySubmitRequest; import com.cool.store.vo.DesignInfoVo; import com.cool.store.vo.PartnerUserInfoVO; @@ -26,23 +27,23 @@ public interface DecorationService { * @Date: 2024/4/28 * @description:设计阶段信息 */ - DesignInfoVo DesignInfo(String shopCode); + DesignInfoVo DesignInfo(Long shopId); /** * @Auther: wangshuo * @Date: 2024/4/28 * @description:获取装修款和支付二维码 */ - DecorationModelDTO DecorationModel(String shopCode); + DecorationModelDTO DecorationModel(Long shopId); /** * @Auther: wangshuo * @Date: 2024/4/28 * @description:提交装修款付款凭证 */ - String submitDecorationModel(DecorationPayRequest decorationPayRequest, PartnerUserInfoVO partnerUserInfoVO); + String submitDecorationModel(LinePaySubmitRequest LinePaySubmitRequest, PartnerUserInfoVO partnerUserInfoVO); /** * @Auther: wangshuo * @Date: 2024/4/28 * @description:施工阶段 */ - List getConstruction(String shopCode); + List getConstruction(Long shopId); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java index b3b7b9704..b97e4b22a 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java @@ -3,17 +3,26 @@ package com.cool.store.service.impl; import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSONObject; import com.cool.store.context.PartnerUserHolder; +import com.cool.store.dao.LineInfoDAO; import com.cool.store.dao.LinePayDAO; import com.cool.store.dao.RegionQrcodeConfigDao; import com.cool.store.dao.ShopInfoDAO; import com.cool.store.dto.decoration.*; +import com.cool.store.dto.openPreparation.OpenPlanShopInfoDTO; +import com.cool.store.entity.LineInfoDO; import com.cool.store.entity.LinePayDO; import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.enums.WorkflowSubStageStatusEnum; +import com.cool.store.enums.point.PayBusinessTypeEnum; +import com.cool.store.enums.point.PayTypeEnum; import com.cool.store.exception.ServiceException; import com.cool.store.request.DecorationPayRequest; +import com.cool.store.request.LinePaySubmitRequest; import com.cool.store.service.DecorationService; +import com.cool.store.service.LinePayService; import com.cool.store.service.YlfService; import com.cool.store.utils.poi.StringUtils; +import com.cool.store.utils.poi.constant.Constants; import com.cool.store.vo.DesignInfoVo; import com.cool.store.vo.PartnerUserInfoVO; import com.cool.store.vo.log.DesignLogVo; @@ -21,6 +30,7 @@ import org.apache.poi.ss.formula.functions.T; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.*; @@ -44,7 +54,10 @@ public class DecorationServiceImpl implements DecorationService { @Resource private ShopInfoDAO shopInfoDAO; @Resource - private LinePayDAO linePayDAO; + private LineInfoDAO lineInfoDAO; + + @Resource + private LinePayService linePayService; private static String MEASURING_THE_ROOM = "量房"; private static String CONSTRUCTION_DRAWING = "施工图+预算"; @Override @@ -53,10 +66,8 @@ public class DecorationServiceImpl implements DecorationService { } @Override - public DesignInfoVo DesignInfo(String shopCode) { - ProjectDTO projectList = ylfService.getProjectList(shopCode); - String projectId = projectList.getProjectId(); - DecorationDTO decoration = ylfService.getDecoration(Long.parseLong(projectId)); + public DesignInfoVo DesignInfo(Long shopId) { + DecorationDTO decoration = getDecorationDTO(shopId); List designScheme = decoration.getDesignScheme(); List constructionSchedule = decoration.getConstructionSchedule(); @@ -78,54 +89,61 @@ public class DecorationServiceImpl implements DecorationService { return designInfoVo; } + @Override - public DecorationModelDTO DecorationModel(String shopCode) { - if (StringUtils.isEmpty(shopCode)){ + public DecorationModelDTO DecorationModel(Long shopId) { + if (shopId == null){ log.error("DecorationModel shopCode is null"); throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); } - ProjectDTO projectList = ylfService.getProjectList(shopCode); - String projectId = projectList.getProjectId(); - DecorationDTO decoration = ylfService.getDecoration(Long.parseLong(projectId)); + DecorationDTO decoration = getDecorationDTO(shopId); //TODO 验证 //预算 List proposedBookBudget = decoration.getProposedBookBudget(); Collections.sort(decoration.getProposedBookBudget(),(x1,x2)->x2.getId().compareTo(x1.getId())); String totalAmount = proposedBookBudget.get(0).getTotalAmount(); //支付二维码url - Long regionId = shopInfoDAO.getRegionIdByShopCode(shopCode); + Long regionId = shopInfoDAO.getRegionIdByid(shopId); String payPic = regionQrcodeConfigDao.getPayPicByRegionId(regionId); DecorationModelDTO decorationModelDTO = new DecorationModelDTO(); decorationModelDTO.setPayUrl(payPic); decorationModelDTO.setTotalAmount(totalAmount); return decorationModelDTO; } - + @Transactional(rollbackFor = Exception.class) @Override - public String submitDecorationModel(DecorationPayRequest decorationPayRequest, PartnerUserInfoVO partnerUserInfoVO) { - LinePayDO linePayDO =new LinePayDO(); - BeanUtil.copyProperties(decorationPayRequest, linePayDO); - linePayDO.setCreateTime(new Date()); - linePayDO.setUpdateTime(new Date()); - linePayDO.setLineId(partnerUserInfoVO.getLineId()); - linePayDO.setCreateUserId(partnerUserInfoVO.getUsername()); - linePayDO.setUpdateUserId(partnerUserInfoVO.getUsername()); - linePayDO.setPayBusinessType(2); - linePayDO.setPayType(2); - return ""; + public String submitDecorationModel(LinePaySubmitRequest request, PartnerUserInfoVO partnerUserInfoVO) { + DecorationDTO decoration = getDecorationDTO(request.getShopId()); + if ( decoration.getPayment() != null && decoration.getPayment().size()>0){ + request.setPayStatus(WorkflowSubStageStatusEnum.PAY_DEPOSIT_50.getCode()); + }else { + request.setPayStatus(WorkflowSubStageStatusEnum.PAY_DEPOSIT_45.getCode()); + } + + Long payId = linePayService.submitPayInfo(request, partnerUserInfoVO); + return payId.toString(); } - @Override - public List getConstruction(String shopCode) { - ProjectDTO projectList = ylfService.getProjectList(shopCode); - String projectId = projectList.getProjectId(); - DecorationDTO decoration = ylfService.getDecoration(Long.parseLong(projectId)); + public List getConstruction(Long shopId) { + DecorationDTO decoration = getDecorationDTO(shopId); List constructionSchedule = decoration.getConstructionSchedule(); Map constructionScheduleMap = constructionSchedule.stream().collect(Collectors.toMap(ConstructionScheduleDTO::getName, dto -> dto)); constructionScheduleMap.remove(MEASURING_THE_ROOM); constructionScheduleMap.remove(CONSTRUCTION_DRAWING); List collect = constructionScheduleMap.values().stream().collect(Collectors.toList()); + collect.sort(Comparator.comparing(ConstructionScheduleDTO::getId)); return collect; } + private DecorationDTO getDecorationDTO(Long shopId) { + List shopIds =new ArrayList<>(); + shopIds.add(shopId); + List openPlanShopInfoDTOS = shopInfoDAO.queryStoreNumeListByid(shopIds); + String storeNum = openPlanShopInfoDTOS.get(0).getStoreNum(); + ProjectDTO projectList = ylfService.getProjectList(storeNum); + String projectId = projectList.getProjectId(); + DecorationDTO decoration = ylfService.getDecoration(Long.parseLong(projectId)); + return decoration; + } + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LinePayServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LinePayServiceImpl.java index dc6fa5e72..e289bc240 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LinePayServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LinePayServiceImpl.java @@ -11,6 +11,8 @@ import com.cool.store.entity.LinePayDO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.WorkflowSubStageEnum; import com.cool.store.enums.WorkflowSubStageStatusEnum; +import com.cool.store.enums.point.PayBusinessTypeEnum; +import com.cool.store.enums.point.PayTypeEnum; import com.cool.store.exception.ServiceException; import com.cool.store.mapper.FranchiseFeeMapper; import com.cool.store.mapper.LineInfoMapper; @@ -82,7 +84,10 @@ public class LinePayServiceImpl implements LinePayService { fillLinePay(false, linePayDO, request, partnerUser); linePayDAO.updateLinePay(linePayDO); } - }else { + } + if(request.getPayBusinessType() != null + && request.getPayBusinessType() == 0 + && request.getShopId() != null) { LinePayDO linePayDO = linePayDAO.getLinePayByLineIdAndPayType(request.getLineId(),0); if(linePayDO == null){ linePayDO = new LinePayDO(); @@ -98,6 +103,20 @@ public class LinePayServiceImpl implements LinePayService { lineInfoDAO.insertOrUpdate(lineInfo); return linePayDO.getId(); } + if (request.getPayBusinessType() != null + && request.getPayBusinessType() == PayBusinessTypeEnum.DECORATION_MODEL.getCode() + && request.getShopId() != null){ + LinePayDO linePayDO = linePayDAO.getLinePayByLineIdAndPayType(request.getLineId(),PayBusinessTypeEnum.DECORATION_MODEL.getCode()); + if(linePayDO == null){ + linePayDO = new LinePayDO(); + fillLinePay(true, linePayDO, request, partnerUser); + linePayDAO.addLinePay(linePayDO); + }else { + fillLinePay(false, linePayDO, request, partnerUser); + linePayDAO.updateLinePay(linePayDO); + } + return linePayDO.getId(); + } return null; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpeningOperationPlanImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpeningOperationPlanImpl.java index e23c40baf..bc09fabd4 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpeningOperationPlanImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpeningOperationPlanImpl.java @@ -164,7 +164,7 @@ public class OpeningOperationPlanImpl implements OpeningOperationPlanService { OpeningOperationPlanListVO openingOperationPlanListVO = new OpeningOperationPlanListVO(); openingOperationPlanListVO.setShopId(x.getShopId()); openingOperationPlanListVO.setShopName(x.getShopName()); - openingOperationPlanListVO.setShopCode(x.getShopCode()); + openingOperationPlanListVO.setStoreNum(x.getStoreNum()); openingOperationPlanListVO.setPartnerName(x.getPartnerName()); openingOperationPlanListVO.setMobile(x.getMobile()); String[] split = regionNameMap.getOrDefault(x.getRegionId(), "").split("-"); diff --git a/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java b/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java index 21b531931..03c7bffa0 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java @@ -53,6 +53,8 @@ public class SignValidateFilter implements Filter { "/xfsg/favicon.ico", "/xfsg/v2/api-docs","/**/test/**", "/xfsg/mini/program/oss/getUploadFileConfig", + // + "/xfsg/mini/decoration/**", "/xfsg/mini/program/v1/partnerManage/partner/getIdentityCardInfo", "/**/swagger*/**", "/**/webjars/**", diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenPreparationController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenPreparationController.java index 5748263e9..2a3b05e5b 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenPreparationController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenPreparationController.java @@ -36,7 +36,7 @@ import java.util.List; * @注释: */ @RestController -@RequestMapping("/pc/OpenPreparation") +@RequestMapping("/pc/openPreparation") @Api(tags = "pc开业筹备") @Slf4j public class OpenPreparationController { @@ -71,7 +71,7 @@ public class OpenPreparationController { return ResponseResult.success(auditOpeningOperationPlanService.auditPlan(request)); } - @GetMapping("/openingOperationPlan/planList") + @PostMapping("/openingOperationPlan/planList") @ApiOperation("查询运营方案列表") public ResponseResult> planList(@RequestBody PlanListRequest request) { return ResponseResult.success(openingOperationPlanService.getPlanListPage(request)); diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCDecorationController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCDecorationController.java index 1e5a98ac5..cbdfa6fad 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCDecorationController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCDecorationController.java @@ -6,6 +6,7 @@ import com.cool.store.dto.decoration.ConstructionScheduleDTO; import com.cool.store.dto.decoration.DecorationDTO; import com.cool.store.dto.decoration.DecorationModelDTO; import com.cool.store.request.DecorationPayRequest; +import com.cool.store.request.LinePaySubmitRequest; import com.cool.store.response.ResponseResult; import com.cool.store.service.CoolStoreStartFlowService; import com.cool.store.service.DecorationService; @@ -13,6 +14,7 @@ import com.cool.store.service.YlfService; import com.cool.store.vo.DesignInfoVo; import com.cool.store.vo.PartnerUserInfoVO; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModelProperty; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @@ -32,22 +34,19 @@ import java.util.List; public class PCDecorationController { @Resource private DecorationService decorationService; + @ApiModelProperty("获取设计阶段信息") @GetMapping("/design") - public ResponseResult get(@RequestParam String shopCode){ - return ResponseResult.success( decorationService.DesignInfo(shopCode)) ; + public ResponseResult get(@RequestParam Long shopId){ + return ResponseResult.success( decorationService.DesignInfo(shopId)) ; } + @ApiModelProperty("获取装修款信息,和二维码") @GetMapping("/getDecorationModel") - public ResponseResult getDecorationModel(@RequestParam String shopCode){ - return ResponseResult.success(decorationService.DecorationModel(shopCode)) ; - } - @PostMapping("/submitDecorationModel") - public ResponseResult submitDecorationModel(@RequestBody DecorationPayRequest DecorationPayRequest){ - PartnerUserInfoVO user = PartnerUserHolder.getUser(); - decorationService.submitDecorationModel(DecorationPayRequest, user); - return ResponseResult.success(); + public ResponseResult getDecorationModel(@RequestParam Long shopId){ + return ResponseResult.success(decorationService.DecorationModel(shopId)) ; } + @ApiModelProperty("获取施工阶段信息") @GetMapping("/getConstruction") - public ResponseResult> getConstruction(@RequestParam String shopCode){ - return ResponseResult.success(decorationService.getConstruction(shopCode)) ; + public ResponseResult> getConstruction(@RequestParam Long shopId){ + return ResponseResult.success(decorationService.getConstruction(shopId)) ; } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDecorationController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDecorationController.java new file mode 100644 index 000000000..24a2bf85a --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDecorationController.java @@ -0,0 +1,37 @@ +package com.cool.store.controller.webc; + +import com.cool.store.context.PartnerUserHolder; +import com.cool.store.request.LinePaySubmitRequest; +import com.cool.store.response.ResponseResult; +import com.cool.store.service.DecorationService; +import com.cool.store.vo.PartnerUserInfoVO; +import io.swagger.annotations.Api; +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 javax.annotation.Resource; + +/** + * @Auther: WangShuo + * @Date: 2024/04/29/下午2:46 + * @Version 1.0 + * @注释: + */ +@RestController +@RequestMapping("/mini/decoration") +@Api(tags = "mini装修阶段") +@Slf4j +public class MiniDecorationController { + @Resource + private DecorationService decorationService; + @PostMapping("/submitDecorationModel") + public ResponseResult submitDecorationModel(@RequestBody LinePaySubmitRequest linePaySubmitRequest){ + PartnerUserInfoVO user = PartnerUserHolder.getUser(); + user.setPartnerId("61bf57dc65334885802a278835f499d0"); + decorationService.submitDecorationModel(linePaySubmitRequest, user); + return ResponseResult.success(); + } +} diff --git a/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java b/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java index 770de3a95..a5bdbae67 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java @@ -108,9 +108,9 @@ public class XxlJobHandler { log.info("------今日没有待更新数据------"); return; } - List openPlanShopInfoDTOS = shopInfoDAO.queryShopCodeListByid(shopIdListByStageStatus); + List openPlanShopInfoDTOS = shopInfoDAO.queryStoreNumeListByid(shopIdListByStageStatus); Map map = openPlanShopInfoDTOS.stream(). - collect(Collectors.toMap(OpenPlanShopInfoDTO::getShopId, OpenPlanShopInfoDTO::getShopCode)); + collect(Collectors.toMap(OpenPlanShopInfoDTO::getShopId, OpenPlanShopInfoDTO::getStoreNum)); for (Long shopId : map.keySet()){ String shopCode = map.get(shopId); try { From f7a629a7b6abfab045b65fa0826a85789ed19ba2 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Mon, 29 Apr 2024 15:48:04 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E5=88=A0=E9=99=A4mini=E8=B7=AF=E5=BE=84fil?= =?UTF-8?q?ter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/config/SignValidateFilter.java | 3 +-- .../controller/webb/PCDecorationController.java | 6 +----- .../controller/webc/MiniDecorationController.java | 12 ++++++++---- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java b/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java index 03c7bffa0..b375dc75a 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java @@ -53,8 +53,7 @@ public class SignValidateFilter implements Filter { "/xfsg/favicon.ico", "/xfsg/v2/api-docs","/**/test/**", "/xfsg/mini/program/oss/getUploadFileConfig", - // - "/xfsg/mini/decoration/**", + "/xfsg/mini/program/v1/partnerManage/partner/getIdentityCardInfo", "/**/swagger*/**", "/**/webjars/**", diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCDecorationController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCDecorationController.java index cbdfa6fad..37b5e09c8 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCDecorationController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCDecorationController.java @@ -39,11 +39,7 @@ public class PCDecorationController { public ResponseResult get(@RequestParam Long shopId){ return ResponseResult.success( decorationService.DesignInfo(shopId)) ; } - @ApiModelProperty("获取装修款信息,和二维码") - @GetMapping("/getDecorationModel") - public ResponseResult getDecorationModel(@RequestParam Long shopId){ - return ResponseResult.success(decorationService.DecorationModel(shopId)) ; - } + @ApiModelProperty("获取施工阶段信息") @GetMapping("/getConstruction") public ResponseResult> getConstruction(@RequestParam Long shopId){ diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDecorationController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDecorationController.java index 24a2bf85a..93964e743 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDecorationController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDecorationController.java @@ -1,16 +1,15 @@ package com.cool.store.controller.webc; import com.cool.store.context.PartnerUserHolder; +import com.cool.store.dto.decoration.DecorationModelDTO; import com.cool.store.request.LinePaySubmitRequest; import com.cool.store.response.ResponseResult; import com.cool.store.service.DecorationService; import com.cool.store.vo.PartnerUserInfoVO; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModelProperty; 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; @@ -34,4 +33,9 @@ public class MiniDecorationController { decorationService.submitDecorationModel(linePaySubmitRequest, user); return ResponseResult.success(); } + @ApiModelProperty("获取装修款信息,和二维码") + @GetMapping("/getDecorationModel") + public ResponseResult getDecorationModel(@RequestParam Long shopId){ + return ResponseResult.success(decorationService.DecorationModel(shopId)) ; + } } From 715b624a4920bcf6a8e23afe3536f1b2448387e5 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Mon, 29 Apr 2024 15:49:08 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E5=88=A0=E9=99=A4mini=E8=B7=AF=E5=BE=84fil?= =?UTF-8?q?ter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/cool/store/config/SignValidateFilter.java | 1 - 1 file changed, 1 deletion(-) diff --git a/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java b/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java index b375dc75a..21b531931 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java @@ -53,7 +53,6 @@ public class SignValidateFilter implements Filter { "/xfsg/favicon.ico", "/xfsg/v2/api-docs","/**/test/**", "/xfsg/mini/program/oss/getUploadFileConfig", - "/xfsg/mini/program/v1/partnerManage/partner/getIdentityCardInfo", "/**/swagger*/**", "/**/webjars/**", From 4690fccb4fbfbdd68fd72754d87c49d3faad7655 Mon Sep 17 00:00:00 2001 From: bianyadong Date: Mon, 29 Apr 2024 16:08:28 +0800 Subject: [PATCH 6/7] do mapper --- .../cool/store/constants/CommonConstants.java | 2 + .../cool/store/constants/RedisConstant.java | 4 + .../cool/store/dao/EmployeeTrainingDAO.java | 19 + .../com/cool/store/dao/TempUserDetailDAO.java | 17 + .../store/mapper/EmployeeTrainingMapper.java | 7 + .../store/mapper/TempUserDetailMapper.java | 7 + .../mapper/EmployeeTrainingMapper.xml | 31 + .../resources/mapper/TempUserDetailMapper.xml | 29 + .../cool/store/dto/yun/StudentResultDTO.java | 31 + .../cool/store/entity/EmployeeTrainingDO.java | 528 ++++++++++++++++++ .../cool/store/entity/TempUserDetailDO.java | 474 ++++++++++++++++ .../store/service/YunXueTangApiService.java | 18 + .../impl/YunXueTangApiServiceImpl.java | 108 ++++ 13 files changed, 1275 insertions(+) create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/dao/TempUserDetailDAO.java create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/mapper/EmployeeTrainingMapper.java create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/mapper/TempUserDetailMapper.java create mode 100644 coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml create mode 100644 coolstore-partner-dao/src/main/resources/mapper/TempUserDetailMapper.xml create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/yun/StudentResultDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/entity/EmployeeTrainingDO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/entity/TempUserDetailDO.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/YunXueTangApiService.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/impl/YunXueTangApiServiceImpl.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java b/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java index 06d49d38b..4a91c2a81 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java @@ -155,4 +155,6 @@ public class CommonConstants { public static final String DEAULT_SELECT_SITE_MANAGER = "020125244825417786"; public static final int MAX_LENGTH_ONE_HUNDRED = 100; + + public static final String YUN_XUE_TANG_SUC_CODE = "10000"; } diff --git a/coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java b/coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java index d0f7da194..e72023d47 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java @@ -273,4 +273,8 @@ public class RedisConstant { */ public static final String INVESTMENT_MANAGER_CACHE = "investment_manager_cache_"; + /** + * 招商经理轮询key + */ + public static final String YUN_XUE_TANG_ACCESS_TOKEN = "yun_xue_tang_access_token_"; } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java new file mode 100644 index 000000000..ef2635cbd --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EmployeeTrainingDAO.java @@ -0,0 +1,19 @@ +package com.cool.store.dao; + +import com.cool.store.mapper.EmployeeTrainingMapper; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; + +/** + * @author byd + * @date 2024-04-29 16:06 + */ +@Slf4j +@Repository +public class EmployeeTrainingDAO { + + @Resource + private EmployeeTrainingMapper employeeTrainingMapper; +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/TempUserDetailDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/TempUserDetailDAO.java new file mode 100644 index 000000000..d06041c37 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/TempUserDetailDAO.java @@ -0,0 +1,17 @@ +package com.cool.store.dao; + +import com.cool.store.mapper.TempUserDetailMapper; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; + +/** + * @author byd + * @date 2024-04-29 16:06 + */ +@Repository +public class TempUserDetailDAO { + + @Resource + private TempUserDetailMapper tempUserDetailMapper; +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EmployeeTrainingMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EmployeeTrainingMapper.java new file mode 100644 index 000000000..bd7e5cfab --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EmployeeTrainingMapper.java @@ -0,0 +1,7 @@ +package com.cool.store.mapper; + +import com.cool.store.entity.EmployeeTrainingDO; +import tk.mybatis.mapper.common.Mapper; + +public interface EmployeeTrainingMapper extends Mapper { +} \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/TempUserDetailMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/TempUserDetailMapper.java new file mode 100644 index 000000000..d22c78a80 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/TempUserDetailMapper.java @@ -0,0 +1,7 @@ +package com.cool.store.mapper; + +import com.cool.store.entity.TempUserDetailDO; +import tk.mybatis.mapper.common.Mapper; + +public interface TempUserDetailMapper extends Mapper { +} \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml new file mode 100644 index 000000000..46aa39daa --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/TempUserDetailMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/TempUserDetailMapper.xml new file mode 100644 index 000000000..13c4a157c --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/TempUserDetailMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/yun/StudentResultDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/yun/StudentResultDTO.java new file mode 100644 index 000000000..ae71638ab --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/yun/StudentResultDTO.java @@ -0,0 +1,31 @@ +package com.cool.store.dto.yun; + +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2024/3/25 17:03 + * @Version 1.0 + */ +@Data +public class StudentResultDTO { + + + private String userId; + + /** + * 用户考试状态 0:未开始;1:考试中;2:已提交;3:批阅中;4:已完成 + */ + private Integer userExamStatus; + + /** + * 最新分 + */ + private Float newScore; + + /** + * 是否通过,0:不是;1:是 + */ + private Integer passed; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/EmployeeTrainingDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/EmployeeTrainingDO.java new file mode 100644 index 000000000..72a3150db --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/EmployeeTrainingDO.java @@ -0,0 +1,528 @@ +package com.cool.store.entity; + +import java.util.Date; +import javax.persistence.*; + +@Table(name = "xfsg_employee_training") +public class EmployeeTrainingDO { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /** + * shop_info.id + */ + @Column(name = "shop_id") + private Long shopId; + + /** + * 区域ID + */ + @Column(name = "region_id") + private Long regionId; + + /** + * xfsg_temp_user_detail.id + */ + @Column(name = "xfsg_user_detail_id") + private Long xfsgUserDetailId; + + /** + * 是否分配 0-待分配 1-已分配 + */ + @Column(name = "assign_flag") + private Byte assignFlag; + + /** + * 实训开始时间 + */ + @Column(name = "training_start_time") + private Date trainingStartTime; + + /** + * 实训结束时间 + */ + @Column(name = "training_end_time") + private Date trainingEndTime; + + /** + * 实训门店ID + */ + @Column(name = "training_store_id") + private String trainingStoreId; + + /** + * 带教老师ID + */ + @Column(name = "training_teacher_user_id") + private String trainingTeacherUserId; + + /** + * 实操考核人员ID + */ + @Column(name = "practical_assessment_user_id") + private String practicalAssessmentUserId; + + /** + * 预计考核时间 + */ + @Column(name = "estimated_assessment_time") + private Date estimatedAssessmentTime; + + /** + * 实际考核时间 + */ + @Column(name = "actual_assessment_time") + private Date actualAssessmentTime; + + /** + * 考核项数 + */ + @Column(name = "assessment_num") + private Integer assessmentNum; + + /** + * 考核总项数 + */ + @Column(name = "assessment_total_num") + private Integer assessmentTotalNum; + + /** + * 理论考试状态 0-未开始 1-合格 2-不合格 + */ + @Column(name = "theoretical_exam_status") + private Byte theoreticalExamStatus; + + /** + * 理论考试分值 + */ + @Column(name = "theoretical_exam_score") + private Integer theoreticalExamScore; + + /** + * 实操考试状态 0-未开始 1-合格 2-不合格 + */ + @Column(name = "practical_exam_status") + private Byte practicalExamStatus; + + /** + * 实操考试分值 + */ + @Column(name = "practical_exam_score") + private Integer practicalExamScore; + + /** + * 考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过 + */ + @Column(name = "assessment_status") + private Byte assessmentStatus; + + /** + * 创建时间 + */ + @Column(name = "create_time") + private Date createTime; + + /** + * 更新时间 + */ + @Column(name = "update_time") + private Date updateTime; + + /** + * 是否删除:0.否 1.是 + */ + private Boolean deleted; + + /** + * @return id + */ + public Long getId() { + return id; + } + + /** + * @param id + */ + public void setId(Long id) { + this.id = id; + } + + /** + * 获取shop_info.id + * + * @return shop_id - shop_info.id + */ + public Long getShopId() { + return shopId; + } + + /** + * 设置shop_info.id + * + * @param shopId shop_info.id + */ + public void setShopId(Long shopId) { + this.shopId = shopId; + } + + /** + * 获取区域ID + * + * @return region_id - 区域ID + */ + public Long getRegionId() { + return regionId; + } + + /** + * 设置区域ID + * + * @param regionId 区域ID + */ + public void setRegionId(Long regionId) { + this.regionId = regionId; + } + + /** + * 获取xfsg_temp_user_detail.id + * + * @return xfsg_user_detail_id - xfsg_temp_user_detail.id + */ + public Long getXfsgUserDetailId() { + return xfsgUserDetailId; + } + + /** + * 设置xfsg_temp_user_detail.id + * + * @param xfsgUserDetailId xfsg_temp_user_detail.id + */ + public void setXfsgUserDetailId(Long xfsgUserDetailId) { + this.xfsgUserDetailId = xfsgUserDetailId; + } + + /** + * 获取是否分配 0-待分配 1-已分配 + * + * @return assign_flag - 是否分配 0-待分配 1-已分配 + */ + public Byte getAssignFlag() { + return assignFlag; + } + + /** + * 设置是否分配 0-待分配 1-已分配 + * + * @param assignFlag 是否分配 0-待分配 1-已分配 + */ + public void setAssignFlag(Byte assignFlag) { + this.assignFlag = assignFlag; + } + + /** + * 获取实训开始时间 + * + * @return training_start_time - 实训开始时间 + */ + public Date getTrainingStartTime() { + return trainingStartTime; + } + + /** + * 设置实训开始时间 + * + * @param trainingStartTime 实训开始时间 + */ + public void setTrainingStartTime(Date trainingStartTime) { + this.trainingStartTime = trainingStartTime; + } + + /** + * 获取实训结束时间 + * + * @return training_end_time - 实训结束时间 + */ + public Date getTrainingEndTime() { + return trainingEndTime; + } + + /** + * 设置实训结束时间 + * + * @param trainingEndTime 实训结束时间 + */ + public void setTrainingEndTime(Date trainingEndTime) { + this.trainingEndTime = trainingEndTime; + } + + /** + * 获取实训门店ID + * + * @return training_store_id - 实训门店ID + */ + public String getTrainingStoreId() { + return trainingStoreId; + } + + /** + * 设置实训门店ID + * + * @param trainingStoreId 实训门店ID + */ + public void setTrainingStoreId(String trainingStoreId) { + this.trainingStoreId = trainingStoreId; + } + + /** + * 获取带教老师ID + * + * @return training_teacher_user_id - 带教老师ID + */ + public String getTrainingTeacherUserId() { + return trainingTeacherUserId; + } + + /** + * 设置带教老师ID + * + * @param trainingTeacherUserId 带教老师ID + */ + public void setTrainingTeacherUserId(String trainingTeacherUserId) { + this.trainingTeacherUserId = trainingTeacherUserId; + } + + /** + * 获取实操考核人员ID + * + * @return practical_assessment_user_id - 实操考核人员ID + */ + public String getPracticalAssessmentUserId() { + return practicalAssessmentUserId; + } + + /** + * 设置实操考核人员ID + * + * @param practicalAssessmentUserId 实操考核人员ID + */ + public void setPracticalAssessmentUserId(String practicalAssessmentUserId) { + this.practicalAssessmentUserId = practicalAssessmentUserId; + } + + /** + * 获取预计考核时间 + * + * @return estimated_assessment_time - 预计考核时间 + */ + public Date getEstimatedAssessmentTime() { + return estimatedAssessmentTime; + } + + /** + * 设置预计考核时间 + * + * @param estimatedAssessmentTime 预计考核时间 + */ + public void setEstimatedAssessmentTime(Date estimatedAssessmentTime) { + this.estimatedAssessmentTime = estimatedAssessmentTime; + } + + /** + * 获取实际考核时间 + * + * @return actual_assessment_time - 实际考核时间 + */ + public Date getActualAssessmentTime() { + return actualAssessmentTime; + } + + /** + * 设置实际考核时间 + * + * @param actualAssessmentTime 实际考核时间 + */ + public void setActualAssessmentTime(Date actualAssessmentTime) { + this.actualAssessmentTime = actualAssessmentTime; + } + + /** + * 获取考核项数 + * + * @return assessment_num - 考核项数 + */ + public Integer getAssessmentNum() { + return assessmentNum; + } + + /** + * 设置考核项数 + * + * @param assessmentNum 考核项数 + */ + public void setAssessmentNum(Integer assessmentNum) { + this.assessmentNum = assessmentNum; + } + + /** + * 获取考核总项数 + * + * @return assessment_total_num - 考核总项数 + */ + public Integer getAssessmentTotalNum() { + return assessmentTotalNum; + } + + /** + * 设置考核总项数 + * + * @param assessmentTotalNum 考核总项数 + */ + public void setAssessmentTotalNum(Integer assessmentTotalNum) { + this.assessmentTotalNum = assessmentTotalNum; + } + + /** + * 获取理论考试状态 0-未开始 1-合格 2-不合格 + * + * @return theoretical_exam_status - 理论考试状态 0-未开始 1-合格 2-不合格 + */ + public Byte getTheoreticalExamStatus() { + return theoreticalExamStatus; + } + + /** + * 设置理论考试状态 0-未开始 1-合格 2-不合格 + * + * @param theoreticalExamStatus 理论考试状态 0-未开始 1-合格 2-不合格 + */ + public void setTheoreticalExamStatus(Byte theoreticalExamStatus) { + this.theoreticalExamStatus = theoreticalExamStatus; + } + + /** + * 获取理论考试分值 + * + * @return theoretical_exam_score - 理论考试分值 + */ + public Integer getTheoreticalExamScore() { + return theoreticalExamScore; + } + + /** + * 设置理论考试分值 + * + * @param theoreticalExamScore 理论考试分值 + */ + public void setTheoreticalExamScore(Integer theoreticalExamScore) { + this.theoreticalExamScore = theoreticalExamScore; + } + + /** + * 获取实操考试状态 0-未开始 1-合格 2-不合格 + * + * @return practical_exam_status - 实操考试状态 0-未开始 1-合格 2-不合格 + */ + public Byte getPracticalExamStatus() { + return practicalExamStatus; + } + + /** + * 设置实操考试状态 0-未开始 1-合格 2-不合格 + * + * @param practicalExamStatus 实操考试状态 0-未开始 1-合格 2-不合格 + */ + public void setPracticalExamStatus(Byte practicalExamStatus) { + this.practicalExamStatus = practicalExamStatus; + } + + /** + * 获取实操考试分值 + * + * @return practical_exam_score - 实操考试分值 + */ + public Integer getPracticalExamScore() { + return practicalExamScore; + } + + /** + * 设置实操考试分值 + * + * @param practicalExamScore 实操考试分值 + */ + public void setPracticalExamScore(Integer practicalExamScore) { + this.practicalExamScore = practicalExamScore; + } + + /** + * 获取考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过 + * + * @return assessment_status - 考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过 + */ + public Byte getAssessmentStatus() { + return assessmentStatus; + } + + /** + * 设置考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过 + * + * @param assessmentStatus 考核状态 0-培训中 1-带考核 2-考核通过 3-考核不通过 + */ + public void setAssessmentStatus(Byte assessmentStatus) { + this.assessmentStatus = assessmentStatus; + } + + /** + * 获取创建时间 + * + * @return create_time - 创建时间 + */ + public Date getCreateTime() { + return createTime; + } + + /** + * 设置创建时间 + * + * @param createTime 创建时间 + */ + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + /** + * 获取更新时间 + * + * @return update_time - 更新时间 + */ + public Date getUpdateTime() { + return updateTime; + } + + /** + * 设置更新时间 + * + * @param updateTime 更新时间 + */ + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + /** + * 获取是否删除:0.否 1.是 + * + * @return deleted - 是否删除:0.否 1.是 + */ + public Boolean getDeleted() { + return deleted; + } + + /** + * 设置是否删除:0.否 1.是 + * + * @param deleted 是否删除:0.否 1.是 + */ + public void setDeleted(Boolean deleted) { + this.deleted = deleted; + } +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/TempUserDetailDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/TempUserDetailDO.java new file mode 100644 index 000000000..6458f1a66 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/TempUserDetailDO.java @@ -0,0 +1,474 @@ +package com.cool.store.entity; + +import java.util.Date; +import javax.persistence.*; + +@Table(name = "xfsg_temp_user_detail") +public class TempUserDetailDO { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /** + * line_info.id + */ + @Column(name = "line_id") + private Long lineId; + + /** + * shop_info.id + */ + @Column(name = "shop_id") + private Long shopId; + + /** + * 区域ID + */ + @Column(name = "region_id") + private Long regionId; + + /** + * 手机号 + */ + private String mobile; + + /** + * 申请人姓名 + */ + private String username; + + /** + * 性别0未选,1男,2女 + */ + private String sex; + + /** + * 年龄 + */ + private Integer age; + + /** + * 身份证号码 + */ + @Column(name = "id_card") + private String idCard; + + /** + * 学历 0-小学 1-初中 2-高中 3-中专 4-大专 5-本科 6-硕士 7-硕士以上 + */ + private Byte educational; + + /** + * 角色id 170000000-店长 180000000-店员 + */ + @Column(name = "role_id") + private Long roleId; + + /** + * 身份证正面url + */ + @Column(name = "id_card_positive_url") + private String idCardPositiveUrl; + + /** + * 身份证反面url + */ + @Column(name = "id_card_negative_url") + private String idCardNegativeUrl; + + /** + * 健康证url + */ + @Column(name = "health_certificate_url") + private String healthCertificateUrl; + + /** + * 登记时间 + */ + @Column(name = "register_time") + private Date registerTime; + + /** + * 来源:create-创建 sync-钉钉同步 + */ + private String source; + + /** + * 提交时间 + */ + @Column(name = "submit_time") + private Date submitTime; + + /** + * 创建时间 + */ + @Column(name = "create_time") + private Date createTime; + + /** + * 更新时间 + */ + @Column(name = "update_time") + private Date updateTime; + + /** + * 是否删除:0.否 1.是 + */ + private Boolean deleted; + + /** + * @return id + */ + public Long getId() { + return id; + } + + /** + * @param id + */ + public void setId(Long id) { + this.id = id; + } + + /** + * 获取line_info.id + * + * @return line_id - line_info.id + */ + public Long getLineId() { + return lineId; + } + + /** + * 设置line_info.id + * + * @param lineId line_info.id + */ + public void setLineId(Long lineId) { + this.lineId = lineId; + } + + /** + * 获取shop_info.id + * + * @return shop_id - shop_info.id + */ + public Long getShopId() { + return shopId; + } + + /** + * 设置shop_info.id + * + * @param shopId shop_info.id + */ + public void setShopId(Long shopId) { + this.shopId = shopId; + } + + /** + * 获取区域ID + * + * @return region_id - 区域ID + */ + public Long getRegionId() { + return regionId; + } + + /** + * 设置区域ID + * + * @param regionId 区域ID + */ + public void setRegionId(Long regionId) { + this.regionId = regionId; + } + + /** + * 获取手机号 + * + * @return mobile - 手机号 + */ + public String getMobile() { + return mobile; + } + + /** + * 设置手机号 + * + * @param mobile 手机号 + */ + public void setMobile(String mobile) { + this.mobile = mobile; + } + + /** + * 获取申请人姓名 + * + * @return username - 申请人姓名 + */ + public String getUsername() { + return username; + } + + /** + * 设置申请人姓名 + * + * @param username 申请人姓名 + */ + public void setUsername(String username) { + this.username = username; + } + + /** + * 获取性别0未选,1男,2女 + * + * @return sex - 性别0未选,1男,2女 + */ + public String getSex() { + return sex; + } + + /** + * 设置性别0未选,1男,2女 + * + * @param sex 性别0未选,1男,2女 + */ + public void setSex(String sex) { + this.sex = sex; + } + + /** + * 获取年龄 + * + * @return age - 年龄 + */ + public Integer getAge() { + return age; + } + + /** + * 设置年龄 + * + * @param age 年龄 + */ + public void setAge(Integer age) { + this.age = age; + } + + /** + * 获取身份证号码 + * + * @return id_card - 身份证号码 + */ + public String getIdCard() { + return idCard; + } + + /** + * 设置身份证号码 + * + * @param idCard 身份证号码 + */ + public void setIdCard(String idCard) { + this.idCard = idCard; + } + + /** + * 获取学历 0-小学 1-初中 2-高中 3-中专 4-大专 5-本科 6-硕士 7-硕士以上 + * + * @return educational - 学历 0-小学 1-初中 2-高中 3-中专 4-大专 5-本科 6-硕士 7-硕士以上 + */ + public Byte getEducational() { + return educational; + } + + /** + * 设置学历 0-小学 1-初中 2-高中 3-中专 4-大专 5-本科 6-硕士 7-硕士以上 + * + * @param educational 学历 0-小学 1-初中 2-高中 3-中专 4-大专 5-本科 6-硕士 7-硕士以上 + */ + public void setEducational(Byte educational) { + this.educational = educational; + } + + /** + * 获取角色id 170000000-店长 180000000-店员 + * + * @return role_id - 角色id 170000000-店长 180000000-店员 + */ + public Long getRoleId() { + return roleId; + } + + /** + * 设置角色id 170000000-店长 180000000-店员 + * + * @param roleId 角色id 170000000-店长 180000000-店员 + */ + public void setRoleId(Long roleId) { + this.roleId = roleId; + } + + /** + * 获取身份证正面url + * + * @return id_card_positive_url - 身份证正面url + */ + public String getIdCardPositiveUrl() { + return idCardPositiveUrl; + } + + /** + * 设置身份证正面url + * + * @param idCardPositiveUrl 身份证正面url + */ + public void setIdCardPositiveUrl(String idCardPositiveUrl) { + this.idCardPositiveUrl = idCardPositiveUrl; + } + + /** + * 获取身份证反面url + * + * @return id_card_negative_url - 身份证反面url + */ + public String getIdCardNegativeUrl() { + return idCardNegativeUrl; + } + + /** + * 设置身份证反面url + * + * @param idCardNegativeUrl 身份证反面url + */ + public void setIdCardNegativeUrl(String idCardNegativeUrl) { + this.idCardNegativeUrl = idCardNegativeUrl; + } + + /** + * 获取健康证url + * + * @return health_certificate_url - 健康证url + */ + public String getHealthCertificateUrl() { + return healthCertificateUrl; + } + + /** + * 设置健康证url + * + * @param healthCertificateUrl 健康证url + */ + public void setHealthCertificateUrl(String healthCertificateUrl) { + this.healthCertificateUrl = healthCertificateUrl; + } + + /** + * 获取登记时间 + * + * @return register_time - 登记时间 + */ + public Date getRegisterTime() { + return registerTime; + } + + /** + * 设置登记时间 + * + * @param registerTime 登记时间 + */ + public void setRegisterTime(Date registerTime) { + this.registerTime = registerTime; + } + + /** + * 获取来源:create-创建 sync-钉钉同步 + * + * @return source - 来源:create-创建 sync-钉钉同步 + */ + public String getSource() { + return source; + } + + /** + * 设置来源:create-创建 sync-钉钉同步 + * + * @param source 来源:create-创建 sync-钉钉同步 + */ + public void setSource(String source) { + this.source = source; + } + + /** + * 获取提交时间 + * + * @return submit_time - 提交时间 + */ + public Date getSubmitTime() { + return submitTime; + } + + /** + * 设置提交时间 + * + * @param submitTime 提交时间 + */ + public void setSubmitTime(Date submitTime) { + this.submitTime = submitTime; + } + + /** + * 获取创建时间 + * + * @return create_time - 创建时间 + */ + public Date getCreateTime() { + return createTime; + } + + /** + * 设置创建时间 + * + * @param createTime 创建时间 + */ + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + /** + * 获取更新时间 + * + * @return update_time - 更新时间 + */ + public Date getUpdateTime() { + return updateTime; + } + + /** + * 设置更新时间 + * + * @param updateTime 更新时间 + */ + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + /** + * 获取是否删除:0.否 1.是 + * + * @return deleted - 是否删除:0.否 1.是 + */ + public Boolean getDeleted() { + return deleted; + } + + /** + * 设置是否删除:0.否 1.是 + * + * @param deleted 是否删除:0.否 1.是 + */ + public void setDeleted(Boolean deleted) { + this.deleted = deleted; + } +} \ No newline at end of file diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/YunXueTangApiService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/YunXueTangApiService.java new file mode 100644 index 000000000..f9f429f58 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/YunXueTangApiService.java @@ -0,0 +1,18 @@ +package com.cool.store.service; + +import com.cool.store.dto.yun.StudentResultDTO; + +import java.util.List; +import java.util.Map; + +/** + * @author byd + * @date 2024-04-29 9:55 + */ +public interface YunXueTangApiService { + + + String getAccessToken(); + + Map studentResultUserList(List userIdList); +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/YunXueTangApiServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/YunXueTangApiServiceImpl.java new file mode 100644 index 000000000..b7a5ecd7f --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/YunXueTangApiServiceImpl.java @@ -0,0 +1,108 @@ +package com.cool.store.service.impl; + +import cn.hutool.http.HttpUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.cool.store.constants.CommonConstants; +import com.cool.store.constants.RedisConstant; +import com.cool.store.dto.yun.StudentResultDTO; +import com.cool.store.mq.util.HttpRestTemplateService; +import com.cool.store.service.YunXueTangApiService; +import com.cool.store.utils.RedisUtilPool; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * @author byd + * @date 2024-04-29 9:55 + */ +@Service +public class YunXueTangApiServiceImpl implements YunXueTangApiService { + + private final static String REQUEST_URL = "https://openapi.yunxuetang.cn/"; + + private final static String APP_ID = "1782195114"; + + private final static String APP_SECRET = "W2Py1G4XYvBFGkXVgdbrZsm4C9zStM5QvBG8WS-0YYw4lPTcoKaFB9S6F5spshCJ"; + + private final static String ARRANGE_ID = "d011f26d-cd82-4a58-b705-529c63295198"; + + @Resource + private RedisUtilPool redisUtilPool; + + @Resource + private HttpRestTemplateService httpRestTemplateService; + + + @Override + public String getAccessToken() { + + //若果在缓存中存在,从缓存中去取 + String accessToken = redisUtilPool.getString(RedisConstant.YUN_XUE_TANG_ACCESS_TOKEN); + if (StringUtils.isNotBlank(accessToken)) { + return accessToken; + } + + + Map body = new HashMap<>(); + + // 请求接口地址 + String url = "token"; + // url拼接所需参数 + String pathUrl = REQUEST_URL + url + "?" + "appId=" + APP_ID + "&appSecret=" + APP_SECRET; + // 以post方式调用第三方接口,获取响应结果 + String result = HttpUtil.post(pathUrl, body); + + // 返回accessToken + JSONObject jsonObject = JSONObject.parseObject(result, JSONObject.class); + accessToken = jsonObject.getString("accessToken"); + if (StringUtils.isNotBlank(accessToken)) { + Integer expiresIn = jsonObject.getInteger("expiresIn"); + redisUtilPool.setString(RedisConstant.YUN_XUE_TANG_ACCESS_TOKEN, accessToken, expiresIn - 5 * 60); + } + return accessToken; + } + + @Override + public Map studentResultUserList(List userIdList) { + Map body = new HashMap<>(); + body.put("arrangeId", ARRANGE_ID); + body.put("thirdUserIds", userIdList); + body.put("limit", userIdList.size()); + String pathUrl = "v1/rpt2open/public/ote/student/result/user/list"; + // 以post方式调用第三方接口,获取响应结果 + Map headMap = new HashMap<>(); + headMap.put("Authorization", this.getAccessToken()); + String result = httpRestTemplateService.postForObject(REQUEST_URL + pathUrl, body, String.class, headMap); + List resultDTOList = new ArrayList<>(); + // 返回accessToken + JSONObject jsonObject = JSONObject.parseObject(result, JSONObject.class); + String code = jsonObject.getString("code"); + if (CommonConstants.YUN_XUE_TANG_SUC_CODE.equals(code)) { + JSONObject data = jsonObject.getJSONObject("data"); + JSONArray jsonArray = jsonObject.getJSONArray("datas"); + if (CollectionUtils.isNotEmpty(jsonArray)) { + jsonArray.forEach(item -> { + JSONObject itemObj = (JSONObject) item; + StudentResultDTO resultDTO = new StudentResultDTO(); + resultDTO.setUserId(itemObj.getString("thirdUserId")); + resultDTO.setPassed(itemObj.getInteger("passed")); + resultDTO.setNewScore(itemObj.getFloat("newScore")); + resultDTO.setUserExamStatus(itemObj.getInteger("userExamStatus")); + resultDTOList.add(resultDTO); + }); + } + } + return resultDTOList.stream().collect( + Collectors.toMap(StudentResultDTO::getUserId, Function.identity())); + } +} From a46629e02249f222e16f545cdf2bdc26d7151de0 Mon Sep 17 00:00:00 2001 From: guohb Date: Mon, 29 Apr 2024 16:46:27 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E7=AD=BE=E7=BA=A6=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/enums/FranchiseeTypeEnum.java | 50 ++++++ .../store/mapper/SignFranchiseMapper.java | 2 + .../resources/mapper/AuditStatusMapper.xml | 4 +- .../resources/mapper/SignFranchiseMapper.xml | 5 + .../response/AddSignFranchiseResponse.java | 147 ++++++++++++++++++ .../store/service/SignFranchiseService.java | 6 + .../impl/SignFranchiseServiceImpl.java | 128 +++++++++++++-- .../webb/PCSignFranchiseController.java | 15 +- 8 files changed, 334 insertions(+), 23 deletions(-) create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/FranchiseeTypeEnum.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/FranchiseeTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/FranchiseeTypeEnum.java new file mode 100644 index 000000000..105aa5f90 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/FranchiseeTypeEnum.java @@ -0,0 +1,50 @@ +package com.cool.store.enums; + +/** + * 加盟商类型" + + * "0-新加盟商开单店;1-老加盟商开单店;" + + * "2-新加盟商开新区域单店;" + + * "3-新加盟商开老区域单店;" + + * "4-老加盟商开新区域单店;" + + * "5-老加盟商开老区域单店;" + + * "6-直营门店;" + + * "7-同异业转化;" + + * "8-老加盟商迁址开新店 + */ +public enum FranchiseeTypeEnum { + ONE(0,"新加盟商开单店"), + TWO(1,"老加盟商开单店"), + THREE(2,"新加盟商开新区域单店"), + FOUR(4,"新加盟商开老区域单店"), + FIVE(5,"老加盟商开老区域单店"), + SIX(6,"直营门店"), + SEVEN(7,"同异业转化"), + EIGHT(8,"老加盟商迁址开新店"), + ; + + private Integer code; + + private String message; + + FranchiseeTypeEnum(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } + + public static FranchiseeTypeEnum getByCode(Integer code) { + for (FranchiseeTypeEnum franchiseeTypeEnum : FranchiseeTypeEnum.values()) { + if (franchiseeTypeEnum.getCode().equals(code)) { + return franchiseeTypeEnum; + } + } + return null; + } +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SignFranchiseMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SignFranchiseMapper.java index c656ef48c..a9a7f09dd 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SignFranchiseMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SignFranchiseMapper.java @@ -1,8 +1,10 @@ package com.cool.store.mapper; import com.cool.store.entity.SignFranchiseDO; +import org.apache.ibatis.annotations.Param; import tk.mybatis.mapper.common.Mapper; public interface SignFranchiseMapper extends Mapper { + SignFranchiseDO selectByShopId(@Param("shopId") Long shopId); } diff --git a/coolstore-partner-dao/src/main/resources/mapper/AuditStatusMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/AuditStatusMapper.xml index 504160e8b..37df86379 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/AuditStatusMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/AuditStatusMapper.xml @@ -99,8 +99,8 @@ AND ( - l.username = #{keyWord} - OR l.mobile = #{keyWord} + l.username like CONCAT('%',#{keyWord},'%') + OR l.mobile like CONCAT('%',#{keyWord},'%') ) diff --git a/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml index 3967e2c51..9ed51939b 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml @@ -1,4 +1,9 @@ + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java new file mode 100644 index 000000000..cb15c7148 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/AddSignFranchiseResponse.java @@ -0,0 +1,147 @@ +package com.cool.store.response; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +@ApiModel("提交加盟合同签约请求体") +public class AddSignFranchiseResponse { + + @ApiModelProperty("主键,更新时才存在") + private Long id; + + private Long shopId; + /** + * SignTypeEnum + */ + @ApiModelProperty("签约类型,0.转让 1.新签 2.续签 3.迁址 5.新签同异业转化") + private Integer signType; + + @ApiModelProperty("品牌使用费比例") + private String brandFee; + + @ApiModelProperty("是否有营业执照 0-是 1-否") + private Integer isBusinessLicense; + + @ApiModelProperty("是否有食营 0-是 1-否") + private Integer isFoodLicense; + + @ApiModelProperty("合同开始日期") + private Date contractStartTime; + + @ApiModelProperty("合同结束日期") + private Date contractStartEndTime; + + @ApiModelProperty("用印次数") + private String impressionNum; + + @ApiModelProperty("营业开始时间(日期不重要传分秒即可)") + private Date businessStartHours; + @ApiModelProperty("营业结束时间(日期不重要传分秒即可)") + private Date businessEndHours; + + @ApiModelProperty("非常规营业时间原因") + private String irregularReason; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("是否补签") + private Integer resign; + + @ApiModelProperty("加盟商联系方式") + private String mobile; + + + @ApiModelProperty("门店名称") + private String storeName; + + @ApiModelProperty("门店地址") + private String storeAddress; + + @ApiModelProperty("所属大区") + private String bigRegion; + + @ApiModelProperty("大区分总") + private String bigRegionManager; + + @ApiModelProperty("加盟商类型") + private String franchiseeType; + + @ApiModelProperty("交款人") + private String payName; + + @ApiModelProperty("营业执照名称") + private String licenseName; + + @ApiModelProperty("经营者") + private String operator; + @ApiModelProperty("类型") + private String type; + + @ApiModelProperty("社会信用代码") + private String licenseCode; + + @ApiModelProperty("经营场所") + private String opeAddress; + @ApiModelProperty("加盟商姓名") + private String partnerName; + + @ApiModelProperty("加盟商身份证号") + private String idCardNo; + + @ApiModelProperty("加盟商结算账户") + private String bankCardNo; + @ApiModelProperty("开户行") + private String bank; + @ApiModelProperty("支行") + private String subBank; + + @ApiModelProperty("身份证地址") + private String idCardAddress; + @ApiModelProperty("交款日期") + private Date payDate; + + @ApiModelProperty("每年加盟费") + private String yearFranchiseFee; + @ApiModelProperty("每年加盟费大写") + private String bigYearFranchiseFee; + + @ApiModelProperty("贷款保证金") + private String loanMargin; + + @ApiModelProperty("贷款保证金大写") + private String bigLoanMargin; + + @ApiModelProperty("1开") + private Date firstYearStartTime; + @ApiModelProperty("1结") + private Date firstYearEndTime; + @ApiModelProperty("1费") + private String firstYearFee; + @ApiModelProperty("2开") + private Date secondYearStartTime; + @ApiModelProperty("2结") + private Date secondYearEndTime; + @ApiModelProperty("2费") + private String secondYearFee; + @ApiModelProperty("3开") + private Date thirdYearStartTime; + @ApiModelProperty("3结") + private Date thirdYearEndTime; + @ApiModelProperty("3费") + private String thirdYearFee; + + @ApiModelProperty("履约保证金") + private String performanceBond; + + @ApiModelProperty("履约保证金大写") + private String bigPerformanceBond; + @ApiModelProperty("享受加盟费和保证金优惠原因") + private String reasons; + + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java index cbd17823f..97580ab67 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java @@ -1,13 +1,19 @@ package com.cool.store.service; import com.cool.store.request.AddSignFranchiseRequest; +import com.cool.store.response.AddSignFranchiseResponse; import com.cool.store.response.ResponseResult; public interface SignFranchiseService { /** * 提交加盟合同签约 + * * @param request * @return */ ResponseResult submitSignFranchise(AddSignFranchiseRequest request); + + + AddSignFranchiseResponse getSignFranchise(Long shopId); + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java index 27b319aca..8e81684d3 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java @@ -2,7 +2,6 @@ package com.cool.store.service.impl; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; import com.cool.store.context.CurrentUserHolder; import com.cool.store.context.LoginUserInfo; @@ -10,6 +9,7 @@ import com.cool.store.dao.ShopStageInfoDAO; import com.cool.store.entity.*; import com.cool.store.enums.AuditEnum; import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.enums.FranchiseeTypeEnum; import com.cool.store.enums.SignTypeEnum; import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.exception.ServiceException; @@ -17,11 +17,12 @@ import com.cool.store.mapper.*; import com.cool.store.request.AddSignFranchiseRequest; import com.cool.store.request.AuditResultRequest; import com.cool.store.request.FranchiseAgreementRequest; +import com.cool.store.response.AddSignFranchiseResponse; import com.cool.store.response.ResponseResult; import com.cool.store.service.CoolStoreStartFlowService; import com.cool.store.service.SignFranchiseService; -import com.cool.store.service.SysStoreAppService; import com.cool.store.utils.poi.DateUtils; +import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -34,7 +35,7 @@ import java.util.Objects; @Service @Slf4j -public class SignFranchiseServiceImpl implements SignFranchiseService ,AuditResultService{ +public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResultService { @Resource SignFranchiseMapper signFranchiseMapper; @@ -76,15 +77,15 @@ public class SignFranchiseServiceImpl implements SignFranchiseService ,AuditResu @Override public Boolean auditResult(AuditResultRequest request) { - log.info("SignFranchiseServiceImpl auditResult request:{}",JSONObject.toJSONString(request)); + log.info("SignFranchiseServiceImpl auditResult request:{}", JSONObject.toJSONString(request)); Long shopId = getShopId(request.getKdzBusinessId()); ShopSubStageStatusEnum shopSubStageStatusEnum = null; - if (request.getAuditResult() == 1){ + if (request.getAuditResult() == 1) { shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_84; - }else if (request.getAuditResult() == 0){ + } else if (request.getAuditResult() == 0) { shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_85; } - shopStageInfoDAO.updateShopStageInfo(shopId,shopSubStageStatusEnum); + shopStageInfoDAO.updateShopStageInfo(shopId, shopSubStageStatusEnum); return null; } @@ -111,7 +112,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService ,AuditResu } //店铺信息 ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId()); - FranchiseAgreementRequest franchiseAgreementRequest = convertFranchiseAgreement(request,shopInfoDO); + FranchiseAgreementRequest franchiseAgreementRequest = convertFranchiseAgreement(request, shopInfoDO); MemberQuestionDO memberQuestionDO = joinIntentionMapper.getByLineId(shopInfoDO.getLineId()); ResponseResult responseResult = coolStoreStartFlowService.franchiseAgreement(franchiseAgreementRequest, memberQuestionDO.getJoinType()); shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83); @@ -120,7 +121,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService ,AuditResu public FranchiseAgreementRequest convertFranchiseAgreement(AddSignFranchiseRequest request, - ShopInfoDO shopInfoDO){ + ShopInfoDO shopInfoDO) { LoginUserInfo user = CurrentUserHolder.getUser(); //shopId @@ -142,9 +143,10 @@ public class SignFranchiseServiceImpl implements SignFranchiseService ,AuditResu //证照办理 LicenseTransactDO licenseTransactDO = applyLicenseMapper.selectOne(LicenseTransactDO.builder().shopId(shopId).build()); //三方部门表 - ThirdDepartmentDO thirdDepartmentDO= thirdDepartmentMapper.getByName(systemBuildingShopDO.getBigName()); + ThirdDepartmentDO thirdDepartmentDO = thirdDepartmentMapper.getByName(systemBuildingShopDO.getBigName()); //找不到的url统一用这个 - List temp = new ArrayList<>();temp.add("object"); + List temp = new ArrayList<>(); + temp.add("object"); Convert.digitToChinese(123); FranchiseAgreementRequest buildResult = FranchiseAgreementRequest.builder() .apply_user(user.getJobNumber()) @@ -214,7 +216,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService ,AuditResu .jmsxm1(lineInfoDO.getUsername()) .jsrq(DateUtils.dateTime(request.getContractStartEndTime())) .jszhhz(linePayDO.getPayAccount()) - .kdzBusinessId(AuditEnum.SIGN_FRANCHISE+"_"+shopId+"_"+lineId) + .kdzBusinessId(AuditEnum.SIGN_FRANCHISE + "_" + shopId + "_" + lineId) .khhjzh(linePayDO.getBankName()) .lvbzj(Integer.valueOf(franchiseFeeDO.getPerformanceBond())) .lybzjdx(Integer.valueOf(franchiseFeeDO.getPerformanceBond())) @@ -237,13 +239,13 @@ public class SignFranchiseServiceImpl implements SignFranchiseService ,AuditResu .remark(request.getRemark()) .remark2(systemBuildingShopDO.getReasons()) .sfbq__add(request.getResign()) - .sj1(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_END,request.getBusinessStartHours())) - .sj2(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_END,request.getBusinessEndHours())) + .sj1(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_END, request.getBusinessStartHours())) + .sj2(DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_END, request.getBusinessEndHours())) .social_credit_code(licenseTransactDO.getCreditCode()) .spltxkz(temp) .sqr_name(user.getName()) .sqrq(DateUtils.getDate()) - .title("特许经营合同审批申请2023-"+ lineInfoDO.getUsername() +"-" + DateUtils.getDate()) + .title("特许经营合同审批申请2023-" + lineInfoDO.getUsername() + "-" + DateUtils.getDate()) .wlyzbm("201905081151092R") .yycs(Integer.valueOf(request.getImpressionNum())) .yyzzblsqs(temp) @@ -254,4 +256,100 @@ public class SignFranchiseServiceImpl implements SignFranchiseService ,AuditResu return buildResult; } + + @Override + public AddSignFranchiseResponse getSignFranchise(Long shopId) { + SignFranchiseDO signFranchiseDO = signFranchiseMapper.selectByShopId(shopId); + AddSignFranchiseResponse response = from(signFranchiseDO, shopId); + return response; + } + + public AddSignFranchiseResponse from(SignFranchiseDO signFranchiseDO, + Long shopId) { + AddSignFranchiseResponse addSignFranchiseResponse = new AddSignFranchiseResponse(); + //店铺信息 + ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(shopId); + //线索信息 + LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId()); + //缴费信息 + FranchiseFeeDO franchiseFeeDO = franchiseFeeMapper.selectOne(FranchiseFeeDO.builder().shopId(shopId).build()); + //线索id + Long lineId = shopInfoDO.getLineId(); + //签约信息 + SigningBaseInfoDO signingBaseInfoDO = intentAgreementMapper.selectByPartnerIdOrLineId(null, lineId); + //缴款信息 + LinePayDO linePayDO = linePayMapper.getLinePayByLineIdAndPayType(lineId, 1); + //铺位信息 + PointInfoDO pointInfoDO = pointInfoMapper.getDataByShopIdAndLineId(lineId, shopId); + //建店数据 + SystemBuildingShopDO systemBuildingShopDO = systemBuildingShopMapper.selectOne(SystemBuildingShopDO.builder().shopId(shopId).lineId(lineId).build()); + //证照办理 + LicenseTransactDO licenseTransactDO = applyLicenseMapper.selectOne(LicenseTransactDO.builder().shopId(shopId).build()); + if (Objects.nonNull(signFranchiseDO)) { + addSignFranchiseResponse.setId(signFranchiseDO.getId()); + addSignFranchiseResponse.setShopId(signFranchiseDO.getShopId()); + addSignFranchiseResponse.setSignType(signFranchiseDO.getSignType()); + addSignFranchiseResponse.setBrandFee(signFranchiseDO.getBrandFee()); + addSignFranchiseResponse.setIsBusinessLicense(signFranchiseDO.getIsBusinessLicense()); + addSignFranchiseResponse.setIsFoodLicense(signFranchiseDO.getIsFoodLicense()); + addSignFranchiseResponse.setContractStartTime(signFranchiseDO.getContractStartTime()); + addSignFranchiseResponse.setContractStartEndTime(signFranchiseDO.getContractStartEndTime()); + addSignFranchiseResponse.setImpressionNum(signFranchiseDO.getImpressionNum()); + addSignFranchiseResponse.setBusinessStartHours(signFranchiseDO.getBusinessStartHours()); + addSignFranchiseResponse.setBusinessEndHours(signFranchiseDO.getBusinessEndHours()); + addSignFranchiseResponse.setIrregularReason(signFranchiseDO.getIrregularReason()); + addSignFranchiseResponse.setRemark(signFranchiseDO.getRemark()); + addSignFranchiseResponse.setResign(signFranchiseDO.getResign()); + addSignFranchiseResponse.setMobile(signFranchiseDO.getMobile()); + } else { + addSignFranchiseResponse.setMobile(lineInfoDO.getMobile()); + } + if(Objects.nonNull(systemBuildingShopDO)){ + addSignFranchiseResponse.setStoreName(systemBuildingShopDO.getStoreName()); + addSignFranchiseResponse.setBigRegion(systemBuildingShopDO.getBigName()); + addSignFranchiseResponse.setBigRegionManager(systemBuildingShopDO.getRegioGeneral()); + addSignFranchiseResponse.setFranchiseeType(FranchiseeTypeEnum.getByCode(systemBuildingShopDO.getFranchiseeType()).getMessage()); + addSignFranchiseResponse.setReasons(systemBuildingShopDO.getReasons()); + } + if (Objects.nonNull(pointInfoDO)){ + addSignFranchiseResponse.setStoreAddress(pointInfoDO.getAddress()); + } + if (Objects.nonNull(linePayDO)){ + addSignFranchiseResponse.setPayName(linePayDO.getPayUserName()); + addSignFranchiseResponse.setBankCardNo(linePayDO.getPayAccount()); + addSignFranchiseResponse.setBank(linePayDO.getBankName()); + addSignFranchiseResponse.setSubBank(linePayDO.getBranchBankName()); + addSignFranchiseResponse.setPayDate(linePayDO.getPayTime()); + } + if (Objects.nonNull(licenseTransactDO)){ + addSignFranchiseResponse.setLicenseName(licenseTransactDO.getBusinessLicense()); + addSignFranchiseResponse.setOpeAddress(licenseTransactDO.getLicenseAddress()); + addSignFranchiseResponse.setOperator(licenseTransactDO.getOperator()); + } + if (Objects.nonNull(lineInfoDO)){ + addSignFranchiseResponse.setPartnerName(lineInfoDO.getUsername()); + } + if (Objects.nonNull(signingBaseInfoDO)){ + addSignFranchiseResponse.setIdCardNo(signingBaseInfoDO.getIdCardNo()); + addSignFranchiseResponse.setIdCardAddress(signingBaseInfoDO.getIdCardAddress()); + } + if (Objects.nonNull(franchiseFeeDO)){ + addSignFranchiseResponse.setYearFranchiseFee(franchiseFeeDO.getYearFranchiseFee()); + addSignFranchiseResponse.setBigYearFranchiseFee(Convert.digitToChinese(Integer.valueOf(franchiseFeeDO.getYearFranchiseFee()))); + addSignFranchiseResponse.setLoanMargin(franchiseFeeDO.getLoanMargin()); + addSignFranchiseResponse.setBigLoanMargin(Convert.digitToChinese(Integer.valueOf(franchiseFeeDO.getLoanMargin()))); + addSignFranchiseResponse.setFirstYearStartTime(franchiseFeeDO.getFirstYearStartTime()); + addSignFranchiseResponse.setFirstYearEndTime(franchiseFeeDO.getFirstYearEndTime()); + addSignFranchiseResponse.setFirstYearFee(franchiseFeeDO.getFirstYearFee()); + addSignFranchiseResponse.setSecondYearStartTime(franchiseFeeDO.getSecondYearStartTime()); + addSignFranchiseResponse.setSecondYearEndTime(franchiseFeeDO.getSecondYearEndTime()); + addSignFranchiseResponse.setSecondYearFee(franchiseFeeDO.getSecondYearFee()); + addSignFranchiseResponse.setThirdYearStartTime(franchiseFeeDO.getThirdYearStartTime()); + addSignFranchiseResponse.setThirdYearEndTime(franchiseFeeDO.getThirdYearEndTime()); + addSignFranchiseResponse.setThirdYearFee(franchiseFeeDO.getThirdYearFee()); + addSignFranchiseResponse.setPerformanceBond(franchiseFeeDO.getPerformanceBond()); + addSignFranchiseResponse.setBigPerformanceBond(Convert.digitToChinese(Integer.valueOf(franchiseFeeDO.getPerformanceBond()))); + } + return addSignFranchiseResponse; + } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCSignFranchiseController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCSignFranchiseController.java index acceb48d9..0badf23ce 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCSignFranchiseController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCSignFranchiseController.java @@ -2,16 +2,12 @@ package com.cool.store.controller.webb; import com.cool.store.request.AddSignFranchiseRequest; -import com.cool.store.request.DeleteShopRequest; +import com.cool.store.response.AddSignFranchiseResponse; import com.cool.store.response.ResponseResult; import com.cool.store.service.SignFranchiseService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.validation.annotation.Validated; -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; @@ -27,4 +23,11 @@ public class PCSignFranchiseController { public ResponseResult submitSignFranchise(@RequestBody AddSignFranchiseRequest request) { return signFranchiseService.submitSignFranchise(request); } + + @ApiOperation("获取默认值") + @GetMapping("/default/get") + public ResponseResult getSignFranchise(@RequestParam("shopId") Long shopId) { + return ResponseResult.success(signFranchiseService.getSignFranchise(shopId)); + } + }