添加会员变动与通知
This commit is contained in:
parent
6dcd8368a0
commit
acf7e71769
|
|
@ -35,6 +35,10 @@ public class OrderDetailPO implements Serializable {
|
|||
|
||||
private String outNumber;
|
||||
|
||||
private String discountAmount;
|
||||
|
||||
private String discountAdio;
|
||||
|
||||
|
||||
@Data
|
||||
public static class Detail implements Serializable{
|
||||
|
|
@ -55,7 +59,9 @@ public class OrderDetailPO implements Serializable {
|
|||
}
|
||||
|
||||
|
||||
public OrderDetailPO(String merchantName, String printType, String masterId, String orderNo, String tradeDate, String operator, String receiptsAmount, String balance, String payType, String integral, List<Detail> detailList, String remark) {
|
||||
public OrderDetailPO(String merchantName, String printType, String masterId, String orderNo, String tradeDate, String operator, String receiptsAmount, String balance, String payType, String integral, List<Detail> detailList, String remark,
|
||||
String discountAmount,String discountAdio
|
||||
) {
|
||||
this.merchantName = merchantName;
|
||||
this.printType = printType;
|
||||
this.masterId = masterId;
|
||||
|
|
@ -68,5 +74,7 @@ public class OrderDetailPO implements Serializable {
|
|||
this.integral = integral;
|
||||
this.detailList = detailList;
|
||||
this.remark = remark;
|
||||
this.discountAmount=discountAmount;
|
||||
this.discountAdio=discountAdio;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,166 @@
|
|||
package com.chaozhanggui.system.cashierservice.rabbit;
|
||||
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.chaozhanggui.system.cashierservice.dao.TbShopInfoMapper;
|
||||
import com.chaozhanggui.system.cashierservice.dao.TbUserInfoMapper;
|
||||
import com.chaozhanggui.system.cashierservice.entity.TbShopInfo;
|
||||
import com.chaozhanggui.system.cashierservice.entity.TbUserInfo;
|
||||
import com.chaozhanggui.system.cashierservice.exception.MsgException;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
|
||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
@RabbitListener(queues = {RabbitConstants.BALANCE_QUEUE_PUT})
|
||||
@Service
|
||||
public class BalanceConsumer {
|
||||
|
||||
|
||||
|
||||
|
||||
@Value("${wx.balance.appId}")
|
||||
private static String appId ;
|
||||
@Value("${wx.balance.secrete}")
|
||||
private static String secrete ;
|
||||
@Value("${wx.balance.warnMsgTmpId}")
|
||||
private static String msgTmpId = "AV-KybUHaK3KtFVLqpy6PHccHBS7XeX_mOM4RbufnQ";
|
||||
|
||||
static LinkedHashMap<String,String> linkedHashMap=new LinkedHashMap<>();
|
||||
|
||||
static {
|
||||
|
||||
linkedHashMap.put("40001","获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口");
|
||||
linkedHashMap.put("40003","不合法的 OpenID ,请开发者确认 OpenID (该用户)是否已关注公众号,或是否是其他公众号的 OpenID");
|
||||
linkedHashMap.put("40014","不合法的 access_token ,请开发者认真比对 access_token 的有效性(如是否过期),或查看是否正在为恰当的公众号调用接口");
|
||||
linkedHashMap.put("40037","不合法的 template_id");
|
||||
linkedHashMap.put("43101","用户未订阅消息");
|
||||
linkedHashMap.put("43107","订阅消息能力封禁");
|
||||
linkedHashMap.put("43108","并发下发消息给同一个粉丝");
|
||||
linkedHashMap.put("45168","命中敏感词");
|
||||
linkedHashMap.put("47003","参数错误");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Autowired
|
||||
TbUserInfoMapper tbUserInfoMapper;
|
||||
|
||||
@Autowired
|
||||
TbShopInfoMapper tbShopInfoMapper;
|
||||
|
||||
|
||||
|
||||
|
||||
public static String getAccessToken() {
|
||||
String resp = HttpUtil.get(StrUtil.format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={}&secret={}", appId, secrete));
|
||||
JSONObject respInfo = JSONObject.parseObject(resp);
|
||||
if (!respInfo.containsKey("access_token")) {
|
||||
log.warn("公众号获取token失败, 响应内容: {}", resp);
|
||||
throw new MsgException(resp);
|
||||
}
|
||||
return respInfo.getString("access_token");
|
||||
}
|
||||
|
||||
public static JSONObject sendTemplateMsg(String templateId, String toUserOpenId, Map<String, Object> data) {
|
||||
log.info("开始发送微信模板消息, 接收用户openId: {}, 消息数据: {}", toUserOpenId, data);
|
||||
String accessToken = getAccessToken();
|
||||
|
||||
JSONObject object1=new JSONObject();
|
||||
|
||||
object1.put("template_id", templateId);
|
||||
object1.put("touser", toUserOpenId);
|
||||
object1.put("data",data);
|
||||
|
||||
String response= HttpRequest.post("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".concat(accessToken)).body(object1.toString()).execute().body();
|
||||
log.info("微信模板消息发送成功,响应内容:{}",response);
|
||||
JSONObject resObj=JSONObject.parseObject(response);
|
||||
if(ObjectUtil.isNotEmpty(resObj)&&ObjectUtil.isNotNull(resObj)&&"0".equals(resObj.get("errcode")+"")){
|
||||
return resObj;
|
||||
}
|
||||
|
||||
throw new RuntimeException(linkedHashMap.getOrDefault(resObj.get("errcode") + "", "未知错误"));
|
||||
}
|
||||
|
||||
@RabbitHandler
|
||||
public void listener(String message) {
|
||||
try {
|
||||
|
||||
JSONObject object=JSONObject.parseObject(message);
|
||||
|
||||
String shopId=object.getString("shopId");
|
||||
BigDecimal amount=object.getBigDecimal("amount");
|
||||
BigDecimal balance=object.getBigDecimal("balance");
|
||||
String type=object.getString("type");
|
||||
Date time=object.getDate("time");
|
||||
String userId=object.getString("userId");
|
||||
|
||||
TbShopInfo shopInfo= tbShopInfoMapper.selectByPrimaryKey(Integer.valueOf(shopId));
|
||||
if(ObjectUtil.isNull(shopInfo)){
|
||||
log.info("没有对应的店铺信息");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
TbUserInfo userInfo= tbUserInfoMapper.selectByPrimaryKey(Integer.valueOf(userId));
|
||||
if(ObjectUtil.isNull(userInfo)||ObjectUtil.isNull(userInfo.getMiniAppOpenId())){
|
||||
log.info("没有对应的openId");
|
||||
return;
|
||||
}
|
||||
|
||||
String toUserOpenId=userInfo.getMiniAppOpenId();
|
||||
|
||||
|
||||
Map<String, Object> data = new HashMap<String, Object>() {{
|
||||
put("thing3", new HashMap<String, Object>(){{
|
||||
put("value", shopInfo.getShopName());
|
||||
}});
|
||||
put("amount1", new HashMap<String, Object>(){{
|
||||
put("value", amount);
|
||||
}});
|
||||
put("amount2", new HashMap<String, Object>(){{
|
||||
put("value", balance);
|
||||
}});
|
||||
|
||||
put("thing4",new HashMap<String,Object>(){{
|
||||
put("value",type);
|
||||
}});
|
||||
|
||||
put("time5",new HashMap<String,Object>(){{
|
||||
put("value",time);
|
||||
}});
|
||||
|
||||
}};
|
||||
log.info("开始发送会员余额变动消息, 接收用户openId: {}, 消息数据: {}", toUserOpenId, data);
|
||||
try {
|
||||
JSONObject resObj=sendTemplateMsg(msgTmpId, toUserOpenId, data);
|
||||
log.info("会员变动消息发送返回:{}",resObj.toString());
|
||||
}catch (Exception e) {
|
||||
log.error("发送失败, openId:{}, msg: {}", toUserOpenId, e.getMessage());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -175,7 +175,7 @@ public class PrintMechineConsumer {
|
|||
|
||||
|
||||
if(ObjectUtil.isNotEmpty(detailList)&&detailList.size()>0){
|
||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", ObjectUtil.isEmpty(orderInfo.getMasterId())||ObjectUtil.isNull(orderInfo.getMasterId())?orderInfo.getTableName():orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, orderInfo.getPayType(), "0", detailList,orderInfo.getRemark());
|
||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", ObjectUtil.isEmpty(orderInfo.getMasterId())||ObjectUtil.isNull(orderInfo.getMasterId())?orderInfo.getTableName():orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, orderInfo.getPayType(), "0", detailList,orderInfo.getRemark(),null,null);
|
||||
|
||||
String printType="退款单";
|
||||
|
||||
|
|
@ -224,7 +224,7 @@ public class PrintMechineConsumer {
|
|||
|
||||
if (ObjectUtil.isNotEmpty(detailList) && detailList.size() > 0) {
|
||||
|
||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", orderInfo.getOrderType().equals("miniapp") ? orderInfo.getTableName() : orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, (ObjectUtil.isEmpty(orderInfo.getPayType()) || ObjectUtil.isNull(orderInfo.getPayType()) ? "" : orderInfo.getPayType()), "0", detailList, orderInfo.getRemark());
|
||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", orderInfo.getOrderType().equals("miniapp") ? orderInfo.getTableName() : orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, (ObjectUtil.isEmpty(orderInfo.getPayType()) || ObjectUtil.isNull(orderInfo.getPayType()) ? "" : orderInfo.getPayType()), "0", detailList, orderInfo.getRemark(),orderInfo.getDiscountAmount().toPlainString(),orderInfo.getDiscountRatio().toPlainString());
|
||||
// OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, orderInfo.getPayType(), "0", detailList);
|
||||
detailPO.setOutNumber(orderInfo.getOutNumber());
|
||||
String printType = "结算单";
|
||||
|
|
@ -402,7 +402,7 @@ public class PrintMechineConsumer {
|
|||
|
||||
if(ObjectUtil.isNotEmpty(detailList)&&detailList.size()>0){
|
||||
// OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, orderInfo.getPayType(), "0", detailList);
|
||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", ObjectUtil.isEmpty(orderInfo.getMasterId())||ObjectUtil.isNull(orderInfo.getMasterId())?orderInfo.getTableName():orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, orderInfo.getPayType(), "0", detailList,orderInfo.getRemark());
|
||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", ObjectUtil.isEmpty(orderInfo.getMasterId())||ObjectUtil.isNull(orderInfo.getMasterId())?orderInfo.getTableName():orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, orderInfo.getPayType(), "0", detailList,orderInfo.getRemark(),orderInfo.getDiscountAmount().toPlainString(),orderInfo.getDiscountRatio().toPlainString());
|
||||
|
||||
String printType="退款单";
|
||||
|
||||
|
|
@ -452,7 +452,7 @@ public class PrintMechineConsumer {
|
|||
}
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(detailList) && detailList.size() > 0) {
|
||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", orderInfo.getOrderType().equals("miniapp") ? orderInfo.getTableName() : orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, (ObjectUtil.isEmpty(orderInfo.getPayType()) || ObjectUtil.isNull(orderInfo.getPayType()) ? "" : orderInfo.getPayType()), "0", detailList, orderInfo.getRemark());
|
||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", orderInfo.getOrderType().equals("miniapp") ? orderInfo.getTableName() : orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, (ObjectUtil.isEmpty(orderInfo.getPayType()) || ObjectUtil.isNull(orderInfo.getPayType()) ? "" : orderInfo.getPayType()), "0", detailList, orderInfo.getRemark(),null,null);
|
||||
String printType = "结算单";
|
||||
|
||||
if ("return".equals(orderInfo.getOrderType())) {
|
||||
|
|
|
|||
|
|
@ -126,5 +126,23 @@ public class RabbitConfig {
|
|||
|
||||
|
||||
|
||||
@Bean
|
||||
public DirectExchange balance_msg_Exchange_Register() {
|
||||
return new DirectExchange(RabbitConstants.BALANCE_PUT);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue queuebalance_msg_Register() {
|
||||
return new Queue(RabbitConstants.BALANCE_QUEUE_PUT, true); //队列持久
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Binding bindingbalance_msg_Register() {
|
||||
return BindingBuilder.bind(queuebalance_msg_Register()).to(balance_msg_Exchange_Register()).with(RabbitConstants.BALANCE_ROUTINGKEY_PUT);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -51,4 +51,11 @@ public interface RabbitConstants {
|
|||
// 库存记录
|
||||
public static final String QUEUE_STOCK_RECORD = "queue.stock.record";
|
||||
public static final String ROUTING_STOCK_RECORD= "routing.stock.record";
|
||||
|
||||
|
||||
|
||||
public static final String BALANCE_PUT="balance_put";
|
||||
public static final String BALANCE_QUEUE_PUT="balance_queue_put";
|
||||
|
||||
public static final String BALANCE_ROUTINGKEY_PUT="balance_routingkey_put";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,6 +50,14 @@ public class RabbitProducer implements RabbitTemplate.ConfirmCallback {
|
|||
}
|
||||
|
||||
|
||||
|
||||
public void balance(String content){
|
||||
CorrelationData correlationId = new CorrelationData(UUID.randomUUID().toString());
|
||||
rabbitTemplate.convertAndSend(RabbitConstants.BALANCE_PUT, RabbitConstants.BALANCE_ROUTINGKEY_PUT, content, correlationId);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void confirm(CorrelationData correlationData, boolean ack, String cause) {
|
||||
logger.info(" 回调id:" + correlationData);
|
||||
|
|
|
|||
|
|
@ -189,7 +189,7 @@ public class CloudPrinterService {
|
|||
|
||||
if(ObjectUtil.isNotEmpty(detailList)&&detailList.size()>0){
|
||||
// OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, orderInfo.getPayType(), "0", detailList);
|
||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", ObjectUtil.isEmpty(orderInfo.getMasterId())||ObjectUtil.isNull(orderInfo.getMasterId())?orderInfo.getTableName():orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, orderInfo.getPayType(), "0", detailList,orderInfo.getRemark());
|
||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", ObjectUtil.isEmpty(orderInfo.getMasterId())||ObjectUtil.isNull(orderInfo.getMasterId())?orderInfo.getTableName():orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getPayAmount().toPlainString(), balance, orderInfo.getPayType(), "0", detailList,orderInfo.getRemark(),null,null);
|
||||
detailPO.setOutNumber(orderInfo.getOutNumber());
|
||||
String printType="退款单";
|
||||
|
||||
|
|
@ -251,7 +251,7 @@ public class CloudPrinterService {
|
|||
|
||||
}
|
||||
if(ObjectUtil.isNotEmpty(detailList)&&detailList.size()>0){
|
||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", orderInfo.getOrderType().equals("miniapp")?orderInfo.getTableName():orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance,(ObjectUtil.isEmpty(orderInfo.getPayType())||ObjectUtil.isNull(orderInfo.getPayType())?"":orderInfo.getPayType() ), "0", detailList,orderInfo.getRemark());
|
||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", orderInfo.getOrderType().equals("miniapp")?orderInfo.getTableName():orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getPayAmount().toPlainString(), balance,(ObjectUtil.isEmpty(orderInfo.getPayType())||ObjectUtil.isNull(orderInfo.getPayType())?"":orderInfo.getPayType() ), "0", detailList,orderInfo.getRemark(),orderInfo.getDiscountAmount().toPlainString(),orderInfo.getDiscountRatio().toPlainString());
|
||||
String printType="结算单";
|
||||
|
||||
detailPO.setOutNumber(orderInfo.getOutNumber());
|
||||
|
|
@ -439,7 +439,7 @@ public class CloudPrinterService {
|
|||
|
||||
if(ObjectUtil.isNotEmpty(detailList)&&detailList.size()>0){
|
||||
// OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, orderInfo.getPayType(), "0", detailList);
|
||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", ObjectUtil.isEmpty(orderInfo.getMasterId())||ObjectUtil.isNull(orderInfo.getMasterId())?orderInfo.getTableName():orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, orderInfo.getPayType(), "0", detailList,orderInfo.getRemark());
|
||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", ObjectUtil.isEmpty(orderInfo.getMasterId())||ObjectUtil.isNull(orderInfo.getMasterId())?orderInfo.getTableName():orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, orderInfo.getPayType(), "0", detailList,orderInfo.getRemark(),null,null);
|
||||
|
||||
String printType="退款单";
|
||||
|
||||
|
|
@ -495,7 +495,7 @@ public class CloudPrinterService {
|
|||
}
|
||||
}
|
||||
if(ObjectUtil.isNotEmpty(detailList)&&detailList.size()>0){
|
||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", orderInfo.getOrderType().equals("miniapp")?orderInfo.getTableName():orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance,(ObjectUtil.isEmpty(orderInfo.getPayType())||ObjectUtil.isNull(orderInfo.getPayType())?"":orderInfo.getPayType() ), "0", detailList,orderInfo.getRemark());
|
||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", orderInfo.getOrderType().equals("miniapp")?orderInfo.getTableName():orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getPayAmount().toPlainString(), balance,(ObjectUtil.isEmpty(orderInfo.getPayType())||ObjectUtil.isNull(orderInfo.getPayType())?"":orderInfo.getPayType() ), "0", detailList,orderInfo.getRemark(),null,null);
|
||||
String printType="结算单";
|
||||
if(ispre){
|
||||
printType="预结算单";
|
||||
|
|
|
|||
|
|
@ -391,6 +391,20 @@ public class MemberService {
|
|||
jsonObject.put("amount", memberIn.getAmount());
|
||||
producer.putOrderCollect(jsonObject.toJSONString());
|
||||
|
||||
|
||||
|
||||
JSONObject baObj=new JSONObject();
|
||||
baObj.put("userId",shopUser.getUserId());
|
||||
baObj.put("shopId",shopInfo.getId());
|
||||
baObj.put("amount",amount);
|
||||
baObj.put("balance",shopUser.getAmount());
|
||||
baObj.put("type","扫码充值");
|
||||
baObj.put("time",flow.getCreateTime());
|
||||
producer.balance(baObj.toString());
|
||||
|
||||
|
||||
|
||||
|
||||
return Result.success(CodeEnum.SUCCESS, memberIn);
|
||||
|
||||
} else if ("TRADE_AWAIT".equals(mainScanResp.getState())) {
|
||||
|
|
@ -531,6 +545,16 @@ public class MemberService {
|
|||
|
||||
producer.putOrderCollect(jsonObject.toJSONString());
|
||||
|
||||
|
||||
JSONObject baObj=new JSONObject();
|
||||
baObj.put("userId",shopUser.getUserId());
|
||||
baObj.put("shopId",shopUser.getShopId());
|
||||
baObj.put("amount",memberIn.getAmount());
|
||||
baObj.put("balance",shopUser.getAmount());
|
||||
baObj.put("type","充值");
|
||||
baObj.put("time",flow.getCreateTime());
|
||||
producer.balance(baObj.toString());
|
||||
|
||||
tbShopUserFlowMapper.insert(flow);
|
||||
}
|
||||
return Result.success(CodeEnum.SUCCESS, memberIn);
|
||||
|
|
@ -671,6 +695,17 @@ public class MemberService {
|
|||
|
||||
|
||||
|
||||
JSONObject baObj=new JSONObject();
|
||||
baObj.put("userId",shopUser.getUserId());
|
||||
baObj.put("shopId",shopInfo.getId());
|
||||
baObj.put("amount",amount);
|
||||
baObj.put("balance",shopUser.getAmount());
|
||||
baObj.put("type","充值");
|
||||
baObj.put("time",flow.getCreateTime());
|
||||
producer.balance(baObj.toString());
|
||||
|
||||
|
||||
|
||||
return Result.success(CodeEnum.SUCCESS);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -626,6 +626,17 @@ public class PayService {
|
|||
mqData.put("type", "pc");
|
||||
producer.sendStockSaleMsg(mqData);
|
||||
|
||||
|
||||
|
||||
JSONObject baObj=new JSONObject();
|
||||
baObj.put("userId",user.getUserId());
|
||||
baObj.put("shopId",user.getShopId());
|
||||
baObj.put("amount",orderInfo.getPayAmount());
|
||||
baObj.put("balance",user.getAmount());
|
||||
baObj.put("type","消费");
|
||||
baObj.put("time",flow.getCreateTime());
|
||||
producer.balance(baObj.toString());
|
||||
|
||||
return Result.success(CodeEnum.SUCCESS);
|
||||
}
|
||||
|
||||
|
|
@ -738,6 +749,17 @@ public class PayService {
|
|||
mqData.put("type", "pc");
|
||||
producer.sendStockSaleMsg(mqData);
|
||||
|
||||
|
||||
|
||||
JSONObject baObj=new JSONObject();
|
||||
baObj.put("userId",user.getUserId());
|
||||
baObj.put("shopId",user.getShopId());
|
||||
baObj.put("amount",orderInfo.getPayAmount());
|
||||
baObj.put("balance",user.getAmount());
|
||||
baObj.put("type","消费");
|
||||
baObj.put("time",flow.getCreateTime());
|
||||
producer.balance(baObj.toString());
|
||||
|
||||
return Result.success(CodeEnum.SUCCESS);
|
||||
}
|
||||
|
||||
|
|
@ -912,6 +934,16 @@ public class PayService {
|
|||
.eq(TbShopTable::getQrcode, orderInfo.getTableId())
|
||||
.set(TbShopTable::getStatus, TableStateEnum.IDLE.getState()));
|
||||
|
||||
|
||||
JSONObject baObj=new JSONObject();
|
||||
baObj.put("userId",shopUser.getUserId());
|
||||
baObj.put("shopId",shopUser.getShopId());
|
||||
baObj.put("amount",orderInfo.getPayAmount());
|
||||
baObj.put("balance",shopUser.getAmount());
|
||||
baObj.put("type","消费");
|
||||
baObj.put("time",userFlow.getCreateTime());
|
||||
producer.balance(baObj.toString());
|
||||
|
||||
return Result.success(CodeEnum.SUCCESS);
|
||||
}
|
||||
|
||||
|
|
@ -1205,6 +1237,16 @@ public class PayService {
|
|||
flow.setCreateTime(new Date());
|
||||
tbShopUserFlowMapper.insert(flow);
|
||||
|
||||
|
||||
JSONObject baObj=new JSONObject();
|
||||
baObj.put("userId",user.getUserId());
|
||||
baObj.put("shopId",user.getShopId());
|
||||
baObj.put("amount",newOrderInfo.getPayAmount());
|
||||
baObj.put("balance",user.getAmount());
|
||||
baObj.put("type","退款");
|
||||
baObj.put("time",flow.getCreateTime());
|
||||
producer.balance(baObj.toString());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -361,8 +361,8 @@ public class FeieyunPrintUtil {
|
|||
|
||||
public static void main(String[] args){
|
||||
|
||||
OrderDetailPO detailPO=new OrderDetailPO("牛叉闪闪",null,null,"DD20240312142156962",null,null,null,null,null,null,null,null);
|
||||
getCashPrintData(detailPO,"922690786","结算单",null);
|
||||
// OrderDetailPO detailPO=new OrderDetailPO("牛叉闪闪",null,null,"DD20240312142156962",null,null,null,null,null,null,null,null);
|
||||
// getCashPrintData(detailPO,"922690786","结算单",null);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -138,13 +138,24 @@ public class PrinterUtils {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
sb.append("------------------------<BR>");
|
||||
String t = "¥" + detailPO.getReceiptsAmount();
|
||||
|
||||
if(ObjectUtil.isNotNull(detailPO.getDiscountAmount())&&ObjectUtil.isNotNull(detailPO.getDiscountAdio())){
|
||||
sb.append("<S>原价:".concat(String.format("%11s", detailPO.getReceiptsAmount()).replace(' ', paddingCharacter)).concat("</S><BR>"));
|
||||
sb.append("<S>折扣: -".concat(String.format("%11s", new BigDecimal(detailPO.getReceiptsAmount()).subtract(new BigDecimal(detailPO.getDiscountAmount())).toPlainString()).replace(' ', paddingCharacter)).concat("</S><BR>"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
sb.append("------------------------<BR>");
|
||||
String t = "¥" + (ObjectUtil.isEmpty(detailPO.getDiscountAmount())||ObjectUtil.isNull(detailPO.getDiscountAmount())?detailPO.getReceiptsAmount():detailPO.getDiscountAmount());
|
||||
t = String.format("%11s", t).replace(' ', paddingCharacter);
|
||||
if (orderType.equals("return")) {
|
||||
sb.append("<F>应退" + t + "</F><BR>");
|
||||
} else {
|
||||
sb.append("<F>应收" + t + "</F><BR>");
|
||||
sb.append("<F>实付" + t + "</F><BR>");
|
||||
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(detailPO.getPayType()) && ObjectUtil.isNotNull(detailPO.getPayType()) && detailPO.getPayType().equals("deposit")) {
|
||||
sb.append("<S>储值¥" + detailPO.getReceiptsAmount() + " </S><BR>");
|
||||
|
|
|
|||
|
|
@ -55,6 +55,10 @@ wx:
|
|||
appId: wx212769170d2c6b2a
|
||||
secrete: 8492a7e8d55bbb1b57f5c8276ea1add0
|
||||
warnMsgTmpId: C08OUr80x6wGmUN1zpFhSQ3Sv7VF5vksdZigiEx2pD0
|
||||
balance:
|
||||
appId: wxd88fffa983758a30
|
||||
secrete: a34a61adc0602118b49400baa8812454
|
||||
warnMsgTmpId: IZ-l9p9yBgcvhRR0uN6cBQPkWJ5i05zyWMkfeCPaAmY
|
||||
|
||||
|
||||
mybatis-plus:
|
||||
|
|
|
|||
Loading…
Reference in New Issue