diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/RedisConstant.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/RedisConstant.java index 42d0a782..7ce69f61 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/RedisConstant.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/RedisConstant.java @@ -27,6 +27,8 @@ public interface RedisConstant { // 选择人数锁 String CHOSE_TABLE_COUNT = "CHOSE_TABLE_COUNT"; + String MASTER_ID = "SHOP:CODE:USER:pc:"; + static String getCurrentOrderKey(String tableId, String shopId) { return CURRENT_TABLE_ORDER + shopId + ":" + tableId; } @@ -48,4 +50,8 @@ public interface RedisConstant { static String getTableCallNumKey(Integer shopId, Integer callTableId) { return TABLE_CALL_NUMBER + shopId + ":" + callTableId; } + + static String getMasterIdKey(Integer shopId, String day, String tableId) { + return MASTER_ID + shopId + ":" + day + ":" + tableId; + } } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/TableConstant.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/TableConstant.java index 5479fe20..f9ea2835 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/TableConstant.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/TableConstant.java @@ -1,6 +1,38 @@ package cn.ysk.cashier.cons; +import lombok.Getter; + public interface TableConstant { String CART_SEAT_ID = "-999"; + + class OrderInfo { + @Getter + public enum Status { + REFUNDING("refunding"), REFUND("refund"), CLOSED("closed"), CREATE("create"), + UNPAID("unpaid"), PAYING("paying"), RETURN("return"); + private final String value; + + Status(String value) { + this.value = value; + } + } + + @Getter + public enum UseType { + TAKEOUT("takeout"), + NONE_TABLE("dine-in"), + DINE_IN_AFTER("dine-in-after"), + DINE_IN_BEFORE("dine-in-before"); + private final String value; + + UseType(String value) { + this.value = value; + } + + public boolean equalsVals(String value) { + return this.value.equals(value); + } + } + } } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbUserInfoController.java b/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbUserInfoController.java new file mode 100644 index 00000000..287817de --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbUserInfoController.java @@ -0,0 +1,127 @@ +package cn.ysk.cashier.controller; + +import cn.ysk.cashier.exception.BadRequestException; +import cn.ysk.cashier.pojo.shop.TbMerchantAccount; +import cn.ysk.cashier.repository.shop.TbMerchantAccountRepository; +import cn.ysk.cashier.utils.MD5Utils; +import cn.ysk.cashier.utils.RedisUtils; +import cn.ysk.cashier.utils.StringUtil; +import cn.ysk.cashier.utils.ValidateCodeUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; +import java.util.Objects; + +/** + * @website https://eladmin.vip + * @author lyf + * @date 2023-11-13 + **/ +@RestController +@RequiredArgsConstructor +@Api(tags = "/userInfo/list管理") +@RequestMapping("/api/tbUserInfo") +public class TbUserInfoController { + + @Autowired + ValidateCodeUtil validateCodeUtil; + + @Autowired + RedisUtils redisUtils; + + @GetMapping("sendMsg") + public Object sendMsg(){ + Object o= SecurityContextHolder.getContext().getAuthentication().getPrincipal(); + if(Objects.isNull(o)){ + throw new BadRequestException("用户登录信息失效"); + } + JSONObject object=JSON.parseObject(JSON.toJSONString(o)); + if(Objects.isNull(object)){ + throw new BadRequestException("用户登录信息失效"); + } + String regex="^\\d{11}$"; + + if(!object.containsKey("username")||Objects.isNull(object.getString("username"))|| + !object.getString("username").matches(regex) + ){ + throw new BadRequestException("用户登录信息失效"); + } + String phone=object.getString("username"); + + String tempcode="SMS_244665149"; + + String random = StringUtil.random(6); + try { + validateCodeUtil.requestValidateCodeAli(phone, random,tempcode); + redisUtils.set(phone.concat("#").concat(tempcode),random,300L); + return "{\n" + + " \"code\": 0,\n" + + " \"msg\": \"成功\"\n" + + "}"; + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + + } + + + @Autowired + TbMerchantAccountRepository tbMerchantAccountRepository; + + + @RequestMapping(value = "modfiyUserInfo",method = RequestMethod.POST) + public ResponseEntity modfiyUserInfo(@RequestBody Map map){ + Object o= SecurityContextHolder.getContext().getAuthentication().getPrincipal(); + if(Objects.isNull(o)){ + throw new BadRequestException("用户登录信息失效"); + } + JSONObject object=JSON.parseObject(JSON.toJSONString(o)); + if(Objects.isNull(object)){ + throw new BadRequestException("用户登录信息失效"); + } + String regex="^\\d{11}$"; + + if(!object.containsKey("username")||Objects.isNull(object.getString("username"))|| + !object.getString("username").matches(regex) + ){ + throw new BadRequestException("用户登录信息失效"); + } + + String tempcode="SMS_244665149"; + String phone=object.getString("username"); + Object redisCode= redisUtils.get(phone.concat("#").concat(tempcode)); + if(Objects.isNull(redisCode)){ + throw new BadRequestException("短信验证码已过期"); + } + + + String code= map.get("code"); + + if(!redisCode.toString().equals(code)){ + throw new BadRequestException("短信验证码错误"); + } + redisUtils.del(phone.concat("#").concat(tempcode)); + String pwd= map.get("pwd"); + + TbMerchantAccount account= tbMerchantAccountRepository.findByAccount(phone); + if(Objects.isNull(account)){ + throw new BadRequestException("账户不存在"); + } + + account.setPwd(MD5Utils.md5(pwd.concat(account.getAccount()).concat(account.getId().toString()))); + account.setUpdatedAt(System.currentTimeMillis()); + tbMerchantAccountRepository.save(account); + + + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + + } +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/controller/product/TbPlaceController.java b/eladmin-system/src/main/java/cn/ysk/cashier/controller/product/TbPlaceController.java index 803689f2..0103d389 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/controller/product/TbPlaceController.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/controller/product/TbPlaceController.java @@ -1,10 +1,12 @@ package cn.ysk.cashier.controller.product; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; 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.exception.BadRequestException; import cn.ysk.cashier.mybatis.mapper.TbMerchantAccountMapper; import cn.ysk.cashier.pojo.TbToken; import cn.ysk.cashier.pojo.order.TbCashierCart; @@ -199,6 +201,13 @@ public class TbPlaceController { @ApiOperation("代客下单 选择用餐人数") public ResponseEntity choseCount(@Validated @RequestBody ChoseCountDTO choseCountDTO) { + if (StrUtil.isBlank(choseCountDTO.getTableId())) { + return ResponseEntity.ok(null); + } + + if (StrUtil.isNotBlank(choseCountDTO.getTableId()) && choseCountDTO.getNum() == null) { + throw new BadRequestException("人数不为空"); + } return ResponseEntity.ok(tbShopTableService.choseCount(choseCountDTO)); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopTableController.java b/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopTableController.java index 1178d57d..f7cc3f12 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopTableController.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopTableController.java @@ -53,8 +53,8 @@ public class TbShopTableController { @GetMapping @ApiOperation("查询/shop/table") - public ResponseEntity queryTbShopTable(TbShopTableQueryCriteria criteria){ - return new ResponseEntity<>(tbShopTableService.queryAllNoPage(criteria),HttpStatus.OK); + public ResponseEntity queryTbShopTable(@Validated TbShopTableQueryCriteria criteria){ + return new ResponseEntity<>(tbShopTableService.queryAllPage(criteria),HttpStatus.OK); } @PostMapping diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/order/TbOrderInfoDto.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/order/TbOrderInfoDto.java index 5b596b59..e1e0a765 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/order/TbOrderInfoDto.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/order/TbOrderInfoDto.java @@ -16,6 +16,7 @@ package cn.ysk.cashier.dto.order; import cn.ysk.cashier.pojo.order.TbCashierCart; +import cn.ysk.cashier.pojo.order.TbFullOrderDetail; import cn.ysk.cashier.pojo.order.TbOrderDetail; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -159,7 +160,7 @@ public class TbOrderInfoDto implements Serializable { private String remark; - private List detailList; + private List detailList; private String payRemark; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbShopTableQueryCriteria.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbShopTableQueryCriteria.java index 2b3de201..72099d7d 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbShopTableQueryCriteria.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbShopTableQueryCriteria.java @@ -15,9 +15,12 @@ */ package cn.ysk.cashier.dto.shop; +import cn.ysk.cashier.enums.TableStateEnum; import lombok.Data; import cn.ysk.cashier.annotation.Query; +import javax.validation.constraints.NotNull; + /** * @website https://eladmin.vip * @author lyf @@ -32,6 +35,7 @@ public class TbShopTableQueryCriteria{ /** 精确 */ @Query + @NotNull private Integer shopId; @Query @@ -39,4 +43,8 @@ public class TbShopTableQueryCriteria{ @Query private Long qrcode; + private String state; + + private Integer page = 1; + private Integer size = 99999; } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ChoseCountDTO.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ChoseCountDTO.java index ae1ad2f9..14b9416c 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ChoseCountDTO.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ChoseCountDTO.java @@ -12,9 +12,7 @@ public class ChoseCountDTO { private String masterId; @NotNull private Integer shopId; - @NotEmpty private String tableId; - @NotNull @Min(1) private Integer num; @NotEmpty diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ChoseTableDTO.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ChoseTableDTO.java index d96950cf..fb5ba9ec 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ChoseTableDTO.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ChoseTableDTO.java @@ -12,5 +12,7 @@ public class ChoseTableDTO { private String masterId; @NotBlank private String tableId; + @NotNull + private Boolean isClear; } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ShopEatTypeInfoDTO.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ShopEatTypeInfoDTO.java index 6926a8aa..a472da78 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ShopEatTypeInfoDTO.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ShopEatTypeInfoDTO.java @@ -19,6 +19,8 @@ public class ShopEatTypeInfoDTO { private boolean needSeatFee; // 是否无桌台下单 private boolean isNoneTable; + // 是否增加masterId + private boolean isIncrMaterId; private TbShopInfo shopInfo; private String useType; private Object shopId; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbOrderDetailMapper.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbOrderDetailMapper.java index 7158bce5..415eb6ce 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbOrderDetailMapper.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbOrderDetailMapper.java @@ -1,9 +1,13 @@ package cn.ysk.cashier.mybatis.mapper; +import cn.ysk.cashier.pojo.order.TbFullOrderDetail; import cn.ysk.cashier.pojo.order.TbOrderDetail; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; +import java.util.List; + public interface TbOrderDetailMapper extends BaseMapper { /** @@ -16,4 +20,11 @@ public interface TbOrderDetailMapper extends BaseMapper { @Update("update tb_order_detail set status=#{status}, price_amount=(num+#{changeNum})*price,num=num+#{changeNum} " + "where id=#{id}") int updateNumAmountStatus(Integer id, String status, int changeNum); + + /** + * 查询包含打包费和是否赠送的订单详情信息 + * @param orderId 订单id + */ + @Select("select a.*, b.is_gift, b.is_pack from tb_order_detail as a left join tb_cashier_cart as b on a.cart_id=b.id where a.order_id=#{orderId}") + List selectFullInfoByOrderId(Integer orderId); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/MpCashierCartService.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/MpCashierCartService.java index 664c4391..daf32c47 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/MpCashierCartService.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/MpCashierCartService.java @@ -2,7 +2,6 @@ package cn.ysk.cashier.mybatis.service; import cn.ysk.cashier.enums.OrderStatusEnums; import cn.ysk.cashier.pojo.order.TbCashierCart; -import cn.ysk.cashier.pojo.order.TbOrderDetail; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; @@ -23,6 +22,14 @@ public interface MpCashierCartService extends IService { */ List selectTakeoutCart(String masterId, Integer shopId); + /** + * 查询无台桌购物车商品 + * @param masterId 取餐码 + * @param shopId 店铺did + */ + List selectUnTableCart(String masterId, Integer shopId); + + /** * 统计当前台桌购物车数量 * @param shopId 店铺id @@ -31,5 +38,15 @@ public interface MpCashierCartService extends IService { * @return 购物车数量 */ long countByTableId(Integer shopId, String tableId, OrderStatusEnums... statusEnums); + + /** + * 根据tableIdId和用餐类型清空购物车 + * + * @param tableId 台桌id + * @param useType 用餐类型 + * @param shopId 店铺id + */ + boolean clearCartByTableIdAndUseType(String tableId, String useType, Integer shopId); + } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/MpOrderDetailService.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/MpOrderDetailService.java index 23d352fa..8d766da5 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/MpOrderDetailService.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/MpOrderDetailService.java @@ -2,6 +2,7 @@ package cn.ysk.cashier.mybatis.service; import cn.ysk.cashier.dto.shoptable.ReturnOrderDTO; import cn.ysk.cashier.enums.OrderStatusEnums; +import cn.ysk.cashier.pojo.order.TbFullOrderDetail; import cn.ysk.cashier.pojo.order.TbOrderDetail; import com.baomidou.mybatisplus.extension.service.IService; @@ -33,5 +34,13 @@ public interface MpOrderDetailService extends IService { * @return 是否成功 */ boolean updateUseTypeByCartIds(ArrayList cartIds, String useType); + + /** + * 根据订单id查询订单详情 + * @param orderId 订单id + * @return 详情信息 + */ + List selectByOrderId(Integer orderId); + } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/MpCashierCartServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/MpCashierCartServiceImpl.java index f23e0655..5c16f701 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/MpCashierCartServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/MpCashierCartServiceImpl.java @@ -1,14 +1,18 @@ package cn.ysk.cashier.mybatis.service.impl; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import cn.ysk.cashier.cons.TableConstant; import cn.ysk.cashier.enums.OrderStatusEnums; import cn.ysk.cashier.enums.OrderUseTypeEnum; +import cn.ysk.cashier.enums.ShopInfoEatModelEnum; +import cn.ysk.cashier.enums.ShopInfoRegisterlEnum; +import cn.ysk.cashier.exception.BadRequestException; +import cn.ysk.cashier.mybatis.mapper.MpShopInfoMapper; import cn.ysk.cashier.mybatis.mapper.TbCashierCartMapper; -import cn.ysk.cashier.mybatis.mapper.TbOrderDetailMapper; import cn.ysk.cashier.mybatis.service.MpCashierCartService; -import cn.ysk.cashier.mybatis.service.MpOrderDetailService; import cn.ysk.cashier.pojo.order.TbCashierCart; -import cn.ysk.cashier.pojo.order.TbOrderDetail; +import cn.ysk.cashier.pojo.shop.TbShopInfo; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; @@ -25,6 +29,12 @@ import java.util.List; */ @Service public class MpCashierCartServiceImpl extends ServiceImpl implements MpCashierCartService { + private final MpShopInfoMapper mpShopInfoMapper; + + public MpCashierCartServiceImpl(MpShopInfoMapper mpShopInfoMapper) { + this.mpShopInfoMapper = mpShopInfoMapper; + } + @Override public List selectTakeoutCart(String masterId, Integer shopId) { return list(new LambdaQueryWrapper() @@ -34,6 +44,22 @@ public class MpCashierCartServiceImpl extends ServiceImpl selectUnTableCart(String masterId, Integer shopId) { + TbShopInfo shopInfo = mpShopInfoMapper.selectOne(new LambdaQueryWrapper() + .eq(TbShopInfo::getId, shopId) + .eq(TbShopInfo::getStatus, 1)); + if (shopInfo == null) { + throw new BadRequestException("店铺信息不存在"); + } + + return list(new LambdaQueryWrapper() + .eq(TbCashierCart::getShopId, shopId) + .eq(TbCashierCart::getMasterId, masterId) + .eq(TbCashierCart::getUseType, TableConstant.OrderInfo.UseType.NONE_TABLE.getValue()) + .gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime())); + } + @Override public long countByTableId(Integer shopId, String tableId, OrderStatusEnums... statusEnums) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() @@ -49,5 +75,15 @@ public class MpCashierCartServiceImpl extends ServiceImpl() + .in(TbCashierCart::getStatus, OrderStatusEnums.CREATE.getValue(), OrderStatusEnums.RETURN.getValue()) + .gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime()) + .eq(TbCashierCart::getShopId, shopId) + .eq(TbCashierCart::getTableId, tableId) + .eq(TbCashierCart::getUseType, useType)); + } } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/MpOrderDetailServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/MpOrderDetailServiceImpl.java index 9be766b1..d6d9b89c 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/MpOrderDetailServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/MpOrderDetailServiceImpl.java @@ -5,11 +5,13 @@ import cn.ysk.cashier.enums.OrderStatusEnums; import cn.ysk.cashier.mybatis.mapper.TbOrderDetailMapper; import cn.ysk.cashier.mybatis.service.MpOrderDetailService; import cn.ysk.cashier.pojo.order.TbOrderDetail; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Collections; import java.util.List; /** @@ -38,5 +40,11 @@ public class MpOrderDetailServiceImpl extends ServiceImpl selectByOrderId(Integer orderId) { + return list(new LambdaQueryWrapper() + .eq(TbOrderDetail::getOrderId, orderId)); + } } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/PayServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/PayServiceImpl.java index 04bf4437..5f98c1ff 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/PayServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/PayServiceImpl.java @@ -176,8 +176,7 @@ public class PayServiceImpl implements PayService { .eq(TbOrderDetail::getOrderId, orderInfo.getId()) .eq(TbOrderDetail::getUseType, orderInfo.getUseType()) .in(TbOrderDetail::getStatus, "unpaid") - .setSql(StrUtil.format("price_amount=price*num*{}", orderInfo.getDiscountRatio())) - + .setSql(StrUtil.format("price_amount=price*num*{}", orderInfo.getDiscountRatio() == null ? 1 : orderInfo.getDiscountRatio())) .set(TbOrderDetail::getStatus, "closed")); //修改主单状态 diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java index 54726f8e..532da077 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/order/TbOrderInfoServiceImpl.java @@ -16,10 +16,13 @@ import cn.ysk.cashier.mapper.product.TbProductSkuMapper; import cn.ysk.cashier.mybatis.entity.*; import cn.ysk.cashier.mybatis.mapper.TbCashierCartMapper; import cn.ysk.cashier.mybatis.mapper.TbMShopUserMapper; +import cn.ysk.cashier.mybatis.mapper.TbOrderDetailMapper; import cn.ysk.cashier.mybatis.mapper.TbShopUserFlowMapper; +import cn.ysk.cashier.mybatis.service.MpOrderDetailService; import cn.ysk.cashier.mybatis.service.TbActivateInRecordService; import cn.ysk.cashier.mybatis.service.TbActivateOutRecordService; import cn.ysk.cashier.mybatis.service.TbOrderPaymentService; +import cn.ysk.cashier.mybatis.service.impl.MpOrderDetailServiceImpl; import cn.ysk.cashier.pojo.TbShopPayType; import cn.ysk.cashier.pojo.order.TbCashierCart; import cn.ysk.cashier.pojo.order.TbFullOrderDetail; @@ -105,6 +108,8 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { private final TbCashierCartMapper tbCashierCartMapper; private final PayService payService; + private final MpOrderDetailService mpOrderDetailService; + private final TbOrderDetailMapper tbOrderDetailMapper; @Value("${thirdPay.url}") private String url; @@ -167,7 +172,7 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { for (TbOrderInfo tbOrderInfo : page.getContent()) { TbOrderInfoVo orderInfoVo = new TbOrderInfoVo(); BigDecimal refundAmount = BigDecimal.ZERO; - List details = tbOrderDetailRepository.searchDetailByOrderId(tbOrderInfo.getId()); + List details = tbOrderDetailMapper.selectFullInfoByOrderId(tbOrderInfo.getId()); if (!tbOrderInfo.getOrderType().equals("return")) { List tbOrderInfos = tbOrderInfoRepository.selTbOrdersBysource(tbOrderInfo.getId(), tbOrderInfo.getShopId()); Map map; @@ -190,8 +195,19 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { detail.setRefundNumber(detail.getNum()); }); } + + TbOrderDetail seatInfo = null; + ArrayList detailList = new ArrayList<>(); + for (TbFullOrderDetail detail : details) { + if (TableConstant.CART_SEAT_ID.equals(detail.getProductId().toString())) { + seatInfo = detail; + }else { + detailList.add(detail); + } + } orderInfoVo.setTableName(tbOrderInfo.getTableName()); - orderInfoVo.setDetailList(details); + orderInfoVo.setDetailList(detailList); + orderInfoVo.setSeatInfo(seatInfo); BeanUtils.copyProperties(tbOrderInfo, orderInfoVo); orderInfoVo.setRefundAmount(refundAmount); orderInfoVoList.add(orderInfoVo); @@ -291,7 +307,7 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { dto.setPayType("退单"); } } - List details = tbOrderDetailRepository.searchDetailByOrderId(tbOrderInfo.getId()); + List details = tbOrderDetailMapper.selectFullInfoByOrderId(tbOrderInfo.getId()); dto.setIsRefund(0); dto.setRefundAmount(BigDecimal.ZERO); dto.setRefundRemark(tbOrderInfo.getRefundRemark()); @@ -576,7 +592,7 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { public void depositReturn(Integer userId, Integer shopId, BigDecimal returnAmount) { TbShopUser user = tbMShopUserMapper.selectOne(new LambdaQueryWrapper() .eq(TbShopUser::getShopId, shopId) - .eq(TbShopUser::getId, userId)); + .eq(TbShopUser::getUserId, userId)); if (user == null) { throw new BadRequestException("用户信息不存在"); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java index 46fdf887..a694e328 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java @@ -251,7 +251,11 @@ public class TbProductServiceImpl implements TbProductService { if ("sku".equals(product.getTypeEnum())){ if(tbProductSkus.size() > 1){ BigDecimal maxPrice = tbProductSkus.stream().map(TbProductSku::getSalePrice).max(BigDecimal::compareTo).get(); - productNewVo.setLowPrice("¥" +productNewVo.getLowPrice() + "~¥" + maxPrice); + if (maxPrice.compareTo(new BigDecimal(productNewVo.getLowPrice())) == 0) { + productNewVo.setLowPrice("¥" +productNewVo.getLowPrice()); + }else { + productNewVo.setLowPrice("¥" +productNewVo.getLowPrice() + "~¥" + maxPrice); + } }else { productNewVo.setLowPrice("¥" +productNewVo.getLowPrice()); } @@ -758,6 +762,7 @@ public class TbProductServiceImpl implements TbProductService { com.baomidou.mybatisplus.extension.plugins.pagination.Page page1 = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page, size); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("is_del", 0) + .in("type_enum", "sku", "normal") .eq("shop_id", shopId) .eq("is_delete", 0) .eq("status", 1) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 9a93eb79..82b93771 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -49,13 +49,13 @@ 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 javax.persistence.criteria.Order; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.math.BigDecimal; @@ -166,11 +166,11 @@ public class TbShopTableServiceImpl implements TbShopTableService { /** * 通过店铺id和就餐模式获取当前店铺的就餐类型信息 * - * @param shopId 店铺id + * @param shopId 店铺id * @param eatModel 就餐模式 - * @param tableId 台桌id + * @param tableId 台桌id * @return just餐类型信息 - * */ + */ private ShopEatTypeInfoDTO getShopEatTypeInfoDTO(Object shopId, String eatModel, String tableId) { TbShopInfo shopInfo = mpShopInfoMapper.selectOne(new LambdaQueryWrapper() .eq(TbShopInfo::getId, shopId) @@ -187,14 +187,19 @@ public class TbShopTableServiceImpl implements TbShopTableService { boolean isMunchies = StrUtil.isNotBlank(shopInfo.getRegisterType()) && ShopInfoRegisterlEnum.MUNCHIES.getValue().equals(shopInfo.getRegisterType()); - boolean isDineInAfter = !isMunchies && !isTakeout; - boolean isDineInBefore = isMunchies && !isTakeout; + boolean hasTable = StrUtil.isNotBlank(tableId); + // 是否先付费 + boolean isDineInAfter = hasTable && !isMunchies && !isTakeout; + // 是否后付费 + boolean isDineInBefore = hasTable && isMunchies && !isTakeout; + // 是否无台桌 + boolean isNoneTable = !hasTable && !isTakeout; boolean needSeatFee = shopInfo.getIsTableFee() == null || shopInfo.getIsTableFee() == 0; - boolean isNoneTable = StrUtil.isBlank(tableId) && !isTakeout; + boolean isIncrMasterId = isTakeout || isNoneTable; - return new ShopEatTypeInfoDTO(isTakeout, isMunchies, isDineInAfter, isDineInBefore, needSeatFee, isNoneTable, shopInfo, isTakeout ? OrderUseTypeEnum.TAKEOUT.getValue() : - isMunchies ? OrderUseTypeEnum.DINE_IN_BEFORE.getValue() : OrderUseTypeEnum.DINE_IN_AFTER.getValue(), + return new ShopEatTypeInfoDTO(isTakeout, isMunchies, isDineInAfter, isDineInBefore, needSeatFee, isNoneTable, isIncrMasterId, shopInfo, isTakeout ? TableConstant.OrderInfo.UseType.TAKEOUT.getValue() : + isDineInBefore ? TableConstant.OrderInfo.UseType.DINE_IN_BEFORE.getValue() : isNoneTable ? TableConstant.OrderInfo.UseType.NONE_TABLE.getValue() : TableConstant.OrderInfo.UseType.DINE_IN_AFTER.getValue(), shopId, tableId, isTakeout ? OrderSendTypeEnums.TAKE_SELF.getValue() : OrderSendTypeEnums.TABLE.getValue()); } @@ -217,11 +222,32 @@ public class TbShopTableServiceImpl implements TbShopTableService { } @Override - public Map queryAllNoPage(TbShopTableQueryCriteria criteria) { + public Map queryAllPage(TbShopTableQueryCriteria criteria) { if (null == criteria.getAreaId() || criteria.getAreaId() == 0) { criteria.setAreaId(null); } - List tbShopTableList = tbShopTableRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder)); + + LambdaQueryWrapper query = new LambdaQueryWrapper() + .eq(TbShopTable::getShopId, criteria.getShopId()); + if (StrUtil.isNotBlank(criteria.getName())) { + query.like(TbShopTable::getName, criteria.getName()); + } + + if (criteria.getAreaId() != null) { + query.eq(TbShopTable::getAreaId, criteria.getAreaId()); + } + + if (criteria.getQrcode() != null) { + query.eq(TbShopTable::getQrcode, criteria.getQrcode()); + } + + if (StrUtil.isNotBlank(criteria.getState())) { + query.eq(TbShopTable::getStatus, criteria.getState()).isNotNull(TbShopTable::getQrcode).ne(TbShopTable::getQrcode, ""); + } + + com.baomidou.mybatisplus.extension.plugins.pagination.Page shopTablePage = + mpShopTableService.page(new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(criteria.getPage(), criteria.getSize()), query); + List tbShopTableList = shopTablePage.getRecords(); ArrayList> infoList = new ArrayList<>(); for (TbShopTable date : tbShopTableList) { if (StrUtil.isBlank(date.getQrcode())) { @@ -264,10 +290,9 @@ public class TbShopTableServiceImpl implements TbShopTableService { itemMap.put("masterId", orderInfo == null ? null : orderInfo.getMasterId()); infoList.add(itemMap); } - int i = tbShopTableRepository.countAllByShopId(criteria.getShopId()); HashMap map = new HashMap<>(); map.put("content", infoList); - map.put("total", i); + map.put("total", shopTablePage.getTotal()); return map; } @@ -401,7 +426,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { tbCashierCart.setIsPack(updateCartDTO.getIsPack() ? "true" : "false"); } - if (updateCartDTO.getIsGift() != null ) { + if (updateCartDTO.getIsGift() != null) { tbCashierCart.setTotalAmount(updateCartDTO.getIsGift() ? tbCashierCart.getPackFee() : tbCashierCart.getTotalAmount()); tbCashierCart.setIsGift(updateCartDTO.getIsGift() ? "true" : "false"); } @@ -443,7 +468,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { throw new BadRequestException("商品不存在或已下架, id: " + addCartDTO.getSkuId()); } - if (product.getIsStock() != null && product.getIsStock() == 1 &&product.getStockNumber() < 1) { + if (product.getIsStock() != null && product.getIsStock() == 1 && product.getStockNumber() < 1) { throw new BadRequestException(product.getName() + "商品库存不足"); } @@ -474,7 +499,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { // 首次加入 if (tbCashierCart == null) { tbCashierCart = new TbCashierCart(); - tbCashierCart.setUseType(addCartDTO.getUseType()); + tbCashierCart.setUseType(shopEatTypeInfoDTO.getUseType()); tbCashierCart.setCoverImg(product.getCoverImg()); tbCashierCart.setCreatedAt(System.currentTimeMillis()); tbCashierCart.setIsSku(product.getTypeEnum()); @@ -576,19 +601,15 @@ public class TbShopTableServiceImpl implements TbShopTableService { @Override public void removeCart(RemoveCartDTO removeCartDTO) { - ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(removeCartDTO.getShopId(), removeCartDTO.getTableId()); - - int currentPlaceNum = getCurrentPlaceNum(shopEatTypeInfoDTO); // 会员点单 TbCashierCart cashierCart = cashierCartMapper.selectOne(new LambdaQueryWrapper() .eq(TbCashierCart::getShopId, removeCartDTO.getShopId()) - .eq(TbCashierCart::getUseType, removeCartDTO.getUseType()) .eq(TbCashierCart::getId, removeCartDTO.getCartId())); if (cashierCart == null) { throw new BadRequestException("购物车商品不存在"); } - if (removeCartDTO.getTableId() != null && cashierCart.getPlaceNum() != null && !cashierCart.getPlaceNum().equals(currentPlaceNum)) { + if (removeCartDTO.getTableId() != null && cashierCart.getPlaceNum() != null) { throw new BadRequestException("已下单商品仅支持退单操作"); } @@ -597,7 +618,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { .eq(TbOrderDetail::getShopId, cashierCart.getShopId()) .eq(TbOrderDetail::getProductId, cashierCart.getProductId()) .eq(TbOrderDetail::getProductSkuId, cashierCart.getSkuId()) - .eq(TbOrderDetail::getUseType, removeCartDTO.getUseType()) + .eq(TbOrderDetail::getCartId, cashierCart.getId()) .isNull(TbOrderDetail::getPlaceNum) .eq(TbOrderDetail::getOrderId, cashierCart.getOrderId())); } @@ -615,7 +636,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (cashierCart.getTableId() != null && removeCartDTO.getTableId() != null) { // 清空购物车 出票 - long carCount = countCar(Long.valueOf(cashierCart.getTableId()), cashierCart.getShopId(), cashierCart.getMasterId()); + long carCount = countCar(Long.valueOf(cashierCart.getTableId()), cashierCart.getShopId()); log.info("购物车数量: {}", carCount); setRedisTableCartInfo(removeCartDTO.getTableId(), removeCartDTO.getShopId().toString(), Collections.singletonList(cashierCart), false); } @@ -627,7 +648,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { // 会员点单 TbCashierCart cashierCart = cashierCartMapper.selectOne(new LambdaQueryWrapper() .eq(TbCashierCart::getShopId, removeCartDTO.getShopId()) - .in(TbCashierCart::getStatus, "create", "refund") + .in(TbCashierCart::getStatus, OrderStatusEnums.CREATE.getValue()) .isNotNull(TbCashierCart::getOrderId) .eq(TbCashierCart::getId, removeCartDTO.getCartId())); @@ -639,15 +660,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { throw new BadRequestException("最大退菜数量为: {}", cashierCart.getNumber()); } - TbOrderDetail tbOrderDetail = orderDetailMapper.selectOne(new LambdaQueryWrapper() - .eq(TbOrderDetail::getShopId, removeCartDTO.getShopId()) - .eq(TbOrderDetail::getCartId, cashierCart.getId()) - .eq(TbOrderDetail::getProductId, cashierCart.getProductId()) - .eq(TbOrderDetail::getProductSkuId, cashierCart.getSkuId()) - .eq(TbOrderDetail::getOrderId, cashierCart.getOrderId())); - if (tbOrderDetail == null) { - throw new BadRequestException("购物车商品不存在或已退单"); - } + if (cashierCart.getOrderId() == null) { throw new BadRequestException("此商品还未下单,无需退单"); @@ -657,21 +670,27 @@ public class TbShopTableServiceImpl implements TbShopTableService { TbOrderDetail orderDetail = orderDetailMapper.selectOne(new LambdaQueryWrapper() .eq(TbOrderDetail::getCartId, cashierCart.getId())); - if (cashierCart.getId() == -999) { + if (cashierCart.getProductId().equals("-999")) { cashierCartMapper.deleteById(cashierCart.getId()); - if (cashierCart.getOrderId() != null) { - orderDetailMapper.delete(new LambdaQueryWrapper() - .eq(TbOrderDetail::getCartId, cashierCart.getId())); - - orderInfoMapper.update(null, new LambdaUpdateWrapper() - .eq(TbOrderInfo::getId, cashierCart.getOrderId()) - .eq(TbOrderInfo::getShopId, removeCartDTO.getShopId()) - .set(TbOrderInfo::getSeatCount, null) - .set(TbOrderInfo::getSeatAmount, null)); - } + cashierCartMapper.update(null, new LambdaUpdateWrapper() + .eq(TbCashierCart::getId, cashierCart.getId()) + .set(TbCashierCart::getStatus, "return")); + orderDetailMapper.update(null, new LambdaUpdateWrapper() + .eq(TbOrderDetail::getCartId, cashierCart.getId()) + .eq(TbOrderDetail::getId, orderDetail.getId()) + .set(TbOrderDetail::getUpdateTime, DateUtil.date()) + .set(TbOrderDetail::getStatus, "return")); } else { - + TbOrderDetail tbOrderDetail = orderDetailMapper.selectOne(new LambdaQueryWrapper() + .eq(TbOrderDetail::getShopId, removeCartDTO.getShopId()) + .eq(TbOrderDetail::getCartId, cashierCart.getId()) + .eq(TbOrderDetail::getProductId, cashierCart.getProductId()) + .eq(TbOrderDetail::getProductSkuId, cashierCart.getSkuId()) + .eq(TbOrderDetail::getOrderId, cashierCart.getOrderId())); + if (tbOrderDetail == null) { + throw new BadRequestException("购物车商品不存在或已退单"); + } if (cashierCart.getNumber().equals(removeCartDTO.getNum())) { cashierCartMapper.update(null, new LambdaUpdateWrapper() .eq(TbCashierCart::getId, cashierCart.getId()) @@ -681,7 +700,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { .set(TbOrderDetail::getUpdateTime, DateUtil.date()) .set(TbOrderDetail::getStatus, "return")); rabbitMsgUtils.printDishesTicket(tbOrderDetail.getOrderId(), true, tbOrderDetail); - }else { + } else { //生成退菜的购物车记录 TbCashierCart returnCart = BeanUtil.copyProperties(cashierCart, TbCashierCart.class); returnCart.setNumber(removeCartDTO.getNum()); @@ -722,36 +741,27 @@ public class TbShopTableServiceImpl implements TbShopTableService { @Override public void clearCart(ClearCartDTO clearCartDTO) { - Integer orderId; - ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(clearCartDTO.getShopId(), clearCartDTO.getTableId()); - if (clearCartDTO.getTableId() != null) { - orderId = getCurrentOrderId(shopEatTypeInfoDTO); - } else { - orderId = null; - } + ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(clearCartDTO.getShopId(), clearCartDTO.getTableId(), clearCartDTO.getUseType()); LambdaQueryWrapper query = new LambdaQueryWrapper() .eq(TbCashierCart::getShopId, clearCartDTO.getShopId()) .isNull(TbCashierCart::getPlaceNum) - .eq(TbCashierCart::getUseType, clearCartDTO.getUseType()) + .eq(TbCashierCart::getUseType, shopEatTypeInfoDTO.getUseType()) .and(q -> q.eq(TbCashierCart::getMasterId, clearCartDTO.getMasterId()) .or() .isNull(TbCashierCart::getMasterId) .or() .eq(TbCashierCart::getMasterId, "")) - .and(q -> q.eq(TbCashierCart::getOrderId, orderId) - .or() - .isNull(TbCashierCart::getOrderId)); + .isNull(TbCashierCart::getOrderId); - if (clearCartDTO.getTableId() != null) { + if (StrUtil.isNotBlank(clearCartDTO.getTableId())) { query.eq(TbCashierCart::getTableId, clearCartDTO.getTableId()); - } cashierCartMapper.delete(query); } - private long countCar(Long tableId, String shopId, String masterId) { + private long countCar(Long tableId, String shopId) { String orderId = redisTemplate.opsForValue().get(RedisConstant.getCurrentOrderKey(tableId.toString(), shopId)); return tbOrderDetailMapper.selectCount(new LambdaQueryWrapper() .eq(TbOrderDetail::getShopId, shopId) @@ -762,16 +772,20 @@ public class TbShopTableServiceImpl implements TbShopTableService { @Override public Map getCart(String tableId, Integer page, Integer size, Integer shopId, String masterId, String useType) { - ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(shopId, OrderUseTypeEnum.TAKEOUT.getValue().equals(useType) ? null : tableId); + ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(shopId, OrderUseTypeEnum.TAKEOUT.getValue().equals(useType) ? null : tableId, useType); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() .in(TbCashierCart::getStatus, "create", "return") .eq(TbCashierCart::getShopId, shopId) - .eq(TbCashierCart::getUseType, useType) + .eq(TbCashierCart::getUseType, shopEatTypeInfoDTO.getUseType()) .gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime()) .and(q -> q.eq(TbCashierCart::getMasterId, masterId).or().isNull(TbCashierCart::getMasterId)); if (!shopEatTypeInfoDTO.isTakeout()) { - queryWrapper.eq(TbCashierCart::getTableId, tableId); + if (StrUtil.isBlank(tableId)) { + queryWrapper.isNull(TbCashierCart::getTableId); + } else { + queryWrapper.eq(TbCashierCart::getTableId, tableId); + } } else { queryWrapper.and(q -> q.isNull(TbCashierCart::getTableId).or().eq(TbCashierCart::getTableId, "")) .in(TbCashierCart::getPlatformType, OrderPlatformTypeEnum.PC.getValue(), OrderPlatformTypeEnum.CASH.getValue()); @@ -1046,11 +1060,10 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (account == null) { throw new BadRequestException("token解析失败"); } - TbMerchantAccount merchantAccount = merchantAccountMapper.selectOne(new LambdaQueryWrapper().eq(TbMerchantAccount::getAccount, account)); String day = DateUtils.getDay(); JSONObject jsonObject = new JSONObject(); // 当前台桌码 - String key = "SHOP:CODE:USER:pc" + ":" + shopId + ":" + day + ":" + tableId + useType; + String key = RedisConstant.getMasterIdKey(shopId, day, tableId); String userCode = redisTemplate.opsForValue().get(key); if (StringUtils.isEmpty(userCode) || "null".equals(userCode) || "#null".equals(userCode)) { @@ -1087,7 +1100,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (shopInfo == null) throw new BadRequestException("店铺信息不存在"); // 就餐模式信息 - ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(createOrderDTO.getShopId(), createOrderDTO.getTableId()); + ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(createOrderDTO.getShopId(), createOrderDTO.getTableId(), createOrderDTO.getUseType()); // 传递orderId直接取否则取当前缓存id Integer orderId = shopEatTypeInfoDTO.isDineInAfter() ? @@ -1095,7 +1108,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() .eq(TbCashierCart::getShopId, createOrderDTO.getShopId()) - .eq(TbCashierCart::getUseType, createOrderDTO.getUseType()) + .eq(TbCashierCart::getUseType, shopEatTypeInfoDTO.getUseType()) .in(TbCashierCart::getStatus, "create", "return") .gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime()) .and(q -> q.eq(TbCashierCart::getMasterId, createOrderDTO.getMasterId()).or().isNull(TbCashierCart::getMasterId)); @@ -1106,15 +1119,18 @@ public class TbShopTableServiceImpl implements TbShopTableService { queryWrapper.and(q -> q.isNull(TbCashierCart::getTableId).or().eq(TbCashierCart::getTableId, "")) .in(TbCashierCart::getPlatformType, OrderPlatformTypeEnum.PC.getValue(), OrderPlatformTypeEnum.CASH.getValue()); } else { - queryWrapper.eq(TbCashierCart::getTableId, createOrderDTO.getTableId()); - - tbShopTable = mpShopTableMapper.selectOne(new LambdaQueryWrapper() - .eq(TbShopTable::getQrcode, createOrderDTO.getTableId()) - .in(TbShopTable::getStatus, "idle", "using")); - if (tbShopTable == null) { - throw new BadRequestException("台桌未开台或不存在"); + if (StrUtil.isNotBlank(createOrderDTO.getTableId())) { + tbShopTable = mpShopTableMapper.selectOne(new LambdaQueryWrapper() + .eq(TbShopTable::getQrcode, createOrderDTO.getTableId()) + .in(TbShopTable::getStatus, "idle", "using")); + if (tbShopTable == null) { + throw new BadRequestException("台桌未开台或不存在"); + } + queryWrapper.eq(TbCashierCart::getTableId, createOrderDTO.getTableId()); + } else { + queryWrapper.isNull(TbCashierCart::getTableId); } - queryWrapper.eq(TbCashierCart::getTableId, createOrderDTO.getTableId()); + } List allCashierCarts = cashierCartMapper @@ -1132,11 +1148,17 @@ public class TbShopTableServiceImpl implements TbShopTableService { } } - if (allCashierCarts.isEmpty() || (shopEatTypeInfoDTO.isNeedSeatFee() && !shopEatTypeInfoDTO.isTakeout() && seatCart != null && allCashierCarts.size() < 2) - || (shopEatTypeInfoDTO.isNeedSeatFee() && !shopEatTypeInfoDTO.isTakeout() && seatCart == null)) { + if (StrUtil.isNotBlank(createOrderDTO.getTableId()) + && (cashierCarts.isEmpty() || + (shopEatTypeInfoDTO.isNeedSeatFee() && !shopEatTypeInfoDTO.isTakeout() && seatCart != null && cashierCarts.size() < 2) + || (shopEatTypeInfoDTO.isNeedSeatFee() && !shopEatTypeInfoDTO.isTakeout() && seatCart == null))) { throw new BadRequestException("购物车为空或未选择餐位费,请先添加商品或选择餐位费"); } + if (cashierCarts.isEmpty()) { + throw new BadRequestException("购物车为空"); + } + ArrayList cartIdList = new ArrayList<>(); for (TbCashierCart tbCashierCart : cashierCarts) { if (tbCashierCart.getOrderId() != null) { @@ -1173,7 +1195,6 @@ public class TbShopTableServiceImpl implements TbShopTableService { List addOrderDetails = new ArrayList<>(); - boolean hasNewInfo = false; for (TbCashierCart cashierCart : cashierCarts) { if (!"return".equals(cashierCart.getStatus())) { @@ -1210,7 +1231,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { orderDetail.setShopId(Integer.valueOf(cashierCart.getShopId())); orderDetail.setPackAmount(cashierCart.getPackFee()); orderDetail.setStatus("unpaid"); - orderDetail.setUseType(createOrderDTO.getUseType()); + orderDetail.setUseType(shopEatTypeInfoDTO.getUseType()); orderDetail.setProductImg(cashierCart.getCoverImg()); orderDetail.setCartId(cashierCart.getId()); if (cashierCart.getOrderId() != null) { @@ -1242,7 +1263,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { orderInfo.setFreightAmount(feeAmount); orderInfo.setProductAmount(saleAmount); orderInfo.setTradeDay(DateUtils.getDay()); - orderInfo.setUseType(createOrderDTO.getUseType()); + orderInfo.setUseType(shopEatTypeInfoDTO.getUseType()); orderInfo.setCreatedAt(DateUtil.current()); if (seatCart != null) { orderInfo.setSeatAmount(seatCart.getTotalAmount()); @@ -1282,7 +1303,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { orderInfo.setCreatedAt(DateUtil.current()); orderInfo.setTableName(tbShopTable != null ? tbShopTable.getName() : null); orderInfo.setPlaceNum(placeNum); - orderInfo.setUseType(createOrderDTO.getUseType()); + orderInfo.setUseType(shopEatTypeInfoDTO.getUseType()); if (StrUtil.isNotBlank(createOrderDTO.getVipUserId())) { orderInfo.setUserId(createOrderDTO.getVipUserId()); } @@ -1334,7 +1355,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { } // 先付费模式,结束购物车状态 - if (shopEatTypeInfoDTO.isDineInBefore() || shopEatTypeInfoDTO.isTakeout()) { + if (!shopEatTypeInfoDTO.isDineInAfter() || StrUtil.isBlank(createOrderDTO.getTableId())) { cashierCart.setStatus("final"); } cashierCartMapper.updateById(cashierCart); @@ -1355,12 +1376,12 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (isFirst) { // 后付费,不增加当前台桌取餐号 - if (!shopEatTypeInfoDTO.isTakeout()) { + if (!shopEatTypeInfoDTO.isIncrMaterId()) { addGlobalCode(cn.ysk.cashier.utils.DateUtils.getDay(), "pc", String.valueOf(createOrderDTO.getShopId())); } - if (!shopEatTypeInfoDTO.isTakeout() || (addMaterId && "pending".equals(orderInfo.getStatus()))) { - String key = "SHOP:CODE:USER:pc" + ":" + createOrderDTO.getShopId() + ":" + cn.ysk.cashier.utils.DateUtils.getDay() + ":" + orderInfo.getTableId(); + if (shopEatTypeInfoDTO.isIncrMaterId() && "pending".equals(orderInfo.getStatus())) { + String key = RedisConstant.getMasterIdKey(createOrderDTO.getShopId(), cn.ysk.cashier.utils.DateUtils.getDay(), orderInfo.getTableId());; redisTemplate.delete(key); } } @@ -1368,7 +1389,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { // 推送耗材信息 pushConsMsg(orderInfo, cashierCarts); - if (!shopEatTypeInfoDTO.isTakeout()) { + if (!shopEatTypeInfoDTO.isTakeout() && StrUtil.isNotBlank(createOrderDTO.getTableId())) { // 清空台桌信息 if (shopEatTypeInfoDTO.isDineInBefore()) { mpShopTableMapper.update(null, new LambdaUpdateWrapper() @@ -1398,8 +1419,10 @@ public class TbShopTableServiceImpl implements TbShopTableService { } - String tableCartKey = RedisConstant.getTableCartKey(createOrderDTO.getTableId(), createOrderDTO.getShopId().toString()); - redisTemplate.delete(tableCartKey); + if (StrUtil.isNotBlank(createOrderDTO.getTableId())) { + String tableCartKey = RedisConstant.getTableCartKey(createOrderDTO.getTableId(), createOrderDTO.getShopId().toString()); + redisTemplate.delete(tableCartKey); + } return orderInfo; }, stringRedisTemplate, RedisConstant.getLockKey(RedisConstant.CREATE_ORDER, createOrderDTO.getShopId(), createOrderDTO.getTableId(), createOrderDTO.getMasterId(), createOrderDTO.getUseType())); @@ -1570,8 +1593,6 @@ public class TbShopTableServiceImpl implements TbShopTableService { throw new BadRequestException("订单非未支付状态"); } - ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(payDTO.getShopId(), orderInfo.getTableId()); - if (payDTO.getDiscount() == null) { payDTO.setDiscount((double) 1); } @@ -1611,8 +1632,10 @@ public class TbShopTableServiceImpl implements TbShopTableService { orderInfo.setPaidTime(DateUtil.current()); orderInfo.setPayAmount(finalAmount); orderInfo.setStatus("closed"); - orderInfo.setDiscountRatio(BigDecimal.valueOf(payDTO.getDiscount())); - orderInfo.setDiscountAmount(orderInfo.getAmount().subtract(finalAmount)); + if (payDTO.getDiscount() != null) { + orderInfo.setDiscountRatio(BigDecimal.valueOf(payDTO.getDiscount())); + orderInfo.setDiscountAmount(orderInfo.getAmount().subtract(finalAmount)); + } orderInfoMapper.updateById(orderInfo); //更新购物车状态 @@ -1629,17 +1652,17 @@ public class TbShopTableServiceImpl implements TbShopTableService { .eq(TbOrderDetail::getOrderId, orderInfo.getId()) .eq(TbOrderDetail::getUseType, orderInfo.getUseType()) .eq(TbOrderDetail::getStatus, "unpaid") - .setSql(StrUtil.format("price_amount=price*num*{}", payDTO.getDiscount())) + .setSql(StrUtil.format("price_amount=price*num*{}", payDTO.getDiscount() == null ? 1: payDTO.getDiscount())) .set(TbOrderDetail::getStatus, "closed")); JSONObject jsonObject = new JSONObject(); jsonObject.put("token", payDTO.getToken()); jsonObject.put("type", "create"); jsonObject.put("orderId", orderInfo.getId()); - rabbitMsgUtils.sendOrderCollectMsg(jsonObject,3); + rabbitMsgUtils.sendOrderCollectMsg(jsonObject, 3); // 打印消息 - if (!shopEatTypeInfoDTO.isDineInAfter()) { + if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) { List detailList = orderDetailMapper.selectList(new LambdaQueryWrapper() .eq(TbOrderDetail::getOrderId, orderInfo.getId()) .eq(TbOrderDetail::getStatus, "closed")); @@ -1654,7 +1677,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { rabbitTemplate.convertAndSend(RabbitConstants.EXCHANGE_STOCK_RECORD, RabbitConstants.ROUTING_STOCK_RECORD_SALE, mqData.toJSONString(), new CorrelationData(UUID.randomUUID().toString())); // 修改台桌状态 - if (!shopEatTypeInfoDTO.isTakeout()) { + if (!OrderUseTypeEnum.TAKEOUT.getValue().equals(orderInfo.getUseType()) && StrUtil.isNotBlank(orderInfo.getTableId())) { TbShopTable tbShopTable = mpShopTableMapper.selectOne(new LambdaQueryWrapper() .eq(TbShopTable::getShopId, payDTO.getShopId()) .eq(TbShopTable::getQrcode, orderInfo.getTableId())); @@ -1670,16 +1693,12 @@ public class TbShopTableServiceImpl implements TbShopTableService { .set(TbShopTable::getEndTime, DateUtil.date()) .set(TbShopTable::getStatus, TableStateEnum.CLEANING.getState())); } - } - - if (!shopEatTypeInfoDTO.isTakeout()) { String day = DateUtils.getDay(); String key = "SHOP:CODE:USER:pc" + ":" + payDTO.getShopId() + ":" + day + ":" + orderInfo.getTableId(); redisTemplate.delete(key); } - String currentOrderKey = RedisConstant.CURRENT_TABLE_ORDER + payDTO.getShopId() + ":" + orderInfo.getTableId(); redisTemplate.delete(currentOrderKey); @@ -1762,18 +1781,27 @@ public class TbShopTableServiceImpl implements TbShopTableService { throw new BadRequestException("台桌不存在或不处于空闲状态"); } - List tbCashierCarts = mpCashierCartService.selectTakeoutCart(choseTableDTO.getMasterId(), choseTableDTO.getShopId()); + List tbCashierCarts = mpCashierCartService.selectUnTableCart(choseTableDTO.getMasterId(), choseTableDTO.getShopId()); if (tbCashierCarts.isEmpty()) { throw new BadRequestException("购物车为空"); } + ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(choseTableDTO.getShopId(), choseTableDTO.getTableId()); + // 清空原有桌台商品 + if (choseTableDTO.getIsClear()) { + mpCashierCartService.clearCartByTableIdAndUseType(choseTableDTO.getTableId(), shopEatTypeInfoDTO.getUseType(), choseTableDTO.getShopId()); + } + + String masterId = getMasterId(choseTableDTO.getShopId(), choseTableDTO.getTableId(), "", null).getString("masterId"); + ArrayList cartIds = new ArrayList<>(); Integer orderId = null; for (TbCashierCart item : tbCashierCarts) { item.setTableId(choseTableDTO.getTableId()); item.setUseType(shopEatTypeInfoDTO.getUseType()); + item.setMasterId(masterId); cartIds.add(item.getId()); if (item.getOrderId() != null) { orderId = item.getOrderId(); @@ -1785,7 +1813,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { mpOrderDetailService.updateUseTypeByCartIds(cartIds, shopEatTypeInfoDTO.getUseType()); // 修改订单表台桌信息 - if(orderId != null) { + if (orderId != null) { mpOrderInfoService.updateTableIdAndUseTypeById(orderId, shopEatTypeInfoDTO.getUseType(), choseTableDTO.getTableId()); mpShopTableService.updateStateByTableId(TableStateEnum.USING, choseTableDTO.getTableId()); // 将台桌redis数据迁移 @@ -1820,7 +1848,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { .eq(TbCashierCart::getProductId, TableConstant.CART_SEAT_ID) .eq(TbCashierCart::getUseType, choseCountDTO.getUseType()) .gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime()) - .in(TbCashierCart::getStatus, OrderStatusEnums.CREATE.getValue(), OrderStatusEnums.RETURN.getValue()) + .in(TbCashierCart::getStatus, OrderStatusEnums.CREATE.getValue(), OrderStatusEnums.RETURN.getValue()) .eq(TbCashierCart::getTableId, choseCountDTO.getTableId()); TbCashierCart tbCashierCart = cashierCartMapper.selectOne(query); @@ -2005,7 +2033,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { } - private TbOrderInfo updateReturnOrderInfo(ReturnOrderDTO returnOrderDTO, TbOrderInfo oldOrderInfo, boolean isOnline) { + private HashMap updateReturnOrderInfo(ReturnOrderDTO returnOrderDTO, TbOrderInfo oldOrderInfo, boolean isOnline) { ArrayList detailIds = new ArrayList<>(); HashMap returnNumMap = new HashMap<>(); returnOrderDTO.getOrderDetails().forEach(item -> { @@ -2089,7 +2117,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { returnOrder.setSource(oldOrderInfo.getId()); returnOrder.setRefundRemark(returnOrderDTO.getNote()); orderInfoMapper.insert(returnOrder); - }else { + } else { returnOrder.setUpdatedAt(DateUtil.current()); returnOrder.setRefundRemark(returnOrderDTO.getNote()); returnOrder.setRefundAmount(returnOrder.getRefundAmount().add(returnAmount)); @@ -2099,7 +2127,10 @@ public class TbShopTableServiceImpl implements TbShopTableService { updateStockAndRecord(detailList); mpOrderDetailService.updateBatchById(detailList); - return returnOrder; + HashMap data = new HashMap<>(); + data.put("returnOrder", returnOrder); + data.put("returnAmount", returnAmount); + return data; } private void updateStockAndRecord(List orderDetailList) { @@ -2142,7 +2173,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { @Transactional public Object returnOrder(ReturnOrderDTO returnOrderDTO) { TbOrderInfo orderInfo = orderInfoMapper.selectOne(new LambdaQueryWrapper() - .eq(TbOrderInfo::getId, returnOrderDTO.getOrderId()) + .eq(TbOrderInfo::getId, returnOrderDTO.getOrderId()) .in(TbOrderInfo::getStatus, OrderStatusEnums.REFUND.getValue(), OrderStatusEnums.CLOSED.getValue()) // .eq(TbOrderInfo::getStatus, "closed") ); @@ -2159,7 +2190,9 @@ public class TbShopTableServiceImpl implements TbShopTableService { // TODO 密码校验 } - TbOrderInfo returnOrderInfo = updateReturnOrderInfo(returnOrderDTO, orderInfo, true); + HashMap returnInfoData = updateReturnOrderInfo(returnOrderDTO, orderInfo, true); + TbOrderInfo returnOrderInfo = (TbOrderInfo) returnInfoData.get("returnOrder"); + BigDecimal returnAmount = (BigDecimal) returnInfoData.get("returnAmount"); String shopId = orderInfo.getShopId(); String payType = orderInfo.getPayType(); @@ -2171,7 +2204,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { orderInfo.setStatus("refund"); // 储值卡支付退款 } else if ("deposit".equals(payType)) { - orderInfoService.depositReturn(Integer.valueOf(orderInfo.getUserId()), Integer.valueOf(orderInfo.getShopId()), returnOrderInfo.getRefundAmount()); + orderInfoService.depositReturn(Integer.valueOf(orderInfo.getUserId()), Integer.valueOf(orderInfo.getShopId()), returnAmount); orderInfo.setStatus("refund"); mpOrderDetailService.updateStatusByOrderIdAndIds(OrderStatusEnums.REFUNDING, OrderStatusEnums.REFUND, returnOrderDTO.getOrderId(), returnOrderDTO.getOrderDetails().stream().map(ReturnOrderDTO.OrderDetail::getId).collect(Collectors.toList())); @@ -2196,7 +2229,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { public Object getShopState(Integer shopId, String tableId) { TbShopTable tbShopTable = mpShopTableService.selectByTableId(tableId, shopId); if (tbShopTable != null) { - long cartCount = mpCashierCartService.countByTableId(shopId, tableId); + long cartCount = mpCashierCartService.countByTableId(shopId, tableId, OrderStatusEnums.CREATE, OrderStatusEnums.RETURN); Map map = BeanUtil.beanToMap(tbShopTable, false, false); map.put("cartCount", cartCount); return map; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/shop/TbShopTableService.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/shop/TbShopTableService.java index ad77dffc..58fd4474 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/shop/TbShopTableService.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/shop/TbShopTableService.java @@ -43,7 +43,7 @@ public interface TbShopTableService { */ Map queryAll(TbShopTableQueryCriteria criteria, Pageable pageable); - Map queryAllNoPage(TbShopTableQueryCriteria criteria); + Map queryAllPage(TbShopTableQueryCriteria criteria); /** * 查询所有数据不分页 diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderInfoVo.java b/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderInfoVo.java index c95b542b..f8f6a1fc 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderInfoVo.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderInfoVo.java @@ -114,5 +114,7 @@ public class TbOrderInfoVo { private String remark; - private List detailList; + private List detailList; + + private TbOrderDetail seatInfo; } diff --git a/eladmin-system/src/main/resources/config/application-dev.yml b/eladmin-system/src/main/resources/config/application-dev.yml index ffd0536f..86fd03fa 100644 --- a/eladmin-system/src/main/resources/config/application-dev.yml +++ b/eladmin-system/src/main/resources/config/application-dev.yml @@ -4,8 +4,9 @@ spring: druid: db-type: com.alibaba.druid.pool.DruidDataSource # driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy - url: jdbc:p6spy:mysql://rm-bp1kn7h89nz62cno1ro.mysql.rds.aliyuncs.com:3306/fycashier_test?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useJDBCCompliantTimezoneShift=true&serverTimezone=Asia/Shanghai&useSSL=false&allowMultiQueries=true +# url: jdbc:p6spy:mysql://rm-bp1kn7h89nz62cno1ro.mysql.rds.aliyuncs.com:3306/fycashier_test?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useJDBCCompliantTimezoneShift=true&serverTimezone=Asia/Shanghai&useSSL=false&allowMultiQueries=true # url: jdbc:mysql://127.0.0.1:3306/fycashier?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useJDBCCompliantTimezoneShift=true&serverTimezone=Asia/Shanghai&useSSL=false&allowMultiQueries=true + url: jdbc:p6spy:mysql://rm-bp1kn7h89nz62cno1ro.mysql.rds.aliyuncs.com:3306/fycashier_pre?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useJDBCCompliantTimezoneShift=true&serverTimezone=Asia/Shanghai&useSSL=false&allowMultiQueries=true username: cashier password: Cashier@1@ # driver-class-name: com.mysql.cj.jdbc.Driver @@ -146,4 +147,10 @@ decorator: multiline: false cashier: server: - wx: https://wxcashiertest.sxczgkj.cn/ \ No newline at end of file + wx: https://wxcashiertest.sxczgkj.cn/ + +# 三方支付回调信息 +thirdPay: + notify: + fstPay: https://admintestpapi.sxczgkj.cn/notify/fstPay + fstReturn: https://admintestpapi.sxczgkj.cn/notify/fstReturn diff --git a/eladmin-system/src/main/resources/config/application-pre.yml b/eladmin-system/src/main/resources/config/application-pre.yml index 16d10bf2..4122b44a 100644 --- a/eladmin-system/src/main/resources/config/application-pre.yml +++ b/eladmin-system/src/main/resources/config/application-pre.yml @@ -138,3 +138,8 @@ file: cashier: server: wx: https://pre-cashier.sxczgkj.cn/ + +thirdPay: + notify: + fstPay: https://pre-cashieradmin.sxczgkj.cn/notify/fstPay + fstReturn: https://pre-cashieradmin.sxczgkj.cn/notify/fstReturn diff --git a/eladmin-system/src/main/resources/config/application-prod.yml b/eladmin-system/src/main/resources/config/application-prod.yml index 9ebb64ba..de47c59f 100644 --- a/eladmin-system/src/main/resources/config/application-prod.yml +++ b/eladmin-system/src/main/resources/config/application-prod.yml @@ -143,3 +143,8 @@ file: cashier: server: wx: https://cashier.sxczgkj.cn/ + +thirdPay: + notify: + fstPay: https://cashieradmin.sxczgkj.cn/notify/fstPay + fstReturn: https://cashieradmin.sxczgkj.cn/notify/fstReturn diff --git a/eladmin-system/src/main/resources/config/application.yml b/eladmin-system/src/main/resources/config/application.yml index b77a4176..5d57fe2c 100644 --- a/eladmin-system/src/main/resources/config/application.yml +++ b/eladmin-system/src/main/resources/config/application.yml @@ -65,11 +65,7 @@ qrcode: https://kysh.sxczgkj.cn/codeplate?code= thirdPay: groupCallBack: https://wxcashiertest.sxczgkj.cn/cashierService/notify/notifyCallBackGroup payType: fushangtong - callBack: https://cashierclient.sxczgkj.cn/cashier-client/notify/notifyPay url: https://paymentapi.sxczgkj.cn - notify: - fstPay: https://admintestpapi.sxczgkj.cn/notify/fstPay - fstReturn: https://admintestpapi.sxczgkj.cn/notify/fstReturn mybatis-plus: mapper-locations: classpath:/cn/ysk/cashier/mybatis/mapper/*Mapper.xml