分配设备
This commit is contained in:
@ -35,9 +35,17 @@ public class Device extends BaseEntity implements Serializable {
|
|||||||
@ApiModelProperty(value = "客户号")
|
@ApiModelProperty(value = "客户号")
|
||||||
private Long customerId;
|
private Long customerId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 当前所有者
|
||||||
|
* current_owner_id
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "当前所有者")
|
@ApiModelProperty(value = "当前所有者")
|
||||||
private Long currentOwnerId;
|
private Long currentOwnerId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 原始所有者(创建者)
|
||||||
|
* original_owner_id
|
||||||
|
*/
|
||||||
@ApiModelProperty(value = "原始所有者(创建者)")
|
@ApiModelProperty(value = "原始所有者(创建者)")
|
||||||
private Long originalOwnerId;
|
private Long originalOwnerId;
|
||||||
|
|
||||||
|
@ -25,6 +25,9 @@ public class DeviceQueryCriteria {
|
|||||||
@ApiModelProperty(value = "设备MAC")
|
@ApiModelProperty(value = "设备MAC")
|
||||||
private String deviceMac;
|
private String deviceMac;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "设备IMEI")
|
||||||
|
private String deviceImei;
|
||||||
|
|
||||||
@ApiModelProperty(value = "设备SN")
|
@ApiModelProperty(value = "设备SN")
|
||||||
private String deviceSn;
|
private String deviceSn;
|
||||||
|
|
||||||
|
@ -97,8 +97,8 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
|||||||
|
|
||||||
// 只能看到自己的创建的设备,以及被分配的设备。
|
// 只能看到自己的创建的设备,以及被分配的设备。
|
||||||
if (onlineuser.getTenantId() != null && !onlineuser.getTenantId().equals(UserConstants.SUPER_ADMIN_ID)) {
|
if (onlineuser.getTenantId() != null && !onlineuser.getTenantId().equals(UserConstants.SUPER_ADMIN_ID)) {
|
||||||
// criteria.setTenantId(onlineuser.getTenantId());
|
criteria.setTenantId(onlineuser.getTenantId());
|
||||||
criteria.setCurrentOwnerId(onlineuser.getId());
|
// criteria.setCurrentOwnerId(onlineuser.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
IPage<Device> devices = deviceMapper.findAll(criteria, page);
|
IPage<Device> devices = deviceMapper.findAll(criteria, page);
|
||||||
@ -242,13 +242,12 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分配客户
|
* 分配客户 历史记录版本
|
||||||
*
|
*
|
||||||
* @param customerVo
|
* @param customerVo
|
||||||
*/
|
*/
|
||||||
@Override
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
public void assignCustomer1(CustomerVo customerVo) {
|
||||||
public void assignCustomer(CustomerVo customerVo) {
|
|
||||||
|
|
||||||
// 防止管理员误操作
|
// 防止管理员误操作
|
||||||
User currentUser = userService.findById(SecurityUtils.getCurrentUserId());
|
User currentUser = userService.findById(SecurityUtils.getCurrentUserId());
|
||||||
@ -296,7 +295,7 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
|||||||
|
|
||||||
// -- 更新设备所有者
|
// -- 更新设备所有者
|
||||||
device.setCurrentOwnerId(customerVo.getCustomerId());
|
device.setCurrentOwnerId(customerVo.getCustomerId());
|
||||||
devices.add( device);
|
devices.add(device);
|
||||||
});
|
});
|
||||||
|
|
||||||
deviceAssignmentsService.saveBatch(assignments);
|
deviceAssignmentsService.saveBatch(assignments);
|
||||||
@ -307,11 +306,13 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分配客户代码复制
|
* 分配客户
|
||||||
*
|
*
|
||||||
* @param customerVo
|
* @param customerVo
|
||||||
*/
|
*/
|
||||||
public void assignCustomer1(CustomerVo customerVo) {
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void assignCustomer(CustomerVo customerVo) {
|
||||||
|
|
||||||
// 防止管理员误操作
|
// 防止管理员误操作
|
||||||
User currentUser = userService.findById(SecurityUtils.getCurrentUserId());
|
User currentUser = userService.findById(SecurityUtils.getCurrentUserId());
|
||||||
@ -330,6 +331,7 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
|||||||
this.updateBatchById(devices);
|
this.updateBatchById(devices);
|
||||||
|
|
||||||
// 批量更新设备状态
|
// 批量更新设备状态
|
||||||
|
List<DeviceTypeGrants> deviceTypeGrants = new ArrayList<>();
|
||||||
for (Device device : devices) {
|
for (Device device : devices) {
|
||||||
// 获取当前用户的所有祖先用户
|
// 获取当前用户的所有祖先用户
|
||||||
List<User> ancestorsById = userMapper.findAncestorsById(currentUser.getId());
|
List<User> ancestorsById = userMapper.findAncestorsById(currentUser.getId());
|
||||||
@ -349,7 +351,24 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
|||||||
|
|
||||||
// 根据条件批量更新
|
// 根据条件批量更新
|
||||||
deviceMapper.update(updateDevice, wrapper);
|
deviceMapper.update(updateDevice, wrapper);
|
||||||
|
|
||||||
|
// 自定义16位id
|
||||||
|
Long generatedId = NanoId.generate(16);
|
||||||
|
// -- 授权设备类型给客户
|
||||||
|
// QueryWrapper<DeviceTypeGrants> deviceTypeGrantsQueryWrapper = new QueryWrapper<>();
|
||||||
|
// Long count = deviceTypeGrantsMapper.selectCount(deviceTypeGrantsQueryWrapper);
|
||||||
|
DeviceTypeGrants deviceTypeGrant = new DeviceTypeGrants();
|
||||||
|
deviceTypeGrant.setGrantedAt(new Date());
|
||||||
|
// 设备类型
|
||||||
|
deviceTypeGrant.setDeviceTypeId(device.getDeviceType());
|
||||||
|
deviceTypeGrant.setAssignmentId(generatedId);
|
||||||
|
// 被授权的客户
|
||||||
|
deviceTypeGrant.setCustomerId(customerVo.getCustomerId());
|
||||||
|
// 授权方客户
|
||||||
|
deviceTypeGrant.setGrantorCustomerId(currentUser.getId());
|
||||||
|
deviceTypeGrants.add(deviceTypeGrant);
|
||||||
}
|
}
|
||||||
|
deviceTypeGrantsService.saveBatch(deviceTypeGrants);
|
||||||
|
|
||||||
// 批量分配
|
// 批量分配
|
||||||
Set<DeviceType> deviceTypes = new HashSet<>();
|
Set<DeviceType> deviceTypes = new HashSet<>();
|
||||||
|
@ -39,11 +39,12 @@
|
|||||||
<!-- 分页查询设备 -->
|
<!-- 分页查询设备 -->
|
||||||
<select id="findAll" resultType="com.fuyuanshen.modules.system.domain.Device">
|
<select id="findAll" resultType="com.fuyuanshen.modules.system.domain.Device">
|
||||||
select
|
select
|
||||||
<include refid="device_Column_List"/>,
|
d.id, d.customer_id, d.customer_name, d.device_name,
|
||||||
t.type_name as typeName
|
d.device_pic, d.device_mac, d.device_sn, d.create_by, d.update_by,d.device_imei,
|
||||||
|
d.create_time, d.update_time, d.device_type, d.remark, d.device_status, d.binding_status,t.type_name
|
||||||
from device d
|
from device d
|
||||||
left join device_type t on d.device_type = t.id
|
left join device_type t
|
||||||
left join device_assignments da on d.current_owner_id = da.from_customer_id
|
on d.device_type = t.id
|
||||||
<where>
|
<where>
|
||||||
<!-- 时间范围等其他条件保持原样 -->
|
<!-- 时间范围等其他条件保持原样 -->
|
||||||
<if test="criteria.deviceName != null and criteria.deviceName.trim() != ''">
|
<if test="criteria.deviceName != null and criteria.deviceName.trim() != ''">
|
||||||
@ -52,8 +53,8 @@
|
|||||||
<if test="criteria.deviceMac != null">
|
<if test="criteria.deviceMac != null">
|
||||||
and d.device_mac = #{criteria.deviceMac}
|
and d.device_mac = #{criteria.deviceMac}
|
||||||
</if>
|
</if>
|
||||||
<if test="criteria.deviceSn != null">
|
<if test="criteria.deviceImei != null">
|
||||||
and d.device_sn = #{criteria.deviceSn}
|
and d.device_imei = #{criteria.deviceImei}
|
||||||
</if>
|
</if>
|
||||||
<if test="criteria.deviceType != null">
|
<if test="criteria.deviceType != null">
|
||||||
and d.device_type = #{criteria.deviceType}
|
and d.device_type = #{criteria.deviceType}
|
||||||
@ -65,8 +66,8 @@
|
|||||||
and d.create_time between #{criteria.createTime[0]} and #{criteria.createTime[1]}
|
and d.create_time between #{criteria.createTime[0]} and #{criteria.createTime[1]}
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if test="criteria.currentOwnerId != null">
|
<if test="criteria.tenantId != null">
|
||||||
AND (current_owner_id = #{criteria.currentOwnerId} OR da.from_customer_id = #{criteria.currentOwnerId})
|
AND tenant_id = #{criteria.tenantId}
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
|
|
||||||
@ -80,8 +81,6 @@
|
|||||||
<!-- <if test="criteria.customerId == null"> -->
|
<!-- <if test="criteria.customerId == null"> -->
|
||||||
<!-- AND tenant_id = #{criteria.tenantId} -->
|
<!-- AND tenant_id = #{criteria.tenantId} -->
|
||||||
<!-- </if> -->
|
<!-- </if> -->
|
||||||
|
|
||||||
|
|
||||||
</where>
|
</where>
|
||||||
|
|
||||||
order by d.id desc
|
order by d.id desc
|
||||||
|
Reference in New Issue
Block a user