订单修改

This commit is contained in:
seesaw
2024-10-30 17:41:19 +08:00
parent d7212197dc
commit cfce1b121f
3 changed files with 82 additions and 2 deletions

View File

@ -0,0 +1,40 @@
package cn.iocoder.yudao.module.member.controller.app.storegoods;
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.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import cn.iocoder.yudao.module.member.controller.admin.storegoods.vo.StoreGoodsPageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.storegoods.vo.StoreGoodsRespVO;
import cn.iocoder.yudao.module.member.controller.admin.storegoods.vo.StoreGoodsSaveReqVO;
import cn.iocoder.yudao.module.member.controller.admin.storegoods.vo.StoreSaleGoodsPageVO;
import cn.iocoder.yudao.module.member.dal.dataobject.storegoods.StoreGoodsDO;
import cn.iocoder.yudao.module.member.service.storegoods.StoreGoodsService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
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.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
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.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Tag(name = "管理后台 - 商品")
@RestController
@RequestMapping("/member/store-goods")
@Validated
public class AppStoreGoodsController {
@Resource
private StoreGoodsService storeGoodsService;
}

View File

@ -25,6 +25,7 @@ import cn.iocoder.yudao.module.member.service.amount.DeductionService;
import cn.iocoder.yudao.module.member.service.card.CardService;
import cn.iocoder.yudao.module.member.service.storeorderdetail.StoreOrderDetailService;
import cn.iocoder.yudao.module.member.service.user.MemberUserService;
import cn.iocoder.yudao.module.system.api.cashregisterinfo.CashregisterinfoApi;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.data.redis.core.StringRedisTemplate;
@ -68,6 +69,9 @@ public class StoreOrderServiceImpl implements StoreOrderService {
@Resource
private DeductionService deductionService;
@Resource
private CashregisterinfoApi cashregisterinfoApi;
@Resource
private StringRedisTemplate storeOrderRedisTemplate;
@ -118,12 +122,14 @@ public class StoreOrderServiceImpl implements StoreOrderService {
@Transactional(rollbackFor = Exception.class)
public StoreOrderDO createOrder(StoreOrderDto dto) {
StoreOrderDO storeOrderDO = new StoreOrderDO();
Long storeId = cashregisterinfoApi.getStoreId(dto.getEquipmentCode());
BeanUtil.copyProperties(dto, storeOrderDO);
List<StoreGoodsDto> equipmentGoodsCustoms = dto.getEquipmentGoodsCustoms();
double sum = equipmentGoodsCustoms.stream()
.mapToDouble(StoreGoodsDto::getTotalPrice)
.sum();
storeOrderDO.setTotalPrice(sum);
storeOrderDO.setCarteenId(storeId);
storeOrderMapper.insert(storeOrderDO);
ArrayList<StoreOrderDetailDO> detailDOS = new ArrayList<>();
for (StoreGoodsDto storeGoodsDto : equipmentGoodsCustoms) {

View File

@ -6,8 +6,10 @@ 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.deviceinfo.vo.DeviceInfoPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.deviceinfo.vo.DeviceInfoSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.cashregisterinfo.CashRegisterInfoDO;
import cn.iocoder.yudao.module.system.dal.dataobject.deviceInfo.DeviceInfoDO;
import cn.iocoder.yudao.module.system.dal.dataobject.facedeviceinfo.FaceDeviceInfoDO;
import cn.iocoder.yudao.module.system.dal.mysql.cashregisterinfo.CashRegisterInfoMapper;
import cn.iocoder.yudao.module.system.dal.mysql.deviceInfo.DeviceInfoMapper;
import cn.iocoder.yudao.module.system.dal.mysql.facedeviceinfo.FaceDeviceInfoMapper;
import cn.iocoder.yudao.module.system.enums.ErrorCodeConstants;
@ -47,6 +49,9 @@ public class DeviceInfoServiceImpl implements DeviceInfoService {
@Resource
private FaceDeviceInfoMapper faceDeviceInfoMapper;
@Resource
private CashRegisterInfoMapper cashRegisterInfoMapper;
@Override
public Long createDeviceInfo(DeviceInfoSaveReqVO createReqVO) {
// 插入
@ -109,10 +114,14 @@ public class DeviceInfoServiceImpl implements DeviceInfoService {
faceDeviceInfoMapper.update(new FaceDeviceInfoDO(),new LambdaUpdateWrapper<FaceDeviceInfoDO>()
.eq(FaceDeviceInfoDO::getMac,deviceSn)
.set(FaceDeviceInfoDO::getAlive,"1"));
cashRegisterInfoMapper.update(new CashRegisterInfoDO(),new LambdaUpdateWrapper<CashRegisterInfoDO>()
.eq(CashRegisterInfoDO::getEquipmentCode,deviceSn)
.set(CashRegisterInfoDO::getAlive,"1"));
}
@Override
public int updateAlive() {
//称重机
List<String> updateList = new ArrayList<>();
List<DeviceInfoDO> deviceInfoDOS = deviceInfoMapper.selectList();
List<String> devuceList = deviceInfoDOS.stream().map(DeviceInfoDO::getDeviceIp).collect(Collectors.toList());
@ -135,7 +144,7 @@ public class DeviceInfoServiceImpl implements DeviceInfoService {
.set(DeviceInfoDO::getAlive,"0")
.in(DeviceInfoDO::getDeviceIp,updateList));
}
//人脸
List<String> upList = new ArrayList<>();
List<FaceDeviceInfoDO> faceDeviceInfoDOS = faceDeviceInfoMapper.selectList();
List<String> macList = faceDeviceInfoDOS.stream().map(FaceDeviceInfoDO::getMac).collect(Collectors.toList());
@ -159,7 +168,32 @@ public class DeviceInfoServiceImpl implements DeviceInfoService {
.in(FaceDeviceInfoDO::getMac,upList));
}
return updateList.size()+upList.size();
//收银机
List<String> cashUpList = new ArrayList<>();
List<CashRegisterInfoDO> cashRegisterInfoDOS = cashRegisterInfoMapper.selectList();
List<String> codes = cashRegisterInfoDOS.stream().map(CashRegisterInfoDO::getEquipmentCode).collect(Collectors.toList());
for (String code : codes){
if(StringUtils.isBlank(code)){
continue;
}
String time = RedisTemplate.opsForValue().get(code);
if(StringUtils.isBlank(code)){
upList.add(code);
continue;
}
if(System.currentTimeMillis()-Long.valueOf(time)>120000){
upList.add(code);
}
}
if(CollectionUtil.isNotEmpty(cashUpList)){
cashRegisterInfoMapper.update(new CashRegisterInfoDO(),new LambdaUpdateWrapper<CashRegisterInfoDO>()
.set(CashRegisterInfoDO::getAlive,"0")
.in(CashRegisterInfoDO::getEquipmentCode,upList));
}
return updateList.size()+upList.size()+cashUpList.size();
}
public String getHearder(){