修改会员点单信息
This commit is contained in:
parent
29d09abd5f
commit
185b50a84e
|
|
@ -31,4 +31,12 @@ public interface RabbitConstants {
|
||||||
// 排队小票打印
|
// 排队小票打印
|
||||||
String QUEUE_PRINT_CALL_TABLE = "queue.print.call.table";
|
String QUEUE_PRINT_CALL_TABLE = "queue.print.call.table";
|
||||||
String ROUTING_KEY_CALL_TABLE = "routing.call.table";
|
String ROUTING_KEY_CALL_TABLE = "routing.call.table";
|
||||||
|
|
||||||
|
// 会员余额记录
|
||||||
|
String EXCHANGE_BALANCE = "balance_put";
|
||||||
|
String ROUTING_KEY_BALANCE = "balance_routingkey_put";
|
||||||
|
|
||||||
|
// 耗材
|
||||||
|
String EXCHANGE_CONS = "cons_collect_put";
|
||||||
|
String ROUTING_KEY_CONS = "cons_collect_routingkey_put";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,6 @@ import javax.validation.constraints.NotNull;
|
||||||
public class UpdateVipDTO {
|
public class UpdateVipDTO {
|
||||||
@NotNull
|
@NotNull
|
||||||
private Integer shopId;
|
private Integer shopId;
|
||||||
@NotEmpty
|
|
||||||
private String tableId;
|
private String tableId;
|
||||||
@NotNull
|
@NotNull
|
||||||
private String masterId;
|
private String masterId;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
package cn.ysk.cashier.mybatis.mapper;
|
||||||
|
|
||||||
|
import cn.ysk.cashier.pojo.product.TbProductStockDetail;
|
||||||
|
import cn.ysk.cashier.pojo.shop.TbShopTable;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
public interface MpProductStockDetailMapper extends BaseMapper<TbProductStockDetail> {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
package cn.ysk.cashier.mybatis.mapper;
|
||||||
|
|
||||||
|
import cn.ysk.cashier.pojo.shop.TbShopInfo;
|
||||||
|
import cn.ysk.cashier.pojo.shop.TbShopUnit;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
public interface MpShopUnitMapper extends BaseMapper<TbShopUnit> {
|
||||||
|
}
|
||||||
|
|
@ -27,4 +27,7 @@ public interface TbProducSkutMapper extends BaseMapper<TbProductSku> {
|
||||||
|
|
||||||
@Update("update tb_product_sku set stock_number=stock_number-#{num} WHERE id=#{id} ")
|
@Update("update tb_product_sku set stock_number=stock_number-#{num} WHERE id=#{id} ")
|
||||||
int decrStockUnCheck(String id, int num);
|
int decrStockUnCheck(String id, int num);
|
||||||
|
|
||||||
|
@Update("update tb_product_sku set real_sales_number=real_sales_number-#{num} WHERE id=#{skuId}")
|
||||||
|
int decrRealSalesNumber(@Param("skuId") Integer skuId, @Param("num") Integer num);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -570,7 +570,7 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
|
||||||
baObj.put("balance", user.getAmount());
|
baObj.put("balance", user.getAmount());
|
||||||
baObj.put("type", "退款");
|
baObj.put("type", "退款");
|
||||||
baObj.put("time", flow.getCreateTime());
|
baObj.put("time", flow.getCreateTime());
|
||||||
// rabbitMsgUtils.
|
rabbitMsgUtils.addBalanceRecord(baObj);
|
||||||
// producer.balance(baObj.toString());
|
// producer.balance(baObj.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ import cn.ysk.cashier.pojo.order.TbOrderDetail;
|
||||||
import cn.ysk.cashier.pojo.order.TbOrderInfo;
|
import cn.ysk.cashier.pojo.order.TbOrderInfo;
|
||||||
import cn.ysk.cashier.pojo.product.TbProduct;
|
import cn.ysk.cashier.pojo.product.TbProduct;
|
||||||
import cn.ysk.cashier.pojo.product.TbProductSku;
|
import cn.ysk.cashier.pojo.product.TbProductSku;
|
||||||
|
import cn.ysk.cashier.pojo.product.TbProductStockDetail;
|
||||||
import cn.ysk.cashier.pojo.shop.*;
|
import cn.ysk.cashier.pojo.shop.*;
|
||||||
import cn.ysk.cashier.repository.TbShopPayTypeRepository;
|
import cn.ysk.cashier.repository.TbShopPayTypeRepository;
|
||||||
import cn.ysk.cashier.repository.order.TbCashierCartRepository;
|
import cn.ysk.cashier.repository.order.TbCashierCartRepository;
|
||||||
|
|
@ -95,6 +96,8 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
private final MpShopTableMapper mpShopTableMapper;
|
private final MpShopTableMapper mpShopTableMapper;
|
||||||
private final TbShopPayTypeMapper tbShopPayTypeMapper;
|
private final TbShopPayTypeMapper tbShopPayTypeMapper;
|
||||||
private final MpShopTableService mpShopTableService;
|
private final MpShopTableService mpShopTableService;
|
||||||
|
private final MpShopUnitMapper mpShopUnitMapper;
|
||||||
|
private final MpProductStockDetailMapper mpProductStockDetailMapper;
|
||||||
@Value("${thirdPay.payType}")
|
@Value("${thirdPay.payType}")
|
||||||
private String thirdPayType;
|
private String thirdPayType;
|
||||||
|
|
||||||
|
|
@ -1609,19 +1612,35 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object updateVip(UpdateVipDTO updateVipDTO) {
|
public Object updateVip(UpdateVipDTO updateVipDTO) {
|
||||||
LambdaUpdateWrapper<TbCashierCart> queryWrapper = new LambdaUpdateWrapper<>();
|
ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(updateVipDTO.getShopId(), updateVipDTO.getTableId());
|
||||||
queryWrapper.eq(TbCashierCart::getTableId, updateVipDTO.getTableId())
|
LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>()
|
||||||
.eq(TbCashierCart::getMasterId, updateVipDTO.getMasterId())
|
.in(TbCashierCart::getStatus, "create", "return")
|
||||||
.eq(TbCashierCart::getShopId, updateVipDTO.getShopId());
|
.eq(TbCashierCart::getShopId, updateVipDTO.getShopId())
|
||||||
|
.eq(TbCashierCart::getUseType, shopEatTypeInfoDTO.getUseType())
|
||||||
|
.and(q -> q.eq(TbCashierCart::getMasterId, updateVipDTO.getMasterId()).or().isNull(TbCashierCart::getMasterId));
|
||||||
|
|
||||||
if (updateVipDTO.getType().equals(0)) {
|
if (!shopEatTypeInfoDTO.isTakeout()) {
|
||||||
queryWrapper.set(TbCashierCart::getUserId, null);
|
queryWrapper.eq(TbCashierCart::getTableId, updateVipDTO.getTableId());
|
||||||
queryWrapper.eq(TbCashierCart::getUserId, updateVipDTO.getVipUserId());
|
|
||||||
} else {
|
} else {
|
||||||
queryWrapper.set(TbCashierCart::getUserId, updateVipDTO.getVipUserId());
|
queryWrapper.and(q -> q.isNull(TbCashierCart::getTableId).or().eq(TbCashierCart::getTableId, ""))
|
||||||
|
.in(TbCashierCart::getPlatformType, OrderPlatformTypeEnum.PC.getValue(), OrderPlatformTypeEnum.CASH.getValue());
|
||||||
}
|
}
|
||||||
return cashierCartMapper.update(null, queryWrapper);
|
|
||||||
|
List<TbCashierCart> tbCashierCarts = cashierCartMapper.selectList(queryWrapper.isNotNull(TbCashierCart::getOrderId));
|
||||||
|
if (!tbCashierCarts.isEmpty()) {
|
||||||
|
Integer orderId = tbCashierCarts.get(0).getOrderId();
|
||||||
|
if (updateVipDTO.getType() == 0) {
|
||||||
|
return orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
|
||||||
|
.eq(TbOrderInfo::getId, orderId)
|
||||||
|
.set(TbOrderInfo::getUserId, updateVipDTO.getVipUserId()));
|
||||||
|
}else {
|
||||||
|
return orderInfoMapper.update(null, new LambdaUpdateWrapper<TbOrderInfo>()
|
||||||
|
.eq(TbOrderInfo::getId, orderId)
|
||||||
|
.set(TbOrderInfo::getUserId, null));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1946,9 +1965,46 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
returnOrder.setSource(oldOrderInfo.getId());
|
returnOrder.setSource(oldOrderInfo.getId());
|
||||||
orderInfoMapper.insert(returnOrder);
|
orderInfoMapper.insert(returnOrder);
|
||||||
|
|
||||||
|
updateStockAndRecord(detailList);
|
||||||
|
|
||||||
return returnOrder;
|
return returnOrder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateStockAndRecord(List<TbOrderDetail> orderDetailList) {
|
||||||
|
// 更新商品库存
|
||||||
|
for (TbOrderDetail detail : orderDetailList) {
|
||||||
|
TbProductSku productSku = producSkutMapper.selectById(detail.getProductSkuId());
|
||||||
|
TbProduct product = productMapper.selectById(detail.getProductId());
|
||||||
|
|
||||||
|
TbProductStockDetail tbProductStockDetail = new TbProductStockDetail();
|
||||||
|
tbProductStockDetail.setCreatedAt(System.currentTimeMillis());
|
||||||
|
tbProductStockDetail.setUpdatedAt(System.currentTimeMillis());
|
||||||
|
tbProductStockDetail.setShopId(detail.getShopId().toString());
|
||||||
|
tbProductStockDetail.setSourcePath("NORMAL");
|
||||||
|
tbProductStockDetail.setType("退单");
|
||||||
|
tbProductStockDetail.setSubType(1);
|
||||||
|
tbProductStockDetail.setRemark("退单: " + detail.getOrderId());
|
||||||
|
tbProductStockDetail.setOrderId(String.valueOf(detail.getOrderId()));
|
||||||
|
|
||||||
|
if (ObjectUtil.isNotEmpty(product)) {
|
||||||
|
TbShopUnit shopUnit = mpShopUnitMapper.selectById(product.getUnitId());
|
||||||
|
tbProductStockDetail.setProductName(product.getName());
|
||||||
|
tbProductStockDetail.setIsStock(product.getIsStock());
|
||||||
|
tbProductStockDetail.setStockSnap(product.getSelectSpec());
|
||||||
|
tbProductStockDetail.setUnitName(shopUnit.getName());
|
||||||
|
tbProductStockDetail.setProductId(product.getId().toString());
|
||||||
|
|
||||||
|
productMapper.incrStock(product.getId(), detail.getNum());
|
||||||
|
tbProductStockDetail.setLeftNumber(product.getStockNumber());
|
||||||
|
tbProductStockDetail.setStockNumber(Double.valueOf(detail.getNum()));
|
||||||
|
|
||||||
|
producSkutMapper.decrRealSalesNumber(productSku.getId(), detail.getNum());
|
||||||
|
}
|
||||||
|
|
||||||
|
mpProductStockDetailMapper.insert(tbProductStockDetail);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object returnOrder(ReturnOrderDTO returnOrderDTO) {
|
public Object returnOrder(ReturnOrderDTO returnOrderDTO) {
|
||||||
|
|
@ -1970,118 +2026,25 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
}
|
}
|
||||||
|
|
||||||
TbOrderInfo returnOrderInfo = updateReturnOrderInfo(returnOrderDTO, orderInfo, true);
|
TbOrderInfo returnOrderInfo = updateReturnOrderInfo(returnOrderDTO, orderInfo, true);
|
||||||
|
|
||||||
String merchantId = orderInfo.getMerchantId();
|
|
||||||
String shopId = orderInfo.getShopId();
|
String shopId = orderInfo.getShopId();
|
||||||
String day = DateUtils.getDay();
|
|
||||||
String masterId = orderInfo.getMasterId();
|
|
||||||
String payType = orderInfo.getPayType();
|
String payType = orderInfo.getPayType();
|
||||||
BigDecimal orderAmount = orderInfo.getPayAmount();
|
|
||||||
|
|
||||||
|
|
||||||
BigDecimal returnAmount = BigDecimal.ZERO;
|
|
||||||
BigDecimal packAMount = BigDecimal.ZERO;
|
|
||||||
BigDecimal saleAmount = BigDecimal.ZERO;
|
|
||||||
BigDecimal feeAmount = BigDecimal.ZERO;
|
|
||||||
BigDecimal payAmount = BigDecimal.ZERO;
|
|
||||||
|
|
||||||
// // 线上退款
|
// // 线上退款
|
||||||
// if ("scanCode".equals(payType) || "wx_lite".equals(payType)) {
|
if ("scanCode".equals(payType) || "wx_lite".equals(payType)) {
|
||||||
// payService.returnOrder(Integer.valueOf(shopId), orderInfo, returnOrderInfo);
|
payService.returnOrder(Integer.valueOf(shopId), orderInfo, returnOrderInfo);
|
||||||
//
|
// 储值卡支付退款
|
||||||
// // 储值卡支付退款
|
} else if ("deposit".equals(payType)) {
|
||||||
// } else if ("deposit".equals(payType)) {
|
orderInfoService.depositReturn(Integer.valueOf(orderInfo.getUserId()), Integer.valueOf(orderInfo.getShopId()), returnOrderInfo.getRefundAmount());
|
||||||
// orderInfoService.depositReturn();
|
}
|
||||||
//
|
|
||||||
//
|
// 打印退款小票
|
||||||
// }
|
|
||||||
// //添加退单数据
|
|
||||||
//
|
|
||||||
// //更新子单表
|
|
||||||
// if (ObjectUtil.isNotEmpty(detailPos) && detailPos.size() > 0) {
|
|
||||||
// tbOrderDetailMapper.updateBatchOrderDetail(detailPos);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// //添加子表信息
|
|
||||||
// if (ObjectUtil.isNotEmpty(returnDetail) && returnDetail.size() > 0) {
|
|
||||||
// tbOrderDetailMapper.batchInsert(returnDetail, newOrderInfo.getId().toString());
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// JSONObject jsonObject = new JSONObject();
|
|
||||||
// jsonObject.put("token", token);
|
|
||||||
// jsonObject.put("type", "return");
|
|
||||||
// jsonObject.put("orderId", 0);
|
|
||||||
// jsonObject.put("amount", newOrderInfo.getPayAmount());
|
|
||||||
//// jsonObject.put("data",new ReturnWTZInfo(orderId+"",newOrderInfo.getPayAmount(),details));
|
|
||||||
// producer.putOrderCollect(jsonObject.toJSONString());
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// producer.printMechine(newOrderInfo.getId().toString());
|
// producer.printMechine(newOrderInfo.getId().toString());
|
||||||
//
|
|
||||||
//
|
//修改耗材数据
|
||||||
// //修改耗材数据
|
JSONObject jsonObject1 = new JSONObject();
|
||||||
// JSONObject jsonObject1 = new JSONObject();
|
jsonObject1.put("orderId", returnOrderInfo.getId());
|
||||||
// jsonObject1.put("orderId", newOrderInfo.getId());
|
jsonObject1.put("type", "delete");
|
||||||
// jsonObject1.put("type", "delete");
|
rabbitMsgUtils.updateCons(jsonObject1);
|
||||||
// producer.cons(jsonObject1.toString());
|
return true;
|
||||||
//
|
|
||||||
// // 更新商品库存
|
|
||||||
// for (TbOrderDetail detail : returnDetail) {
|
|
||||||
// detail = tbOrderDetailMapper.selectByPrimaryKey(detail.getId());
|
|
||||||
//
|
|
||||||
// TbProductSku productSku = productSkuMapper.selectByPrimaryKey(detail.getProductSkuId());
|
|
||||||
// TbProductWithBLOBs product = productMapper.selectByPrimaryKey(detail.getProductId());
|
|
||||||
//
|
|
||||||
// TbProductStockDetail tbProductStockDetail = new TbProductStockDetail();
|
|
||||||
// tbProductStockDetail.setCreatedAt(System.currentTimeMillis());
|
|
||||||
// tbProductStockDetail.setUpdatedAt(System.currentTimeMillis());
|
|
||||||
// tbProductStockDetail.setShopId(detail.getShopId().toString());
|
|
||||||
// tbProductStockDetail.setSourcePath("NORMAL");
|
|
||||||
// tbProductStockDetail.setType("退单");
|
|
||||||
// tbProductStockDetail.setSubType((byte) 1);
|
|
||||||
// tbProductStockDetail.setRemark("退单: " + detail.getOrderId());
|
|
||||||
// tbProductStockDetail.setOrderId(String.valueOf(detail.getOrderId()));
|
|
||||||
//
|
|
||||||
// if (ObjectUtil.isNotEmpty(product)) {
|
|
||||||
// TbShopUnit shopUnit = shopUnitMapper.selectByPrimaryKey(Integer.valueOf(product.getUnitId()));
|
|
||||||
//
|
|
||||||
// tbProductStockDetail.setProductName(product.getName());
|
|
||||||
// tbProductStockDetail.setIsStock(product.getIsStock());
|
|
||||||
// tbProductStockDetail.setStockSnap(product.getSelectSpec());
|
|
||||||
// tbProductStockDetail.setUnitName(shopUnit.getName());
|
|
||||||
// tbProductStockDetail.setProductId(product.getId().toString());
|
|
||||||
//
|
|
||||||
// if (product.getIsDistribute() == 1) {
|
|
||||||
//// redisUtil.seckill(RedisCst.PRODUCT + shopId.toString() + ":product" + product.getId().toString(), String.valueOf(detail.getReturnNum() + product.getStockNumber().intValue()));
|
|
||||||
// productMapper.updateStockById(product.getId(), detail.getReturnNum() * -1);
|
|
||||||
//
|
|
||||||
// tbProductStockDetail.setLeftNumber(product.getStockNumber());
|
|
||||||
// tbProductStockDetail.setStockNumber(Double.valueOf(detail.getReturnNum()));
|
|
||||||
// } else {
|
|
||||||
// if (ObjectUtil.isNotEmpty(productSku)) {
|
|
||||||
//// redisUtil.seckill(RedisCst.PRODUCT + shopId.toString() + ":" + productSku.getId().toString(), String.valueOf(detail.getReturnNum() + productSku.getStockNumber().intValue()));
|
|
||||||
// productSkuMapper.updateByskuIdSub(productSku.getId(), detail.getReturnNum() * -1);
|
|
||||||
//
|
|
||||||
// tbProductStockDetail.setSkuId(productSku.getId().toString());
|
|
||||||
// tbProductStockDetail.setLeftNumber(productSku.getStockNumber().intValue());
|
|
||||||
// tbProductStockDetail.setStockNumber(Double.valueOf(detail.getReturnNum()));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// productSkuMapper.decrRealSalesNumber(productSku.getId(), detail.getReturnNum());
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// productStockDetailMapper.insert(tbProductStockDetail);
|
|
||||||
// }
|
|
||||||
// redisUtil.del("SHOP:CODE:USER:" + "pc" + ":" + orderInfo.getShopId() + ":" + DateUtils.getDay() + TokenUtil.parseParamFromToken(token).getString("accountId"));
|
|
||||||
//
|
|
||||||
// // 修改台桌状态
|
|
||||||
// mpShopTableMapper.update(null, new LambdaUpdateWrapper<TbShopTable>()
|
|
||||||
// .eq(TbShopTable::getQrcode, orderInfo.getTableId())
|
|
||||||
// .set(TbShopTable::getStatus, TableStateEnum.IDLE.getState()));
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// return Result.success(CodeEnum.SUCCESS);
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -79,4 +79,13 @@ public class RabbitMsgUtils implements RabbitTemplate.ConfirmCallback {
|
||||||
printDTO.setShopId(shopId);
|
printDTO.setShopId(shopId);
|
||||||
sendMsg(RabbitConstants.EXCHANGE_PRINT, RabbitConstants.ROUTING_KEY_CALL_TABLE, printDTO, "排号小票打印", true);
|
sendMsg(RabbitConstants.EXCHANGE_PRINT, RabbitConstants.ROUTING_KEY_CALL_TABLE, printDTO, "排号小票打印", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void addBalanceRecord(JSONObject baObj) {
|
||||||
|
sendMsg(RabbitConstants.EXCHANGE_BALANCE, RabbitConstants.ROUTING_KEY_BALANCE, baObj, "储值卡记录", true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateCons(JSONObject jsonObject1) {
|
||||||
|
sendMsg(RabbitConstants.EXCHANGE_CONS, RabbitConstants.ROUTING_KEY_CONS, jsonObject1, "储值卡记录", true);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue