添加拼团分账订单
This commit is contained in:
parent
b3346765e4
commit
e1cfa8e6bb
@ -116,6 +116,4 @@ public class WebsiteController {
|
||||
return websiteService.getDevelopmentCourse();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -46,6 +46,11 @@ public class EasyLearnOrderDetail extends BaseEntity implements Serializable {
|
||||
*/
|
||||
private String outOrderNo;
|
||||
|
||||
/**
|
||||
* 外部订单号
|
||||
*/
|
||||
private String transactionId;
|
||||
|
||||
/**
|
||||
* 期号
|
||||
*/
|
||||
|
||||
@ -61,7 +61,7 @@ mybatis-flex:
|
||||
username: root
|
||||
password: Customer0401
|
||||
jambox:
|
||||
url: jdbc:mysql://sh-cynosdbmysql-grp-fggo83js.sql.tencentcdb.com:20965/jambox_association?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
|
||||
url: jdbc:mysql://sh-cynosdbmysql-grp-fggo83js.sql.tencentcdb.com:20965/jambox_association?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||
username: root
|
||||
password: Customer0401
|
||||
|
||||
|
||||
@ -4,7 +4,13 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cpop.api.cloudDb.core.constant.CloudDbUrl;
|
||||
import com.cpop.core.utils.SpringUtils;
|
||||
import com.cpop.jambox.business.entity.BrandExtend;
|
||||
import com.cpop.jambox.business.entity.StoreExtend;
|
||||
import com.cpop.jambox.business.service.BrandExtendService;
|
||||
import com.cpop.jambox.business.service.StoreExtendService;
|
||||
import com.cpop.pay.framewok.handler.wxPay.WxPayHandler;
|
||||
import com.cpop.system.business.entity.Store;
|
||||
import com.cpop.system.business.service.StoreService;
|
||||
import com.github.binarywang.wxpay.bean.result.WxPayOrderQueryResult;
|
||||
import com.github.binarywang.wxpay.exception.WxPayException;
|
||||
import com.github.binarywang.wxpay.service.WxPayService;
|
||||
@ -20,6 +26,9 @@ import org.springframework.web.client.RestTemplate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static com.cpop.jambox.business.entity.table.BrandExtendTableDef.BRAND_EXTEND;
|
||||
import static com.cpop.jambox.business.entity.table.StoreExtendTableDef.STORE_EXTEND;
|
||||
|
||||
/**
|
||||
* @author DB
|
||||
* @version 1.0.0
|
||||
@ -90,4 +99,31 @@ public class CpopEasyLearnDataAnalyseTest{
|
||||
DataSourceKey.clear();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取子商户
|
||||
*
|
||||
* @author DB
|
||||
* @since 2024/05/27
|
||||
*/
|
||||
@Test
|
||||
public void getSubMchId() {
|
||||
//获取校区
|
||||
StoreExtend storeExtend = SpringUtils.getBean(StoreExtendService.class).queryChain().where(STORE_EXTEND.STORE_CLOUD_ID.eq("9e70c665649a9da70345cbe523284250")).one();
|
||||
//获取品牌
|
||||
BrandExtend brandExtend;
|
||||
String brandId = null;
|
||||
String storeId = null;
|
||||
if (storeExtend == null) {
|
||||
brandExtend = SpringUtils.getBean(BrandExtendService.class).queryChain().where(BRAND_EXTEND.BRAND_CLOUD_ID.eq("9e70c665649a9da70345cbe523284250")).one();
|
||||
brandId = brandExtend.getBrandId();
|
||||
} else {
|
||||
//获取品牌
|
||||
Store store = SpringUtils.getBean(StoreService.class).getById(storeExtend.getStoreId());
|
||||
brandId = store.getBrandId();
|
||||
storeId = storeExtend.getStoreId();
|
||||
}
|
||||
String subMchId = wxPayHandler.getSubMchId(brandId, storeId);
|
||||
System.out.println(subMchId);
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,6 +16,7 @@ import com.cpop.jambox.business.service.StoreExtendService;
|
||||
import com.cpop.jambox.framework.constant.JamboxCloudUrl;
|
||||
import com.cpop.pay.framewok.config.wxPay.WxPayProperties;
|
||||
import com.cpop.pay.framewok.handler.wxPay.WxPayHandler;
|
||||
import com.cpop.pay.framewok.handler.wxPay.WxPayNormalHandler;
|
||||
import com.github.binarywang.wxpay.bean.payscore.*;
|
||||
import com.github.binarywang.wxpay.bean.profitsharing.request.ProfitSharingBillV3Request;
|
||||
import com.github.binarywang.wxpay.bean.profitsharing.request.ProfitSharingReceiverRequest;
|
||||
@ -328,8 +329,8 @@ public class CpopEasyLearnTest {
|
||||
|
||||
@Test
|
||||
public void queryOrder() throws WxPayException {
|
||||
WxPayService wxPayService = wxPayHandler.getWxPayService(null, "1666928264");
|
||||
WxPayOrderQueryResult wxPayOrderQueryResult = wxPayService.queryOrder("4200002130202402224927801847",null);
|
||||
WxPayService wxPayService = wxPayHandler.getWxPayService(null, wxPayHandler.getSubMchId("97561677443530752", "97571696801128452"));
|
||||
WxPayOrderQueryResult wxPayOrderQueryResult = wxPayService.queryOrder("4200002186202405135556568382",null);
|
||||
System.out.println(JSONObject.toJSONString(wxPayOrderQueryResult));
|
||||
|
||||
}
|
||||
|
||||
@ -6,7 +6,9 @@ import com.cpop.common.utils.StringUtils;
|
||||
import com.cpop.core.base.enums.OrderSource;
|
||||
import com.cpop.core.utils.SpringUtils;
|
||||
import com.cpop.jambox.business.entity.*;
|
||||
import com.cpop.jambox.business.mapper.EasyLearnOrderDetailMapper;
|
||||
import com.cpop.jambox.business.service.*;
|
||||
import com.cpop.jambox.framework.constant.JamboxCloudUrl;
|
||||
import com.cpop.pay.framewok.handler.wxPay.WxPayHandler;
|
||||
import com.cpop.system.business.entity.Store;
|
||||
import com.cpop.system.business.entity.WxPayScore;
|
||||
@ -16,22 +18,27 @@ import com.cpop.system.business.service.WxPayScoreDetailService;
|
||||
import com.cpop.system.business.service.WxPayScoreService;
|
||||
import com.github.binarywang.wxpay.bean.payscore.PartnerUserSignPlanEntity;
|
||||
import com.github.binarywang.wxpay.bean.payscore.PayScorePlanDetailResult;
|
||||
import com.github.binarywang.wxpay.bean.payscore.WxPartnerPayScoreResult;
|
||||
import com.github.binarywang.wxpay.bean.payscore.WxPartnerPayScoreSignPlanResult;
|
||||
import com.github.binarywang.wxpay.bean.profitsharing.result.ProfitSharingV3Result;
|
||||
import com.github.binarywang.wxpay.bean.request.WxPayPartnerOrderQueryV3Request;
|
||||
import com.github.binarywang.wxpay.bean.result.WxPayOrderQueryResult;
|
||||
import com.github.binarywang.wxpay.bean.result.WxPayPartnerOrderQueryV3Result;
|
||||
import com.github.binarywang.wxpay.exception.WxPayException;
|
||||
import com.github.binarywang.wxpay.service.PartnerPayScoreService;
|
||||
import com.github.binarywang.wxpay.service.WxPayService;
|
||||
import com.mybatisflex.annotation.KeyType;
|
||||
import com.mybatisflex.core.datasource.DataSourceKey;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import com.mybatisflex.core.row.*;
|
||||
import com.mybatisflex.core.update.UpdateChain;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
@ -42,6 +49,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.cpop.jambox.business.entity.table.EasyLearnOrderDetailTableDef.EASY_LEARN_ORDER_DETAIL;
|
||||
import static com.cpop.jambox.business.entity.table.EasyLearnOrderExtendTableDef.EASY_LEARN_ORDER_EXTEND;
|
||||
import static com.cpop.jambox.business.entity.table.EasyLearnOrderTableDef.EASY_LEARN_ORDER;
|
||||
import static com.cpop.jambox.business.entity.table.StoreExtendTableDef.STORE_EXTEND;
|
||||
@ -110,7 +118,8 @@ public class CpopOldDataSyncTests {
|
||||
.select("merchant_plan_no")
|
||||
.select("sub_merch_id as subMchId")
|
||||
.from("j_wechat_pay_plan")
|
||||
.where("is_month = 0")
|
||||
.where("create_time > '2024-05-08 11:25:30'")
|
||||
//.where("is_month = 0")
|
||||
.list();
|
||||
} finally {
|
||||
DataSourceKey.clear();
|
||||
@ -175,7 +184,8 @@ public class CpopOldDataSyncTests {
|
||||
.and("jct.pay_status = 'PAY'")
|
||||
.and("jct.deleted = 1")
|
||||
.and("jct.card_no is not null")
|
||||
.and("jct.creation_time >= ?", LocalDateTime.of(2024, 1, 12, 16, 42))
|
||||
.and("jct.creation_time > '2024-05-08 11:25:30'")
|
||||
//.and("jct.creation_time >= ?", LocalDateTime.of(2024, 1, 12, 16, 42))
|
||||
.list();
|
||||
} finally {
|
||||
DataSourceKey.clear();
|
||||
@ -198,70 +208,120 @@ public class CpopOldDataSyncTests {
|
||||
try {
|
||||
PartnerUserSignPlanEntity partnerUserSignPlanEntity = wxPayService.getPartnerPayScoreSignPlanService()
|
||||
.queryUserSignPlans(item.getString("orderId"), item.getString("subMchId"));
|
||||
EasyLearnOrder easyLearnOrder = new EasyLearnOrder();
|
||||
String storeCloudId = item.getString("storeCloudId");
|
||||
Integer extendStatus = changeStatus(partnerUserSignPlanEntity.getSignState());
|
||||
partnerUserSignPlanEntity.getSignedDetailList().forEach(inner->{
|
||||
EasyLearnOrderDetail easyLearnOrderDetail = new EasyLearnOrderDetail();
|
||||
BigDecimal payPrice = BigDecimal.valueOf(inner.getActualPayPrice()).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP);
|
||||
easyLearnOrderDetail.setId(inner.getMerchantPlanDetailNo())
|
||||
.setOrderId(partnerUserSignPlanEntity.getMerchantSignPlanNo())
|
||||
.setOutOrderNo(inner.getOrderId())
|
||||
.setAmount(BigDecimal.valueOf(inner.getActualPrice()).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP))
|
||||
.setActualPrice(payPrice)
|
||||
.setPeriodNo(inner.getPlanDetailNo())
|
||||
.setDetailDesc(inner.getPlanDiscountDescription())
|
||||
.setDetailName(inner.getPlanDetailName())
|
||||
.setDetailStatus(changeDetailStatus(inner.getPlanDetailState()))
|
||||
.setCreateTime(LocalDateTime.now());
|
||||
if (StringUtils.isNotBlank(inner.getUseTime())){
|
||||
easyLearnOrderDetail.setPayTime(LocalDateTime.parse(inner.getUseTime(),dateTimeFormatter));
|
||||
}
|
||||
if (inner.getPlanDetailState().equals("FINISHED")) {
|
||||
if (easyLearnOrder.getTotalPayAmount() == null) {
|
||||
easyLearnOrder.setTotalPayAmount(payPrice);
|
||||
} else {
|
||||
easyLearnOrder.setTotalPayAmount(easyLearnOrder.getTotalPayAmount().add(payPrice));
|
||||
if (partnerUserSignPlanEntity != null){
|
||||
EasyLearnOrder easyLearnOrder = new EasyLearnOrder();
|
||||
String storeCloudId = item.getString("storeCloudId");
|
||||
Integer extendStatus = changeStatus(partnerUserSignPlanEntity.getSignState());
|
||||
partnerUserSignPlanEntity.getSignedDetailList().forEach(inner->{
|
||||
EasyLearnOrderDetail easyLearnOrderDetail = new EasyLearnOrderDetail();
|
||||
BigDecimal payPrice = BigDecimal.valueOf(inner.getActualPayPrice()).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP);
|
||||
easyLearnOrderDetail.setId(inner.getMerchantPlanDetailNo())
|
||||
.setOrderId(partnerUserSignPlanEntity.getMerchantSignPlanNo())
|
||||
.setOutOrderNo(inner.getOrderId())
|
||||
.setAmount(BigDecimal.valueOf(inner.getActualPrice()).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP))
|
||||
.setActualPrice(payPrice)
|
||||
.setPeriodNo(inner.getPlanDetailNo())
|
||||
.setDetailDesc(inner.getPlanDiscountDescription())
|
||||
.setDetailName(inner.getPlanDetailName())
|
||||
.setDetailStatus(changeDetailStatus(inner.getPlanDetailState()))
|
||||
.setCreateTime(LocalDateTime.now());
|
||||
if (StringUtils.isNotBlank(inner.getUseTime())){
|
||||
easyLearnOrderDetail.setPayTime(LocalDateTime.parse(inner.getUseTime(),dateTimeFormatter));
|
||||
}
|
||||
if (inner.getPlanDetailState().equals("FINISHED")) {
|
||||
if (easyLearnOrder.getTotalPayAmount() == null) {
|
||||
easyLearnOrder.setTotalPayAmount(payPrice);
|
||||
} else {
|
||||
easyLearnOrder.setTotalPayAmount(easyLearnOrder.getTotalPayAmount().add(payPrice));
|
||||
}
|
||||
}
|
||||
easyLearnOrderDetails.add(easyLearnOrderDetail);
|
||||
});
|
||||
easyLearnOrder.setId(partnerUserSignPlanEntity.getMerchantSignPlanNo())
|
||||
.setOrderContent(partnerUserSignPlanEntity.getPlanName())
|
||||
.setOrderStatus(1)
|
||||
.setOutOrderNo(partnerUserSignPlanEntity.getSignPlanId())
|
||||
.setBrandId(storeMap.get(storeCloudId).getString("brandId"))
|
||||
.setStoreId(storeMap.get(storeCloudId).getString("id"))
|
||||
.setCustomerName(item.getString("customerName"))
|
||||
.setCustomerPhone(item.getString("customerPhone"))
|
||||
.setTotalAmount(BigDecimal.valueOf(partnerUserSignPlanEntity.getTotalActualPrice()).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP))
|
||||
.setTotalPayAmount(BigDecimal.ZERO)
|
||||
.setOrderType(0)
|
||||
.setRate(OrderSource.EASY_LEARN.getRate())
|
||||
.setProductId(item.getString("productId"))
|
||||
.setCreateTime(LocalDateTime.parse(partnerUserSignPlanEntity.getSignTime(),dateTimeFormatter));
|
||||
easyLearnOrders.add(easyLearnOrder);
|
||||
EasyLearnOrderExtend easyLearnOrderExtend = new EasyLearnOrderExtend();
|
||||
easyLearnOrderExtend.setOrderId(partnerUserSignPlanEntity.getMerchantSignPlanNo())
|
||||
.setGoingDetailNo(partnerUserSignPlanEntity.getGoingDetailNo())
|
||||
.setPlanId(wxPayScoreMap.get(partnerUserSignPlanEntity.getPlanId()).getId())
|
||||
.setSignPlanId(partnerUserSignPlanEntity.getSignPlanId())
|
||||
.setSubMchId(partnerUserSignPlanEntity.getSubMchid())
|
||||
.setExtendStatus(extendStatus)
|
||||
.setExtendCancelType(changeCancelType(partnerUserSignPlanEntity.getCancelSignType()))
|
||||
.setCancelReason(partnerUserSignPlanEntity.getCancelReason())
|
||||
.setCreateTime(LocalDateTime.parse(partnerUserSignPlanEntity.getSignTime(),dateTimeFormatter));
|
||||
if (StringUtils.isNotBlank(partnerUserSignPlanEntity.getCancelSignTime())){
|
||||
easyLearnOrderExtend.setCancelTime(LocalDateTime.parse(partnerUserSignPlanEntity.getCancelSignTime(),dateTimeFormatter));
|
||||
}
|
||||
easyLearnOrderDetails.add(easyLearnOrderDetail);
|
||||
});
|
||||
easyLearnOrder.setId(partnerUserSignPlanEntity.getMerchantSignPlanNo())
|
||||
.setOrderContent(partnerUserSignPlanEntity.getPlanName())
|
||||
.setOrderStatus(1)
|
||||
.setOutOrderNo(partnerUserSignPlanEntity.getSignPlanId())
|
||||
.setBrandId(storeMap.get(storeCloudId).getString("brandId"))
|
||||
.setStoreId(storeMap.get(storeCloudId).getString("id"))
|
||||
.setCustomerName(item.getString("customerName"))
|
||||
.setCustomerPhone(item.getString("customerPhone"))
|
||||
.setTotalAmount(BigDecimal.valueOf(partnerUserSignPlanEntity.getTotalActualPrice()).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP))
|
||||
.setTotalPayAmount(BigDecimal.ZERO)
|
||||
.setOrderType(0)
|
||||
.setRate(OrderSource.EASY_LEARN.getRate())
|
||||
.setProductId(item.getString("productId"))
|
||||
.setCreateTime(LocalDateTime.parse(partnerUserSignPlanEntity.getSignTime(),dateTimeFormatter));
|
||||
easyLearnOrders.add(easyLearnOrder);
|
||||
EasyLearnOrderExtend easyLearnOrderExtend = new EasyLearnOrderExtend();
|
||||
easyLearnOrderExtend.setOrderId(partnerUserSignPlanEntity.getMerchantSignPlanNo())
|
||||
.setGoingDetailNo(partnerUserSignPlanEntity.getGoingDetailNo())
|
||||
.setPlanId(wxPayScoreMap.get(partnerUserSignPlanEntity.getPlanId()).getId())
|
||||
.setSignPlanId(partnerUserSignPlanEntity.getSignPlanId())
|
||||
.setSubMchId(partnerUserSignPlanEntity.getSubMchid())
|
||||
.setExtendStatus(extendStatus)
|
||||
.setExtendCancelType(changeCancelType(partnerUserSignPlanEntity.getCancelSignType()))
|
||||
.setCancelReason(partnerUserSignPlanEntity.getCancelReason())
|
||||
.setCreateTime(LocalDateTime.parse(partnerUserSignPlanEntity.getSignTime(),dateTimeFormatter));
|
||||
if (StringUtils.isNotBlank(partnerUserSignPlanEntity.getCancelSignTime())){
|
||||
easyLearnOrderExtend.setCancelTime(LocalDateTime.parse(partnerUserSignPlanEntity.getCancelSignTime(),dateTimeFormatter));
|
||||
easyLearnOrderExtends.add(easyLearnOrderExtend);
|
||||
}
|
||||
easyLearnOrderExtends.add(easyLearnOrderExtend);
|
||||
} catch (WxPayException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
SpringUtils.getBean(EasyLearnOrderService.class).saveBatch(easyLearnOrders);
|
||||
SpringUtils.getBean(EasyLearnOrderExtendService.class).saveBatch(easyLearnOrderExtends);
|
||||
SpringUtils.getBean(EasyLearnOrderDetailService.class).saveBatch(easyLearnOrderDetails);
|
||||
//去重
|
||||
SpringUtils.getBean(EasyLearnOrderService.class).saveBatch(easyLearnOrders.stream().distinct().collect(Collectors.toList()));
|
||||
SpringUtils.getBean(EasyLearnOrderExtendService.class).saveBatch(easyLearnOrderExtends.stream().distinct().collect(Collectors.toList()));
|
||||
SpringUtils.getBean(EasyLearnOrderDetailService.class).saveBatch(easyLearnOrderDetails.stream().distinct().collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新支付分支付时间
|
||||
* @author DB
|
||||
* @since 2024/5/13
|
||||
*/
|
||||
@Test
|
||||
public void updatePayScoreDetailData() throws WxPayException {
|
||||
//查询云函数
|
||||
JSONObject jsonBody = new JSONObject();
|
||||
jsonBody.put("_type", "merchantPayPlanList");
|
||||
//订单id
|
||||
jsonBody.put("startTime", "2024-05-08 11:25:30");
|
||||
//获取课卡信息
|
||||
JSONObject result = SpringUtils.getBean(RestTemplate.class).postForObject(JamboxCloudUrl.COMMON_CARD_URL, jsonBody, JSONObject.class);
|
||||
assert result != null;
|
||||
JSONArray data = result.getJSONArray("data");
|
||||
List<Row> list = DbChain.table(EASY_LEARN_ORDER_DETAIL)
|
||||
.select(EASY_LEARN_ORDER_DETAIL.ID, EASY_LEARN_ORDER_EXTEND.SUB_MCH_ID)
|
||||
.from(EASY_LEARN_ORDER_DETAIL)
|
||||
.leftJoin(EASY_LEARN_ORDER_EXTEND).on(EASY_LEARN_ORDER_EXTEND.ORDER_ID.eq(EASY_LEARN_ORDER_DETAIL.ORDER_ID))
|
||||
.where(EASY_LEARN_ORDER_DETAIL.ID.in(data))
|
||||
.list();
|
||||
WxPayService wxPayService = wxPayHandler.getWxPayService();
|
||||
PartnerPayScoreService partnerPayScoreService = wxPayService.getPartnerPayScoreService();
|
||||
list.forEach(item -> {
|
||||
WxPartnerPayScoreResult wxPartnerPayScoreResult = null;
|
||||
try {
|
||||
wxPartnerPayScoreResult = partnerPayScoreService.queryServiceOrder(null, item.getString("subMchId"), item.getString("id"), null);
|
||||
item.put("transactionId", wxPartnerPayScoreResult.getCollection().getDetails().get(0).getTransactionId());
|
||||
item.put("outOrderNo", wxPartnerPayScoreResult.getOrderId());
|
||||
item.put("payTime", LocalDateTime.parse(wxPartnerPayScoreResult.getCollection().getDetails().get(0).getPaidTime(), DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
|
||||
item.put("actualPrice", BigDecimal.valueOf(Long.valueOf(wxPartnerPayScoreResult.getCollection().getDetails().get(0).getAmount())).divide(new BigDecimal(100)));
|
||||
} catch (WxPayException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
Db.executeBatch(list, EasyLearnOrderDetailMapper.class, (mapper, item) -> {
|
||||
UpdateChain.of(mapper)
|
||||
.set(EASY_LEARN_ORDER_DETAIL.TRANSACTION_ID, item.getString("transactionId"))
|
||||
.set(EASY_LEARN_ORDER_DETAIL.PAY_TIME, item.getLocalDateTime("payTime"))
|
||||
.set(EASY_LEARN_ORDER_DETAIL.OUT_ORDER_NO, item.getString("outOrderNo"))
|
||||
.set(EASY_LEARN_ORDER_DETAIL.ACTUAL_PRICE, item.getBigDecimal("actualPrice"))
|
||||
.where(EASY_LEARN_ORDER_DETAIL.ID.eq(item.getString("id")))
|
||||
.update();
|
||||
});
|
||||
}
|
||||
|
||||
private Integer changeStatus(String signStatus) {
|
||||
|
||||
@ -105,31 +105,33 @@ public class MiniSummitController {
|
||||
@ApiOperation("峰会报名")
|
||||
@PostMapping("/summitApply")
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Deprecated
|
||||
public R<String> summitApply(@RequestBody @Validated SummitApplyBo bo) {
|
||||
long count = summitApplyService.count(QueryWrapper.create().where(SUMMIT_APPLY.OPEN_ID.eq(bo.getOpenId())));
|
||||
if (count > 0) {
|
||||
throw new ServiceException("您已报名,请勿重复提交!");
|
||||
}
|
||||
SummitApply summitApply = BeanUtils.mapToClass(bo, SummitApply.class);
|
||||
summitApplyService.save(summitApply);
|
||||
List<SummitApplyUser> summitApplyUsers = BeanUtils.mapToList(bo.getUsers(), SummitApplyUser.class);
|
||||
summitApplyUsers.forEach(item->{
|
||||
item.setSummitApplyId(summitApply.getId());
|
||||
});
|
||||
summitApplyUserService.saveBatch(summitApplyUsers);
|
||||
// 企微通知值班人员
|
||||
List<String> phoneList = new ArrayList<String>();
|
||||
try {
|
||||
SpringUtils.getBean(WebHookSendHandler.class)
|
||||
.webHookSendText(WebHookKeyConstant.MARKET_BOT,
|
||||
phoneList,
|
||||
"==========2024峰会报名==========\n" +
|
||||
"机构" + bo.getStoreName() + "报名成功",
|
||||
true);
|
||||
} catch (IOException e) {
|
||||
throw new ServiceException("发送消息通知失败!");
|
||||
}
|
||||
return R.ok();
|
||||
// long count = summitApplyService.count(QueryWrapper.create().where(SUMMIT_APPLY.OPEN_ID.eq(bo.getOpenId())));
|
||||
// if (count > 0) {
|
||||
// throw new ServiceException("您已报名,请勿重复提交!");
|
||||
// }
|
||||
// SummitApply summitApply = BeanUtils.mapToClass(bo, SummitApply.class);
|
||||
// summitApplyService.save(summitApply);
|
||||
// List<SummitApplyUser> summitApplyUsers = BeanUtils.mapToList(bo.getUsers(), SummitApplyUser.class);
|
||||
// summitApplyUsers.forEach(item->{
|
||||
// item.setSummitApplyId(summitApply.getId());
|
||||
// });
|
||||
// summitApplyUserService.saveBatch(summitApplyUsers);
|
||||
// // 企微通知值班人员
|
||||
// List<String> phoneList = new ArrayList<String>();
|
||||
// try {
|
||||
// SpringUtils.getBean(WebHookSendHandler.class)
|
||||
// .webHookSendText(WebHookKeyConstant.MARKET_BOT,
|
||||
// phoneList,
|
||||
// "==========2024峰会报名==========\n" +
|
||||
// "机构" + bo.getStoreName() + "报名成功",
|
||||
// true);
|
||||
// } catch (IOException e) {
|
||||
// throw new ServiceException("发送消息通知失败!");
|
||||
// }
|
||||
// return R.ok();
|
||||
return R.fail("峰会报名已关闭");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -5,19 +5,20 @@ import com.cpop.common.utils.ServletUtils;
|
||||
import com.cpop.common.utils.StringUtils;
|
||||
import com.cpop.core.base.exception.ServiceException;
|
||||
import com.cpop.core.utils.SecurityUtils;
|
||||
import com.cpop.core.utils.SpringUtils;
|
||||
import com.cpop.pay.framewok.config.wxPay.WxPayConfiguration;
|
||||
import com.github.binarywang.wxpay.bean.ecommerce.SignatureHeader;
|
||||
import com.github.binarywang.wxpay.config.WxPayConfig;
|
||||
import com.github.binarywang.wxpay.service.WxPayService;
|
||||
import com.mybatisflex.core.datasource.DataSourceKey;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import com.mybatisflex.core.row.Db;
|
||||
import com.mybatisflex.core.row.DbChain;
|
||||
import com.mybatisflex.core.row.Row;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
/**
|
||||
* @author DB
|
||||
@ -111,31 +112,56 @@ public class WxPayHandler {
|
||||
* @return String
|
||||
*/
|
||||
public String getSubMchId(String brandId, String storeId) {
|
||||
String wxMchId;
|
||||
AtomicReference<String> subMchId = new AtomicReference<>("1618436087");
|
||||
if (StringUtils.isNotEmpty(storeId)){
|
||||
//先查校区
|
||||
Row store = Db.selectOneByQuery("cp_sys_store", QueryWrapper.create().where("id = ?", storeId));
|
||||
if (store != null && StringUtils.isNotBlank(store.getString("wxMchId"))){
|
||||
wxMchId = store.getString("wxMchId");
|
||||
} else {
|
||||
//查询品牌
|
||||
Row brand = Db.selectOneByQuery("cp_sys_brand", QueryWrapper.create().where("id = ?", brandId));
|
||||
if (brand != null && StringUtils.isNotBlank(brand.getString("wxMchId"))){
|
||||
wxMchId = brand.getString("wxMchId");
|
||||
}else {
|
||||
wxMchId = null;
|
||||
Row store = Db.selectOneByQuery("cp_j_store_extend", QueryWrapper.create().select("store_cloud_id as storeCloudId").where("store_id = ?", storeId));
|
||||
if (store != null && StringUtils.isNotBlank(store.getString("storeCloudId"))) {
|
||||
AtomicReference<Row> row = new AtomicReference<>();
|
||||
DataSourceKey.use("jambox", () -> {
|
||||
row.set(Db.selectOneByQuery("j_merchant_info", QueryWrapper.create()
|
||||
.select("j_merchant_info.wx_mch_id as wxMchId")
|
||||
.from("j_merchant_info")
|
||||
.leftJoin("t_mechanism_info").on("t_mechanism_info.mechanism_id = j_merchant_info.main_id")
|
||||
.where("t_mechanism_info.store_id = ?", store.getString("storeCloudId"))
|
||||
.and("j_merchant_info.main_type = 2")));
|
||||
});
|
||||
if (row.get() == null){
|
||||
//查询品牌
|
||||
Row brand = Db.selectOneByQuery("cp_j_brand_extend", QueryWrapper.create().select("brand_cloud_id as brandCloudId").where("brand_id = ?", brandId));
|
||||
if (brand != null && StringUtils.isNotBlank(brand.getString("brandCloudId"))){
|
||||
DataSourceKey.use("jambox", () -> {
|
||||
row.set(DbChain.table("j_merchant_info")
|
||||
.select("j_merchant_info.wx_mch_id as wxMchId")
|
||||
.leftJoin("t_brand_info").on("t_brand_info.id = j_merchant_info.main_id")
|
||||
.where("t_brand_info.brand_id = ?", brand.getString("brandCloudId"))
|
||||
.and("j_merchant_info.main_type = 1").one());
|
||||
if (row.get() != null){
|
||||
subMchId.set(row.get().getString("wxMchId"));
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
subMchId.set(row.get().getString("wxMchId"));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
//查询品牌
|
||||
Row brand = Db.selectOneByQuery("cp_sys_brand", QueryWrapper.create().where("id = ?", brandId));
|
||||
if (brand != null && StringUtils.isNotBlank(brand.getString("wxMchId"))){
|
||||
wxMchId = brand.getString("wxMchId");
|
||||
}else {
|
||||
wxMchId = null;
|
||||
Row brand = Db.selectOneByQuery("cp_j_brand_extend", QueryWrapper.create().select("brand_cloud_id as brandCloudId").where("brand_id = ?", brandId));
|
||||
if (brand != null && StringUtils.isNotBlank(brand.getString("brandCloudId"))){
|
||||
DataSourceKey.use("jambox", () -> {
|
||||
Row row = DbChain.table("j_merchant_info")
|
||||
.select("j_merchant_info.wx_mch_id as wxMchId")
|
||||
.leftJoin("t_brand_info").on("t_brand_info.id = j_merchant_info.main_id")
|
||||
.where("t_brand_info.brand_id = ?", brand.getString("brandCloudId"))
|
||||
.and("j_merchant_info.main_type = 1").one();
|
||||
if (row != null){
|
||||
subMchId.set(row.getString("wxMchId"));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
return wxMchId;
|
||||
return subMchId.get();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user