Merge branch 'refs/heads/分账重构'

This commit is contained in:
zengtao01
2024-09-29 15:02:22 +08:00
5 changed files with 104 additions and 48 deletions

View File

@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.member.controller.app.diningplates;
import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.member.controller.admin.diningplates.vo.DiningPlatesRespVO; import cn.iocoder.yudao.module.member.controller.admin.diningplates.vo.DiningPlatesRespVO;
import cn.iocoder.yudao.module.member.controller.admin.diningplates.vo.DiningPlatesSaveReqVO;
import cn.iocoder.yudao.module.member.controller.app.diningplates.vo.AppUserInfo; import cn.iocoder.yudao.module.member.controller.app.diningplates.vo.AppUserInfo;
import cn.iocoder.yudao.module.member.controller.app.user.vo.AppUserInfoCardVO; import cn.iocoder.yudao.module.member.controller.app.user.vo.AppUserInfoCardVO;
import cn.iocoder.yudao.module.member.dal.dataobject.diningplates.DiningPlatesDO; import cn.iocoder.yudao.module.member.dal.dataobject.diningplates.DiningPlatesDO;
@ -11,10 +12,13 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List; import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@ -86,4 +90,9 @@ public class AppDiningPlatesController {
return result; return result;
} }
@PostMapping("/create")
@Operation(summary = "创建餐盘")
public CommonResult<Long> createDiningPlates(@Valid @RequestBody DiningPlatesSaveReqVO createReqVO) {
return success(diningPlatesService.createDiningPlates(createReqVO));
}
} }

View File

