Merge remote-tracking branch 'origin/cc_partner_init' into cc_partner_init

This commit is contained in:
zhangchenbiao
2024-04-25 18:07:42 +08:00
14 changed files with 369 additions and 14 deletions

View File

@@ -27,6 +27,11 @@ public class LinePayDAO {
return linePayDO;
}
public LinePayDO getLinePayByLineIdAndPayType(Long lineId,Integer payBusinessType) {
LinePayDO linePayDO = linePayMapper.getLinePayByLineIdAndPayType(lineId,payBusinessType);
return linePayDO;
}
public Long addLinePay(LinePayDO linePayDO){
linePayMapper.insertSelective(linePayDO);
return linePayDO.getId();

View File

@@ -0,0 +1,8 @@
package com.cool.store.mapper;
import com.cool.store.entity.FirstOrderDO;
import com.cool.store.entity.FranchiseFeeDO;
import tk.mybatis.mapper.common.Mapper;
public interface FranchiseFeeMapper extends Mapper<FranchiseFeeDO> {
}

View File

@@ -40,6 +40,8 @@ public interface LinePayMapper {
int deleteByPrimaryKey(Long id);
LinePayDO getLinePayByLineId(@Param("lineId") Long lineId);
LinePayDO getLinePayByLineIdAndPayType(@Param("lineId") Long lineId,
@Param("payBusinessType")Integer payBusinessType);
/**
* getLinePayByLineIds

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cool.store.mapper.FranchiseFeeMapper">
</mapper>

View File

@@ -21,11 +21,12 @@
<result column="create_user_id" jdbcType="VARCHAR" property="createUserId" />
<result column="update_user_id" jdbcType="VARCHAR" property="updateUserId" />
<result column="deleted" jdbcType="BIT" property="deleted" />
<result column="pay_business_type" jdbcType="TINYINT" property="payBusinessType" />
</resultMap>
<sql id="Base_Column_List">
id, 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
update_time, create_user_id, update_user_id, deleted,pay_business_type
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
@@ -284,7 +285,18 @@
</sql>
<select id="getLinePayByLineId" resultMap="BaseResultMap">
select * from xfsg_line_pay where line_id = #{lineId} and deleted = '0'
select *
from xfsg_line_pay
where line_id = #{lineId}
and deleted = '0'
</select>
<select id="getLinePayByLineIdAndPayType" resultMap="BaseResultMap">
select *
from xfsg_line_pay
where line_id = #{lineId}
and deleted = '0'
and pay_business_type = #{payBusinessType}
</select>
<select id="getLinePayByLineIds" resultMap="BaseResultMap">

View File

@@ -0,0 +1,47 @@
package com.cool.store.entity;
import lombok.Data;
import javax.persistence.*;
import java.util.Date;
@Data
@Table(name = "xfsg_franchise_fee")
public class FranchiseFeeDO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "shop_id")
private Long shopId;
@Column(name = "pay_id")
private Long payId;
@Column(name = "year_franchise_fee")
private String yearFranchiseFee;
@Column(name = "loan_margin")
private String loanMargin;
@Column(name = "first_year_start_time")
private Date firstYearStartTime;
@Column(name = "first_year_end_time")
private Date firstYearEndTime;
@Column(name = "first_year_fee")
private Date firstYearFee;
@Column(name = "second_year_start_time")
private Date secondYearStartTime;
@Column(name = "second_year_end_time")
private Date secondYearEndTime;
@Column(name = "second_year_fee")
private Date secondYearFee;
@Column(name = "third_year_first_time")
private Date thirdYearFirstTime;
@Column(name = "third_year_end_time")
private Date thirdYearEndTime;
@Column(name = "third_year_fee")
private Date thirdYearFee;
@Column(name = "performance_bond")
private Date performanceBond;
@Column(name = "create_time")
private Date createTime;
@Column(name = "update_time")
private Date updateTime;
}

View File

@@ -74,4 +74,7 @@ public class LinePayDO implements Serializable {
@ApiModelProperty("是否删除0.否 1.是")
private Boolean deleted;
@ApiModelProperty("支付类型 0-缴纳意向金 1-缴纳加盟费 2-装修款")
private Integer payBusinessType;
}

View File

@@ -0,0 +1,77 @@
package com.cool.store.request;
import com.cool.store.entity.FranchiseFeeDO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.*;
import java.util.Date;
@Data
@ApiModel("加盟费/保证金实体")
public class FranchiseFeeRequest {
@Column(name = "shop_id")
@ApiModelProperty("shopId")
private Long shopId;
@Column(name = "pay_id")
@ApiModelProperty("payId")
private Long payId;
@Column(name = "year_franchise_fee")
@ApiModelProperty("每年加盟费")
private String yearFranchiseFee;
@Column(name = "loan_margin")
@ApiModelProperty("贷款保证金")
private String loanMargin;
@Column(name = "first_year_start_time")
@ApiModelProperty("第一年度开始时间")
private Date firstYearStartTime;
@ApiModelProperty("第一年度结束时间")
@Column(name = "first_year_end_time")
private Date firstYearEndTime;
@ApiModelProperty("第一年度加盟费")
@Column(name = "first_year_fee")
private Date firstYearFee;
@ApiModelProperty("第二年度开始时间")
@Column(name = "second_year_start_time")
private Date secondYearStartTime;
@ApiModelProperty("第二年度结束时间")
@Column(name = "second_year_end_time")
private Date secondYearEndTime;
@ApiModelProperty("第二年度加盟费")
@Column(name = "second_year_fee")
private Date secondYearFee;
@ApiModelProperty("第仨年度开始时间")
@Column(name = "third_year_first_time")
private Date thirdYearFirstTime;
@ApiModelProperty("第仨年度结束时间")
@Column(name = "third_year_end_time")
private Date thirdYearEndTime;
@ApiModelProperty("第仨年度加盟费")
@Column(name = "third_year_fee")
private Date thirdYearFee;
@ApiModelProperty("履约保证金")
@Column(name = "performance_bond")
private Date performanceBond;
public FranchiseFeeDO toFranchiseFeeDO() {
FranchiseFeeDO franchiseFeeDO = new FranchiseFeeDO();
franchiseFeeDO.setShopId(this.shopId);
franchiseFeeDO.setPayId(this.payId);
franchiseFeeDO.setYearFranchiseFee(this.yearFranchiseFee);
franchiseFeeDO.setLoanMargin(this.loanMargin);
franchiseFeeDO.setFirstYearStartTime(this.firstYearStartTime);
franchiseFeeDO.setFirstYearEndTime(this.firstYearEndTime);
franchiseFeeDO.setFirstYearFee(this.firstYearFee);
franchiseFeeDO.setSecondYearStartTime(this.secondYearStartTime);
franchiseFeeDO.setSecondYearEndTime(this.secondYearEndTime);
franchiseFeeDO.setSecondYearFee(this.secondYearFee);
franchiseFeeDO.setThirdYearFirstTime(this.thirdYearFirstTime);
franchiseFeeDO.setThirdYearEndTime(this.thirdYearEndTime);
franchiseFeeDO.setThirdYearFee(this.thirdYearFee);
franchiseFeeDO.setPerformanceBond(this.performanceBond);
return franchiseFeeDO;
}
}

View File

@@ -52,4 +52,9 @@ public class LinePaySubmitRequest {
@ApiModelProperty("承诺书图片")
private String promisePic;
@ApiModelProperty("支付类型 0-缴纳意向金 1-缴纳加盟费 2-装修款")
private Integer payBusinessType;
@ApiModelProperty("铺位id")
private Long shopId;
}

View File

@@ -0,0 +1,73 @@
package com.cool.store.response;
import com.cool.store.entity.FranchiseFeeDO;
import lombok.Data;
import javax.persistence.*;
import java.util.Date;
@Data
@Table(name = "xfsg_franchise_fee")
public class FranchiseFeeResponse {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "shop_id")
private Long shopId;
@Column(name = "pay_id")
private Long payId;
@Column(name = "year_franchise_fee")
private String yearFranchiseFee;
@Column(name = "loan_margin")
private String loanMargin;
@Column(name = "first_year_start_time")
private Date firstYearStartTime;
@Column(name = "first_year_end_time")
private Date firstYearEndTime;
@Column(name = "first_year_fee")
private Date firstYearFee;
@Column(name = "second_year_start_time")
private Date secondYearStartTime;
@Column(name = "second_year_end_time")
private Date secondYearEndTime;
@Column(name = "second_year_fee")
private Date secondYearFee;
@Column(name = "third_year_first_time")
private Date thirdYearFirstTime;
@Column(name = "third_year_end_time")
private Date thirdYearEndTime;
@Column(name = "third_year_fee")
private Date thirdYearFee;
@Column(name = "performance_bond")
private Date performanceBond;
@Column(name = "create_time")
private Date createTime;
@Column(name = "update_time")
private Date updateTime;
public static FranchiseFeeResponse from(FranchiseFeeDO franchiseFeeDO) {
if (franchiseFeeDO == null) {
return null;
}
FranchiseFeeResponse franchiseFeeResponse = new FranchiseFeeResponse();
franchiseFeeResponse.setId(franchiseFeeDO.getId());
franchiseFeeResponse.setShopId(franchiseFeeDO.getShopId());
franchiseFeeResponse.setPayId(franchiseFeeDO.getPayId());
franchiseFeeResponse.setYearFranchiseFee(franchiseFeeDO.getYearFranchiseFee());
franchiseFeeResponse.setLoanMargin(franchiseFeeDO.getLoanMargin());
franchiseFeeResponse.setFirstYearStartTime(franchiseFeeDO.getFirstYearStartTime());
franchiseFeeResponse.setFirstYearEndTime(franchiseFeeDO.getFirstYearEndTime());
franchiseFeeResponse.setFirstYearFee(franchiseFeeDO.getFirstYearFee());
franchiseFeeResponse.setSecondYearStartTime(franchiseFeeDO.getSecondYearStartTime());
franchiseFeeResponse.setSecondYearEndTime(franchiseFeeDO.getSecondYearEndTime());
franchiseFeeResponse.setSecondYearFee(franchiseFeeDO.getSecondYearFee());
franchiseFeeResponse.setThirdYearFirstTime(franchiseFeeDO.getThirdYearFirstTime());
franchiseFeeResponse.setThirdYearEndTime(franchiseFeeDO.getThirdYearEndTime());
franchiseFeeResponse.setThirdYearFee(franchiseFeeDO.getThirdYearFee());
franchiseFeeResponse.setPerformanceBond(franchiseFeeDO.getPerformanceBond());
franchiseFeeResponse.setCreateTime(franchiseFeeDO.getCreateTime());
franchiseFeeResponse.setUpdateTime(franchiseFeeDO.getUpdateTime());
return franchiseFeeResponse;
}
}

View File

@@ -0,0 +1,20 @@
package com.cool.store.service;
import com.cool.store.request.FranchiseFeeRequest;
import com.cool.store.response.FranchiseFeeResponse;
public interface FranchiseFeeService {
/**
* 提交加盟费信息
* @param request
* @return
*/
Boolean submitLicense(FranchiseFeeRequest request);
/**
* 查询加盟费信息
* @param shopId
* @return
*/
FranchiseFeeResponse getDetail(Long shopId);
}

View File

@@ -0,0 +1,37 @@
package com.cool.store.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.entity.FranchiseFeeDO;
import com.cool.store.mapper.FranchiseFeeMapper;
import com.cool.store.request.FranchiseFeeRequest;
import com.cool.store.response.FranchiseFeeResponse;
import com.cool.store.service.FranchiseFeeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
@Slf4j
public class FranchiseFeeServiceImpl implements FranchiseFeeService {
@Resource
FranchiseFeeMapper franchiseFeeMapper;
@Override
public Boolean submitLicense(FranchiseFeeRequest request) {
log.info("submitLicense request{}", JSONObject.toJSONString(request));
FranchiseFeeDO franchiseFeeDO = request.toFranchiseFeeDO();
franchiseFeeMapper.insertSelective(franchiseFeeDO);
return null;
}
@Override
public FranchiseFeeResponse getDetail(Long shopId) {
FranchiseFeeDO franchiseFeeDO = new FranchiseFeeDO();
franchiseFeeDO.setShopId(shopId);
FranchiseFeeDO result = franchiseFeeMapper.selectOneByExample(franchiseFeeDO);
FranchiseFeeResponse resp = FranchiseFeeResponse.from(result);
return resp;
}
}

View File

@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import com.cool.store.dao.HyPartnerUserInfoDAO;
import com.cool.store.dao.LineInfoDAO;
import com.cool.store.dao.LinePayDAO;
import com.cool.store.entity.FranchiseFeeDO;
import com.cool.store.entity.HyPartnerUserInfoDO;
import com.cool.store.entity.LineInfoDO;
import com.cool.store.entity.LinePayDO;
@@ -11,16 +12,20 @@ import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.WorkflowSubStageEnum;
import com.cool.store.enums.WorkflowSubStageStatusEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.FranchiseFeeMapper;
import com.cool.store.mapper.LineInfoMapper;
import com.cool.store.request.LinePaySubmitRequest;
import com.cool.store.service.LinePayService;
import com.cool.store.utils.poi.constant.Constants;
import com.cool.store.vo.LinePayVO;
import com.cool.store.vo.PartnerUserInfoVO;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestParam;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
@@ -37,6 +42,9 @@ public class LinePayServiceImpl implements LinePayService {
@Resource
private LineInfoDAO lineInfoDAO;
@Resource
FranchiseFeeMapper franchiseFeeMapper;
@Override
public LinePayVO getLinePayInfo(Long lineId) {
LinePayVO result = null;
@@ -58,20 +66,39 @@ public class LinePayServiceImpl implements LinePayService {
if(Objects.isNull(lineInfo)){
throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST);
}
LinePayDO linePayDO = linePayDAO.getLinePayByLineId(request.getLineId());
if(linePayDO == null){
linePayDO = new LinePayDO();
fillLinePay(true, linePayDO, request, partnerUser);
linePayDAO.addLinePay(linePayDO);
if (request.getPayBusinessType() != null
&& request.getPayBusinessType() == Constants.ONE_INTEGER
&& request.getShopId() != null){
LinePayDO linePayDO = linePayDAO.getLinePayByLineIdAndPayType(request.getLineId(),request.getPayBusinessType());
if (Objects.isNull(linePayDO)){
fillLinePay(true, linePayDO, request, partnerUser);
Long aLong = linePayDAO.addLinePay(linePayDO);
FranchiseFeeDO franchiseFeeDO = new FranchiseFeeDO();
franchiseFeeDO.setShopId(request.getShopId());
FranchiseFeeDO result = franchiseFeeMapper.selectOneByExample(franchiseFeeDO);
result.setPayId(aLong);
franchiseFeeMapper.updateByPrimaryKeySelective(result);
}else {
fillLinePay(false, linePayDO, request, partnerUser);
linePayDAO.updateLinePay(linePayDO);
}
}else {
fillLinePay(false, linePayDO, request, partnerUser);
linePayDAO.updateLinePay(linePayDO);
}
LinePayDO linePayDO = linePayDAO.getLinePayByLineIdAndPayType(request.getLineId(),0);
if(linePayDO == null){
linePayDO = new LinePayDO();
fillLinePay(true, linePayDO, request, partnerUser);
linePayDAO.addLinePay(linePayDO);
}else {
fillLinePay(false, linePayDO, request, partnerUser);
linePayDAO.updateLinePay(linePayDO);
}
lineInfo.setWorkflowSubStage(WorkflowSubStageEnum.PAY_DEPOSIT.getCode());
lineInfo.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.PAY_DEPOSIT_50.getCode());
lineInfoDAO.insertOrUpdate(lineInfo);
return linePayDO.getId();
lineInfo.setWorkflowSubStage(WorkflowSubStageEnum.PAY_DEPOSIT.getCode());
lineInfo.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.PAY_DEPOSIT_50.getCode());
lineInfoDAO.insertOrUpdate(lineInfo);
return linePayDO.getId();
}
return null;
}
private void fillLinePay(Boolean isAdd, LinePayDO linePayDO, LinePaySubmitRequest request, PartnerUserInfoVO partnerUser) {
@@ -86,6 +113,7 @@ public class LinePayServiceImpl implements LinePayService {
linePayDO.setPayPic(request.getPayPic());
linePayDO.setPromisePic(request.getPromisePic());
linePayDO.setPayStatus(WorkflowSubStageStatusEnum.PAY_DEPOSIT_50.getCode());
linePayDO.setPayBusinessType(request.getPayBusinessType());
if(isAdd){
linePayDO.setPartnerId(partnerUser.getPartnerId());
linePayDO.setLineId(request.getLineId());

View File

@@ -0,0 +1,33 @@
package com.cool.store.controller.webb;
import com.cool.store.request.FranchiseFeeRequest;
import com.cool.store.request.SubmitLicenseRequest;
import com.cool.store.response.FranchiseFeeResponse;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.FranchiseFeeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/pc/franchiseFee")
@Api(tags = "PC加盟费/保证金")
@Slf4j
public class PCFranchiseFeeController {
FranchiseFeeService franchiseFeeService;
@ApiOperation("基本信息提交")
@PostMapping("/submit")
public ResponseResult submitLicense(@RequestBody FranchiseFeeRequest request) {
return ResponseResult.success(franchiseFeeService.submitLicense(request));
}
@ApiOperation("基本信息查询")
@GetMapping("/getDetail")
public ResponseResult<FranchiseFeeResponse> getDetail(@RequestParam("shopId") Long shopId) {
return ResponseResult.success(franchiseFeeService.getDetail(shopId));
}
}