Merge remote-tracking branch 'origin/test' into test
This commit is contained in:
commit
844156341c
|
|
@ -48,9 +48,6 @@ public class TbConsInfo implements Serializable {
|
|||
@ApiModelProperty(value = "库存值")
|
||||
private BigDecimal stockNumber;
|
||||
|
||||
@Column(name = "`balance`")
|
||||
@ApiModelProperty(value = "实际库存值")
|
||||
private BigDecimal balance;
|
||||
|
||||
@Column(name = "`con_unit`")
|
||||
@ApiModelProperty(value = "单位值")
|
||||
|
|
@ -105,7 +102,4 @@ public class TbConsInfo implements Serializable {
|
|||
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
|
||||
}
|
||||
|
||||
public static void main(String[] args){
|
||||
System.out.println(JSONUtil.toJSONString(new TbConsInfo()));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,106 @@
|
|||
package cn.ysk.cashier.cons.domain;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.bean.copier.CopyOptions;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author admin
|
||||
* @date 2024-06-22
|
||||
**/
|
||||
@Entity
|
||||
@Data
|
||||
@Table(name="tb_cons_info")
|
||||
public class TbConsInfoV2 implements Serializable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "`id`")
|
||||
@ApiModelProperty(value = "id")
|
||||
private Integer id;
|
||||
|
||||
@Column(name = "`con_type_id`")
|
||||
@ApiModelProperty(value = "耗材类型id")
|
||||
private Integer conTypeId;
|
||||
|
||||
@Column(name = "`con_type_name`")
|
||||
@ApiModelProperty(value = "耗材类型名称")
|
||||
private String conTypeName;
|
||||
|
||||
@Column(name = "`con_code`")
|
||||
@ApiModelProperty(value = "耗材代码")
|
||||
private String conCode;
|
||||
|
||||
@Column(name = "`con_name`")
|
||||
@ApiModelProperty(value = "耗材名称")
|
||||
private String conName;
|
||||
|
||||
@Column(name = "`stock_number`")
|
||||
@ApiModelProperty(value = "库存值")
|
||||
private BigDecimal stockNumber;
|
||||
|
||||
// @Column(name = "`balance`")
|
||||
@ApiModelProperty(value = "实际库存值")
|
||||
private BigDecimal balance;
|
||||
|
||||
@Column(name = "`con_unit`")
|
||||
@ApiModelProperty(value = "单位值")
|
||||
private String conUnit;
|
||||
|
||||
|
||||
@Column(name = "`laster_in_stock`")
|
||||
@ApiModelProperty(value = "最近一次入库量")
|
||||
private BigDecimal lasterInStock;
|
||||
|
||||
@Column(name = "`con_warning`")
|
||||
@ApiModelProperty(value = "耗材预警值")
|
||||
private BigDecimal conWarning;
|
||||
|
||||
@Column(name = "`create_time`")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Timestamp createTime;
|
||||
|
||||
@Column(name = "`update_time`")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private Timestamp updateTime;
|
||||
|
||||
@Column(name = "`shop_id`")
|
||||
@ApiModelProperty(value = "店铺id")
|
||||
private Integer shopId;
|
||||
|
||||
|
||||
@Column(name = "`price`")
|
||||
@ApiModelProperty(value = "单价")
|
||||
private BigDecimal price;
|
||||
|
||||
|
||||
@Column(name = "`status`")
|
||||
@ApiModelProperty(value = "状态 1 启用 0 禁用")
|
||||
private String status;
|
||||
|
||||
|
||||
@Column(name = "`stock_consume`")
|
||||
@ApiModelProperty(value = "消耗总量")
|
||||
private BigDecimal stockConsume;
|
||||
|
||||
|
||||
|
||||
@Column(name = "`is_check`")
|
||||
@ApiModelProperty(value = "是否检测库存")
|
||||
private String isCheck;
|
||||
|
||||
@Transient
|
||||
private List<Map<Integer, Object>> product;
|
||||
|
||||
public void copy(TbConsInfoV2 source){
|
||||
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
package cn.ysk.cashier.cons.repository;
|
||||
|
||||
import cn.ysk.cashier.cons.domain.TbConsInfoV2;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
|
||||
public interface TbConsInfoV2Repository extends JpaRepository<TbConsInfoV2, Integer>, JpaSpecificationExecutor<TbConsInfoV2> {
|
||||
|
||||
}
|
||||
|
|
@ -4,10 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
|
|||
import cn.hutool.core.bean.copier.CopyOptions;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.ysk.cashier.cons.domain.*;
|
||||
import cn.ysk.cashier.cons.repository.TbConsInfoFlowRepository;
|
||||
import cn.ysk.cashier.cons.repository.TbConsInfoRepository;
|
||||
import cn.ysk.cashier.cons.repository.TbConsSuppFlowRepository;
|
||||
import cn.ysk.cashier.cons.repository.TbConsTypeRepository;
|
||||
import cn.ysk.cashier.cons.repository.*;
|
||||
import cn.ysk.cashier.cons.service.TbConsInfoService;
|
||||
import cn.ysk.cashier.cons.service.dto.TbConsInfoDto;
|
||||
import cn.ysk.cashier.cons.service.dto.TbConsInfoQueryCriteria;
|
||||
|
|
@ -57,6 +54,7 @@ public class TbConsInfoServiceImpl implements TbConsInfoService {
|
|||
public final TbConsInfoFlowRepository tbConsInfoFlowRepository;
|
||||
public final TbConsSuppFlowRepository tbConsSuppFlowRepository;
|
||||
private final TbConsInfoRepository tbConsInfoRepository;
|
||||
private final TbConsInfoV2Repository tbConsInfoV2Repository;
|
||||
private final TbConsInfoMapper tbConsInfoMapper;
|
||||
private final TbShopPurveyorRepository tbShopPurveyorRepository;
|
||||
|
||||
|
|
@ -86,13 +84,12 @@ public class TbConsInfoServiceImpl implements TbConsInfoService {
|
|||
sort = Sort.by(sortDirection, sortField);
|
||||
}
|
||||
Pageable pageable = PageRequest.of(criteria.getPage(), criteria.getSize(), sort);
|
||||
Page<TbConsInfo> page = tbConsInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable);
|
||||
Page<TbConsInfoDto> result = page.map(tbConsInfoMapper::toDto);
|
||||
result.getContent().forEach(it -> {
|
||||
Page<TbConsInfoV2> page = tbConsInfoV2Repository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable);
|
||||
page.getContent().forEach(it -> {
|
||||
List<Map<Integer, Object>> list = tbConsInfoRepository.queryAllAndPro(criteria.getShopId(), it.getId());
|
||||
it.setProduct(list);
|
||||
});
|
||||
return PageUtil.toPage(result);
|
||||
return PageUtil.toPage(page);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -155,7 +152,6 @@ public class TbConsInfoServiceImpl implements TbConsInfoService {
|
|||
}
|
||||
BeanUtil.copyProperties(resource,tbConsInfo, CopyOptions.create().setIgnoreNullValue(true));
|
||||
tbConsInfo.setUpdateTime(new Timestamp(System.currentTimeMillis()));
|
||||
|
||||
tbConsInfoRepository.save(tbConsInfo);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package cn.ysk.cashier.controller.product;
|
|||
|
||||
import cn.ysk.cashier.annotation.AnonymousAccess;
|
||||
import cn.ysk.cashier.annotation.Log;
|
||||
import cn.ysk.cashier.config.security.security.TokenProvider;
|
||||
import cn.ysk.cashier.dto.shoptable.*;
|
||||
import cn.ysk.cashier.pojo.order.TbCashierCart;
|
||||
import cn.ysk.cashier.service.product.TbProductService;
|
||||
|
|
@ -13,6 +14,8 @@ import org.springframework.http.ResponseEntity;
|
|||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.validation.Valid;
|
||||
|
||||
@RestController
|
||||
|
|
@ -21,6 +24,8 @@ public class TbPlaceController {
|
|||
private final TbShopTableService tbShopTableService;
|
||||
private final TbProductService tbProductService;
|
||||
private final RabbitMsgUtils rabbitMsgUtils;
|
||||
@Resource
|
||||
private TokenProvider tokenProvider;
|
||||
|
||||
@GetMapping("/activate")
|
||||
@ApiOperation("查询/product")
|
||||
|
|
@ -138,7 +143,9 @@ public class TbPlaceController {
|
|||
|
||||
@PutMapping("/pay")
|
||||
@ApiOperation("代客下单 支付订单")
|
||||
public ResponseEntity<Object> pay(@Validated @RequestBody PayDTO payDTO) {
|
||||
public ResponseEntity<Object> pay(HttpServletRequest request, @Validated @RequestBody PayDTO payDTO) {
|
||||
String token = tokenProvider.getToken(request);
|
||||
payDTO.setToken(token);
|
||||
return ResponseEntity.ok(tbShopTableService.pay(payDTO));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -20,4 +20,6 @@ public class PayDTO {
|
|||
private Double discount;
|
||||
private Integer vipUserId;
|
||||
private String code;
|
||||
|
||||
private String token;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,10 +9,12 @@ import cn.hutool.core.util.StrUtil;
|
|||
import cn.ysk.cashier.config.security.security.TokenProvider;
|
||||
import cn.ysk.cashier.cons.RedisConstant;
|
||||
import cn.ysk.cashier.cons.rabbit.RabbitConstants;
|
||||
import cn.ysk.cashier.dto.shop.TbShopTableDto;
|
||||
import cn.ysk.cashier.dto.shop.TbShopTableQueryCriteria;
|
||||
import cn.ysk.cashier.dto.shoptable.*;
|
||||
import cn.ysk.cashier.enums.*;
|
||||
import cn.ysk.cashier.exception.BadRequestException;
|
||||
import cn.ysk.cashier.mybatis.entity.TbShopUserFlow;
|
||||
import cn.ysk.cashier.mapper.shop.TbShopTableMapper;
|
||||
import cn.ysk.cashier.mybatis.mapper.*;
|
||||
import cn.ysk.cashier.mybatis.service.MpCashierCartService;
|
||||
import cn.ysk.cashier.mybatis.service.MpOrderDetailService;
|
||||
|
|
@ -29,9 +31,11 @@ import cn.ysk.cashier.repository.TbShopPayTypeRepository;
|
|||
import cn.ysk.cashier.repository.order.TbCashierCartRepository;
|
||||
import cn.ysk.cashier.repository.product.TbProductSkuRepository;
|
||||
import cn.ysk.cashier.repository.shop.TbShopInfoRepository;
|
||||
import cn.ysk.cashier.repository.shop.TbShopTableRepository;
|
||||
import cn.ysk.cashier.service.PayService;
|
||||
import cn.ysk.cashier.service.impl.TbPayServiceImpl;
|
||||
import cn.ysk.cashier.service.order.TbOrderInfoService;
|
||||
import cn.ysk.cashier.service.shop.TbShopTableService;
|
||||
import cn.ysk.cashier.utils.*;
|
||||
import cn.ysk.cashier.vo.PendingCountVO;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
|
@ -39,32 +43,27 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.dianguang.cloud.ossservice.model.DateUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import cn.ysk.cashier.repository.shop.TbShopTableRepository;
|
||||
import cn.ysk.cashier.service.shop.TbShopTableService;
|
||||
import cn.ysk.cashier.dto.shop.TbShopTableDto;
|
||||
import cn.ysk.cashier.dto.shop.TbShopTableQueryCriteria;
|
||||
import cn.ysk.cashier.mapper.shop.TbShopTableMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.amqp.rabbit.connection.CorrelationData;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.Instant;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* @author lyf
|
||||
|
|
@ -1603,10 +1602,10 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
|||
.set(TbOrderDetail::getStatus, "closed"));
|
||||
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("token", null);
|
||||
jsonObject.put("token", payDTO.getToken());
|
||||
jsonObject.put("type", "create");
|
||||
jsonObject.put("orderId", orderInfo.getId());
|
||||
rabbitMsgUtils.sendOrderCollectMsg(jsonObject);
|
||||
rabbitMsgUtils.sendOrderCollectMsg(jsonObject,3);
|
||||
|
||||
// 打印消息
|
||||
if (!shopEatTypeInfoDTO.isDineInAfter()) {
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public class RabbitMsgUtils implements RabbitTemplate.ConfirmCallback {
|
|||
}
|
||||
}
|
||||
|
||||
private <T> void sendMsg(String exchange, String routingKey, T data, String note, boolean isJson, Integer waitTime) {
|
||||
private <T> void sendMsg(String exchange, String routingKey, T data, String note, boolean isJson, Integer waitTime) {
|
||||
ThreadUtil.execAsync(() -> {
|
||||
if (waitTime != null) {
|
||||
ThreadUtil.sleep(waitTime, TimeUnit.SECONDS);
|
||||
|
|
@ -47,7 +47,11 @@ public class RabbitMsgUtils implements RabbitTemplate.ConfirmCallback {
|
|||
sendMsg(RabbitConstants.CART_ORDER_COLLECT_PUT, RabbitConstants.CART_ORDER_COLLECT_ROUTINGKEY_PUT, data, "订单信息收集", true, null);
|
||||
}
|
||||
|
||||
public void printTicket(String orderId){
|
||||
public <T> void sendOrderCollectMsg(T data, int waitTime) {
|
||||
sendMsg(RabbitConstants.CART_ORDER_COLLECT_PUT, RabbitConstants.CART_ORDER_COLLECT_ROUTINGKEY_PUT, data, "订单信息收集", true, waitTime);
|
||||
}
|
||||
|
||||
public void printTicket(String orderId) {
|
||||
sendMsg(RabbitConstants.PRINT_MECHINE_COLLECT_PUT, RabbitConstants.PRINT_MECHINE_COLLECT_ROUTINGKEY_PUT, orderId, "打印票", false, null);
|
||||
}
|
||||
|
||||
|
|
@ -91,7 +95,7 @@ public class RabbitMsgUtils implements RabbitTemplate.ConfirmCallback {
|
|||
printDTO.setCurrentUserId(SecurityUtils.getCurrentUserId());
|
||||
printDTO.setCurrentUserName(SecurityUtils.getCurrentUsername());
|
||||
printDTO.setCurrentUserNickName(SecurityUtils.getCurrentUserNickName());
|
||||
}catch (Exception e){
|
||||
} catch (Exception e) {
|
||||
log.error("获取当前用户信息失败", e);
|
||||
}
|
||||
sendMsg(RabbitConstants.EXCHANGE_PRINT, RabbitConstants.ROUTING_KEY_CALL_TABLE, printDTO, "排号小票打印", true, null);
|
||||
|
|
@ -106,12 +110,12 @@ public class RabbitMsgUtils implements RabbitTemplate.ConfirmCallback {
|
|||
|
||||
}
|
||||
|
||||
public void buildCurrentUserInfo(JSONObject jsonObject){
|
||||
public void buildCurrentUserInfo(JSONObject jsonObject) {
|
||||
try {
|
||||
jsonObject.put("currentUserId", SecurityUtils.getCurrentUserId());
|
||||
jsonObject.put("currentUserName", SecurityUtils.getCurrentUsername());
|
||||
jsonObject.put("currentUserNickName", SecurityUtils.getCurrentUserNickName());
|
||||
}catch (Exception e){
|
||||
} catch (Exception e) {
|
||||
log.error("获取当前用户信息失败", e);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue