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 5f55333b6..198e62f71 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
@@ -111,6 +111,7 @@ public enum ErrorCodeEnum {
POINT_SELECTED(600016, "该铺位已被选择", null),
NOT_EXIST_UNSELECT_POINT(600017, "当前没有未选择的铺位", null),
SELECT_POINT_ERROR(600018, "铺位选中失败", null),
+ POINT_NOT_SELECT(600019, "该门店未选址", null),
OPEN_NEW_SHOP_RECORD_NOT_EXIST(700001, "开店申请记录不存在", null),
OPEN_NEW_SHOP_RECORD_AUDITED(700002, "开店申请已审核", null),
diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml
index 0ab2c291d..abffd3770 100644
--- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml
+++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml
@@ -29,6 +29,12 @@
+
+
+
+
+
+
@@ -37,6 +43,7 @@
shop_code, store_num, shop_manager_user_id, supervisor_user_id,
plan_open_time, cur_progress, shop_type, shop_stage, deleted, create_time, update_time,
join_mode,detail_address,franchise_brand,development_manager,want_shop_area_id,investment_manager,shop_status,create_user_id,update_user_id,store_type
+ , province,province_code,city,city_code,district,district_code
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopInfoDO.java
index 02a428d49..ba24c2c91 100644
--- a/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopInfoDO.java
+++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/ShopInfoDO.java
@@ -131,4 +131,22 @@ public class ShopInfoDO {
@Column(name = "store_type")
private Integer storeType;
+ //省
+ @Column(name = "province")
+ private String province;
+ //省code
+ @Column(name = "province_code")
+ private String provinceCode;
+ //市
+ @Column(name = "city")
+ private String city;
+ //市code
+ @Column(name = "city_code")
+ private String cityCode;
+ //区
+ @Column(name = "district")
+ private String district;
+ //区code
+ @Column(name = "district_code")
+ private String districtCode;
}
\ No newline at end of file
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java
index 63f395a6d..7173f3d40 100644
--- a/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java
+++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/SignFranchiseDO.java
@@ -62,4 +62,25 @@ public class SignFranchiseDO {
private String partnershipSignatorySecond;
@Column(name = "business_model")
private Integer businessModel;
+ //签约人2身份证号
+ @Column(name = "partnership_signatory_second_id_number")
+ private String partnershipSignatorySecondIdNumber;
+ //签约人2手机号
+ @Column(name = "partnership_signatory_second_mobile")
+ private String partnershipSignatorySecondMobile;
+ //'保护距离 / m'
+ @Column(name = "protective_distance")
+ private Integer protectiveDistance;
+ //介绍人
+ @Column(name = "introducer")
+ private String introducer;
+ //介绍门店
+ @Column(name = "introducer_store")
+ private String introducerStore;
+ //介绍奖
+ @Column(name = "introducer_award")
+ private String introducerAward;
+ //签约人1第几家分店
+ @Column(name = "partnership_signatory_first_which_store")
+ private Integer partnershipSignatoryFirstWhichStore;
}
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java
index 497b8d0b8..4b2e7fadd 100644
--- a/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java
+++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java
@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import javax.persistence.Column;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.text.SimpleDateFormat;
@@ -94,6 +95,54 @@ public class AddSignFranchiseRequest {
private String partnershipSignatoryFirst;
@ApiModelProperty("合伙签约人2")
private String partnershipSignatorySecond;
+ //签约人2身份证号
+ @ApiModelProperty("签约人2身份证号")
+ private String partnershipSignatorySecondIdNumber;
+ //签约人2手机号
+ @ApiModelProperty("签约人2手机号")
+ private String partnershipSignatorySecondMobile;
+ //'保护距离 / m'
+ @ApiModelProperty("保护距离 / m")
+ @NotNull(message = "保护距离不能为空")
+ private Integer protectiveDistance;
+ //介绍人
+ @ApiModelProperty("介绍人")
+ private String introducer;
+ //介绍门店
+ @ApiModelProperty("介绍门店")
+ private String introducerStore;
+ //介绍奖
+ @ApiModelProperty("介绍奖")
+ private String introducerAward;
+ //签约人1第几家分店
+ @ApiModelProperty("签约人1第几家分店")
+ @NotNull(message = "签约人1第哪家分店不能为空")
+ private Integer partnershipSignatoryFirstWhichStore;
+
+ //省
+ @ApiModelProperty("省")
+ @NotBlank(message = "省不能为空")
+ private String province;
+ //省code
+ @ApiModelProperty("省code")
+ @NotBlank(message = "省code不能为空")
+ private String provinceCode;
+ //市
+ @ApiModelProperty("市")
+ @NotBlank(message = "市不能为空")
+ private String city;
+ //市code
+ @ApiModelProperty("市code")
+ @NotBlank(message = "市code不能为空")
+ private String cityCode;
+ //区
+ @ApiModelProperty("区")
+ @NotBlank(message = "区不能为空")
+ private String district;
+ //区code
+ @ApiModelProperty("区code")
+ @NotBlank(message = "区code不能为空")
+ private String districtCode;
public SignFranchiseDO toSignFranchiseDO() {
@@ -118,6 +167,13 @@ public class AddSignFranchiseRequest {
signFranchiseDO.setPartnershipSignatoryFirst(this.partnershipSignatoryFirst);
signFranchiseDO.setPartnershipSignatorySecond(this.partnershipSignatorySecond);
signFranchiseDO.setBusinessModel(this.businessModel);
+ signFranchiseDO.setPartnershipSignatorySecondIdNumber(this.partnershipSignatorySecondIdNumber);
+ signFranchiseDO.setPartnershipSignatorySecondMobile(this.partnershipSignatorySecondMobile);
+ signFranchiseDO.setProtectiveDistance(this.protectiveDistance);
+ signFranchiseDO.setIntroducer(this.introducer);
+ signFranchiseDO.setIntroducerStore(this.introducerStore);
+ signFranchiseDO.setIntroducerAward(this.introducerAward);
+ signFranchiseDO.setPartnershipSignatoryFirstWhichStore(this.partnershipSignatoryFirstWhichStore);
return signFranchiseDO;
}
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
index 4438e18e3..f829bdfff 100644
--- 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
@@ -190,4 +190,46 @@ public class AddSignFranchiseResponse {
private Integer joinMode;
+ //签约人2身份证号
+ @ApiModelProperty("签约人2身份证号")
+ private String partnershipSignatorySecondIdNumber;
+ //签约人2手机号
+ @ApiModelProperty("签约人2手机号")
+ private String partnershipSignatorySecondMobile;
+ //'保护距离 / m'
+ @ApiModelProperty("保护距离 / m")
+ private Integer protectiveDistance;
+ //介绍人
+ @ApiModelProperty("介绍人")
+ private String introducer;
+ //介绍门店
+ @ApiModelProperty("介绍门店")
+ private String introducerStore;
+ //介绍奖
+ @ApiModelProperty("介绍奖")
+ private String introducerAward;
+ //签约人1第几家分店
+ @ApiModelProperty("签约人1第几家分店")
+ private Integer partnershipSignatoryFirstWhichStore;
+
+ //省
+ @ApiModelProperty("省")
+ private String province;
+ //省code
+ @ApiModelProperty("省code")
+ private String provinceCode;
+ //市
+ @ApiModelProperty("市")
+ private String city;
+ //市code
+ @ApiModelProperty("市code")
+ private String cityCode;
+ //区
+ @ApiModelProperty("区")
+ private String district;
+ //区code
+ @ApiModelProperty("区code")
+ private String districtCode;
+
+
}
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 1996eb010..6e14ade39 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
@@ -41,6 +41,9 @@ import static com.cool.store.enums.UserRoleEnum.*;
@Service
@Slf4j
public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResultService {
+
+ @Resource
+ private PointInfoDAO pointInfoDAO;
@Resource
private EnterpriseUserRoleDao enterpriseUserRoleDao;
@Resource
@@ -166,6 +169,11 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
if (Objects.nonNull(isExist) && Objects.isNull(request.getId())) {
throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION);
}
+ ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId());
+ PointInfoDO pointInfoById = pointInfoDAO.getPointInfoById(shopInfoDO.getPointId());
+ if (Objects.isNull(pointInfoById)){
+ throw new ServiceException(ErrorCodeEnum.POINT_NOT_SELECT);
+ }
String lockKey = "submitSignFranchise:" + request.getShopId();
//流水
String lockValue = UUID.randomUUID().toString();
@@ -175,7 +183,6 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
acquired = redisUtilPool.setNxExpire(lockKey, lockValue, CommonConstants.TEN_SECONDS);
if (Boolean.TRUE.equals(acquired)) {
SignFranchiseDO signFranchiseDO = request.toSignFranchiseDO();
- ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId());
if (Objects.isNull(request.getId())) {
signFranchiseMapper.insertSelective(signFranchiseDO);
shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83);
@@ -199,15 +206,8 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
} else {
signFranchiseMapper.updateByPrimaryKeySelective(signFranchiseDO);
}
- //店铺信息
- shopInfoDO.setRegionId(request.getRegionId());
- shopInfoDO.setShopName(request.getShopName());
- shopInfoDO.setDetailAddress(request.getDetailAddress());
- shopInfoDO.setJoinMode(request.getJoinMode());
- shopInfoDO.setFranchiseBrand(request.getFranchiseBrand());
- shopInfoDO.setUpdateTime(new Date());
- shopInfoDO.setStoreType(request.getStoreType());
- shopInfoMapper.updateByPrimaryKeySelective(shopInfoDO);
+ //修改shop & point
+ updateShopAndPoint(request, shopInfoDO, pointInfoById);
OrderSysInfoDO orderSysInfoDO = orderSysInfoDAO.selectByShopId(request.getShopId());
if (Objects.isNull(orderSysInfoDO)){
orderSysInfoDO = new OrderSysInfoDO();
@@ -234,7 +234,10 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
}
+
+
@Override
+ @Transactional(rollbackFor = Exception.class)
public Boolean reSubmitSignFranchise(AddSignFranchiseRequest request, LoginUserInfo user) {
log.info("reSubmitSignFranchise request:{}", JSONObject.toJSONString(request));
if (Objects.isNull(request)) {
@@ -244,9 +247,15 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
throw new ServiceException(ErrorCodeEnum.SHOP_ID_NOT_EXIST);
}
ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId());
+ PointInfoDO pointInfoById = pointInfoDAO.getPointInfoById(shopInfoDO.getPointId());
+ if (Objects.isNull(pointInfoById)){
+ throw new ServiceException(ErrorCodeEnum.POINT_NOT_SELECT);
+ }
SignFranchiseDO signFranchiseDO = request.toSignFranchiseDO();
//修改信息
signFranchiseMapper.updateByPrimaryKeySelective(signFranchiseDO);
+ // //修改shop & point
+ updateShopAndPoint(request, shopInfoDO, pointInfoById);
//修改阶段状态
shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83);
//发送通知
@@ -270,7 +279,29 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
return Boolean.TRUE;
}
-
+ private void updateShopAndPoint(AddSignFranchiseRequest request, ShopInfoDO shopInfoDO, PointInfoDO pointInfoById) {
+ //店铺信息
+ shopInfoDO.setRegionId(request.getRegionId());
+ shopInfoDO.setShopName(request.getShopName());
+ shopInfoDO.setDetailAddress(request.getDetailAddress());
+ shopInfoDO.setJoinMode(request.getJoinMode());
+ shopInfoDO.setFranchiseBrand(request.getFranchiseBrand());
+ shopInfoDO.setProvince(request.getProvince());
+ shopInfoDO.setCity(request.getCity());
+ shopInfoDO.setDistrict(request.getDistrict());
+ shopInfoDO.setProvinceCode(request.getProvinceCode());
+ shopInfoDO.setCityCode(request.getCityCode());
+ shopInfoDO.setDistrictCode(request.getDistrictCode());
+ shopInfoDO.setUpdateTime(new Date());
+ shopInfoDO.setStoreType(request.getStoreType());
+ shopInfoMapper.updateByPrimaryKeySelective(shopInfoDO);
+ pointInfoById.setProvince(request.getProvince());
+ pointInfoById.setCity(request.getCity());
+ pointInfoById.setDistrict(request.getDistrict());
+ pointInfoById.setAddress(request.getDetailAddress());
+ pointInfoById.setUpdateTime(new Date());
+ pointInfoDAO.updatePointInfo(pointInfoById);
+ }
@Override
public AddSignFranchiseResponse getSignFranchise(Long shopId) {
SignFranchiseDO signFranchiseDO = signFranchiseMapper.selectByShopId(shopId);
@@ -385,16 +416,29 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
Long lineId = shopInfoDO.getLineId();
//缴款信息
LinePayDO linePayDO = linePayMapper.getByLineIdAndPayTypeAndShopId(lineId, 1, shopId);
- //铺位信息
- PointInfoDO pointInfoDO = pointInfoMapper.getDataByShopIdAndLineId(lineId, shopId);
+// //铺位信息
+// PointInfoDO pointInfoDO = pointInfoMapper.getDataByShopIdAndLineId(lineId, shopId);
//证照办理
LicenseTransactDO licenseTransactDO = applyLicenseMapper.selectByShopId(shopId);
RegionDO regionInfo = regionMapper.getByRegionId(shopInfoDO.getRegionId());
-
+// if (Objects.nonNull(pointInfoDO)) {
+// // addSignFranchiseResponse.setStoreAddress(pointInfoDO.getAddress());
+// if (StringUtils.isNoneBlank(pointInfoDO.getLatitude(), pointInfoDO.getLongitude())) {
+// //GeoMapUtil.AddressInfo addressInfo = GeoMapUtil.reverseGeoCoding(pointInfoDO.getLatitude(), pointInfoDO.getLongitude());
+// //addSignFranchiseResponse.setStoreProvinceCity(String.format("%s%s%s", addressInfo.getProvince(), addressInfo.getCity(), addressInfo.getDistrict()));
+// }
+// }
+ addSignFranchiseResponse.setPartnershipSignatoryFirst(lineInfoDO.getUsername());
addSignFranchiseResponse.setDetailAddress(shopInfoDO.getDetailAddress());
addSignFranchiseResponse.setStoreType(shopInfoDO.getStoreType());
+ addSignFranchiseResponse.setProvince(shopInfoDO.getProvince());
+ addSignFranchiseResponse.setCity(shopInfoDO.getCity());
+ addSignFranchiseResponse.setDistrict(shopInfoDO.getDistrict());
+ addSignFranchiseResponse.setProvinceCode(shopInfoDO.getProvinceCode());
+ addSignFranchiseResponse.setCityCode(shopInfoDO.getCityCode());
+ addSignFranchiseResponse.setDistrictCode(shopInfoDO.getDistrictCode());
if (Objects.nonNull(signFranchiseDO)) {
addSignFranchiseResponse.setId(signFranchiseDO.getId());
addSignFranchiseResponse.setShopId(signFranchiseDO.getShopId());
@@ -416,6 +460,13 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
addSignFranchiseResponse.setPartnershipSignatoryFirst(signFranchiseDO.getPartnershipSignatoryFirst());
addSignFranchiseResponse.setPartnershipSignatorySecond(signFranchiseDO.getPartnershipSignatorySecond());
addSignFranchiseResponse.setBusinessModel(signFranchiseDO.getBusinessModel());
+ addSignFranchiseResponse.setPartnershipSignatorySecondIdNumber(signFranchiseDO.getPartnershipSignatorySecondIdNumber());
+ addSignFranchiseResponse.setPartnershipSignatorySecondMobile(signFranchiseDO.getPartnershipSignatorySecondMobile());
+ addSignFranchiseResponse.setProtectiveDistance(signFranchiseDO.getProtectiveDistance());
+ addSignFranchiseResponse.setIntroducer(signFranchiseDO.getIntroducer());
+ addSignFranchiseResponse.setIntroducerStore(signFranchiseDO.getIntroducerStore());
+ addSignFranchiseResponse.setIntroducerAward(signFranchiseDO.getIntroducerAward());
+ addSignFranchiseResponse.setPartnershipSignatoryFirstWhichStore(signFranchiseDO.getPartnershipSignatoryFirstWhichStore());
} else {
BigDecimal total = new BigDecimal(franchiseFeeDO.getYearFranchiseFee())
@@ -436,13 +487,6 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
addSignFranchiseResponse.setRegionName(regionInfo.getName());
}
- if (Objects.nonNull(pointInfoDO)) {
- addSignFranchiseResponse.setStoreAddress(pointInfoDO.getAddress());
- if (StringUtils.isNoneBlank(pointInfoDO.getLatitude(), pointInfoDO.getLongitude())) {
- GeoMapUtil.AddressInfo addressInfo = GeoMapUtil.reverseGeoCoding(pointInfoDO.getLatitude(), pointInfoDO.getLongitude());
- addSignFranchiseResponse.setStoreProvinceCity(String.format("%s%s%s", addressInfo.getProvince(), addressInfo.getCity(), addressInfo.getDistrict()));
- }
- }
if (Objects.nonNull(linePayDO)) {
addSignFranchiseResponse.setPayName(linePayDO.getPayUserName());
addSignFranchiseResponse.setBankCardNo(linePayDO.getPayAccount());