@ -2,10 +2,18 @@ package cn.iocoder.yudao.module.member.controller.app.store;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.iocoder.yudao.framework.common.pojo.StoreResult; import cn.iocoder.yudao.framework.common.pojo.StoreResult;
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated; import cn.iocoder.yudao.module.member.controller.app.store.dto.FacePayDto;
import cn.iocoder.yudao.module.member.controller.app.store.dto.*; import cn.iocoder.yudao.module.member.controller.app.store.dto.StoreOrderDto;
import cn.iocoder.yudao.module.member.controller.app.store.vo.*; import cn.iocoder.yudao.module.member.controller.app.store.dto.StoreOrderUploadDto;
import cn.iocoder.yudao.module.member.controller.app.store.dto.StoreSaleGoodsDto;
import cn.iocoder.yudao.module.member.controller.app.store.dto.StoreUserDto;
import cn.iocoder.yudao.module.member.controller.app.store.vo.GoodsResult;
import cn.iocoder.yudao.module.member.controller.app.store.vo.StoreGoodsListVo;
import cn.iocoder.yudao.module.member.controller.app.store.vo.StoreGoodsTypeListVo;
import cn.iocoder.yudao.module.member.controller.app.store.vo.StoreUserVo;
import cn.iocoder.yudao.module.member.controller.app.store.vo.UserInfoVo;
import cn.iocoder.yudao.module.member.dal.dataobject.storegoods.StoreGoodsDO; import cn.iocoder.yudao.module.member.dal.dataobject.storegoods.StoreGoodsDO;
import cn.iocoder.yudao.module.member.dal.dataobject.storegoodstype.StoreGoodsTypeDO; import cn.iocoder.yudao.module.member.dal.dataobject.storegoodstype.StoreGoodsTypeDO;
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
@ -18,14 +26,15 @@ import cn.iocoder.yudao.module.member.service.user.MemberUserService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.PostConstruct;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.annotation.security.PermitAll; import javax.annotation.security.PermitAll;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -59,7 +68,7 @@ public class AppStoreController {
@GetMapping("/mgcr/equipment/goodsList") @GetMapping("/mgcr/equipment/goodsList")
@Operation(summary = "获取菜品库所有菜品") @Operation(summary = "获取菜品库所有菜品")
public GoodsResult getGoods(@RequestBody StoreBaseDto dto) { public String getGoods(String equipmentCode) {
List<StoreGoodsDO> goodsDOS = storeGoodsService.getAll(null); List<StoreGoodsDO> goodsDOS = storeGoodsService.getAll(null);
List<StoreGoodsTypeDO> goodsTypeDOS = goodsTypeService.getAll(); List<StoreGoodsTypeDO> goodsTypeDOS = goodsTypeService.getAll();
List<StoreGoodsListVo> goodData = BeanUtils.toBean(goodsDOS, StoreGoodsListVo.class); List<StoreGoodsListVo> goodData = BeanUtils.toBean(goodsDOS, StoreGoodsListVo.class);
@ -70,12 +79,13 @@ public class AppStoreController {
goodsResult.setGoodsData(goodData); goodsResult.setGoodsData(goodData);
goodsResult.setSuccess(true); goodsResult.setSuccess(true);
goodsResult.setMessage("操作成功"); goodsResult.setMessage("操作成功");
return goodsResult;
return JsonUtils.toJsonString(goodsResult);
} }
@PostMapping("/mgcr/equipment/bindGoods") @PostMapping("/mgcr/equipment/bindGoods")
@Operation(summary = "设置营业菜品") @Operation(summary = "设置营业菜品")
public StoreResult<String> bindGoods(@RequestBody StoreSaleGoodsDto dto) { public String bindGoods(@RequestBody StoreSaleGoodsDto dto) {
Boolean b = saleGoodsService.bindGoods(dto); Boolean b = saleGoodsService.bindGoods(dto);
StoreResult<String> result = new StoreResult<>(); StoreResult<String> result = new StoreResult<>();
@ -87,21 +97,21 @@ public class AppStoreController {
result.setStatusCode("300"); result.setStatusCode("300");
result.setSuccess(false); result.setSuccess(false);
} }
return result; return JsonUtils.toJsonString(result);
} }
@GetMapping("/mgcr/equipment/queryBindGoods") @GetMapping("/mgcr/equipment/queryBindGoods")
@Operation(summary = "获取营业菜品") @Operation(summary = "获取营业菜品")
public GoodsResult getSaleGoods(@RequestBody StoreBaseDto dto) { public String getSaleGoods(String equipmentCode) {
GoodsResult goodsResult = new GoodsResult(); GoodsResult goodsResult = new GoodsResult();
goodsResult.setStatusCode(200); goodsResult.setStatusCode(200);
goodsResult.setSuccess(true); goodsResult.setSuccess(true);
goodsResult.setMessage("操作成功"); goodsResult.setMessage("操作成功");
List<Integer> goodsIds = saleGoodsService.getGoodsIds(dto.getEquipmentCode()); List<Integer> goodsIds = saleGoodsService.getGoodsIds(equipmentCode);
if(CollectionUtil.isEmpty(goodsIds)){ if(CollectionUtil.isEmpty(goodsIds)){
return goodsResult; return JsonUtils.toJsonString(goodsResult);
} }
List<StoreGoodsDO> goodsDOS = storeGoodsService.getAll(null); List<StoreGoodsDO> goodsDOS = storeGoodsService.getAll(null);
List<StoreGoodsTypeDO> goodsTypeDOS = goodsTypeService.getAll(); List<StoreGoodsTypeDO> goodsTypeDOS = goodsTypeService.getAll();
@ -109,46 +119,51 @@ public class AppStoreController {
List<StoreGoodsTypeListVo> categoryData = BeanUtils.toBean(goodsTypeDOS, StoreGoodsTypeListVo.class); List<StoreGoodsTypeListVo> categoryData = BeanUtils.toBean(goodsTypeDOS, StoreGoodsTypeListVo.class);
goodsResult.setCategoryData(categoryData); goodsResult.setCategoryData(categoryData);
goodsResult.setGoodsData(goodData); goodsResult.setGoodsData(goodData);
return goodsResult; return JsonUtils.toJsonString(goodsResult);
} }
@PostMapping("/mgcr/order/paymentCodePayOrder") @PostMapping("/mgcr/order/paymentCodePayOrder")
@Operation(summary = "创建刷脸支付订单") @Operation(summary = "创建刷脸支付订单")
public StoreResult<HashMap<String, Integer>> paymentCodePayOrder(@RequestBody StoreOrderDto dto) { public String paymentCodePayOrder(@RequestBody StoreOrderDto dto) {
Integer order = orderService.createOrder(dto).getOrderId(); Integer order = orderService.createOrder(dto).getOrderId();
HashMap<String, Integer> map = new HashMap<>(); HashMap<String, Integer> map = new HashMap<>();
map.put("orderId", order); map.put("orderId", order);
return StoreResult.success(map); return JsonUtils.toJsonString(StoreResult.success(map));
} }
@PostMapping("/swipingFacePay") @PostMapping("/swipingFacePay")
@Operation(summary = "提交刷脸支付") @Operation(summary = "提交刷脸支付")
public StoreResult swipingFacePay(@RequestBody FacePayDto dto) { public String swipingFacePay(@RequestBody FacePayDto dto) {
UserInfoVo userInfoVo = orderService.facePay(dto); UserInfoVo userInfoVo = orderService.facePay(dto);
if(userInfoVo.getBalance()>=0){ if(userInfoVo.getBalance()>=0){
return StoreResult.success(userInfoVo); return JsonUtils.toJsonString(StoreResult.success(userInfoVo));
}else { }else {
return StoreResult.fail("余额不足"); return JsonUtils.toJsonString(StoreResult.fail("余额不足"));
} }
} }
@PostMapping("/mgcr/order/payByCardOrder") @PostMapping("/mgcr/order/payByCardOrder")
@Operation(summary = "添加刷卡订单") @Operation(summary = "添加刷卡订单")
public StoreResult<HashMap<String, Integer>> payByCardOrder(@RequestBody StoreOrderDto dto) { public String payByCardOrder(@RequestBody StoreOrderDto dto) {
Boolean b = orderService.cardPay(dto); Boolean b = orderService.cardPay(dto);
if(b){ if(b){
return StoreResult.success(null); return JsonUtils.toJsonString(StoreResult.success(null));
}else { }else {
return StoreResult.fail("余额不足"); return JsonUtils.toJsonString(StoreResult.fail("余额不足"));
} }
} }
@PostMapping("/mgcr/order/batchCacheOrder") @PostMapping("/mgcr/order/batchCacheOrder")
@Operation(summary = "缓存订单批量上传") @Operation(summary = "缓存订单批量上传")
public StoreResult<HashMap<String, Integer>> batchCacheOrder(@RequestBody StoreOrderUploadDto dto) { public String batchCacheOrder(@RequestBody StoreOrderUploadDto dto) {
orderService.batchCacheOrder(dto); orderService.batchCacheOrder(dto);
return StoreResult.success(null); return JsonUtils.toJsonString(StoreResult.success(null));
} }
@GetMapping("/mgcr/equipment/heartbeat")
@Operation(summary = "心跳")
public String heartbeat() {
return JsonUtils.toJsonString(StoreResult.success(null));
}
} }

