架构修改
This commit is contained in:
parent
2d69472a04
commit
b921b3ce8a
|
@ -2,6 +2,7 @@ package net.shapelight.modules.ten.dao;
|
|||
|
||||
import net.shapelight.modules.ten.entity.TenPersonSyncEntity;
|
||||
import net.shapelight.modules.vo.TenPersonIdUpdateAllVo;
|
||||
import org.apache.ibatis.annotations.MapKey;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
|
@ -29,8 +30,12 @@ public interface TenPersonSyncDao {
|
|||
|
||||
List<TenPersonSyncEntity> findByPersonId(@Param("personId")Long personId, @Param("cellId")Long cellId);
|
||||
|
||||
@MapKey("deviceSn")
|
||||
List<Map<String,String>> findGroupDevicePersons(@Param("personIds")List<Long> personIds, @Param("cellId")Long cellId);
|
||||
|
||||
@MapKey("deviceSn")
|
||||
Map<String,String> findGroupDevicePerson(@Param("personId")Long personId, @Param("cellId")Long cellId);
|
||||
|
||||
List<TenPersonSyncEntity> findDeviceAllDeletePersons(@Param("deviceId")Long deviceId,@Param("cellId")Long cellId);
|
||||
|
||||
List<TenPersonSyncEntity> findDeviceAllAddPersons(@Param("deviceId")Long deviceId,@Param("cellId")Long cellId);
|
||||
|
|
|
@ -34,6 +34,8 @@ public interface TenPersonSyncService {
|
|||
|
||||
List<Map<String,String>> findGroupDevicePersons(List<Long> personIds, Long tenantId);
|
||||
|
||||
Map<String,String> findGroupDevicePerson(Long personId, Long tenantId);
|
||||
|
||||
List<TenPersonSyncEntity> findDeviceAllDeletePersons(Long deviceId, Long cellId);
|
||||
|
||||
List<TenPersonSyncEntity> findDeviceAllAddPersons(Long deviceId, Long tenantId);
|
||||
|
|
|
@ -891,7 +891,7 @@ public class TenPersonServiceImpl implements TenPersonService {
|
|||
|
||||
//记录所有人员id
|
||||
|
||||
/*Map<String,Object> personParams = new HashMap<>();
|
||||
/* Map<String,Object> personParams = new HashMap<>();
|
||||
personParams.put("operation","delUserData");
|
||||
personParams.put("accountNumber",globalValue.accountNumber);
|
||||
personParams.put("passKey", KeysEntity.passKey);
|
||||
|
@ -909,14 +909,35 @@ public class TenPersonServiceImpl implements TenPersonService {
|
|||
personIds.add(personId);
|
||||
}
|
||||
}*/
|
||||
personIds.add(personId);
|
||||
tenPersonDao.logicDeleteById(personId, cellId);
|
||||
tenRelationMapper.delete(new LambdaQueryWrapper<TenRelation>().eq(TenRelation::getStudentId,personId));
|
||||
Map<String, String> snPersons = tenPersonSyncService.findGroupDevicePerson(personId,cellId);
|
||||
String sn = snPersons.get("deviceSn");
|
||||
TenDeviceEntity deviceEntity = tenDeviceService.findBySn(sn);
|
||||
if(deviceEntity==null){
|
||||
continue;
|
||||
}
|
||||
String[] persons = snPersons.get("plist").split(",");
|
||||
List<TenPersonOperationVo> list = new ArrayList<>();
|
||||
for (String personStr : persons) {
|
||||
String[] personInfoStr = personStr.split("_");
|
||||
Long personCode = Long.parseLong(personInfoStr[0]);
|
||||
Date lastUpdateTime = DateUtils.stringToDate(personInfoStr[1], DateUtils.DATE_TIME_PATTERN);
|
||||
|
||||
TenPersonSyncEntity syncEntity = tenPersonSyncService.findByDeviceIdAndPersonId(deviceEntity.getDeviceId(), personCode, cellId);
|
||||
syncEntity.setLastUpdateTime(lastUpdateTime);
|
||||
syncEntity.setState(Constant.PERSON_SYNC_DELETE);
|
||||
tenPersonSyncService.updateById(syncEntity);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
//配置同步信息并推送
|
||||
|
||||
List<Map<String, String>> snPersonsList = tenPersonSyncService.findGroupDevicePersons(personIds, cellId);
|
||||
/*List<Map<String, String>> snPersonsList = tenPersonSyncService.findGroupDevicePersons(personIds, cellId);
|
||||
for (Map<String, String> snPersons : snPersonsList) {
|
||||
String sn = snPersons.get("deviceSn");
|
||||
TenDeviceEntity deviceEntity = tenDeviceService.findBySn(sn);
|
||||
|
@ -935,7 +956,7 @@ public class TenPersonServiceImpl implements TenPersonService {
|
|||
syncEntity.setState(Constant.PERSON_SYNC_DELETE);
|
||||
tenPersonSyncService.updateById(syncEntity);
|
||||
}
|
||||
/*//下发通知
|
||||
//下发通知
|
||||
List<TenPersonSyncEntity> allDelete = tenPersonSyncService.findDeviceAllDeletePersons(deviceEntity.getDeviceId(), deviceEntity.getTenantId());
|
||||
for (TenPersonSyncEntity syncEntity : allDelete) {
|
||||
TenPersonOperationVo vo = new TenPersonOperationVo();
|
||||
|
@ -943,13 +964,13 @@ public class TenPersonServiceImpl implements TenPersonService {
|
|||
vo.setOperation(Constant.PERSON_SYNC_DELETE);
|
||||
vo.setLast_update_stamp(syncEntity.getLastUpdateTime());
|
||||
list.add(vo);
|
||||
}*/
|
||||
}
|
||||
|
||||
//int flag = serverApiService.personOperation(sn, list);
|
||||
int flag = serverApiService.personOperation(sn, list);
|
||||
|
||||
//下发成功,删除状态为删除的同步人员
|
||||
tenPersonSyncService.removeAllDeletePersons(deviceEntity.getDeviceId(), cellId);
|
||||
}
|
||||
}*/
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -85,6 +85,11 @@ public class TenPersonSyncServiceImpl implements TenPersonSyncService {
|
|||
return tenPersonSyncDao.findGroupDevicePersons(personIds, cellId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, String> findGroupDevicePerson(Long personId, Long cellId) {
|
||||
return tenPersonSyncDao.findGroupDevicePerson(personId, cellId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TenPersonSyncEntity> findDeviceAllDeletePersons(Long deviceId, Long cellId) {
|
||||
return tenPersonSyncDao.findDeviceAllDeletePersons(deviceId,cellId);
|
||||
|
|
|
@ -83,20 +83,20 @@ global:
|
|||
db_password: root
|
||||
db_host: localhost
|
||||
db_port: 3306
|
||||
# minio:
|
||||
# endpoint: http://192.168.10.20:9000
|
||||
# port: 9000
|
||||
# accessKey: admin
|
||||
# secretKey: admin@C501
|
||||
# bucketName: cell
|
||||
# path: /root/minio/data/cell
|
||||
minio:
|
||||
endpoint: https://c.xitu3d.com:19000
|
||||
port: 19000
|
||||
accessKey: 7885444af42e4b30c518c5be17c8850b
|
||||
secretKey: 0fad3477fb9f60c7be75561db967e8d7
|
||||
bucketName: school
|
||||
endpoint: http://192.168.10.20:9000
|
||||
port: 9000
|
||||
accessKey: admin
|
||||
secretKey: admin@C501
|
||||
bucketName: cell
|
||||
path: /root/minio/data/cell
|
||||
# minio:
|
||||
# endpoint: https://c.xitu3d.com:19000
|
||||
# port: 19000
|
||||
# accessKey: 7885444af42e4b30c518c5be17c8850b
|
||||
# secretKey: 0fad3477fb9f60c7be75561db967e8d7
|
||||
# bucketName: school
|
||||
# path: /root/minio/data/cell
|
||||
device:
|
||||
appId: 8e9b941923abd
|
||||
appSecret: Mjk0ODIxOTcwMTQ0NjkwNzA1NDE0MzcyNjgxMTQ0MDc0MjE
|
||||
|
|
|
@ -172,6 +172,14 @@
|
|||
GROUP BY device_sn
|
||||
</select>
|
||||
|
||||
<select id="findGroupDevicePerson" resultType="map">
|
||||
select device_sn as deviceSn,group_concat(person_id,"_",last_update_time separator ",") as plist
|
||||
from ten_person_sync_${cellId} where 1= 1
|
||||
<if test="personIds != null">
|
||||
and person_id = #{personId}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="findDeviceAllDeletePersons" resultType="net.shapelight.modules.ten.entity.TenPersonSyncEntity">
|
||||
select * from ten_person_sync_${cellId}
|
||||
where device_id = #{deviceId}
|
||||
|
|
Loading…
Reference in New Issue