ip获取门店

This commit is contained in:
qjq
2024-04-10 17:18:29 +08:00
parent 3b271d2d02
commit e1d4fb83b9
5 changed files with 106 additions and 14 deletions

View File

@ -75,8 +75,8 @@ public class DevuceController {
}
@GetMapping("/list")
@Operation(summary = "获得绑定的菜品")
public CommonResult<DishesRespVO> getDevuceList(@RequestParam("sn")String sn){
DishesDO devuceList = devuceService.getDevuceList(sn);
public CommonResult<DishesRespVO> getDevuceList(){
DishesDO devuceList = devuceService.getDevuceList();
return success(BeanUtils.toBean(devuceList, DishesRespVO.class));
}
@GetMapping("/type")
@ -104,5 +104,9 @@ public class DevuceController {
// ExcelUtils.write(response, "设备.xls", "数据", DevuceRespVO.class,
// BeanUtils.toBean(list, DevuceRespVO.class));
// }
@GetMapping("/carteen")
@Operation(summary = "根据ip获取门店id")
public CommonResult<Long> getCarteenId() {
return success(devuceService.getCarteenIdByIp());
}
}

View File

@ -0,0 +1,47 @@
package cn.iocoder.yudao.module.system.dal.dataobject.deviceInfo;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
/**
* @Author:qjq
* @Date:2024/4/10 下午4:37
*/
@TableName("t_device_info")
@KeySequence("t_device_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DeviceInfoDO extends BaseDO {
/**
* 编号
*/
private Long id;
/**
* 设备sn码
*/
private String deviceSn;
/**
* 门店编号
*/
private Long carteenId;
/**
* 设备ip
*/
private String deviceIp;
/**
* 设备名称
*/
private String deviceName;
/**
* 门店名称
*/
private String carteenName;
}

View File

@ -0,0 +1,13 @@
package cn.iocoder.yudao.module.system.dal.mysql.deviceInfo;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.system.dal.dataobject.deviceInfo.DeviceInfoDO;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author:qjq
* @Date:2024/4/10 下午4:37
*/
@Mapper
public interface DeviceInfoMapper extends BaseMapperX<DeviceInfoDO> {
}

View File

@ -58,9 +58,9 @@ public interface DevuceService {
* @Description: 设备绑定菜品,或计算菜品重量与剩余重量
* @Author: qjq
* @Date: 2024/4/10 下午1:40
* @return
* @return
*/
DishesDO getDevuceList(String sn);
DishesDO getDevuceList();
List<DishesDO> getDishesList(Long carteenId,Long dishecType);
/**
@ -70,7 +70,12 @@ public interface DevuceService {
* @return
*/
List<DishesTypeDO> getDishesTypeList(Long carteenId);
/**
* @Description: 根据ip获取门店id
* @Author: qjq
* @Date: 2024/4/10 下午4:28
* @return
*/
Long getCarteenIdByIp();
}

View File

@ -6,9 +6,11 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.system.controller.app.devuce.vo.DevucePageReqVO;
import cn.iocoder.yudao.module.system.controller.app.devuce.vo.DevuceSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.deviceInfo.DeviceInfoDO;
import cn.iocoder.yudao.module.system.dal.dataobject.devuce.DevuceDO;
import cn.iocoder.yudao.module.system.dal.dataobject.dishes.DishesDO;
import cn.iocoder.yudao.module.system.dal.dataobject.dishestype.DishesTypeDO;
import cn.iocoder.yudao.module.system.dal.mysql.deviceInfo.DeviceInfoMapper;
import cn.iocoder.yudao.module.system.dal.mysql.devuce.DevuceMapper;
import cn.iocoder.yudao.module.system.dal.mysql.dishes.DishesMapper;
import cn.iocoder.yudao.module.system.dal.mysql.dishestype.DishesTypeMapper;
@ -41,6 +43,8 @@ public class DevuceServiceImpl implements DevuceService {
private DishesTypeMapper dishesTypeMapper;
@Resource
private HttpServletRequest httpServletRequest;
@Resource
private DeviceInfoMapper deviceInfoMapper;
@Override
public Long createDevuce(DevuceSaveReqVO createReqVO) {
// 插入
@ -76,16 +80,18 @@ public class DevuceServiceImpl implements DevuceService {
bind(updateReqVO);
return null;
}*/
try {
String header = httpServletRequest.getHeader("Authorization");
updateReqVO.setDeviceSn(header);
updateReqVO.setDeviceSn(this.getHearder());
bind(updateReqVO);
}
public String getHearder(){
try {
return httpServletRequest.getHeader("Authorization");
} catch (Exception e) {
throw exception(2000_10_001,"无法获取设备编码");
}
}
public void bind(DevuceSaveReqVO updateReqVO){
if (devuceMapper.selectOne(new LambdaQueryWrapperX<DevuceDO>()
if (devuceMapper.selectList(new LambdaQueryWrapperX<DevuceDO>()
.eqIfPresent(DevuceDO::getDeviceSn,updateReqVO.getDeviceSn())) == null) {
createDevuce(updateReqVO);
}else{
@ -123,10 +129,10 @@ public class DevuceServiceImpl implements DevuceService {
}
@Override
public DishesDO getDevuceList(String sn) {
public DishesDO getDevuceList() {
//获取当前设备绑定的菜品id
DevuceDO devuceDO = devuceMapper.selectOne(new LambdaQueryWrapperX<DevuceDO>()
.eq(DevuceDO::getDeviceSn, sn));
.eq(DevuceDO::getDeviceSn, this.getHearder()));
if(ObjUtil.isEmpty(devuceDO)){
return null;
}else{
@ -168,5 +174,22 @@ public class DevuceServiceImpl implements DevuceService {
return dishesTypeMapper.selectList(new LambdaQueryWrapperX<DishesTypeDO>().eq(DishesTypeDO::getCarteenId,carteenId));
}
/**
* @return
* @Description: 根据ip获取门店id
* @Author: qjq
* @Date: 2024/4/10 下午4:28
*/
@Override
public Long getCarteenIdByIp() {
String hearder = this.getHearder();
List<DeviceInfoDO> deviceInfoDOS = deviceInfoMapper.selectList(new LambdaQueryWrapperX<DeviceInfoDO>()
.eq(DeviceInfoDO::getDeviceIp, hearder)
);
if(ObjUtil.isNotEmpty(deviceInfoDOS)){
return deviceInfoDOS.get(0).getCarteenId();
}else{
throw exception(2000_10_002,"无法通IP获取门店");
}
}
}