View File

@ -0,0 +1,37 @@
package cn.iocoder.yudao.module.system.controller.app.deviceinfo;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.system.controller.admin.deviceinfo.vo.DeviceInfoSaveReqVO;
import cn.iocoder.yudao.module.system.service.deviceinfo.DeviceInfoService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 设备信息关联门店")
@RestController
@RequestMapping("/t/device-info")
@Validated
public class AppDeviceInfoController {
@Resource
private DeviceInfoService deviceInfoService;
@PostMapping("/create")
@Operation(summary = "创建设备信息关联门店")
@PreAuthorize("@ss.hasPermission('t:device-info:create')")
public CommonResult<Long> createDeviceInfo(@Valid @RequestBody DeviceInfoSaveReqVO createReqVO) {
return success(deviceInfoService.createDeviceInfo(createReqVO));
}
}

View File

@ -2,12 +2,7 @@ package cn.iocoder.yudao.module.system.controller.app.facedeviceinfo;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import cn.iocoder.yudao.module.system.controller.admin.facedeviceinfo.vo.FaceDeviceInfoPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.facedeviceinfo.vo.FaceDeviceInfoRespVO; import cn.iocoder.yudao.module.system.controller.admin.facedeviceinfo.vo.FaceDeviceInfoRespVO;
import cn.iocoder.yudao.module.system.controller.admin.facedeviceinfo.vo.FaceDeviceInfoSaveReqVO; import cn.iocoder.yudao.module.system.controller.admin.facedeviceinfo.vo.FaceDeviceInfoSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.facedeviceinfo.FaceDeviceInfoDO; import cn.iocoder.yudao.module.system.dal.dataobject.facedeviceinfo.FaceDeviceInfoDO;
@ -17,19 +12,18 @@ import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.annotation.security.PermitAll;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@ -66,5 +60,10 @@ public class AppFaceDeviceInfoController {
return success(bean); return success(bean);
} }
@PostMapping("/create")
@Operation(summary = "创建人脸设备信息关联门店")
public CommonResult<Long> createFaceDeviceInfo(@Valid @RequestBody FaceDeviceInfoSaveReqVO createReqVO) {
return success(faceDeviceInfoService.createFaceDeviceInfo(createReqVO));
}
} }

