diff --git a/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/enums/LogBizType.java b/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/enums/LogBizType.java
index 8b7fcef..7db4eea 100644
--- a/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/enums/LogBizType.java
+++ b/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/enums/LogBizType.java
@@ -17,6 +17,7 @@ public enum LogBizType {
UNIT("5", "单位"),
SHIFT("6", "调班"),
SUIT("SUIT", "套餐"),
+ DEVICE("DEVICE", "设备"),
ARTICLE_CATEGORY("ARTICLE_CATEGORY", "文章分类"),
BOOTH("BOOTH", "卡座");
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/booth/domain/Booth.java b/ruoyi-service/src/main/java/com/ruoyi/bst/booth/domain/Booth.java
index e92658e..cf48dbb 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/booth/domain/Booth.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/booth/domain/Booth.java
@@ -30,10 +30,10 @@ public class Booth extends BaseEntity
@NotNull(message = "分区ID不能为空",groups = ValidGroup.Create.class)
private Long partId;
- @Excel(name = "卡座编号")
- @ApiModelProperty("卡座编号")
- @NotBlank(message = "卡座编号不能为空",groups = ValidGroup.Create.class)
- private String boothNo;
+ @Excel(name = "卡座名")
+ @ApiModelProperty("卡座名")
+ @NotBlank(message = "卡座名不能为空",groups = ValidGroup.Create.class)
+ private String boothName;
@Excel(name = "过期时间")
@ApiModelProperty("过期时间")
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/booth/domain/BoothVO.java b/ruoyi-service/src/main/java/com/ruoyi/bst/booth/domain/BoothVO.java
index 2d5b845..7528421 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/booth/domain/BoothVO.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/booth/domain/BoothVO.java
@@ -23,6 +23,10 @@ public class BoothVO extends Booth{
@ApiModelProperty("店铺名称")
private String storeName;
+ @Excel(name = "商户名称")
+ @ApiModelProperty("商户名称")
+ private String mchName;
+
@Excel(name = "店铺ID")
@ApiModelProperty("店铺ID")
private Long storeId;
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/booth/mapper/BoothMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/booth/mapper/BoothMapper.xml
index cc22cf7..f3df933 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/booth/mapper/BoothMapper.xml
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/booth/mapper/BoothMapper.xml
@@ -12,13 +12,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
select
bb.booth_id,
bb.part_id,
- bb.booth_no,
+ bb.booth_name,
bb.picture,
bb.create_time,
bb.user_id,
@@ -28,7 +29,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
bp.part_name as part_name,
bp_parent.part_name as parent_name,
bs.store_name as store_name,
- bs.user_id as mch_id
+ bs.user_id as mch_id,
+ mch_su.user_name as mch_name
from
@@ -37,6 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join bst_part bp on bp.part_id = bb.part_id
left join bst_part bp_parent on bp.parent_id = bp_parent.part_id
left join bst_store bs on bp.store_id = bs.store_id
+ left join sys_user mch_su on bs.user_id = mch_su.user_id
@@ -44,10 +47,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and bb.user_id = #{query.userId}
and bb.deleted = #{query.deleted}
and bb.booth_id = #{query.boothId}
- and bb.booth_no like concat('%', #{query.boothNo}, '%')
+ and bb.booth_name like concat('%', #{query.boothName}, '%')
and bb.picture = #{query.picture}
and bp.part_name like concat('%', #{query.partName}, '%')
- and bp.part_name like concat('%', #{query.partName}, '%')
and bb.expired_time >= #{query.time}
and bs.store_name like concat('%', #{query.storeName}, '%')
${@com.ruoyi.framework.util.DataScopeUtil@create(query.scope)
@@ -73,7 +75,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
@@ -95,7 +97,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
@@ -105,14 +107,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
picture,
create_time,
order_num,
- booth_no,
+ booth_name,
#{partId},
#{picture},
#{createTime},
#{orderNum},
- #{boothNo},
+ #{boothName},
@@ -199,7 +201,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
part_id = #{data.partId},
- booth_no = #{data.boothNo},
+ booth_name = #{data.boothName},
picture = #{data.picture},
create_time = #{data.createTime},
user_id = #{data.userId},
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/BoothService.java b/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/BoothService.java
index be1bf28..97512b0 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/BoothService.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/BoothService.java
@@ -86,7 +86,7 @@ public interface BoothService
public int deleteBoothByBoothId(Long boothId);
- public BoothVO bindUser(Long userId, String boothNo);
+ public BoothVO bindUser(Long userId, Long boothId);
public DeviceIotVO lighting(BoothVO booth, Long userId,boolean requiredIot);
@@ -96,5 +96,5 @@ public interface BoothService
int unbindUser(BoothVO booth);
- int userChangeBind(String usingBoothNo ,String changeBoothNo,Long userId);
+ int userChangeBind(Long usingBoothId ,Long changeBoothId,Long userId);
}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/BoothValidator.java b/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/BoothValidator.java
index 010d2d9..3c3b239 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/BoothValidator.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/BoothValidator.java
@@ -20,9 +20,5 @@ public interface BoothValidator {
*/
boolean canDeleteAll(List ids);
- /**
- * 校验
- * @param boothId
- */
- void validate(Long boothId,String boothNo);
+
}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/impl/BoothConverterImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/impl/BoothConverterImpl.java
index 1110c44..b59757d 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/impl/BoothConverterImpl.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/impl/BoothConverterImpl.java
@@ -17,7 +17,7 @@ public class BoothConverterImpl implements BoothConverter {
// 设置基本信息
po.setPartId(data.getPartId());
po.setPicture(data.getPicture());
- po.setBoothNo(data.getBoothNo());
+ po.setBoothName(data.getBoothName());
po.setOrderNum(data.getOrderNum());
return po;
}
@@ -32,7 +32,7 @@ public class BoothConverterImpl implements BoothConverter {
po.setBoothId(data.getBoothId());
po.setPartId(data.getPartId());
po.setPicture(data.getPicture());
- po.setBoothNo(data.getBoothNo());
+ po.setBoothName(data.getBoothName());
po.setOrderNum(data.getOrderNum());
return po;
}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/impl/BoothServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/impl/BoothServiceImpl.java
index cabd5e1..14ae1de 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/impl/BoothServiceImpl.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/impl/BoothServiceImpl.java
@@ -100,12 +100,12 @@ public class BoothServiceImpl implements BoothService {
}
@Override
- public BoothVO selectBoothByBoothNo(String boothNo, boolean scope) {
- if (boothNo == null) {
+ public BoothVO selectBoothByBoothNo(String boothName, boolean scope) {
+ if (boothName == null) {
return null;
}
BoothQuery query = new BoothQuery();
- query.setBoothNo(boothNo);
+ query.setBoothName(boothName);
query.setScope(scope);
query.addStorePermission(StoreStaffPermission.BOOTH_VIEW.getCode());
return this.selectOne(query);
@@ -139,15 +139,9 @@ public class BoothServiceImpl implements BoothService {
@Override
public int insertBooth(Booth booth) {
booth.setCreateTime(DateUtils.getNowDate());
- Integer result = transactionTemplate.execute(status -> {
- int rows = boothMapper.insertBooth(booth);
- if (rows > 0) {
- // 后校验
- boothValidator.validate(booth.getBoothId(), booth.getBoothNo());
- }
- return rows;
- });
- return result == null ? 0 : result;
+ PartVO partVO = partService.selectPartById(booth.getPartId());
+ ServiceUtil.assertion(partVO == null, "id为%s的分区信息不存在", booth.getPartId());
+ return boothMapper.insertBooth(booth);
}
/**
@@ -158,9 +152,9 @@ public class BoothServiceImpl implements BoothService {
*/
@Override
public int updateBooth(Booth booth) {
- if (booth.getBoothNo() != null) {
- boothValidator.validate(booth.getBoothId(), booth.getBoothNo());
- }
+ ServiceUtil.assertion(booth.getPartId() == null, "分区ID不能为空");
+ PartVO partVO = partService.selectPartById(booth.getPartId());
+ ServiceUtil.assertion(partVO == null, "id为%s的分区信息不存在", booth.getPartId());
return boothMapper.updateBooth(booth);
}
@@ -187,18 +181,19 @@ public class BoothServiceImpl implements BoothService {
}
@Override
- public BoothVO bindUser(Long userId, String boothNo) {
+ public BoothVO bindUser(Long userId, Long boothId) {
boolean lock = redisLock.lock(RedisLockKey.BOOTH_BIND_USER, userId);
ServiceUtil.assertion(!lock, "您当前操作过于频繁,请稍后重试");
try {
+ //查询当前用户当前绑定的卡座
BoothQuery query = new BoothQuery();
query.setUserId(userId);
query.setTime(LocalDateTime.now());
List list = boothMapper.selectBoothList(query);
- if (list != null && !list.isEmpty()){
- return CollectionUtils.firstElement(list);
- };
- BoothVO booth = boothMapper.selectBoothByBoothNo(boothNo);
+ if (list != null && !list.isEmpty()) {
+ return CollectionUtils.firstElement(list);
+ }
+ BoothVO booth = boothMapper.selectBoothByBoothId(boothId);
ServiceUtil.assertion(booth == null, "当前卡座不存在");
if (booth.getUserId() != null && booth.getExpiredTime() != null && booth.getExpiredTime().isAfter(LocalDateTime.now())) {
// 卡座未过期,被其他用户绑定
@@ -233,15 +228,15 @@ public class BoothServiceImpl implements BoothService {
}
@Override
- public int userChangeBind(String usingBoothNo, String changeBoothNo, Long userId) {
+ public int userChangeBind(Long usingBoothId, Long changeBoothId, Long userId) {
- BoothVO usingBooth = boothMapper.selectBoothByBoothNo(usingBoothNo);
- ServiceUtil.assertion(usingBooth == null, "编号为%s的卡座信息不存在", usingBoothNo);
- ServiceUtil.assertion(usingBooth.getUserId() == null, "请先绑定编号为%s的卡座后再进行操作", usingBoothNo);
- ServiceUtil.assertion(!usingBooth.getUserId().equals(userId), "您无权限更改当前卡座信息", usingBoothNo);
- BoothVO changeBooth = boothMapper.selectBoothByBoothNo(changeBoothNo);
- ServiceUtil.assertion(changeBooth == null, "编号为%s的卡座信息不存在", changeBoothNo);
- boolean lock = redisLock.lock(RedisLockKey.BOOTH_CHANGE_USER, changeBoothNo);
+ BoothVO usingBooth = boothMapper.selectBoothByBoothId(usingBoothId);
+ ServiceUtil.assertion(usingBooth == null, "ID为%s的卡座信息不存在", usingBoothId);
+ ServiceUtil.assertion(usingBooth.getUserId() == null, "请先绑定ID为%s的卡座后再进行操作", usingBoothId);
+ ServiceUtil.assertion(!usingBooth.getUserId().equals(userId), "您无权限更改当前卡座信息", usingBoothId);
+ BoothVO changeBooth = boothMapper.selectBoothByBoothId(changeBoothId);
+ ServiceUtil.assertion(changeBooth == null, "ID为%s的卡座信息不存在", changeBoothId);
+ boolean lock = redisLock.lock(RedisLockKey.BOOTH_CHANGE_USER, changeBoothId);
ServiceUtil.assertion(!lock, "您当前操作过于频繁,请稍后重试");
try {
Integer result = transactionTemplate.execute(status -> {
@@ -262,7 +257,7 @@ public class BoothServiceImpl implements BoothService {
});
return result;
} finally {
- redisLock.unlock(RedisLockKey.BOOTH_CHANGE_USER, changeBoothNo);
+ redisLock.unlock(RedisLockKey.BOOTH_CHANGE_USER, changeBoothId);
}
}
@@ -283,17 +278,17 @@ public class BoothServiceImpl implements BoothService {
DeviceQuery deviceQuery = new DeviceQuery();
deviceQuery.setBoothId(booth.getBoothId());
deviceQuery.setDeleted(false);
- deviceQuery.setBoothNo(booth.getBoothNo());
+ deviceQuery.setBoothId(booth.getBoothId());
List deviceVOList = deviceMapper.selectDeviceList(deviceQuery);
+ ServiceUtil.assertion(CollectionUtils.isEmpty(deviceVOList), "当前卡座下无可用设备");
// 设备相关校验
- if (deviceVOList != null && !deviceVOList.isEmpty()) {
- deviceVOList.forEach(deviceVO -> {
- ServiceUtil.assertion(deviceVO == null || deviceVO.getDeviceId() == null, "设备不存在");
- ServiceUtil.assertion(StringUtils.isAllBlank(deviceVO.getMac(), deviceVO.getMac2()), "设备MAC号为空");
- ServiceUtil.assertion(deviceVO.getDuration() == null, "设备编号为%s的设备暂未设置开启时长", deviceVO.getDeviceNo());
- });
- }
+ deviceVOList.forEach(deviceVO -> {
+ ServiceUtil.assertion(deviceVO == null || deviceVO.getDeviceId() == null, "设备不存在");
+ ServiceUtil.assertion(StringUtils.isAllBlank(deviceVO.getMac(), deviceVO.getMac2()), "设备MAC号为空");
+ ServiceUtil.assertion(deviceVO.getDuration() == null, "设备编号为%s的设备暂未设置开启时长", deviceVO.getDeviceNo());
+ });
+
// 新建IotVO 返回数据库操作与物联网操作结果
DeviceIotVO iotVO = new DeviceIotVO();
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/impl/BoothValidatorImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/impl/BoothValidatorImpl.java
index b09bec7..3bf9660 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/impl/BoothValidatorImpl.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/booth/service/impl/BoothValidatorImpl.java
@@ -37,28 +37,6 @@ public class BoothValidatorImpl implements BoothValidator {
return canOperate(ids);
}
- @Override
- public void validate(Long boothId,String boothNo) {
- BoothVO booth = boothMapper.selectBoothByBoothId(boothId);
- ServiceUtil.assertion(booth == null, "卡座不存在");
-
- // 判断卡座编号是否重复
- this.validateNo(boothId, boothNo);
- }
-
- private void validateNo(Long boothId, String boothNo) {
- if (StringUtils.isBlank(boothNo)) {
- return;
- }
- BoothQuery query = new BoothQuery();
- query.setDeleted(false);
- query.setBoothId(boothId);
- query.setBoothNo(boothNo);
- int count = boothMapper.selectCount(query);
- ServiceUtil.assertion(count > 0,"卡座编号已存在");
- }
-
-
// 是否可以操作卡座
private boolean canOperate(List boothIds) {
return hasPermission(boothIds);
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/DeviceQuery.java b/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/DeviceQuery.java
index dc22907..59b8870 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/DeviceQuery.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/DeviceQuery.java
@@ -21,8 +21,11 @@ public class DeviceQuery extends DeviceVO{
@ApiModelProperty("店铺id")
private Long storeId;
- @ApiModelProperty("卡座编号")
- private String boothNo;
+ @ApiModelProperty("MAC列表")
+ private List macList;
+
+ @ApiModelProperty("卡座名称")
+ private String boothName;
@ApiModelProperty("是否查询未绑定的设备")
private Boolean isUnbound;
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/dto/DeviceBltUploadDTO.java b/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/dto/DeviceBltUploadDTO.java
new file mode 100644
index 0000000..e3ba750
--- /dev/null
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/dto/DeviceBltUploadDTO.java
@@ -0,0 +1,20 @@
+package com.ruoyi.bst.device.domain.dto;
+
+import com.ruoyi.iot.domain.IotDeviceDetail;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+@Data
+public class DeviceBltUploadDTO {
+
+ @ApiModelProperty("设备MAC")
+ @NotBlank(message = "设备MAC不能为空")
+ private String mac;
+
+ @ApiModelProperty("系统数据")
+ @NotNull(message = "系统数据不能为空")
+ private IotDeviceDetail sys;
+}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/vo/DeviceMacSnVO.java b/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/vo/DeviceMacSnVO.java
index d67e2f5..59d5b71 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/vo/DeviceMacSnVO.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/vo/DeviceMacSnVO.java
@@ -8,5 +8,5 @@ public class DeviceMacSnVO {
// MAC
private String mac;
// SN
- private String sn;
+ private String deviceNo;
}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/device/mapper/DeviceMapper.java b/ruoyi-service/src/main/java/com/ruoyi/bst/device/mapper/DeviceMapper.java
index d782cfb..b8175b7 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/device/mapper/DeviceMapper.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/device/mapper/DeviceMapper.java
@@ -7,6 +7,7 @@ import com.ruoyi.bst.device.domain.Device;
import com.ruoyi.bst.device.domain.DeviceCountVO;
import com.ruoyi.bst.device.domain.DeviceVO;
import com.ruoyi.bst.device.domain.DeviceQuery;
+import com.ruoyi.bst.device.domain.vo.DeviceMacSnVO;
import com.ruoyi.common.domain.vo.LongIntegerVO;
import com.ruoyi.common.domain.vo.StringIntegerVO;
import org.apache.ibatis.annotations.Param;
@@ -176,4 +177,13 @@ public interface DeviceMapper
* @return
*/
List selectOnlineStatusCount(@Param("query") DeviceQuery query);
+
+ /**
+ * 根据mac查询SN
+ *
+ * @param query
+ * @return
+ */
+ List selectMacSnList(@Param("query") DeviceQuery query);
+
}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/device/mapper/DeviceMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/device/mapper/DeviceMapper.xml
index e115ce3..56d77fb 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/device/mapper/DeviceMapper.xml
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/device/mapper/DeviceMapper.xml
@@ -91,7 +91,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
su.user_name,
bs.store_name,
bs.store_id,
- bb.booth_no as position
+ bb.booth_name as position
from
@@ -104,16 +104,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- and bd.device_no = #{query.deviceNo}
+ and bd.device_no like concat('%', #{query.deviceNo}, '%')
and bd.device_id = #{query.deviceId}
and bd.store_id = #{query.storeId}
and bd.booth_id = #{query.boothId}
- and bb.booth_no = #{query.boothNo}
+ and bb.booth_name = #{query.boothName}
and bd.user_id = #{query.userId}
and bd.model_id = #{query.modelId}
and bd.device_name like concat('%', #{query.deviceName}, '%')
and bs.store_name like concat('%', #{query.storeName}, '%')
- and bd.mac = #{query.mac}
+ and bd.mac like concat('%', #{query.mac}, '%')
and bd.mac2 = #{query.mac2}
and bd.total_electri_quantity = #{query.totalElectriQuantity}
and bd.online_status = #{query.onlineStatus}
@@ -143,6 +143,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and bd.wxs = #{query.wxs}
and bd.booth_id IS NULL
and bd.last_recover_time = #{query.lastRecoverTime}
+
+ and bd.mac in
+
+ #{item}
+
+
${@com.ruoyi.framework.util.DataScopeUtil@create(query.scope)
.userSetAlias("bd.user_id")
.storeAlias("bd.store_id",query.storePermissions)
@@ -262,6 +268,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
group by `key`
+
+
+
select LAST_INSERT_ID()
@@ -880,7 +897,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update bst_device
- set store_id = null
+ set store_id = null,booth_id = null
where device_id = #{deviceId}
@@ -901,7 +918,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update bst_device
- set booth_id = null,store_id = null
+ set booth_id = null
where device_id = #{deviceId}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/device/service/DeviceService.java b/ruoyi-service/src/main/java/com/ruoyi/bst/device/service/DeviceService.java
index 1be8f38..dee0d20 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/device/service/DeviceService.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/device/service/DeviceService.java
@@ -12,6 +12,7 @@ import com.ruoyi.bst.booth.domain.BoothVO;
import com.ruoyi.bst.device.domain.Device;
import com.ruoyi.bst.device.domain.DeviceVO;
import com.ruoyi.bst.device.domain.DeviceQuery;
+import com.ruoyi.bst.device.domain.vo.DeviceMacSnVO;
import com.ruoyi.bst.store.domain.StoreVO;
import com.ruoyi.common.domain.vo.LongIntegerVO;
@@ -136,10 +137,9 @@ public interface DeviceService
/**
* 根据设备ID解除绑定
* @param deviceId
- * @param booth
* @return
*/
- public void unbindBooth(Long deviceId,BoothVO booth);
+ public void unbindBooth(Long deviceId);
/**
@@ -170,4 +170,13 @@ public interface DeviceService
* @param store
*/
void unbindStore(Long deviceId, StoreVO store);
+
+ /**
+ * 根据mac查询SN
+ *
+ * @param macList
+ * @return
+ */
+ public List listSnByMac(List macList);
+
}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/device/service/impl/DeviceServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/device/service/impl/DeviceServiceImpl.java
index 630dfcb..0f8340d 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/device/service/impl/DeviceServiceImpl.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/device/service/impl/DeviceServiceImpl.java
@@ -22,6 +22,7 @@ import com.ruoyi.bst.device.domain.dto.DeviceWifiDTO;
import com.ruoyi.bst.device.domain.enums.DeviceOnlineStatus;
import com.ruoyi.bst.device.domain.enums.DevicePowerStatus;
import com.ruoyi.bst.device.domain.enums.DeviceStatus;
+import com.ruoyi.bst.device.domain.vo.DeviceMacSnVO;
import com.ruoyi.bst.model.domain.ModelVO;
import com.ruoyi.bst.model.domain.enums.ModelTag;
import com.ruoyi.bst.model.service.ModelService;
@@ -378,7 +379,7 @@ public class DeviceServiceImpl implements DeviceService
}
@Override
- public void unbindBooth(Long deviceId, BoothVO booth) {
+ public void unbindBooth(Long deviceId) {
DeviceVO device = deviceMapper.selectDeviceByDeviceId(deviceId);
ServiceUtil.assertion(device == null, "设备未录入");
@@ -448,4 +449,14 @@ public class DeviceServiceImpl implements DeviceService
int i = deviceMapper.unbindStore(device.getDeviceId());
ServiceUtil.assertion(i==0,"绑定失败");
}
+
+ @Override
+ public List listSnByMac(List macList) {
+ if (CollectionUtils.isEmptyElement(macList)) {
+ return Collections.emptyList();
+ }
+ DeviceQuery query = new DeviceQuery();
+ query.setMacList(macList);
+ return deviceMapper.selectMacSnList(query);
+ }
}
\ No newline at end of file
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/lightingNum/domain/LightingNumVO.java b/ruoyi-service/src/main/java/com/ruoyi/bst/lightingNum/domain/LightingNumVO.java
index 3826c74..0de7590 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/lightingNum/domain/LightingNumVO.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/lightingNum/domain/LightingNumVO.java
@@ -19,12 +19,12 @@ public class LightingNumVO extends LightingNum{
@ApiModelProperty("用户昵称")
private String nickName;
- @Excel(name = "用户账号")
- @ApiModelProperty("用户账号")
+ @Excel(name = "商户账号")
+ @ApiModelProperty("商户账号")
private String mchName;
- @Excel(name = "用户昵称")
- @ApiModelProperty("用户昵称")
+ @Excel(name = "商户昵称")
+ @ApiModelProperty("商户昵称")
private String mchNickName;
}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/lightingNum/mapper/LightingNumMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/lightingNum/mapper/LightingNumMapper.xml
index a370642..b58c928 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/lightingNum/mapper/LightingNumMapper.xml
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/lightingNum/mapper/LightingNumMapper.xml
@@ -38,7 +38,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and bln.user_id = #{query.userId}
and bln.store_id = #{query.storeId}
and bln.number = #{query.number}
- and bs.user_name like concat('%',#{query.userName},'%')
+ and su.user_name like concat('%',#{query.userName},'%')
+ and su.nick_name like concat('%',#{query.nickName},'%')
and bs.store_name like concat('%',#{query.storeName},'%')
and bs.user_id = #{query.mchId}
${@com.ruoyi.framework.util.DataScopeUtil@create(query.scope)
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/order/domain/OrderQuery.java b/ruoyi-service/src/main/java/com/ruoyi/bst/order/domain/OrderQuery.java
index 1ff17fc..4e1e138 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/order/domain/OrderQuery.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/order/domain/OrderQuery.java
@@ -18,6 +18,9 @@ public class OrderQuery extends OrderVO{
@ApiModelProperty("用户id列表")
private List userIds;
+ @ApiModelProperty("下单用户")
+ private String userName;
+
@ApiModelProperty("商户id")
private Long mchId;
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/order/mapper/OrderMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/order/mapper/OrderMapper.xml
index a3d90ee..7fd6949 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/order/mapper/OrderMapper.xml
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/order/mapper/OrderMapper.xml
@@ -59,7 +59,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- and bo.order_no = #{query.orderNo}
+ and bo.order_no like concat('%', #{query.orderNo}, '%')
and bo.id = #{query.id}
and bo.store_id = #{query.storeId}
and bo.store_name like concat('%', #{query.storeName}, '%')
@@ -78,6 +78,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and date(bo.create_time) <= #{query.endTime}
and date(bo.create_time) = #{query.createDate}
and bs.user_id = #{query.mchId}
+ and su.user_name like concat('%', #{query.userName}, '%')
and bo.status in
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/pay/service/impl/PayConverterImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/pay/service/impl/PayConverterImpl.java
index ad451a4..721ac79 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/pay/service/impl/PayConverterImpl.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/pay/service/impl/PayConverterImpl.java
@@ -37,7 +37,7 @@ public class PayConverterImpl implements PayConverter {
// 基础信息
pay.setStatus(PayStatus.WAIT_PAY.getStatus());
pay.setExpireTime(LocalDateTime.now().plusMinutes(10));
- pay.setRemark("充值订单:"+order.getOrderNo());
+ pay.setDescription("充值订单:"+order.getOrderNo());
// 订单信息
pay.setBstType(PayBstType.ORDER.getType());
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/refund/mapper/RefundMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/refund/mapper/RefundMapper.xml
index 9a51cb3..fdd88db 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/refund/mapper/RefundMapper.xml
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/refund/mapper/RefundMapper.xml
@@ -41,6 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and br.store_id = #{query.storeId}
and month(br.create_time) = #{query.month}
and year(br.create_time) = #{query.year}
+ and date(br.create_time) = #{query.createDate}
and date(br.create_time) >= #{query.createDateRange[0]}
and date(br.create_time) <= #{query.createDateRange[1]}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/store/domain/Store.java b/ruoyi-service/src/main/java/com/ruoyi/bst/store/domain/Store.java
index 389ac60..11a3d41 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/store/domain/Store.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/store/domain/Store.java
@@ -31,6 +31,7 @@ public class Store extends BaseEntity
@Excel(name = "用户ID")
@ApiModelProperty("用户ID")
+ @NotNull(message = "所属用户不能为空",groups = {ValidGroup.Create.class})
private Long userId;
@Excel(name = "店铺名称")
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/store/service/impl/StoreConverterImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/store/service/impl/StoreConverterImpl.java
index 53a72f4..527886e 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/store/service/impl/StoreConverterImpl.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/store/service/impl/StoreConverterImpl.java
@@ -14,6 +14,7 @@ public class StoreConverterImpl implements StoreConverter {
Store po = new Store();
// 设置基本信息
po.setStoreName(data.getStoreName());
+ po.setUserId(data.getUserId());
po.setUserName(data.getUserName());
po.setPhone(data.getPhone());
po.setStartTime(data.getStartTime());
@@ -33,6 +34,7 @@ public class StoreConverterImpl implements StoreConverter {
Store po = new Store();
// 设置基本信息
po.setStoreId(data.getStoreId());
+ po.setUserId(data.getUserId());
po.setStoreName(data.getStoreName());
po.setUserName(data.getUserName());
po.setPhone(data.getPhone());
diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/app/AppBoothController.java b/ruoyi-web/src/main/java/com/ruoyi/web/app/AppBoothController.java
index ca15ee8..92d6c0f 100644
--- a/ruoyi-web/src/main/java/com/ruoyi/web/app/AppBoothController.java
+++ b/ruoyi-web/src/main/java/com/ruoyi/web/app/AppBoothController.java
@@ -32,12 +32,12 @@ public class AppBoothController extends BaseController {
private BoothService boothService;
@ApiOperation("爆灯")
- @PutMapping("/{boothNo}/lighting")
- public AjaxResult lighting(@PathVariable @ApiParam("设备id") String boothNo,boolean requiredIot) {
- if (boothNo == null) {
+ @PutMapping("/{boothId}/lighting")
+ public AjaxResult lighting(@PathVariable @ApiParam("设备id") Long boothId,boolean requiredIot) {
+ if (boothId == null) {
return error("卡座编号不能为空");
}
- BoothVO booth = boothService.selectBoothByBoothNo(boothNo);
+ BoothVO booth = boothService.selectBoothByBoothId(boothId);
if (booth == null) {
return error("当前卡座信息不存在");
}
@@ -51,21 +51,21 @@ public class AppBoothController extends BaseController {
}
@ApiOperation("用户绑定卡座")
- @PutMapping("/{boothNo}/bindUser")
- public AjaxResult bindBooth(@PathVariable String boothNo) {
- if (boothNo == null) {
+ @PutMapping("/{boothId}/bindUser")
+ public AjaxResult bindBooth(@PathVariable Long boothId) {
+ if (boothId == null) {
return error("卡座编号不能为空");
};
- return AjaxResult.success(boothService.bindUser(getUserId(),boothNo));
+ return AjaxResult.success(boothService.bindUser(getUserId(),boothId));
}
@ApiOperation("用户解绑卡座")
- @PutMapping("/{boothNo}/unbind")
- public AjaxResult unbindBooth(@PathVariable String boothNo) {
- if (boothNo == null) {
+ @PutMapping("/{boothId}/unbind")
+ public AjaxResult unbindBooth(@PathVariable Long boothId) {
+ if (boothId == null) {
return error("卡座编号不能为空");
};
- BoothVO booth = boothService.selectBoothByBoothNo(boothNo);
+ BoothVO booth = boothService.selectBoothByBoothId(boothId);
ServiceUtil.assertion(booth==null,"当前卡座不存在");
ServiceUtil.assertion(!booth.getUserId().equals(getUserId()),"您无权操作当前卡座设备");
return AjaxResult.success(boothService.unbindUser(booth));
@@ -73,11 +73,11 @@ public class AppBoothController extends BaseController {
@ApiOperation("用户换绑卡座")
@PutMapping("/userChangeBind")
- public AjaxResult userChangeBind( String usingBoothNo ,String changeBoothNo) {
- if (usingBoothNo == null || changeBoothNo == null) {
- return error("卡座编号不能为空");
+ public AjaxResult userChangeBind( Long usingBoothId ,Long changeBoothId) {
+ if (usingBoothId == null || changeBoothId == null) {
+ return error("卡座ID不能为空");
};
- return AjaxResult.success(boothService.userChangeBind(usingBoothNo,changeBoothNo,getUserId()));
+ return AjaxResult.success(boothService.userChangeBind(usingBoothId,changeBoothId,getUserId()));
}
@ApiOperation("查询用户绑定的卡座和设备信息")
diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/bst/BoothController.java b/ruoyi-web/src/main/java/com/ruoyi/web/bst/BoothController.java
index b1d482b..f3bd7dd 100644
--- a/ruoyi-web/src/main/java/com/ruoyi/web/bst/BoothController.java
+++ b/ruoyi-web/src/main/java/com/ruoyi/web/bst/BoothController.java
@@ -114,7 +114,6 @@ public class BoothController extends BaseController {
if (!partValidator.canCheckForPart(booth.getPartId())) {
return AjaxResult.error("您无权选择ID为" + booth.getPartId() + "的分区");
}
- // 卡座编号唯一性校验
return toAjax(boothService.insertBooth(booth));
}
@@ -154,7 +153,6 @@ public class BoothController extends BaseController {
if (boothId == null) {
return AjaxResult.error("卡座ID不能为空");
}
-
if (!boothValidator.canEdit(boothId)) {
return AjaxResult.error("您无更改该卡座相关的权限");
}
@@ -165,12 +163,10 @@ public class BoothController extends BaseController {
if (!storeValidator.canEdit(booth.getStoreId())) {
return AjaxResult.error("您无权限操作当前店铺信息");
}
-
// 设备权限校验
if (!deviceValidator.canOperate(device.getDeviceId())) {
return AjaxResult.error("您无权限操作当设备信息");
}
-
// 绑定设备
if (device.getDeviceId() != null) {
return AjaxResult.success("操作成功", deviceService.bindBoothById(device.getDeviceId(), booth));
@@ -209,7 +205,7 @@ public class BoothController extends BaseController {
return AjaxResult.error("您无权限操作当设备信息");
}
- deviceService.unbindBooth(device.getDeviceId(), booth);
+ deviceService.unbindBooth(device.getDeviceId());
return AjaxResult.success("操作成功");
}
}
diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/bst/ChangeRecordController.java b/ruoyi-web/src/main/java/com/ruoyi/web/bst/ChangeRecordController.java
index d298faa..9f37286 100644
--- a/ruoyi-web/src/main/java/com/ruoyi/web/bst/ChangeRecordController.java
+++ b/ruoyi-web/src/main/java/com/ruoyi/web/bst/ChangeRecordController.java
@@ -90,7 +90,7 @@ public class ChangeRecordController extends BaseController
@PreAuthorize("@ss.hasPermi('bst:changeRecord:consumeRecord')")
- @Log(title = "爆灯次数变化")
+ @Log(title = "消费记录列表")
@GetMapping("/consumeRecord")
public AjaxResult consumeRecord(ChangeRecordQuery query) {
if (query.getUserId() == null) {
diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/bst/DeviceController.java b/ruoyi-web/src/main/java/com/ruoyi/web/bst/DeviceController.java
index 812ad62..fe3ddfe 100644
--- a/ruoyi-web/src/main/java/com/ruoyi/web/bst/DeviceController.java
+++ b/ruoyi-web/src/main/java/com/ruoyi/web/bst/DeviceController.java
@@ -196,5 +196,14 @@ public class DeviceController extends BaseController
return AjaxResult.success(deviceService.updateDeviceStore(device));
}
+ /**
+ * 查询MAC对应的SN
+ */
+ @PreAuthorize("@ss.hasPermi('bst:device:list')")
+ @PostMapping("/listSnByMac")
+ public AjaxResult listSnByMac(@RequestBody List macList) {
+ return success(deviceService.listSnByMac(macList));
+ }
+
}