Merge branch 'refs/heads/master' into cc_20251112_wallet
# Conflicts: # coolstore-partner-web/src/main/resources/application-ab.properties # coolstore-partner-web/src/main/resources/application-test.properties
This commit is contained in:
@@ -232,4 +232,7 @@ public class CommonConstants {
|
|||||||
public static final int REFRESH_TOKEN_EXPIRE = 30 * 24 * 60 * 60;
|
public static final int REFRESH_TOKEN_EXPIRE = 30 * 24 * 60 * 60;
|
||||||
|
|
||||||
public static final int BATCH_SIZE = 200;
|
public static final int BATCH_SIZE = 200;
|
||||||
|
|
||||||
|
public static final Integer INDEX_ZERO = 0;
|
||||||
|
public static final Integer INDEX_ONE = 1;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,8 @@ package com.cool.store.enums;
|
|||||||
public enum BusinessModelEnum {
|
public enum BusinessModelEnum {
|
||||||
NULL(0, "无"),
|
NULL(0, "无"),
|
||||||
DIRECT_SALES(1, "直营"),
|
DIRECT_SALES(1, "直营"),
|
||||||
JOIN_SALES(2, "加盟");
|
JOIN_SALES(2, "加盟"),
|
||||||
|
JOINT_STORE(3, "联营");
|
||||||
|
|
||||||
private Integer code;
|
private Integer code;
|
||||||
private String desc;
|
private String desc;
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.cool.store.utils;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 公共工具
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author wangff
|
||||||
|
* @since 2025/10/29
|
||||||
|
*/
|
||||||
|
public class CommonUtil {
|
||||||
|
public static BigDecimal convertToBig(String value) {
|
||||||
|
if (StringUtils.isBlank(value)) {
|
||||||
|
return BigDecimal.ZERO;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
return new BigDecimal(value);
|
||||||
|
} catch (Exception ignored) {}
|
||||||
|
return BigDecimal.ZERO;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,7 +4,9 @@ import com.cool.store.constants.CommonConstants;
|
|||||||
import com.cool.store.dto.BuildStageDTO;
|
import com.cool.store.dto.BuildStageDTO;
|
||||||
import com.cool.store.dto.PlatformBuildStageDTO;
|
import com.cool.store.dto.PlatformBuildStageDTO;
|
||||||
import com.cool.store.dto.Preparation.ScheduleDTO;
|
import com.cool.store.dto.Preparation.ScheduleDTO;
|
||||||
|
import com.cool.store.entity.ShopInfoDO;
|
||||||
import com.cool.store.entity.ShopStageInfoDO;
|
import com.cool.store.entity.ShopStageInfoDO;
|
||||||
|
import com.cool.store.enums.FranchiseBrandEnum;
|
||||||
import com.cool.store.enums.point.ShopStageEnum;
|
import com.cool.store.enums.point.ShopStageEnum;
|
||||||
import com.cool.store.enums.point.ShopSubStageEnum;
|
import com.cool.store.enums.point.ShopSubStageEnum;
|
||||||
import com.cool.store.enums.point.ShopSubStageStatusEnum;
|
import com.cool.store.enums.point.ShopSubStageStatusEnum;
|
||||||
@@ -40,17 +42,22 @@ public class ShopStageInfoDAO {
|
|||||||
/**
|
/**
|
||||||
* 初始化店铺阶段信息
|
* 初始化店铺阶段信息
|
||||||
* @param lineId
|
* @param lineId
|
||||||
* @param shopIds
|
* @param shopInfoList
|
||||||
* @return flag =true:表示意向加盟节点完成正常初始化。false:表示意向加盟节点未完成新建分店阶段都为未开始-100。
|
* @return flag =true:表示意向加盟节点完成正常初始化。false:表示意向加盟节点未完成新建分店阶段都为未开始-100。
|
||||||
*/
|
*/
|
||||||
public Integer initShopStageInfo(Long lineId, List<Long> shopIds, Boolean flag) {
|
public Integer initShopStageInfo(Long lineId, List<ShopInfoDO> shopInfoList, Boolean flag) {
|
||||||
if (CollectionUtils.isEmpty(shopIds)) {
|
if (CollectionUtils.isEmpty(shopInfoList)) {
|
||||||
return CommonConstants.ZERO;
|
return CommonConstants.ZERO;
|
||||||
}
|
}
|
||||||
List<ShopStageInfoDO> addShopStageList = new ArrayList<>();
|
List<ShopStageInfoDO> addShopStageList = new ArrayList<>();
|
||||||
LocalDate selectStartDate = LocalDate.now();
|
LocalDate selectStartDate = LocalDate.now();
|
||||||
for (Long shopId : shopIds) {
|
for (ShopInfoDO shopInfoDO : shopInfoList) {
|
||||||
|
Long shopId = shopInfoDO.getId();
|
||||||
for (ShopSubStageEnum shopSubStageEnum : ShopSubStageEnum.values()) {
|
for (ShopSubStageEnum shopSubStageEnum : ShopSubStageEnum.values()) {
|
||||||
|
if (ShopSubStageEnum.SHOP_STAGE_24.equals(shopSubStageEnum) && String.valueOf(FranchiseBrandEnum.ZXSMZ.getCode()).equals(shopInfoDO.getFranchiseBrand())) {
|
||||||
|
// 三明治跳过营帐通开通
|
||||||
|
continue;
|
||||||
|
}
|
||||||
ShopStageInfoDO shopStageInfo = new ShopStageInfoDO();
|
ShopStageInfoDO shopStageInfo = new ShopStageInfoDO();
|
||||||
shopStageInfo.setLineId(lineId);
|
shopStageInfo.setLineId(lineId);
|
||||||
shopStageInfo.setShopId(shopId);
|
shopStageInfo.setShopId(shopId);
|
||||||
|
|||||||
@@ -279,7 +279,9 @@
|
|||||||
from
|
from
|
||||||
xfsg_shop_info a
|
xfsg_shop_info a
|
||||||
left join store_${enterpriseId} b on a.shop_code = b.store_num
|
left join store_${enterpriseId} b on a.shop_code = b.store_num
|
||||||
where b.store_id is not null and a.id in
|
where a.shop_code is not null
|
||||||
|
and a.shop_code !=''
|
||||||
|
and b.store_id is not null and a.id in
|
||||||
<foreach collection="shopIds" item="shopId" separator="," open="(" close=")">
|
<foreach collection="shopIds" item="shopId" separator="," open="(" close=")">
|
||||||
#{shopId}
|
#{shopId}
|
||||||
</foreach>
|
</foreach>
|
||||||
|
|||||||
@@ -72,4 +72,8 @@ public class FranchiseFeeDO {
|
|||||||
@ApiModelProperty("新管家已缴金额")
|
@ApiModelProperty("新管家已缴金额")
|
||||||
private BigDecimal xgjFeesPaid;
|
private BigDecimal xgjFeesPaid;
|
||||||
|
|
||||||
|
@Column(name = "cashier_fee")
|
||||||
|
@ApiModelProperty("收银费(系统费)")
|
||||||
|
private String cashierFee;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -117,4 +117,8 @@ public class OrderSysInfoDO {
|
|||||||
/** 总部订货收款修改人 */
|
/** 总部订货收款修改人 */
|
||||||
@Column(name = "receiving_update_user")
|
@Column(name = "receiving_update_user")
|
||||||
private String receivingUpdateUser;
|
private String receivingUpdateUser;
|
||||||
|
|
||||||
|
/** 订货方式,0先款后货、1先货后款 */
|
||||||
|
@Column(name = "order_type")
|
||||||
|
private Integer orderType;
|
||||||
}
|
}
|
||||||
@@ -44,6 +44,8 @@ public class FranchiseFeeRequest {
|
|||||||
@ApiModelProperty("加盟费优惠原因")
|
@ApiModelProperty("加盟费优惠原因")
|
||||||
private String discountReason;
|
private String discountReason;
|
||||||
|
|
||||||
|
@ApiModelProperty("收银费(系统费)(三明治使用)")
|
||||||
|
private String cashierFee;
|
||||||
|
|
||||||
public FranchiseFeeDO toFranchiseFeeDO() {
|
public FranchiseFeeDO toFranchiseFeeDO() {
|
||||||
FranchiseFeeDO franchiseFeeDO = new FranchiseFeeDO();
|
FranchiseFeeDO franchiseFeeDO = new FranchiseFeeDO();
|
||||||
@@ -63,6 +65,7 @@ public class FranchiseFeeRequest {
|
|||||||
franchiseFeeDO.setThirdYearFee(this.thirdYearFee);
|
franchiseFeeDO.setThirdYearFee(this.thirdYearFee);
|
||||||
franchiseFeeDO.setPerformanceBond(this.performanceBond);
|
franchiseFeeDO.setPerformanceBond(this.performanceBond);
|
||||||
franchiseFeeDO.setDiscountReason(this.discountReason);
|
franchiseFeeDO.setDiscountReason(this.discountReason);
|
||||||
|
franchiseFeeDO.setCashierFee(this.cashierFee);
|
||||||
return franchiseFeeDO;
|
return franchiseFeeDO;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.cool.store.request;
|
package com.cool.store.request;
|
||||||
|
|
||||||
|
import com.cool.store.constants.CommonConstants;
|
||||||
import com.cool.store.entity.OrderSysInfoDO;
|
import com.cool.store.entity.OrderSysInfoDO;
|
||||||
import com.cool.store.enums.JoinModeEnum;
|
import com.cool.store.enums.JoinModeEnum;
|
||||||
import com.cool.store.enums.OrderSysTypeEnum;
|
import com.cool.store.enums.OrderSysTypeEnum;
|
||||||
@@ -95,6 +96,9 @@ public class OrderSysInfoRequest {
|
|||||||
@ApiModelProperty(value = "总部订货收款修改人" )
|
@ApiModelProperty(value = "总部订货收款修改人" )
|
||||||
private String receivingUpdateUser;
|
private String receivingUpdateUser;
|
||||||
|
|
||||||
|
@ApiModelProperty("订货方式,0先款后货、1先货后款")
|
||||||
|
private Integer orderType;
|
||||||
|
|
||||||
public OrderSysInfoDO toOrderSysInfoDO() {
|
public OrderSysInfoDO toOrderSysInfoDO() {
|
||||||
OrderSysInfoDO orderSysInfoDO = new OrderSysInfoDO();
|
OrderSysInfoDO orderSysInfoDO = new OrderSysInfoDO();
|
||||||
orderSysInfoDO.setShopId(this.shopId);
|
orderSysInfoDO.setShopId(this.shopId);
|
||||||
@@ -131,7 +135,10 @@ public class OrderSysInfoRequest {
|
|||||||
if (Objects.equals(joinMode, JoinModeEnum.FLAGSHIP_STORE.getCode())&&this.shopCode!=null){
|
if (Objects.equals(joinMode, JoinModeEnum.FLAGSHIP_STORE.getCode())&&this.shopCode!=null){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (StringUtils.isAnyBlank(this.receivingFirmName,this.receivingMsBankAccount,this.receivingMsBankBranch,this.bankUnionPayAccount,this.shopCode)){
|
if (StringUtils.isBlank(this.shopCode)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!CommonConstants.INDEX_ONE.equals(this.orderType) && StringUtils.isAnyBlank(this.receivingFirmName,this.receivingMsBankAccount,this.receivingMsBankBranch,this.bankUnionPayAccount)){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,10 +3,13 @@ package com.cool.store.request.xgj;
|
|||||||
import com.cool.store.entity.FranchiseFeeDO;
|
import com.cool.store.entity.FranchiseFeeDO;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
|
import static com.cool.store.utils.CommonUtil.convertToBig;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author suzhuhong
|
* @Author suzhuhong
|
||||||
* @Date 2025/6/3 16:52
|
* @Date 2025/6/3 16:52
|
||||||
@@ -45,16 +48,23 @@ public class PushFranchiseFeeRequest {
|
|||||||
@ApiModelProperty( "创建时间")
|
@ApiModelProperty( "创建时间")
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("品牌")
|
||||||
|
private Integer joinBrand;
|
||||||
|
|
||||||
public PushFranchiseFeeRequest(){}
|
public PushFranchiseFeeRequest(){}
|
||||||
public PushFranchiseFeeRequest(Long shopId, String partnerName, FranchiseFeeDO franchiseFeeDO){
|
public PushFranchiseFeeRequest(Long shopId, String partnerName, FranchiseFeeDO franchiseFeeDO){
|
||||||
this.setShopId(shopId);
|
this.setShopId(shopId);
|
||||||
this.setPartnerName(partnerName);
|
this.setPartnerName(partnerName);
|
||||||
this.setBillId(franchiseFeeDO.getId().intValue());
|
this.setBillId(franchiseFeeDO.getId().intValue());
|
||||||
this.setFranchiseFee(new BigDecimal(franchiseFeeDO.getYearFranchiseFee()));
|
this.setFranchiseFee(convertToBig(franchiseFeeDO.getYearFranchiseFee()));
|
||||||
this.setBond(new BigDecimal(franchiseFeeDO.getLoanMargin()));
|
this.setBond(convertToBig(franchiseFeeDO.getLoanMargin()));
|
||||||
this.setFirstYearManageFee(new BigDecimal(franchiseFeeDO.getFirstYearManageFee()));
|
this.setFirstYearManageFee(convertToBig(franchiseFeeDO.getFirstYearManageFee()));
|
||||||
this.setFirstYearFee(new BigDecimal(franchiseFeeDO.getFirstYearFee()));
|
this.setFirstYearFee(convertToBig(franchiseFeeDO.getFirstYearFee()));
|
||||||
this.setDesignFee(new BigDecimal(franchiseFeeDO.getPerformanceBond()));
|
this.setDesignFee(convertToBig(franchiseFeeDO.getPerformanceBond()));
|
||||||
|
// 三明治收银费
|
||||||
|
if (StringUtils.isNotBlank(franchiseFeeDO.getCashierFee())) {
|
||||||
|
this.setFranchiseFee(convertToBig(franchiseFeeDO.getCashierFee()));
|
||||||
|
}
|
||||||
this.setTotalFee(this.getBond()
|
this.setTotalFee(this.getBond()
|
||||||
.add(this.getFranchiseFee())
|
.add(this.getFranchiseFee())
|
||||||
.add(this.getFirstYearManageFee())
|
.add(this.getFirstYearManageFee())
|
||||||
|
|||||||
@@ -56,6 +56,9 @@ public class ReceiptRequest {
|
|||||||
@ApiModelProperty( "删除标识")
|
@ApiModelProperty( "删除标识")
|
||||||
private Integer deleted = 0;
|
private Integer deleted = 0;
|
||||||
|
|
||||||
|
@ApiModelProperty("品牌")
|
||||||
|
private Integer joinBrand;
|
||||||
|
|
||||||
public ReceiptRequest() {
|
public ReceiptRequest() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -241,5 +241,9 @@ public class AddSignFranchiseResponse {
|
|||||||
@ApiModelProperty("是否统管 : 1-统管,0-不统管")
|
@ApiModelProperty("是否统管 : 1-统管,0-不统管")
|
||||||
private Integer unifiedManagement;
|
private Integer unifiedManagement;
|
||||||
|
|
||||||
|
@ApiModelProperty("收银费(系统费)")
|
||||||
|
private String cashierFee;
|
||||||
|
|
||||||
|
@ApiModelProperty("收银费(系统费)大写")
|
||||||
|
private String bigCashierFee;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -206,4 +206,7 @@ public class BuildInformationResponse {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "建店资料当前阶段状态")
|
@ApiModelProperty(value = "建店资料当前阶段状态")
|
||||||
private Integer shopSubStageStatus;
|
private Integer shopSubStageStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty("订货方式,0先款后货、1先货后款")
|
||||||
|
private Integer orderType;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,7 +63,8 @@ public class FranchiseFeeResponse {
|
|||||||
@ApiModelProperty("新管家已缴金额")
|
@ApiModelProperty("新管家已缴金额")
|
||||||
private BigDecimal xgjFeesPaid;
|
private BigDecimal xgjFeesPaid;
|
||||||
|
|
||||||
|
@ApiModelProperty("收银费(系统费)")
|
||||||
|
private String cashierFee;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public static class LinePay{
|
public static class LinePay{
|
||||||
@@ -200,6 +201,7 @@ public class FranchiseFeeResponse {
|
|||||||
franchiseFeeResponse.setXgjCollectionStatus(franchiseFeeDO.getXgjCollectionStatus());
|
franchiseFeeResponse.setXgjCollectionStatus(franchiseFeeDO.getXgjCollectionStatus());
|
||||||
franchiseFeeResponse.setXgjRemainderPayableAmount(franchiseFeeDO.getXgjRemainderPayableAmount());
|
franchiseFeeResponse.setXgjRemainderPayableAmount(franchiseFeeDO.getXgjRemainderPayableAmount());
|
||||||
franchiseFeeResponse.setXgjFeesPaid(franchiseFeeDO.getXgjFeesPaid());
|
franchiseFeeResponse.setXgjFeesPaid(franchiseFeeDO.getXgjFeesPaid());
|
||||||
|
franchiseFeeResponse.setCashierFee(franchiseFeeDO.getCashierFee());
|
||||||
return franchiseFeeResponse;
|
return franchiseFeeResponse;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -213,6 +213,7 @@ public class BuildInformationServiceImpl implements BuildInformationService {
|
|||||||
response.setReceivingMsBankAccount(orderSysInfoDO.getReceivingMsBankAccount());
|
response.setReceivingMsBankAccount(orderSysInfoDO.getReceivingMsBankAccount());
|
||||||
response.setReceivingMsBankBranch(orderSysInfoDO.getReceivingMsBankBranch());
|
response.setReceivingMsBankBranch(orderSysInfoDO.getReceivingMsBankBranch());
|
||||||
response.setBankUnionPayAccount(orderSysInfoDO.getBankUnionPayAccount());
|
response.setBankUnionPayAccount(orderSysInfoDO.getBankUnionPayAccount());
|
||||||
|
response.setOrderType(orderSysInfoDO.getOrderType());
|
||||||
WarehouseInfoDO warehouseInfoDO = warehouseInfoMapper.getByCode(orderSysInfoDO.getDeclareGoodsLogisticsWarehouse());
|
WarehouseInfoDO warehouseInfoDO = warehouseInfoMapper.getByCode(orderSysInfoDO.getDeclareGoodsLogisticsWarehouse());
|
||||||
if (Objects.nonNull(warehouseInfoDO)) {
|
if (Objects.nonNull(warehouseInfoDO)) {
|
||||||
response.setDeclareGoodsLogisticsWarehouseName(warehouseInfoDO.getWarehouseName());
|
response.setDeclareGoodsLogisticsWarehouseName(warehouseInfoDO.getWarehouseName());
|
||||||
|
|||||||
@@ -75,6 +75,13 @@ public class FranchiseFeeServiceImpl implements FranchiseFeeService {
|
|||||||
if (!shopStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_70.getShopSubStageStatus())){
|
if (!shopStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_70.getShopSubStageStatus())){
|
||||||
throw new ServiceException(ErrorCodeEnum.NOT_ALLOW_OPERATE);
|
throw new ServiceException(ErrorCodeEnum.NOT_ALLOW_OPERATE);
|
||||||
}
|
}
|
||||||
|
ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId());
|
||||||
|
// 三明治前端没有改这块代码,还是会传这三个字段,因此后端这三个字段置空
|
||||||
|
if (Integer.valueOf(shopInfoDO.getFranchiseBrand()).equals(FranchiseBrandEnum.ZXSMZ.getCode())) {
|
||||||
|
request.setFirstYearManageFee("0");
|
||||||
|
request.setFirstYearFee("0");
|
||||||
|
request.setYearFranchiseFee("0");
|
||||||
|
}
|
||||||
FranchiseFeeDO franchiseFeeDO = request.toFranchiseFeeDO();
|
FranchiseFeeDO franchiseFeeDO = request.toFranchiseFeeDO();
|
||||||
shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_71);
|
shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_71);
|
||||||
if (request.getId() != null) {
|
if (request.getId() != null) {
|
||||||
@@ -89,11 +96,11 @@ public class FranchiseFeeServiceImpl implements FranchiseFeeService {
|
|||||||
franchiseFeeDO.setCreateTime(new Date());
|
franchiseFeeDO.setCreateTime(new Date());
|
||||||
franchiseFeeMapper.insertSelective(franchiseFeeDO);
|
franchiseFeeMapper.insertSelective(franchiseFeeDO);
|
||||||
}
|
}
|
||||||
ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId());
|
|
||||||
LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId());
|
LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId());
|
||||||
commonService.sendSms(lineInfoDO.getMobile(), SMSMsgEnum.PAY_FRANCHISE_FEES);
|
commonService.sendSms(lineInfoDO.getMobile(), SMSMsgEnum.PAY_FRANCHISE_FEES);
|
||||||
//推送加盟费信息到新管家
|
//推送加盟费信息到新管家
|
||||||
PushFranchiseFeeRequest feeRequest = new PushFranchiseFeeRequest(shopInfoDO.getId(), lineInfoDO.getUsername(), franchiseFeeDO);
|
PushFranchiseFeeRequest feeRequest = new PushFranchiseFeeRequest(shopInfoDO.getId(), lineInfoDO.getUsername(), franchiseFeeDO);
|
||||||
|
feeRequest.setJoinBrand(Integer.valueOf(shopInfoDO.getFranchiseBrand()));
|
||||||
pushService.pushFranchiseFeeToXGJ(feeRequest);
|
pushService.pushFranchiseFeeToXGJ(feeRequest);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -116,6 +123,7 @@ public class FranchiseFeeServiceImpl implements FranchiseFeeService {
|
|||||||
//推送加盟费信息到新管家
|
//推送加盟费信息到新管家
|
||||||
franchiseFeeDO.setCreateTime(franchiseFeeDO1.getCreateTime());
|
franchiseFeeDO.setCreateTime(franchiseFeeDO1.getCreateTime());
|
||||||
PushFranchiseFeeRequest feeRequest = new PushFranchiseFeeRequest(shopInfoDO.getId(), lineInfoDO.getUsername(), franchiseFeeDO);
|
PushFranchiseFeeRequest feeRequest = new PushFranchiseFeeRequest(shopInfoDO.getId(), lineInfoDO.getUsername(), franchiseFeeDO);
|
||||||
|
feeRequest.setJoinBrand(Integer.valueOf(shopInfoDO.getFranchiseBrand()));
|
||||||
pushService.pushFranchiseFeeToXGJ(feeRequest);
|
pushService.pushFranchiseFeeToXGJ(feeRequest);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -308,6 +308,10 @@ public class LinePayServiceImpl implements LinePayService {
|
|||||||
public Boolean pushPayInfo(Long shopId, LinePayDO linePayDO) {
|
public Boolean pushPayInfo(Long shopId, LinePayDO linePayDO) {
|
||||||
FranchiseFeeDO franchiseFeeDO = franchiseFeeMapper.selectByShopId(shopId);
|
FranchiseFeeDO franchiseFeeDO = franchiseFeeMapper.selectByShopId(shopId);
|
||||||
ReceiptRequest receiptRequest = new ReceiptRequest(shopId, franchiseFeeDO.getId().intValue(), linePayDO);
|
ReceiptRequest receiptRequest = new ReceiptRequest(shopId, franchiseFeeDO.getId().intValue(), linePayDO);
|
||||||
|
ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(shopId);
|
||||||
|
if (Objects.nonNull(shopInfoDO)) {
|
||||||
|
receiptRequest.setJoinBrand(Integer.valueOf(shopInfoDO.getFranchiseBrand()));
|
||||||
|
}
|
||||||
//推送缴费单数据到新管家
|
//推送缴费单数据到新管家
|
||||||
pushService.pushReceiptToXGJ(receiptRequest);
|
pushService.pushReceiptToXGJ(receiptRequest);
|
||||||
return Boolean.TRUE;
|
return Boolean.TRUE;
|
||||||
|
|||||||
@@ -143,6 +143,7 @@ public class OrderSysInfoServiceImpl implements OrderSysInfoService {
|
|||||||
orderSysInfoDO.setReceivingMsBankAccount(request.getReceivingMsBankAccount());
|
orderSysInfoDO.setReceivingMsBankAccount(request.getReceivingMsBankAccount());
|
||||||
orderSysInfoDO.setReceivingMsBankBranch(request.getReceivingMsBankBranch());
|
orderSysInfoDO.setReceivingMsBankBranch(request.getReceivingMsBankBranch());
|
||||||
orderSysInfoDO.setBankUnionPayAccount(request.getBankUnionPayAccount());
|
orderSysInfoDO.setBankUnionPayAccount(request.getBankUnionPayAccount());
|
||||||
|
orderSysInfoDO.setOrderType(request.getOrderType());
|
||||||
if (shopSubStageInfo.getShopSubStageStatus().equals(SHOP_SUB_STAGE_STATUS_152.getShopSubStageStatus())) {
|
if (shopSubStageInfo.getShopSubStageStatus().equals(SHOP_SUB_STAGE_STATUS_152.getShopSubStageStatus())) {
|
||||||
if (orderSysInfoDO.getReceivingCreateTime() == null) {
|
if (orderSysInfoDO.getReceivingCreateTime() == null) {
|
||||||
orderSysInfoDO.setReceivingCreateTime(new Date());
|
orderSysInfoDO.setReceivingCreateTime(new Date());
|
||||||
|
|||||||
@@ -519,6 +519,14 @@ public class PointServiceImpl implements PointService {
|
|||||||
if (AuditStatusEnum.REJECT.equals(auditStatus)) {
|
if (AuditStatusEnum.REJECT.equals(auditStatus)) {
|
||||||
return auditRejectDeal(pointInfo, request.getReason());
|
return auditRejectDeal(pointInfo, request.getReason());
|
||||||
}
|
}
|
||||||
|
// 如果是三明治,将地址写入门店信息表
|
||||||
|
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(pointInfo.getShopId());
|
||||||
|
if (Objects.nonNull(shopInfo) && Integer.valueOf(shopInfo.getFranchiseBrand()).equals(FranchiseBrandEnum.ZXSMZ.getCode())) {
|
||||||
|
ShopInfoDO updateShopInfo = new ShopInfoDO();
|
||||||
|
updateShopInfo.setId(pointInfo.getShopId());
|
||||||
|
updateShopInfo.setDetailAddress(pointInfo.getAddress());
|
||||||
|
shopInfoDAO.updateShopInfo(updateShopInfo);
|
||||||
|
}
|
||||||
//处理下一节点任务及更新point状态
|
//处理下一节点任务及更新point状态
|
||||||
return dealNextAuditRecord(pointInfo, pointAuditRecordMap, pointTodo.getNodeNo());
|
return dealNextAuditRecord(pointInfo, pointAuditRecordMap, pointTodo.getNodeNo());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ public class ShopServiceImpl implements ShopService {
|
|||||||
}
|
}
|
||||||
shopInfoDAO.batchAddShop(addShopList);
|
shopInfoDAO.batchAddShop(addShopList);
|
||||||
List<Long> shopIds = addShopList.stream().map(ShopInfoDO::getId).collect(Collectors.toList());
|
List<Long> shopIds = addShopList.stream().map(ShopInfoDO::getId).collect(Collectors.toList());
|
||||||
Integer result = shopStageInfoDAO.initShopStageInfo(lineInfo.getId(), shopIds, true);
|
Integer result = shopStageInfoDAO.initShopStageInfo(lineInfo.getId(), addShopList, true);
|
||||||
//初始化平台账号
|
//初始化平台账号
|
||||||
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(lineInfo.getPartnerId());
|
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(lineInfo.getPartnerId());
|
||||||
shopAccountDAO.initShopAccount(hyPartnerUserInfoDO, shopIds);
|
shopAccountDAO.initShopAccount(hyPartnerUserInfoDO, shopIds);
|
||||||
@@ -298,7 +298,7 @@ public class ShopServiceImpl implements ShopService {
|
|||||||
}
|
}
|
||||||
shopInfoDAO.batchAddShop(addShopList);
|
shopInfoDAO.batchAddShop(addShopList);
|
||||||
List<Long> shopIds = addShopList.stream().map(ShopInfoDO::getId).collect(Collectors.toList());
|
List<Long> shopIds = addShopList.stream().map(ShopInfoDO::getId).collect(Collectors.toList());
|
||||||
shopStageInfoDAO.initShopStageInfo(lineInfo.getId(), shopIds, true);
|
shopStageInfoDAO.initShopStageInfo(lineInfo.getId(), addShopList, true);
|
||||||
return 1L;
|
return 1L;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -356,7 +356,7 @@ public class ShopServiceImpl implements ShopService {
|
|||||||
shopInfoDO.setCreateUserId(userId);
|
shopInfoDO.setCreateUserId(userId);
|
||||||
Long shopId = shopInfoDAO.addShopInfo(shopInfoDO);
|
Long shopId = shopInfoDAO.addShopInfo(shopInfoDO);
|
||||||
if (lineInfo.getWorkflowSubStageStatus().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_125.getCode())) {
|
if (lineInfo.getWorkflowSubStageStatus().equals(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_125.getCode())) {
|
||||||
shopStageInfoDAO.initShopStageInfo(request.getLineId(), Collections.singletonList(shopId), true);
|
shopStageInfoDAO.initShopStageInfo(request.getLineId(), Collections.singletonList(shopInfoDO), true);
|
||||||
HashMap<String, String> map = new HashMap<>();
|
HashMap<String, String> map = new HashMap<>();
|
||||||
map.put("partnerUsername", lineInfo.getUsername());
|
map.put("partnerUsername", lineInfo.getUsername());
|
||||||
map.put("partnerMobile", lineInfo.getMobile());
|
map.put("partnerMobile", lineInfo.getMobile());
|
||||||
@@ -381,7 +381,7 @@ public class ShopServiceImpl implements ShopService {
|
|||||||
MessageEnum.MESSAGE_21,
|
MessageEnum.MESSAGE_21,
|
||||||
map);
|
map);
|
||||||
} else {
|
} else {
|
||||||
shopStageInfoDAO.initShopStageInfo(request.getLineId(), Collections.singletonList(shopId), false);
|
shopStageInfoDAO.initShopStageInfo(request.getLineId(), Collections.singletonList(shopInfoDO), false);
|
||||||
}
|
}
|
||||||
//初始化平台账号
|
//初始化平台账号
|
||||||
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(lineInfo.getPartnerId());
|
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(lineInfo.getPartnerId());
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ import java.util.stream.Collectors;
|
|||||||
|
|
||||||
import static com.cool.store.enums.UserRoleEnum.*;
|
import static com.cool.store.enums.UserRoleEnum.*;
|
||||||
import static com.cool.store.enums.point.ShopSubStageStatusEnum.*;
|
import static com.cool.store.enums.point.ShopSubStageStatusEnum.*;
|
||||||
|
import static com.cool.store.utils.CommonUtil.convertToBig;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -554,11 +555,12 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (Objects.nonNull(franchiseFeeDO)) {
|
if (Objects.nonNull(franchiseFeeDO)) {
|
||||||
BigDecimal total = new BigDecimal(franchiseFeeDO.getYearFranchiseFee())
|
BigDecimal total = convertToBig(franchiseFeeDO.getYearFranchiseFee())
|
||||||
.add(new BigDecimal(franchiseFeeDO.getLoanMargin()))
|
.add(convertToBig(franchiseFeeDO.getLoanMargin()))
|
||||||
.add(new BigDecimal(franchiseFeeDO.getFirstYearFee()))
|
.add(convertToBig(franchiseFeeDO.getFirstYearFee()))
|
||||||
.add(new BigDecimal(franchiseFeeDO.getFirstYearManageFee()))
|
.add(convertToBig(franchiseFeeDO.getFirstYearManageFee()))
|
||||||
.add(new BigDecimal(franchiseFeeDO.getPerformanceBond()));
|
.add(convertToBig(franchiseFeeDO.getPerformanceBond()))
|
||||||
|
.add(convertToBig(franchiseFeeDO.getCashierFee()));
|
||||||
addSignFranchiseResponse.setContractAmount(total.toString());
|
addSignFranchiseResponse.setContractAmount(total.toString());
|
||||||
}
|
}
|
||||||
addSignFranchiseResponse.setMobile(lineInfoDO.getMobile());
|
addSignFranchiseResponse.setMobile(lineInfoDO.getMobile());
|
||||||
@@ -611,9 +613,9 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
|
|
||||||
if (Objects.nonNull(franchiseFeeDO)) {
|
if (Objects.nonNull(franchiseFeeDO)) {
|
||||||
addSignFranchiseResponse.setYearFranchiseFee(franchiseFeeDO.getYearFranchiseFee());
|
addSignFranchiseResponse.setYearFranchiseFee(franchiseFeeDO.getYearFranchiseFee());
|
||||||
addSignFranchiseResponse.setBigYearFranchiseFee(Convert.digitToChinese(new BigDecimal(franchiseFeeDO.getYearFranchiseFee())));
|
addSignFranchiseResponse.setBigYearFranchiseFee(Convert.digitToChinese(convertToBig(franchiseFeeDO.getYearFranchiseFee())));
|
||||||
addSignFranchiseResponse.setLoanMargin(franchiseFeeDO.getLoanMargin());
|
addSignFranchiseResponse.setLoanMargin(franchiseFeeDO.getLoanMargin());
|
||||||
addSignFranchiseResponse.setBigLoanMargin(Convert.digitToChinese(new BigDecimal(franchiseFeeDO.getLoanMargin())));
|
addSignFranchiseResponse.setBigLoanMargin(Convert.digitToChinese(convertToBig(franchiseFeeDO.getLoanMargin())));
|
||||||
addSignFranchiseResponse.setFirstYearStartTime(franchiseFeeDO.getFirstYearStartTime());
|
addSignFranchiseResponse.setFirstYearStartTime(franchiseFeeDO.getFirstYearStartTime());
|
||||||
addSignFranchiseResponse.setFirstYearEndTime(franchiseFeeDO.getFirstYearEndTime());
|
addSignFranchiseResponse.setFirstYearEndTime(franchiseFeeDO.getFirstYearEndTime());
|
||||||
addSignFranchiseResponse.setFirstYearFee(franchiseFeeDO.getFirstYearFee());
|
addSignFranchiseResponse.setFirstYearFee(franchiseFeeDO.getFirstYearFee());
|
||||||
@@ -625,7 +627,9 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
|
|||||||
addSignFranchiseResponse.setThirdYearEndTime(franchiseFeeDO.getThirdYearEndTime());
|
addSignFranchiseResponse.setThirdYearEndTime(franchiseFeeDO.getThirdYearEndTime());
|
||||||
addSignFranchiseResponse.setThirdYearFee(franchiseFeeDO.getThirdYearFee());
|
addSignFranchiseResponse.setThirdYearFee(franchiseFeeDO.getThirdYearFee());
|
||||||
addSignFranchiseResponse.setPerformanceBond(franchiseFeeDO.getPerformanceBond());
|
addSignFranchiseResponse.setPerformanceBond(franchiseFeeDO.getPerformanceBond());
|
||||||
addSignFranchiseResponse.setBigPerformanceBond(Convert.digitToChinese(new BigDecimal(franchiseFeeDO.getPerformanceBond())));
|
addSignFranchiseResponse.setBigPerformanceBond(Convert.digitToChinese(convertToBig(franchiseFeeDO.getPerformanceBond())));
|
||||||
|
addSignFranchiseResponse.setCashierFee(franchiseFeeDO.getCashierFee());
|
||||||
|
addSignFranchiseResponse.setBigCashierFee(Convert.digitToChinese(convertToBig(franchiseFeeDO.getCashierFee())));
|
||||||
}
|
}
|
||||||
return addSignFranchiseResponse;
|
return addSignFranchiseResponse;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,8 +23,10 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.net.SocketTimeoutException;
|
||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -68,6 +70,12 @@ public class XinFaDeviceService {
|
|||||||
|
|
||||||
private final Map<String, HuoMaAccountDTO> accountMap = new HashMap<>();
|
private final Map<String, HuoMaAccountDTO> accountMap = new HashMap<>();
|
||||||
|
|
||||||
|
private final OkHttpClient httpClient = new OkHttpClient.Builder()
|
||||||
|
.connectTimeout(10, TimeUnit.SECONDS)
|
||||||
|
.readTimeout(30, TimeUnit.SECONDS)
|
||||||
|
.writeTimeout(30, TimeUnit.SECONDS)
|
||||||
|
.build();
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
public void initAccountMap() {
|
public void initAccountMap() {
|
||||||
accountMap.put("restaurant", new HuoMaAccountDTO(huoMaRestaurantStoresAccount, huoMaRestaurantStoresPassword));
|
accountMap.put("restaurant", new HuoMaAccountDTO(huoMaRestaurantStoresAccount, huoMaRestaurantStoresPassword));
|
||||||
@@ -102,7 +110,7 @@ public class XinFaDeviceService {
|
|||||||
public List<StoreEquipmentDTO> getStoreEquipmentDataByStoreNumList(List<String> storeNumList, String token) {
|
public List<StoreEquipmentDTO> getStoreEquipmentDataByStoreNumList(List<String> storeNumList, String token) {
|
||||||
Map<String,List<String>> requestBody = new HashMap<>();
|
Map<String,List<String>> requestBody = new HashMap<>();
|
||||||
requestBody.put("codeList", storeNumList);
|
requestBody.put("codeList", storeNumList);
|
||||||
String responseBody = sendPostRequestByToken(JSONObject.toJSONString(requestBody), huoMaGetPointTerminalUrl,token);
|
String responseBody = sendPostRequestNoRetryByToken(JSONObject.toJSONString(requestBody), huoMaGetPointTerminalUrl,token);
|
||||||
try{
|
try{
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
JsonNode rootNode = mapper.readTree(responseBody);
|
JsonNode rootNode = mapper.readTree(responseBody);
|
||||||
@@ -127,7 +135,7 @@ public class XinFaDeviceService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
StoreRequestDTO requestBody = new StoreRequestDTO("point_report", 0, 10, storeNum);
|
StoreRequestDTO requestBody = new StoreRequestDTO("point_report", 0, 10, storeNum);
|
||||||
String responseBody = sendPostRequestByToken(JSONObject.toJSONString(requestBody), huoMaGetStoreIdUrl,token);
|
String responseBody = sendPostRequestNoRetryByToken(JSONObject.toJSONString(requestBody), huoMaGetStoreIdUrl,token);
|
||||||
try{
|
try{
|
||||||
Integer storeId = extractIdsFromResponse(responseBody);
|
Integer storeId = extractIdsFromResponse(responseBody);
|
||||||
redisUtilPool.hashSet(RedisConstant.HUO_MA_STORE_ID, storeNum, storeId.toString());
|
redisUtilPool.hashSet(RedisConstant.HUO_MA_STORE_ID, storeNum, storeId.toString());
|
||||||
@@ -186,7 +194,7 @@ public class XinFaDeviceService {
|
|||||||
TagDTO tagDTO = new TagDTO("DEFAULT", 0, 30,"program");
|
TagDTO tagDTO = new TagDTO("DEFAULT", 0, 30,"program");
|
||||||
String responseBody = null;
|
String responseBody = null;
|
||||||
try{
|
try{
|
||||||
responseBody = sendPostRequestByToken(JSONObject.toJSONString(tagDTO), huoMaGetTagUrl,token);
|
responseBody = sendPostRequestNoRetryByToken(JSONObject.toJSONString(tagDTO), huoMaGetTagUrl,token);
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
JsonNode rootNode = mapper.readTree(responseBody);
|
JsonNode rootNode = mapper.readTree(responseBody);
|
||||||
|
|
||||||
@@ -238,7 +246,7 @@ public class XinFaDeviceService {
|
|||||||
String token = getStoreToken(huoMaAccountDTO.getAccount(), huoMaAccountDTO.getPassword());
|
String token = getStoreToken(huoMaAccountDTO.getAccount(), huoMaAccountDTO.getPassword());
|
||||||
String responseBody = null;
|
String responseBody = null;
|
||||||
try{
|
try{
|
||||||
responseBody = sendPostRequestByToken(JSONObject.toJSONString(programReqDTO), huoMaGetProgramUrl,token);
|
responseBody = sendPostRequestNoRetryByToken(JSONObject.toJSONString(programReqDTO), huoMaGetProgramUrl,token);
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
JsonNode rootNode = mapper.readTree(responseBody);
|
JsonNode rootNode = mapper.readTree(responseBody);
|
||||||
|
|
||||||
@@ -270,7 +278,7 @@ public class XinFaDeviceService {
|
|||||||
String token = getStoreToken(huoMaAccountDTO.getAccount(), huoMaAccountDTO.getPassword());
|
String token = getStoreToken(huoMaAccountDTO.getAccount(), huoMaAccountDTO.getPassword());
|
||||||
String responseBody = null;
|
String responseBody = null;
|
||||||
try{
|
try{
|
||||||
responseBody = sendPostRequestByToken(JSONObject.toJSONString(publishDTO), huoMaGetPublishUrl,token);
|
responseBody = sendPostRequestNoRetryByToken(JSONObject.toJSONString(publishDTO), huoMaGetPublishUrl,token);
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
JsonNode rootNode = mapper.readTree(responseBody);
|
JsonNode rootNode = mapper.readTree(responseBody);
|
||||||
int code = rootNode.get("code").asInt();
|
int code = rootNode.get("code").asInt();
|
||||||
@@ -294,7 +302,7 @@ public class XinFaDeviceService {
|
|||||||
StoreXinFaDetailRequestDTO storeXinFaDetailRequestDTO = new StoreXinFaDetailRequestDTO(0, 10, pointId);
|
StoreXinFaDetailRequestDTO storeXinFaDetailRequestDTO = new StoreXinFaDetailRequestDTO(0, 10, pointId);
|
||||||
String responseBody = null;
|
String responseBody = null;
|
||||||
try{
|
try{
|
||||||
responseBody = sendPostRequestByToken(JSONObject.toJSONString(storeXinFaDetailRequestDTO), huoMaGetStoreXinFaDeviceDetailUrl,token);
|
responseBody = sendPostRequestNoRetryByToken(JSONObject.toJSONString(storeXinFaDetailRequestDTO), huoMaGetStoreXinFaDeviceDetailUrl,token);
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
JsonNode rootNode = mapper.readTree(responseBody);
|
JsonNode rootNode = mapper.readTree(responseBody);
|
||||||
|
|
||||||
@@ -502,8 +510,8 @@ public class XinFaDeviceService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private static String sendPost(String requestUrl, Request request) {
|
private String sendPost(String requestUrl, Request request) {
|
||||||
try (Response response = new OkHttpClient().newCall(request).execute()) {
|
try (Response response = httpClient.newCall(request).execute()) {
|
||||||
log.info("发起请求 time:{}", System.currentTimeMillis());
|
log.info("发起请求 time:{}", System.currentTimeMillis());
|
||||||
if (!response.isSuccessful()) {
|
if (!response.isSuccessful()) {
|
||||||
log.info("HTTP请求失败,msg: " + response.message());
|
log.info("HTTP请求失败,msg: " + response.message());
|
||||||
@@ -513,6 +521,9 @@ public class XinFaDeviceService {
|
|||||||
String responseBody = response.body().string();
|
String responseBody = response.body().string();
|
||||||
log.info("请求成功responseBody:{}", JSONObject.toJSONString(responseBody));
|
log.info("请求成功responseBody:{}", JSONObject.toJSONString(responseBody));
|
||||||
return responseBody;
|
return responseBody;
|
||||||
|
} catch (SocketTimeoutException e) {
|
||||||
|
log.error("API调用超时 - URL: {}, 错误: {}", requestUrl, e.getMessage(), e);
|
||||||
|
throw new ServiceException(ErrorCodeEnum.THIRD_API_ERROR, "接口调用超时: " + e.getMessage());
|
||||||
} catch (ServiceException e) {
|
} catch (ServiceException e) {
|
||||||
throw e;
|
throw e;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ import com.cool.store.job.XxlJobHandler;
|
|||||||
import com.cool.store.mapper.HyOpenAreaInfoMapper;
|
import com.cool.store.mapper.HyOpenAreaInfoMapper;
|
||||||
import com.cool.store.request.ShopListSuccessOpenRequest;
|
import com.cool.store.request.ShopListSuccessOpenRequest;
|
||||||
import com.cool.store.request.xfsgFirstOrderListRequest;
|
import com.cool.store.request.xfsgFirstOrderListRequest;
|
||||||
|
import com.cool.store.request.xgj.FranchiseFeeCallBackRequest;
|
||||||
|
import com.cool.store.request.xgj.ReceiptCallBackRequest;
|
||||||
import com.cool.store.response.MiniShopsResponse;
|
import com.cool.store.response.MiniShopsResponse;
|
||||||
import com.cool.store.response.ResponseResult;
|
import com.cool.store.response.ResponseResult;
|
||||||
import com.cool.store.response.caipin.StoreUserResponse;
|
import com.cool.store.response.caipin.StoreUserResponse;
|
||||||
@@ -39,6 +41,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalTime;
|
import java.time.LocalTime;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
@@ -85,6 +88,27 @@ public class TestController {
|
|||||||
ThirdFoodService thirdFoodService;
|
ThirdFoodService thirdFoodService;
|
||||||
@Autowired
|
@Autowired
|
||||||
StoreService storeService;
|
StoreService storeService;
|
||||||
|
@Resource
|
||||||
|
LinePayDAO linePayDAO;
|
||||||
|
@Resource
|
||||||
|
OpenApiService openApiService;
|
||||||
|
|
||||||
|
@PostMapping("/testXgjCallback")
|
||||||
|
public ResponseResult<Boolean> testXgjCallback(Long linePayId) {
|
||||||
|
LinePayDO linePayDO = linePayDAO.getById(linePayId);
|
||||||
|
ReceiptCallBackRequest receiptRequest = new ReceiptCallBackRequest();
|
||||||
|
receiptRequest.setReceiptId(linePayDO.getPaymentReceiptCode());
|
||||||
|
receiptRequest.setClaimStatus(1);
|
||||||
|
openApiService.changeReceiptStatus(receiptRequest);
|
||||||
|
FranchiseFeeCallBackRequest franchiseRequest = new FranchiseFeeCallBackRequest();
|
||||||
|
franchiseRequest.setShopId(linePayDO.getShopId());
|
||||||
|
franchiseRequest.setPayableFee(linePayDO.getAmount());
|
||||||
|
franchiseRequest.setPaidFees(linePayDO.getAmount());
|
||||||
|
franchiseRequest.setRemainingFee(BigDecimal.ZERO);
|
||||||
|
franchiseRequest.setPaymentStatus(2);
|
||||||
|
openApiService.changePaymentStatus(franchiseRequest);
|
||||||
|
return ResponseResult.success(true);
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/getFirstOrders")
|
@PostMapping("/getFirstOrders")
|
||||||
public ResponseResult<xfsgFirstOderListResponse> getFirstOrders(@RequestBody xfsgFirstOrderListRequest storeCodeList) {
|
public ResponseResult<xfsgFirstOderListResponse> getFirstOrders(@RequestBody xfsgFirstOrderListRequest storeCodeList) {
|
||||||
|
|||||||
@@ -150,12 +150,13 @@ huoMa.get.point.terminal.url = https://www.huoMayunping.com/api/terminal/getPoin
|
|||||||
huoMa.get.tag.url = https://www.huomayunping.com/api/tag/search
|
huoMa.get.tag.url = https://www.huomayunping.com/api/tag/search
|
||||||
huoMa.get.program.url = https://www.huomayunping.com/api/program/search
|
huoMa.get.program.url = https://www.huomayunping.com/api/program/search
|
||||||
huoMa.get.publish.url = https://www.huomayunping.com/api/channelPublish/target/v2/quick-publish
|
huoMa.get.publish.url = https://www.huomayunping.com/api/channelPublish/target/v2/quick-publish
|
||||||
huoMa.direct.stores.account = 15370309163
|
huoMa.direct.stores.account = 18375320931
|
||||||
huoMa.direct.stores.password = Zx@123456.
|
huoMa.direct.stores.password = Huoma@123456.
|
||||||
huoMa.franchise.stores.account = 13563273279
|
huoMa.franchise.stores.account = 13345565081
|
||||||
huoMa.franchise.stores.password = Zx@123456.
|
huoMa.franchise.stores.password = Huoma@123456.
|
||||||
huoMa.restaurant.stores.account = 18656552865
|
huoMa.restaurant.stores.account = 15167817007
|
||||||
huoMa.restaurant.stores.password = ZX123456
|
huoMa.restaurant.stores.password = Huoma@123456.
|
||||||
|
|
||||||
|
|
||||||
cool.api.rsa.private.key=MIIEpQIBAAKCAQEA0erPAWesjkp9J4htmfCyqKS9npmT9dW3KqWTfb4c7x/QBUtKuokWOO0XikHd4bGUa9kl+twSv/5A3kYz1B9eg6wRuDJoads+G5U7rVQjzdoUtLaf3lNXkuSehl4uHUPQfNa6vcmvzraXPxJjEpYzj9WZh7uJqq2oSgw42H1qdbFCXSaE5BwsOb+2vZXjzh4RO10Sy3Qb1UqGsoZoxVzrtDeEctCjrecFyQr96L2UtYa4NTxSTfu4rgObrwIOMvqqnLsXEzK/rd6kIHYjkZYQCOa48AedWp2YKQ7Ldclj+VMLnXvl42J9exVkbs++8k3P5sI9fdZX4Ey2RBjnSoAo/QIDAQABAoIBACbBGi8I+CE77M+13wAu4RkD8xL7CQc3ic2ojGqIRPi7r5CuphD6mpzvXqtyfhd7DKr9h8bAxwBlnQ28ObjVgsI96/aM7dxvMs/uVPpqwIJyWuTDG5A05EPVC9REQnC6Mp09mnPL7rZz3Mfy6dIGY2YQWfwmWiPl1B45k+wZ+WPZPI0JVnvRzM881kf4aAhEAt08i9VoihylwVAjWIPmLuhf6ZcqI5q8iUsjfO22wZJsudVTCA/dsJdNxv+1RDKeYnSLJL79cZQcodqEhFqTy6vnn2dMsaHH7dpphU27barxUjeL482SR7kFfMqEXn5sltRn/3ep+3sf4Ph2vMtoZeECgYEA6gXzEtT9ZOeAMp4BRGmfNZ0TQLprPPVSwudz/uUBE4j/vyhfXkh9p7hqwyoxN+Z8b65yINvx8yP6hge6ek/MyAwBCZyfIRxZAPZu1eEGoYKl391ubFt2EIVqrN2DtAvzHMr5B/E2VHBq6AJm/rERFX5oKsg6zHS9tPLhgGnWVd0CgYEA5aFWOrtiqZJlp1MHQ4OeWBJatBSynkORdxCW7ic0CKbkYus0NSz1SsvskpbnfEXNB53x98qJxRhSopg/DC4m7XqxjSf9lY3HH4Y/9907olj33yGAnLWC88GivVndt577u/XhYRCk33vOQ3GoibEdjnpMOkWmOfwYG/FsRWWQvaECgYEA1N2siEisZIgel+wZAv2AD+hchtgKi1wqd5bIb+Yl4HsRBfPXK4+MnG6mzfcm5c4FCiEHNtRZc+waCKgm+vJzNtOUbgXEyP1cCAAgOPOCcI7CCqsDshRPhB+XNL4Y+kCUVnBZrNu/q3bGB1uIC8tL2t0sKx4OPcNCe8EhVQjwKRECgYEA4uothdhKRPtwDIsVsHfN74Yjr7SMVay7gIcaPrjqyGnzYnS+oJWOx50AaFNK6Rko5JAF3jF9NxE0B4yfMPAic6Y88hpEkpcJ4HMPn2Y1WdbFCu/WYgVUJICCys6VNLCcXj85umtyIY38Y9VbEMW/SV49GZBeFQqy4FoP/fvBrkECgYEAnfjTDYwgdmJdsUqyNzAocwcJXG2rVtYc7Txrl0TltcwuJmgoSywdzyOP2R9+NZsfoxWDzG0/yr15ApMvUcnnTwHN/8bGQ9SLatFLKqS4EtdwDKKS1JvNbs7V1myQGpt7jbShZOI0e6Fs4xP8ujxsLeGgiq9mZrS9UdRj5XKDoVM=
|
cool.api.rsa.private.key=MIIEpQIBAAKCAQEA0erPAWesjkp9J4htmfCyqKS9npmT9dW3KqWTfb4c7x/QBUtKuokWOO0XikHd4bGUa9kl+twSv/5A3kYz1B9eg6wRuDJoads+G5U7rVQjzdoUtLaf3lNXkuSehl4uHUPQfNa6vcmvzraXPxJjEpYzj9WZh7uJqq2oSgw42H1qdbFCXSaE5BwsOb+2vZXjzh4RO10Sy3Qb1UqGsoZoxVzrtDeEctCjrecFyQr96L2UtYa4NTxSTfu4rgObrwIOMvqqnLsXEzK/rd6kIHYjkZYQCOa48AedWp2YKQ7Ldclj+VMLnXvl42J9exVkbs++8k3P5sI9fdZX4Ey2RBjnSoAo/QIDAQABAoIBACbBGi8I+CE77M+13wAu4RkD8xL7CQc3ic2ojGqIRPi7r5CuphD6mpzvXqtyfhd7DKr9h8bAxwBlnQ28ObjVgsI96/aM7dxvMs/uVPpqwIJyWuTDG5A05EPVC9REQnC6Mp09mnPL7rZz3Mfy6dIGY2YQWfwmWiPl1B45k+wZ+WPZPI0JVnvRzM881kf4aAhEAt08i9VoihylwVAjWIPmLuhf6ZcqI5q8iUsjfO22wZJsudVTCA/dsJdNxv+1RDKeYnSLJL79cZQcodqEhFqTy6vnn2dMsaHH7dpphU27barxUjeL482SR7kFfMqEXn5sltRn/3ep+3sf4Ph2vMtoZeECgYEA6gXzEtT9ZOeAMp4BRGmfNZ0TQLprPPVSwudz/uUBE4j/vyhfXkh9p7hqwyoxN+Z8b65yINvx8yP6hge6ek/MyAwBCZyfIRxZAPZu1eEGoYKl391ubFt2EIVqrN2DtAvzHMr5B/E2VHBq6AJm/rERFX5oKsg6zHS9tPLhgGnWVd0CgYEA5aFWOrtiqZJlp1MHQ4OeWBJatBSynkORdxCW7ic0CKbkYus0NSz1SsvskpbnfEXNB53x98qJxRhSopg/DC4m7XqxjSf9lY3HH4Y/9907olj33yGAnLWC88GivVndt577u/XhYRCk33vOQ3GoibEdjnpMOkWmOfwYG/FsRWWQvaECgYEA1N2siEisZIgel+wZAv2AD+hchtgKi1wqd5bIb+Yl4HsRBfPXK4+MnG6mzfcm5c4FCiEHNtRZc+waCKgm+vJzNtOUbgXEyP1cCAAgOPOCcI7CCqsDshRPhB+XNL4Y+kCUVnBZrNu/q3bGB1uIC8tL2t0sKx4OPcNCe8EhVQjwKRECgYEA4uothdhKRPtwDIsVsHfN74Yjr7SMVay7gIcaPrjqyGnzYnS+oJWOx50AaFNK6Rko5JAF3jF9NxE0B4yfMPAic6Y88hpEkpcJ4HMPn2Y1WdbFCu/WYgVUJICCys6VNLCcXj85umtyIY38Y9VbEMW/SV49GZBeFQqy4FoP/fvBrkECgYEAnfjTDYwgdmJdsUqyNzAocwcJXG2rVtYc7Txrl0TltcwuJmgoSywdzyOP2R9+NZsfoxWDzG0/yr15ApMvUcnnTwHN/8bGQ9SLatFLKqS4EtdwDKKS1JvNbs7V1myQGpt7jbShZOI0e6Fs4xP8ujxsLeGgiq9mZrS9UdRj5XKDoVM=
|
||||||
cool.api.rsa.public.key=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0erPAWesjkp9J4htmfCyqKS9npmT9dW3KqWTfb4c7x/QBUtKuokWOO0XikHd4bGUa9kl+twSv/5A3kYz1B9eg6wRuDJoads+G5U7rVQjzdoUtLaf3lNXkuSehl4uHUPQfNa6vcmvzraXPxJjEpYzj9WZh7uJqq2oSgw42H1qdbFCXSaE5BwsOb+2vZXjzh4RO10Sy3Qb1UqGsoZoxVzrtDeEctCjrecFyQr96L2UtYa4NTxSTfu4rgObrwIOMvqqnLsXEzK/rd6kIHYjkZYQCOa48AedWp2YKQ7Ldclj+VMLnXvl42J9exVkbs++8k3P5sI9fdZX4Ey2RBjnSoAo/QIDAQAB
|
cool.api.rsa.public.key=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0erPAWesjkp9J4htmfCyqKS9npmT9dW3KqWTfb4c7x/QBUtKuokWOO0XikHd4bGUa9kl+twSv/5A3kYz1B9eg6wRuDJoads+G5U7rVQjzdoUtLaf3lNXkuSehl4uHUPQfNa6vcmvzraXPxJjEpYzj9WZh7uJqq2oSgw42H1qdbFCXSaE5BwsOb+2vZXjzh4RO10Sy3Qb1UqGsoZoxVzrtDeEctCjrecFyQr96L2UtYa4NTxSTfu4rgObrwIOMvqqnLsXEzK/rd6kIHYjkZYQCOa48AedWp2YKQ7Ldclj+VMLnXvl42J9exVkbs++8k3P5sI9fdZX4Ey2RBjnSoAo/QIDAQAB
|
||||||
|
|||||||
@@ -153,9 +153,9 @@ huoMa.get.point.terminal.url = https://www.huoMayunping.com/api/terminal/getPoin
|
|||||||
huoMa.get.tag.url = https://www.huomayunping.com/api/tag/search
|
huoMa.get.tag.url = https://www.huomayunping.com/api/tag/search
|
||||||
huoMa.get.program.url = https://www.huomayunping.com/api/program/search
|
huoMa.get.program.url = https://www.huomayunping.com/api/program/search
|
||||||
huoMa.get.publish.url = https://www.huomayunping.com/api/channelPublish/target/v2/quick-publish
|
huoMa.get.publish.url = https://www.huomayunping.com/api/channelPublish/target/v2/quick-publish
|
||||||
huoMa.direct.stores.account = 15370309163
|
huoMa.direct.stores.account = 18375320931
|
||||||
huoMa.direct.stores.password = Zx@123456.
|
huoMa.direct.stores.password = Huoma@123456.
|
||||||
huoMa.franchise.stores.account = 13563273279
|
huoMa.franchise.stores.account = 13345565081
|
||||||
huoMa.franchise.stores.password = Zx@123456.
|
huoMa.franchise.stores.password = Huoma@123456.
|
||||||
huoMa.restaurant.stores.account = 18656552865
|
huoMa.restaurant.stores.account = 15167817007
|
||||||
huoMa.restaurant.stores.password = ZX123456
|
huoMa.restaurant.stores.password = Huoma@123456.
|
||||||
@@ -163,12 +163,12 @@ huoMa.get.point.terminal.url = https://www.huoMayunping.com/api/terminal/getPoin
|
|||||||
huoMa.get.tag.url = https://www.huomayunping.com/api/tag/search
|
huoMa.get.tag.url = https://www.huomayunping.com/api/tag/search
|
||||||
huoMa.get.program.url = https://www.huomayunping.com/api/program/search
|
huoMa.get.program.url = https://www.huomayunping.com/api/program/search
|
||||||
huoMa.get.publish.url = https://www.huomayunping.com/api/channelPublish/target/v2/quick-publish
|
huoMa.get.publish.url = https://www.huomayunping.com/api/channelPublish/target/v2/quick-publish
|
||||||
huoMa.direct.stores.account = 15370309163
|
huoMa.direct.stores.account = 18375320931
|
||||||
huoMa.direct.stores.password = Zx@123456.
|
huoMa.direct.stores.password = Huoma@123456.
|
||||||
huoMa.franchise.stores.account = 13563273279
|
huoMa.franchise.stores.account = 13345565081
|
||||||
huoMa.franchise.stores.password = Zx@123456.
|
huoMa.franchise.stores.password = Huoma@123456.
|
||||||
huoMa.restaurant.stores.account = 18656552865
|
huoMa.restaurant.stores.account = 15167817007
|
||||||
huoMa.restaurant.stores.password = ZX123456
|
huoMa.restaurant.stores.password = Huoma@123456.
|
||||||
|
|
||||||
|
|
||||||
cool.api.rsa.private.key=MIIEpQIBAAKCAQEA0erPAWesjkp9J4htmfCyqKS9npmT9dW3KqWTfb4c7x/QBUtKuokWOO0XikHd4bGUa9kl+twSv/5A3kYz1B9eg6wRuDJoads+G5U7rVQjzdoUtLaf3lNXkuSehl4uHUPQfNa6vcmvzraXPxJjEpYzj9WZh7uJqq2oSgw42H1qdbFCXSaE5BwsOb+2vZXjzh4RO10Sy3Qb1UqGsoZoxVzrtDeEctCjrecFyQr96L2UtYa4NTxSTfu4rgObrwIOMvqqnLsXEzK/rd6kIHYjkZYQCOa48AedWp2YKQ7Ldclj+VMLnXvl42J9exVkbs++8k3P5sI9fdZX4Ey2RBjnSoAo/QIDAQABAoIBACbBGi8I+CE77M+13wAu4RkD8xL7CQc3ic2ojGqIRPi7r5CuphD6mpzvXqtyfhd7DKr9h8bAxwBlnQ28ObjVgsI96/aM7dxvMs/uVPpqwIJyWuTDG5A05EPVC9REQnC6Mp09mnPL7rZz3Mfy6dIGY2YQWfwmWiPl1B45k+wZ+WPZPI0JVnvRzM881kf4aAhEAt08i9VoihylwVAjWIPmLuhf6ZcqI5q8iUsjfO22wZJsudVTCA/dsJdNxv+1RDKeYnSLJL79cZQcodqEhFqTy6vnn2dMsaHH7dpphU27barxUjeL482SR7kFfMqEXn5sltRn/3ep+3sf4Ph2vMtoZeECgYEA6gXzEtT9ZOeAMp4BRGmfNZ0TQLprPPVSwudz/uUBE4j/vyhfXkh9p7hqwyoxN+Z8b65yINvx8yP6hge6ek/MyAwBCZyfIRxZAPZu1eEGoYKl391ubFt2EIVqrN2DtAvzHMr5B/E2VHBq6AJm/rERFX5oKsg6zHS9tPLhgGnWVd0CgYEA5aFWOrtiqZJlp1MHQ4OeWBJatBSynkORdxCW7ic0CKbkYus0NSz1SsvskpbnfEXNB53x98qJxRhSopg/DC4m7XqxjSf9lY3HH4Y/9907olj33yGAnLWC88GivVndt577u/XhYRCk33vOQ3GoibEdjnpMOkWmOfwYG/FsRWWQvaECgYEA1N2siEisZIgel+wZAv2AD+hchtgKi1wqd5bIb+Yl4HsRBfPXK4+MnG6mzfcm5c4FCiEHNtRZc+waCKgm+vJzNtOUbgXEyP1cCAAgOPOCcI7CCqsDshRPhB+XNL4Y+kCUVnBZrNu/q3bGB1uIC8tL2t0sKx4OPcNCe8EhVQjwKRECgYEA4uothdhKRPtwDIsVsHfN74Yjr7SMVay7gIcaPrjqyGnzYnS+oJWOx50AaFNK6Rko5JAF3jF9NxE0B4yfMPAic6Y88hpEkpcJ4HMPn2Y1WdbFCu/WYgVUJICCys6VNLCcXj85umtyIY38Y9VbEMW/SV49GZBeFQqy4FoP/fvBrkECgYEAnfjTDYwgdmJdsUqyNzAocwcJXG2rVtYc7Txrl0TltcwuJmgoSywdzyOP2R9+NZsfoxWDzG0/yr15ApMvUcnnTwHN/8bGQ9SLatFLKqS4EtdwDKKS1JvNbs7V1myQGpt7jbShZOI0e6Fs4xP8ujxsLeGgiq9mZrS9UdRj5XKDoVM=
|
cool.api.rsa.private.key=MIIEpQIBAAKCAQEA0erPAWesjkp9J4htmfCyqKS9npmT9dW3KqWTfb4c7x/QBUtKuokWOO0XikHd4bGUa9kl+twSv/5A3kYz1B9eg6wRuDJoads+G5U7rVQjzdoUtLaf3lNXkuSehl4uHUPQfNa6vcmvzraXPxJjEpYzj9WZh7uJqq2oSgw42H1qdbFCXSaE5BwsOb+2vZXjzh4RO10Sy3Qb1UqGsoZoxVzrtDeEctCjrecFyQr96L2UtYa4NTxSTfu4rgObrwIOMvqqnLsXEzK/rd6kIHYjkZYQCOa48AedWp2YKQ7Ldclj+VMLnXvl42J9exVkbs++8k3P5sI9fdZX4Ey2RBjnSoAo/QIDAQABAoIBACbBGi8I+CE77M+13wAu4RkD8xL7CQc3ic2ojGqIRPi7r5CuphD6mpzvXqtyfhd7DKr9h8bAxwBlnQ28ObjVgsI96/aM7dxvMs/uVPpqwIJyWuTDG5A05EPVC9REQnC6Mp09mnPL7rZz3Mfy6dIGY2YQWfwmWiPl1B45k+wZ+WPZPI0JVnvRzM881kf4aAhEAt08i9VoihylwVAjWIPmLuhf6ZcqI5q8iUsjfO22wZJsudVTCA/dsJdNxv+1RDKeYnSLJL79cZQcodqEhFqTy6vnn2dMsaHH7dpphU27barxUjeL482SR7kFfMqEXn5sltRn/3ep+3sf4Ph2vMtoZeECgYEA6gXzEtT9ZOeAMp4BRGmfNZ0TQLprPPVSwudz/uUBE4j/vyhfXkh9p7hqwyoxN+Z8b65yINvx8yP6hge6ek/MyAwBCZyfIRxZAPZu1eEGoYKl391ubFt2EIVqrN2DtAvzHMr5B/E2VHBq6AJm/rERFX5oKsg6zHS9tPLhgGnWVd0CgYEA5aFWOrtiqZJlp1MHQ4OeWBJatBSynkORdxCW7ic0CKbkYus0NSz1SsvskpbnfEXNB53x98qJxRhSopg/DC4m7XqxjSf9lY3HH4Y/9907olj33yGAnLWC88GivVndt577u/XhYRCk33vOQ3GoibEdjnpMOkWmOfwYG/FsRWWQvaECgYEA1N2siEisZIgel+wZAv2AD+hchtgKi1wqd5bIb+Yl4HsRBfPXK4+MnG6mzfcm5c4FCiEHNtRZc+waCKgm+vJzNtOUbgXEyP1cCAAgOPOCcI7CCqsDshRPhB+XNL4Y+kCUVnBZrNu/q3bGB1uIC8tL2t0sKx4OPcNCe8EhVQjwKRECgYEA4uothdhKRPtwDIsVsHfN74Yjr7SMVay7gIcaPrjqyGnzYnS+oJWOx50AaFNK6Rko5JAF3jF9NxE0B4yfMPAic6Y88hpEkpcJ4HMPn2Y1WdbFCu/WYgVUJICCys6VNLCcXj85umtyIY38Y9VbEMW/SV49GZBeFQqy4FoP/fvBrkECgYEAnfjTDYwgdmJdsUqyNzAocwcJXG2rVtYc7Txrl0TltcwuJmgoSywdzyOP2R9+NZsfoxWDzG0/yr15ApMvUcnnTwHN/8bGQ9SLatFLKqS4EtdwDKKS1JvNbs7V1myQGpt7jbShZOI0e6Fs4xP8ujxsLeGgiq9mZrS9UdRj5XKDoVM=
|
||||||
|
|||||||
Reference in New Issue
Block a user