View File

@ -1,25 +1,19 @@
package cn.iocoder.yudao.module.system.service.facedeviceinfo; package cn.iocoder.yudao.module.system.service.facedeviceinfo;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.system.controller.admin.facedeviceinfo.vo.FaceDeviceInfoPageReqVO; import cn.iocoder.yudao.module.system.controller.admin.facedeviceinfo.vo.FaceDeviceInfoPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.facedeviceinfo.vo.FaceDeviceInfoSaveReqVO; import cn.iocoder.yudao.module.system.controller.admin.facedeviceinfo.vo.FaceDeviceInfoSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.facedeviceinfo.FaceDeviceInfoDO; import cn.iocoder.yudao.module.system.dal.dataobject.facedeviceinfo.FaceDeviceInfoDO;
import cn.iocoder.yudao.module.system.dal.mysql.carteen.CarteenMapper; import cn.iocoder.yudao.module.system.dal.mysql.carteen.CarteenMapper;
import cn.iocoder.yudao.module.system.dal.mysql.facedeviceinfo.FaceDeviceInfoMapper; import cn.iocoder.yudao.module.system.dal.mysql.facedeviceinfo.FaceDeviceInfoMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import javax.annotation.Resource;
import java.util.List;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.FACE_DEVICE_INFO_NOT_EXISTS; import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.FACE_DEVICE_INFO_NOT_EXISTS;
@ -94,7 +88,9 @@ public class FaceDeviceInfoServiceImpl implements FaceDeviceInfoService {
LambdaQueryWrapper<FaceDeviceInfoDO> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<FaceDeviceInfoDO> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(FaceDeviceInfoDO::getMac, mac); wrapper.eq(FaceDeviceInfoDO::getMac, mac);
FaceDeviceInfoDO faceDeviceInfoDO = faceDeviceInfoMapper.selectOne(wrapper); FaceDeviceInfoDO faceDeviceInfoDO = faceDeviceInfoMapper.selectOne(wrapper);
if(faceDeviceInfoDO.getCarteenId() != null){
faceDeviceInfoDO.setCarteenName(carteenMapper.selectById(faceDeviceInfoDO.getCarteenId()).getStoresName()); faceDeviceInfoDO.setCarteenName(carteenMapper.selectById(faceDeviceInfoDO.getCarteenId()).getStoresName());
}
return faceDeviceInfoDO; return faceDeviceInfoDO;
} }
} }