From 5e0bfd58eb1c95413da4471788305b675f82f998 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A3=B7=E5=8F=B6?= <14103883+leaf-phos@user.noreply.gitee.com> Date: Sat, 26 Apr 2025 15:48:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/common/auth/wx/WxAuthService.java | 12 +- .../common/core/redis/enums/RedisLockKey.java | 3 +- .../ruoyi/framework/util/DataScopeUtil.java | 2 +- .../web/service/SysLoginService.java | 32 +--- .../java/com/ruoyi/bst/area/domain/Area.java | 4 +- .../service/impl/AreaJoinConverterImpl.java | 12 +- .../ruoyi/bst/device/domain/DeviceQuery.java | 3 + .../com/ruoyi/bst/device/domain/DeviceVO.java | 6 + .../device/domain/dto/DeviceStatQuery.java | 13 ++ .../bst/device/domain/vo/DeviceMacSnVO.java | 12 ++ .../ruoyi/bst/device/mapper/DeviceMapper.java | 9 + .../ruoyi/bst/device/mapper/DeviceMapper.xml | 22 +++ .../bst/device/service/DeviceService.java | 8 + .../service/impl/DeviceServiceImpl.java | 20 +- .../locationLog/domain/LocationLogQuery.java | 3 + .../locationLog/mapper/LocationLogMapper.xml | 6 + .../ruoyi/bst/order/service/OrderService.java | 14 ++ .../order/service/impl/OrderServiceImpl.java | 16 ++ .../com/ruoyi/bst/pay/mapper/PayMapper.xml | 1 + .../ruoyi/bst/realName/domain/RealName.java | 5 + .../bst/realName/mapper/RealNameMapper.java | 2 +- .../bst/realName/mapper/RealNameMapper.xml | 2 +- .../bst/realName/service/RealNameService.java | 9 +- .../service/impl/RealNameServiceImpl.java | 51 +---- .../ruoyi/bst/withdraw/domain/Withdraw.java | 4 + .../ruoyi/dashboard/utils/DashboardUtil.java | 5 + .../service/impl/IotReceiveServiceImpl.java | 1 + .../ruoyi/system/user/domain/UserQuery.java | 3 + .../ruoyi/system/user/mapper/UserMapper.xml | 6 +- .../system/user/service/UserService.java | 14 ++ .../system/user/service/UserValidator.java | 7 + .../user/service/impl/UserServiceImpl.java | 179 +++++++++++++----- .../user/service/impl/UserValidatorImpl.java | 21 ++ .../java/com/ruoyi/task/order/OrderTask.java | 39 ++++ .../com/ruoyi/web/bst/DeviceController.java | 9 + .../com/ruoyi/web/bst/RealNameController.java | 10 +- .../com/ruoyi/web/common/LoginController.java | 17 +- .../dashboard/DashboardDeviceController.java | 32 ++++ .../ruoyi/web/system/SysUserController.java | 6 +- .../src/main/resources/application-env.yml | 3 + 40 files changed, 456 insertions(+), 167 deletions(-) create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/dto/DeviceStatQuery.java create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/vo/DeviceMacSnVO.java create mode 100644 ruoyi-web/src/main/java/com/ruoyi/web/dashboard/DashboardDeviceController.java diff --git a/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/auth/wx/WxAuthService.java b/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/auth/wx/WxAuthService.java index 674ca5c..2baa872 100644 --- a/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/auth/wx/WxAuthService.java +++ b/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/auth/wx/WxAuthService.java @@ -1,15 +1,17 @@ package com.ruoyi.common.auth.wx; -import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; -import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.ruoyi.common.auth.wx.config.WxConfig; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.http.HttpUtils; + +import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; +import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; /** * @author wjh @@ -73,7 +75,7 @@ public class WxAuthService { Integer errcode = body.getInteger("errcode"); if (errcode == null || !errcode.equals(0)) { log.error("获取手机号失败 {}", body); - throw new ServiceException("获取手机号失败"); + throw new ServiceException("获取手机号失败" ); } String phoneInfo = body.getString("phone_info"); diff --git a/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/enums/RedisLockKey.java b/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/enums/RedisLockKey.java index 03e9198..fbf3d3a 100644 --- a/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/enums/RedisLockKey.java +++ b/common-ruoyi/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/enums/RedisLockKey.java @@ -15,7 +15,8 @@ public enum RedisLockKey { ORDER_CREATE("order_create", "订单创建"), PAY_CREATE("create_pay", "创建支付"), DEVICE_SN_UNIQUE("device_sn_unique", "设备SN唯一"), - DEVICE_MAC_UNIQUE("device_mac_unique", "设备MAC唯一"); + DEVICE_MAC_UNIQUE("device_mac_unique", "设备MAC唯一"), + USER_NAME_UNIQUE("user_name_unique", "用户账号唯一"); private final String key; private final String name; diff --git a/common-ruoyi/ruoyi-framework/src/main/java/com/ruoyi/framework/util/DataScopeUtil.java b/common-ruoyi/ruoyi-framework/src/main/java/com/ruoyi/framework/util/DataScopeUtil.java index 70816a6..1a09f84 100644 --- a/common-ruoyi/ruoyi-framework/src/main/java/com/ruoyi/framework/util/DataScopeUtil.java +++ b/common-ruoyi/ruoyi-framework/src/main/java/com/ruoyi/framework/util/DataScopeUtil.java @@ -90,7 +90,7 @@ public class DataScopeUtil { } // 全部数据范围 if (DataScopeConstants.DATA_SCOPE_ALL.equals(dataScope)) { - sqlString = new StringBuilder(); + sqlString = new StringBuilder(" OR 1=1 "); conditions.add(dataScope); break; } diff --git a/common-ruoyi/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/common-ruoyi/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java index df99fc1..9e6cb82 100644 --- a/common-ruoyi/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java +++ b/common-ruoyi/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java @@ -266,7 +266,7 @@ public class SysLoginService } // 如果用户仍然不存在,则注册新用户 if (user == null) { - user = this.registerUser(phone, openId, appId); + user = userService.registerUser(phone, openId, appId); } ServiceUtil.assertion(user == null, "用户不存在", 401); @@ -324,36 +324,6 @@ public class SysLoginService } } - // 注册用户 - private UserVO registerUser(String phone, String openId, Long appId) { - if (StringUtils.isBlank(openId) || appId == null || StringUtils.isBlank(phone)) { - return null; - } - - // 生成昵称 - String nickName = "微信" + openId.substring(openId.length() - 4); - if (StringUtils.hasText(phone)) { - nickName = "用户" + phone.substring(phone.length() - 4); - } - - UserVO user = new UserVO(); - user.setNickName(nickName); - user.setPhonenumber(phone); - user.setUserName(phone); - - return transactionTemplate.execute(status -> { - int rows = userService.insertUser(user); - - if (rows > 0 ) { - int bind = userAppService.bind(user.getUserId(), appId, openId); - ServiceUtil.assertion(bind != 1, "绑定APP失败"); - return userService.selectUserById(user.getUserId()); - } - - return null; - }); - } - public String loginById(Long userId) { UserVO user = userService.selectUserById(userId); ServiceUtil.assertion(user == null, "ID为%s的用户不存在,请联系管理员", userId); diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/area/domain/Area.java b/ruoyi-service/src/main/java/com/ruoyi/bst/area/domain/Area.java index 17892f2..f39e846 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/area/domain/Area.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/area/domain/Area.java @@ -141,8 +141,8 @@ public class Area extends BaseEntity implements LogBizParam @ApiModelProperty("必须停车点还车") private Boolean parkingReturn; - @Excel(name = "运营区外还车") - @ApiModelProperty("运营区外还车") + @Excel(name = "允许运营区外还车") + @ApiModelProperty("允许运营区外还车") private Boolean areaOutReturn; @Excel(name = "还车是否审核") diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/areaJoin/service/impl/AreaJoinConverterImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/areaJoin/service/impl/AreaJoinConverterImpl.java index 12fa29e..70f66a5 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/areaJoin/service/impl/AreaJoinConverterImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/areaJoin/service/impl/AreaJoinConverterImpl.java @@ -22,7 +22,7 @@ public class AreaJoinConverterImpl implements AreaJoinConverter { return null; } - UserVO user = userService.selectUserByUserName(data.getUserPhone()); + UserVO user = this.getUser(data.getUserPhone()); ServiceUtil.assertion(user == null, "账号为%s的用户不存在", data.getUserPhone()); AreaJoin po = new AreaJoin(); @@ -42,7 +42,7 @@ public class AreaJoinConverterImpl implements AreaJoinConverter { return null; } - UserVO user = userService.selectUserByUserName(data.getUserPhone()); + UserVO user = this.getUser(data.getUserPhone()); ServiceUtil.assertion(user == null, "账号为%s的用户不存在", data.getUserPhone()); AreaJoin po = new AreaJoin(); @@ -56,4 +56,12 @@ public class AreaJoinConverterImpl implements AreaJoinConverter { po.setPermissions(data.getPermissions()); return po; } + + private UserVO getUser(String phone) { + UserVO user = userService.selectUserByUserName(phone); + if (user == null) { + user = userService.registerUser(phone, null, null); + } + return user; + } } \ No newline at end of file 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 4d5e61b..d42de13 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 @@ -41,4 +41,7 @@ public class DeviceQuery extends DeviceVO { @ApiModelProperty("订单为空或状态列表") private List nonOrOrderStatusList; + + @ApiModelProperty("MAC列表") + private List macList; } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/DeviceVO.java b/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/DeviceVO.java index 58cee12..a1e1319 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/DeviceVO.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/DeviceVO.java @@ -60,6 +60,12 @@ public class DeviceVO extends Device { private BigDecimal areaRingRadius; @ApiModelProperty("运营区用户必须响铃寻车范围") private Boolean areaRequiredRingRadius; + @ApiModelProperty("停车点外调度费") + private BigDecimal areaDispatchFee; + @ApiModelProperty("运营区外调度费") + private BigDecimal areaVehicleManagementFee; + @ApiModelProperty("是否必须停车点还车") + private Boolean areaParkingReturn; // 订单 @ApiModelProperty("当前订单ID") diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/dto/DeviceStatQuery.java b/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/dto/DeviceStatQuery.java new file mode 100644 index 0000000..fe19f1e --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/dto/DeviceStatQuery.java @@ -0,0 +1,13 @@ +package com.ruoyi.bst.device.domain.dto; + +import java.util.List; + +import com.ruoyi.bst.device.domain.DeviceQuery; + +import lombok.Data; + +@Data +public class DeviceStatQuery extends DeviceQuery { + + private List keys; +} 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 new file mode 100644 index 0000000..d67e2f5 --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/vo/DeviceMacSnVO.java @@ -0,0 +1,12 @@ +package com.ruoyi.bst.device.domain.vo; + +import lombok.Data; + +@Data +public class DeviceMacSnVO { + + // MAC + private String mac; + // SN + private String sn; +} 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 262426f..a508095 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 org.apache.ibatis.annotations.Param; import com.ruoyi.bst.device.domain.Device; import com.ruoyi.bst.device.domain.DeviceQuery; import com.ruoyi.bst.device.domain.DeviceVO; +import com.ruoyi.bst.device.domain.vo.DeviceMacSnVO; import com.ruoyi.common.domain.vo.StringIntegerVO; /** @@ -151,4 +152,12 @@ public interface DeviceMapper * @return */ Long selectOrderIdByMac(@Param("mac") String mac); + + /** + * 根据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 ec70254..6eeac51 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 @@ -60,6 +60,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ba.area_time_end as area_time_end, ba.ring_radius as area_ring_radius, ba.required_ring_radius as area_required_ring_radius, + ba.dispatch_fee as area_dispatch_fee, + ba.vehicle_management_fee as area_vehicle_managerment_fee, + ba.parking_return as area_parking_return, basu.point as area_user_point, basu.nick_name as area_user_name, basu.agent_id as area_agent_id, @@ -123,6 +126,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and bul.nick_name like concat('%', #{query.lastUserName}, '%') and bul.user_name like concat('%', #{query.lastUserPhone}, '%') and mch.nick_name like concat('%', #{query.mchName}, '%') + and bm.name like concat('%', #{query.modelName}, '%') and find_in_set(#{query.suitId}, bm.suit_ids) @@ -154,6 +158,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) + + and bd.mac in + + #{item} + + ${@com.ruoyi.framework.util.DataScopeUtil@create(query.scope) .userSetAlias("bd.mch_id,ba.user_id,basu.agent_id") .areaAlias("bd.area_id", query.areaPermissions) @@ -443,4 +453,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" limit 1 + + + + 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 0e66e7c..53d6aed 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 @@ -5,6 +5,7 @@ import java.util.List; import com.ruoyi.bst.device.domain.Device; import com.ruoyi.bst.device.domain.DeviceQuery; import com.ruoyi.bst.device.domain.DeviceVO; +import com.ruoyi.bst.device.domain.vo.DeviceMacSnVO; /** * 设备Service接口 @@ -194,5 +195,12 @@ public interface DeviceService */ public Long selectOrderIdByMac(String mac); + /** + * 根据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 06c90bd..916872d 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 @@ -15,6 +15,7 @@ import com.ruoyi.bst.device.domain.Device; import com.ruoyi.bst.device.domain.DeviceQuery; import com.ruoyi.bst.device.domain.DeviceVO; import com.ruoyi.bst.device.domain.enums.DeviceStatus; +import com.ruoyi.bst.device.domain.vo.DeviceMacSnVO; import com.ruoyi.bst.device.mapper.DeviceMapper; import com.ruoyi.bst.device.service.DeviceIotService; import com.ruoyi.bst.device.service.DeviceService; @@ -107,12 +108,12 @@ public class DeviceServiceImpl implements DeviceService private int executeWithLock(Device device, Function operation) { if (StringUtils.hasText(device.getSn())) { boolean lockSn = redisLock.lock(RedisLockKey.DEVICE_SN_UNIQUE, device.getSn()); - ServiceUtil.assertion(!lockSn, "SN为%s的设备当前录入的人过多,请稍后再试", device.getSn()); + ServiceUtil.assertion(!lockSn, "SN为%s的设备当前操作的人过多,请稍后再试", device.getSn()); } try { if (StringUtils.hasText(device.getMac())) { boolean lockMac = redisLock.lock(RedisLockKey.DEVICE_MAC_UNIQUE, device.getMac()); - ServiceUtil.assertion(!lockMac, "MAC为%s的设备当前录入的人过多,请稍后再试", device.getMac()); + ServiceUtil.assertion(!lockMac, "MAC为%s的设备当前操作的人过多,请稍后再试", device.getMac()); } try { Integer result = operation.apply(device); @@ -440,7 +441,7 @@ public class DeviceServiceImpl implements DeviceService // 允许下单的设备订单状态 List orderStatusList = Arrays.asList( OrderStatus.FINISHED.getCode(), - OrderStatus.CANCELED.getCode(), + OrderStatus.CANCELED.getCode(), OrderStatus.WAIT_VERIFY.getCode(), OrderStatus.REJECTED.getCode(), OrderStatus.REFUNDED.getCode() @@ -510,7 +511,7 @@ public class DeviceServiceImpl implements DeviceService query.setId(id); } else if (StringUtils.hasText(sn)) { query.setEqSn(sn); - } + } return this.selectOne(query); } @@ -570,4 +571,15 @@ public class DeviceServiceImpl implements DeviceService } return deviceMapper.selectOrderIdByMac(mac); } + + @Override + public List listSnByMac(List macList) { + if (CollectionUtils.isEmptyElement(macList)) { + return Collections.emptyList(); + } + DeviceQuery query = new DeviceQuery(); + query.setMacList(macList); + return deviceMapper.selectMacSnList(query); + + } } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/locationLog/domain/LocationLogQuery.java b/ruoyi-service/src/main/java/com/ruoyi/bst/locationLog/domain/LocationLogQuery.java index 1059971..da2bc6f 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/locationLog/domain/LocationLogQuery.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/locationLog/domain/LocationLogQuery.java @@ -28,4 +28,7 @@ public class LocationLogQuery extends LocationLogVO { @ApiModelProperty("时间范围") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private List timeRange; + + @ApiModelProperty("订单ID列表") + private List orderIds; } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/locationLog/mapper/LocationLogMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/locationLog/mapper/LocationLogMapper.xml index b1030b2..d7aa89b 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/locationLog/mapper/LocationLogMapper.xml +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/locationLog/mapper/LocationLogMapper.xml @@ -58,6 +58,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{item} + + and bll.order_id in + + #{item} + + ${@com.ruoyi.framework.util.DataScopeUtil@dataScope( null, "su.user_id,su.agent_id,bo.area_user_id,bo.area_agent_id,bod.device_mch_id", diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/OrderService.java b/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/OrderService.java index bdfe785..c6aa74a 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/OrderService.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/OrderService.java @@ -1,5 +1,6 @@ package com.ruoyi.bst.order.service; +import java.math.BigDecimal; import java.util.List; import com.ruoyi.bst.device.domain.vo.DeviceIotVO; @@ -182,4 +183,17 @@ public interface OrderService * @return 结果 */ public int verify(OrderVerifyDTO dto); + + /** + * 查询ID列表 + * @param query + */ + public List selectIdList(OrderQuery query); + + /** + * 更新订单距离 + * @param id 订单ID + * @param distance 距离 + */ + public int updateDisatance(Long id, BigDecimal distance); } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderServiceImpl.java index 40b2dcc..3042fb8 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderServiceImpl.java @@ -732,4 +732,20 @@ public class OrderServiceImpl implements OrderService return result == null ? 0 : result; } + @Override + public List selectIdList(OrderQuery query) { + return orderMapper.selectIdByQuery(query); + } + + @Override + public int updateDisatance(Long id, BigDecimal distance) { + if (id == null || distance == null) { + return 0; + } + Order data = new Order(); + data.setId(id); + data.setDistance(distance); + return orderMapper.updateOrder(data); + } + } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/pay/mapper/PayMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/pay/mapper/PayMapper.xml index a857830..97f6f01 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/pay/mapper/PayMapper.xml +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/pay/mapper/PayMapper.xml @@ -49,6 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and bp.app_name like concat('%', #{query.appName}, '%') and bp.channel_name like concat('%', #{query.channelName}, '%') and bp.area_id = #{query.areaId} + and date(bp.pay_time) = #{query.payDate} and bp.status in diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/realName/domain/RealName.java b/ruoyi-service/src/main/java/com/ruoyi/bst/realName/domain/RealName.java index 52428df..212938d 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/realName/domain/RealName.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/realName/domain/RealName.java @@ -5,8 +5,10 @@ import java.math.BigDecimal; import javax.validation.constraints.NotBlank; import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.annotation.Sensitive; import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.interfaces.LogBizParam; +import com.ruoyi.common.enums.DesensitizedType; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -31,11 +33,13 @@ public class RealName extends BaseEntity implements LogBizParam @Excel(name = "用户姓名") @ApiModelProperty("用户姓名") @NotBlank(message = "用户姓名不允许为空") + @Sensitive(desensitizedType = DesensitizedType.USERNAME) private String userName; @Excel(name = "身份证") @ApiModelProperty("身份证") @NotBlank(message = "身份证不允许为空") + @Sensitive(desensitizedType = DesensitizedType.ID_CARD) private String idCard; @Excel(name = "人脸图像") @@ -49,6 +53,7 @@ public class RealName extends BaseEntity implements LogBizParam @Excel(name = "手机号") @ApiModelProperty("手机号") @NotBlank(message = "手机号不允许为空") + @Sensitive(desensitizedType = DesensitizedType.PHONE) private String mobile; @Excel(name = "实名认证状态:0-未实名 1-已实名") diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/realName/mapper/RealNameMapper.java b/ruoyi-service/src/main/java/com/ruoyi/bst/realName/mapper/RealNameMapper.java index 5ea87cd..5e23c12 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/realName/mapper/RealNameMapper.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/realName/mapper/RealNameMapper.java @@ -70,7 +70,7 @@ public interface RealNameMapper * @param ids 需要删除的数据主键集合 * @return 结果 */ - public int deleteRealNameByIds(Long[] ids); + public int deleteRealNameByIds(@Param("ids") List ids); Boolean checkIdCard(String idCard); diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/realName/mapper/RealNameMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/realName/mapper/RealNameMapper.xml index 91c636c..a03d9ab 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/realName/mapper/RealNameMapper.xml +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/realName/mapper/RealNameMapper.xml @@ -238,7 +238,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" delete from bst_real_name where id in - + #{id} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/realName/service/RealNameService.java b/ruoyi-service/src/main/java/com/ruoyi/bst/realName/service/RealNameService.java index 09502c9..804ce1b 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/realName/service/RealNameService.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/realName/service/RealNameService.java @@ -38,13 +38,6 @@ public interface RealNameService */ public int insertRealName(RealName realName); - /** - * 修改实名认证信息 - * - * @param realName 实名认证信息 - * @return 结果 - */ - public int updateRealName(RealName realName); /** * 批量删除实名认证信息 @@ -52,7 +45,7 @@ public interface RealNameService * @param ids 需要删除的实名认证信息主键集合 * @return 结果 */ - public int deleteRealNameByIds(Long[] ids); + public int deleteRealNameByIds(List ids); /** * 删除实名认证信息信息 diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/realName/service/impl/RealNameServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/realName/service/impl/RealNameServiceImpl.java index ee33b71..fcdef25 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/realName/service/impl/RealNameServiceImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/realName/service/impl/RealNameServiceImpl.java @@ -95,38 +95,6 @@ public class RealNameServiceImpl implements RealNameService return realNameMapper.insertRealName(realName); } - /** - * 修改实名认证信息 - * - * @param realName 实名认证信息 - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int updateRealName(RealName realName) - { - realName.setUpdateTime(DateUtils.getNowDate()); - UserVO user = userService.selectUserById(realName.getUserId()); - ServiceUtil.assertion(user == null,"用户信息不存在"); - ServiceUtil.assertion(StringUtils.isBlank(realName.getUserName()), "用户姓名不允许为空"); - ServiceUtil.assertion(StringUtils.isBlank(realName.getIdCard()), "用户身份证不允许为空"); - - // 构建用户信息表 - user.setUserName(realName.getUserName()); - user.setUpdateTime(DateUtils.getNowDate()); - user.setRealIdCard(realName.getIdCard()); - - // 更新用户信息表 - int updateUser = userService.updateUser(user); - ServiceUtil.assertion(updateUser != 1, "更新用户信息失败"); - - // 更新实名认证表 - int updateRealName = realNameMapper.insertRealName(realName); - ServiceUtil.assertion(updateRealName != 1, "新增实名认证失败"); - - return 1; - } - /** * 批量删除实名认证信息 * @@ -134,7 +102,7 @@ public class RealNameServiceImpl implements RealNameService * @return 结果 */ @Override - public int deleteRealNameByIds(Long[] ids) + public int deleteRealNameByIds(List ids) { return realNameMapper.deleteRealNameByIds(ids); } @@ -145,18 +113,9 @@ public class RealNameServiceImpl implements RealNameService * @return 结果 */ @Override - public int deleteRealNameById(Long userid) + public int deleteRealNameById(Long id) { - - UserVO user = new UserVO(); - user.setUserId(userid); - user.setIsReal(false); - RealNameVO vo = realNameMapper.selectRealNameByUserId(userid); - if (vo != null){ - userService.updateUser(user); - return realNameMapper.deleteRealNameByUserId(userid); - } - return 0; + return realNameMapper.deleteRealNameById(id); } /** @@ -266,11 +225,11 @@ public class RealNameServiceImpl implements RealNameService // 数据库操作 Integer result = transactionTemplate.execute(status -> { // 修改用户实名信息 - int update = userService.updateUser(data); + int update = userService.updateUserRealName(data); ServiceUtil.assertion(update != 1, "更新用户信息失败"); // 插入实名认证表 - int insert = realNameMapper.insertRealName(realName); + int insert = this.insertRealName(realName); ServiceUtil.assertion(insert != 1, "新增实名认证失败"); // 删除缓存 diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/withdraw/domain/Withdraw.java b/ruoyi-service/src/main/java/com/ruoyi/bst/withdraw/domain/Withdraw.java index d500ea1..ef7a393 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/withdraw/domain/Withdraw.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/withdraw/domain/Withdraw.java @@ -10,9 +10,11 @@ import javax.validation.constraints.NotBlank; import org.springframework.format.annotation.DateTimeFormat; import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.annotation.Sensitive; import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.interfaces.LogBizParam; import com.ruoyi.common.core.validate.ValidGroup; +import com.ruoyi.common.enums.DesensitizedType; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -60,10 +62,12 @@ public class Withdraw extends BaseEntity implements LogBizParam @Excel(name = "账户手机号") @ApiModelProperty("账户手机号") + @Sensitive(desensitizedType = DesensitizedType.PHONE) private String accountMobile; @Excel(name = "账户身份证号") @ApiModelProperty("账户身份证号") + @Sensitive(desensitizedType = DesensitizedType.ID_CARD) private String accountIdCard; @Excel(name = "银行名称") diff --git a/ruoyi-service/src/main/java/com/ruoyi/dashboard/utils/DashboardUtil.java b/ruoyi-service/src/main/java/com/ruoyi/dashboard/utils/DashboardUtil.java index 3d4912c..023a16a 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/dashboard/utils/DashboardUtil.java +++ b/ruoyi-service/src/main/java/com/ruoyi/dashboard/utils/DashboardUtil.java @@ -2,6 +2,7 @@ package com.ruoyi.dashboard.utils; import com.ruoyi.bst.area.domain.AreaQuery; import com.ruoyi.bst.areaJoin.domain.AreaJoinQuery; +import com.ruoyi.bst.areaJoin.domain.enums.AreaJoinPermission; import com.ruoyi.bst.bonus.domain.BonusQuery; import com.ruoyi.bst.bonus.domain.enums.BonusArrivalType; import com.ruoyi.bst.bonusRefund.domain.BonusRefundQuery; @@ -24,6 +25,7 @@ public class DashboardUtil { query.setBonusUserId(params.getUserId()); query.setAreaId(params.getAreaId()); query.setScope(params.getScope()); + query.addAreaPermission(AreaJoinPermission.ORDER_VIEW.getCode()); return query; } @@ -35,6 +37,7 @@ public class DashboardUtil { query.setBonusUserId(params.getUserId()); query.setAreaId(params.getAreaId()); query.setScope(params.getScope()); + query.addAreaPermission(AreaJoinPermission.ORDER_VIEW.getCode()); return query; } @@ -82,6 +85,7 @@ public class DashboardUtil { deviceQuery.setScope(query.getScope()); deviceQuery.setMchId(query.getUserId()); deviceQuery.setAreaId(query.getAreaId()); + deviceQuery.addAreaPermission(AreaJoinPermission.DEVICE_VIEW.getCode()); return deviceQuery; } @@ -90,6 +94,7 @@ public class DashboardUtil { areaQuery.setScope(query.getScope()); areaQuery.setUserId(query.getUserId()); areaQuery.setId(query.getAreaId()); + areaQuery.addAreaPermission(AreaJoinPermission.AREA_VIEW.getCode()); return areaQuery; } diff --git a/ruoyi-service/src/main/java/com/ruoyi/iot/service/impl/IotReceiveServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/iot/service/impl/IotReceiveServiceImpl.java index e3297b4..31f77cf 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/iot/service/impl/IotReceiveServiceImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/iot/service/impl/IotReceiveServiceImpl.java @@ -148,6 +148,7 @@ public class IotReceiveServiceImpl implements IotReceiveService { // 需要在设备未启动的时候做,否则可能有安全问题 if (!isOpen) { // 若当前数据点的上报时间和设备内上次上报的时间不一样,但是定位一样,则重启设备 + log.info("当前定位:{},{},上次定位:{},{}", sys.getLon(), sys.getLat(), device.getLongitude(), device.getLatitude()); if (at.isAfter(device.getLastLocationTime()) && MathUtils.equals(device.getLongitude(), sys.getLon()) && MathUtils.equals(device.getLatitude(), sys.getLat())) { String reason = String.format("设备不同时间的两次定位一样,重启设备。定位:%s,%s", sys.getLon(), sys.getLat()); deviceIotService.reboot(device, reason, true); diff --git a/ruoyi-service/src/main/java/com/ruoyi/system/user/domain/UserQuery.java b/ruoyi-service/src/main/java/com/ruoyi/system/user/domain/UserQuery.java index 25dbc77..f690ca6 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/system/user/domain/UserQuery.java +++ b/ruoyi-service/src/main/java/com/ruoyi/system/user/domain/UserQuery.java @@ -22,6 +22,9 @@ public class UserQuery extends UserVO { @ApiModelProperty("用户ID列表") private List userIds; + @ApiModelProperty("精准用户账号") + private String eqUserName; + @ApiModelProperty("用户名称列表") private List userNames; diff --git a/ruoyi-service/src/main/java/com/ruoyi/system/user/mapper/UserMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/system/user/mapper/UserMapper.xml index 90ab50a..7572377 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/system/user/mapper/UserMapper.xml +++ b/ruoyi-service/src/main/java/com/ruoyi/system/user/mapper/UserMapper.xml @@ -96,6 +96,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND u.user_name like concat('%', #{userName}, '%') + + AND u.user_name = #{eqUserName} + AND u.status = #{status} @@ -244,8 +247,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"