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)); + } + }