From f91b6c74295911320ac53a8eaa70579dba02481c Mon Sep 17 00:00:00 2001
From: chendaze <1824191732@qq.com>
Date: Thu, 25 Apr 2024 16:50:37 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E5=AF=B9=E5=BA=94?=
=?UTF-8?q?=E7=9A=84bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ics-admin/pom.xml | 2 +
.../controller/BuildingDetailController.java | 36 ++++++
.../controller/CustomerStaffController.java | 29 +++--
.../meeting/EquipmentController.java | 32 ++++--
.../admin/domain/meeting/StaffCustomer.java | 1 +
.../mapper/meeting/StaffCustomerMapper.java | 2 +
.../service/IIcsCustomerStaffService.java | 1 +
.../impl/BuildingDetailServiceImpl.java | 1 +
.../impl/IcsCustomerStaffServiceImpl.java | 19 +++-
.../impl/RoomEquipmentServiceImpl.java | 4 +-
.../impl/UserEquipmentServiceImpl.java | 2 +-
.../meeting/DetailEquipmentServiceImpl.java | 7 ++
.../impl/meeting/EquipmentServiceImpl.java | 2 +
.../meeting/IVisitorPersonServiceImpl.java | 4 +-
.../meeting/ReservationPersonServiceImpl.java | 3 +-
.../impl/meeting/ReservationServiceImpl.java | 1 +
.../meeting/ShowroomRecordServiceImpl.java | 1 +
.../meeting/StaffCustomerServiceImpl.java | 4 +-
.../meeting/IDetailEquipmentService.java | 2 +
.../meeting/IReservationPersonService.java | 2 +-
.../meeting/IRoomEquipmentService.java | 2 +-
.../meeting/IVisitorPersonService.java | 2 +-
.../admin/meeting/StaffCustomerMapper.xml | 6 +-
ics-common/ics-common-core/pom.xml | 7 +-
.../com/ics/common/config/MyInterceptor.java | 71 ++++++++++++
.../com/ics/common/config/SocketClient.java | 52 +++++++++
.../com/ics/common/config/SocketServer.java | 105 ++++++++++++++++++
.../ics/common/config/WebsocketConfig.java | 31 ++++++
.../ics/common/config/WsSessionManager.java | 66 +++++++++++
.../ics/common/handlers/HttpAuthHandler.java | 65 +++++++++++
.../system/handlers/MyParkLineHandler.java | 2 +-
.../system/handlers/MyTenantLineHandler.java | 2 +-
.../src/main/java/com/ics/ApplicationRun.java | 7 ++
.../ics/controller/mobile/SmallWxOkHttp.java | 12 +-
.../mobile/WxLoginAPIController.java | 73 ++++++++----
.../meeting/ApiRoomContentController.java | 44 +++++---
.../mobile/meeting/ApiRoomController.java | 6 +-
.../mobile/meeting/ApiVisitorController.java | 18 +--
pom.xml | 5 +
39 files changed, 634 insertions(+), 97 deletions(-)
create mode 100644 ics-common/ics-common-core/src/main/java/com/ics/common/config/MyInterceptor.java
create mode 100644 ics-common/ics-common-core/src/main/java/com/ics/common/config/SocketClient.java
create mode 100644 ics-common/ics-common-core/src/main/java/com/ics/common/config/SocketServer.java
create mode 100644 ics-common/ics-common-core/src/main/java/com/ics/common/config/WebsocketConfig.java
create mode 100644 ics-common/ics-common-core/src/main/java/com/ics/common/config/WsSessionManager.java
create mode 100644 ics-common/ics-common-core/src/main/java/com/ics/common/handlers/HttpAuthHandler.java
diff --git a/ics-admin/pom.xml b/ics-admin/pom.xml
index bb39b8c..ed22368 100644
--- a/ics-admin/pom.xml
+++ b/ics-admin/pom.xml
@@ -18,6 +18,8 @@
velocity
+
+
com.ics
diff --git a/ics-admin/src/main/java/com/ics/admin/controller/BuildingDetailController.java b/ics-admin/src/main/java/com/ics/admin/controller/BuildingDetailController.java
index fec9468..9cc7300 100644
--- a/ics-admin/src/main/java/com/ics/admin/controller/BuildingDetailController.java
+++ b/ics-admin/src/main/java/com/ics/admin/controller/BuildingDetailController.java
@@ -1,12 +1,23 @@
package com.ics.admin.controller;
+import cn.hutool.core.util.StrUtil;
+import com.ics.admin.domain.Building;
import com.ics.admin.domain.BuildingDetail;
+import com.ics.admin.domain.Customer;
import com.ics.admin.service.IBuildingDetailService;
+import com.ics.admin.service.IBuildingService;
import com.ics.common.core.controller.BaseController;
import com.ics.common.core.domain.R;
+import com.ics.system.domain.User;
+import com.ics.system.service.ICurrentUserService;
+import com.ics.system.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.wf.jwtp.annotation.RequiresPermissions;
+import org.wf.jwtp.util.SubjectUtil;
+
+import java.util.List;
+import java.util.stream.Collectors;
/**
* 楼层管理 提供者
@@ -21,6 +32,15 @@ public class BuildingDetailController extends BaseController {
@Autowired
private IBuildingDetailService buildingDetailService;
+ @Autowired
+ private IBuildingService buildingService;
+
+ @Autowired
+ private ICurrentUserService currentUserService;
+
+ @Autowired
+ private IUserService userService;
+
/**
* 查询楼层管理
*/
@@ -37,6 +57,11 @@ public class BuildingDetailController extends BaseController {
@GetMapping("list")
public R list(BuildingDetail buildingDetail) {
startPage();
+ boolean isAdmin = SubjectUtil.hasRole(getRequest(),"manager");
+ if (isAdmin){
+ Long parkId = currentUserService.getParkId();
+ buildingDetail.setParkId(parkId);
+ }
return result(buildingDetailService.selectBuildingDetailList(buildingDetail));
}
@@ -47,6 +72,17 @@ public class BuildingDetailController extends BaseController {
@RequiresPermissions("admin:buildingDetail:add")
@PostMapping("save")
public R addSave(@RequestBody BuildingDetail buildingDetail) {
+ boolean isAdmin = SubjectUtil.hasRole(getRequest(),"super");
+ if (isAdmin){
+ //获取楼宇id
+ Long buildingId = buildingDetail.getBuildingId();
+ Building building = buildingService.selectBuildingById(buildingId);
+ if (null != building){
+ buildingDetail.setParkId(building.getParkId());
+ buildingDetail.setTenantId(building.getTenantId());
+ }
+ }
+
return toAjax(buildingDetailService.insertBuildingDetail(buildingDetail));
}
diff --git a/ics-admin/src/main/java/com/ics/admin/controller/CustomerStaffController.java b/ics-admin/src/main/java/com/ics/admin/controller/CustomerStaffController.java
index 38532da..44e64c1 100644
--- a/ics-admin/src/main/java/com/ics/admin/controller/CustomerStaffController.java
+++ b/ics-admin/src/main/java/com/ics/admin/controller/CustomerStaffController.java
@@ -189,6 +189,7 @@ public class CustomerStaffController extends BaseController {
List result = new ArrayList<>();
+ // 按照逗号分割
List buildIds = StrUtil.split(buildId, ',');
List roomIds = StrUtil.split(roomId, ',');
@@ -373,9 +374,11 @@ public class CustomerStaffController extends BaseController {
result.addAll(collect);
//获取了房间集合,循环对应集合,
for (Long id : result) {
- RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id);
- if (null != roomEquipment) {
- ids.add(roomEquipment.getEquipmentId());
+ List roomEquipment = roomEquipmentService.selectByRoomId(id);
+ if (CollUtil.isNotEmpty(roomEquipment)) {
+ for (RoomEquipment equipment : roomEquipment) {
+ ids.add(equipment.getEquipmentId());
+ }
}
List detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) {
@@ -502,9 +505,11 @@ public class CustomerStaffController extends BaseController {
Room room = roomService.selectRoomById(roomid);
if (null != room) {
Long id = room.getId();
- RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id);
- if (null != roomEquipment) {
- ids.add(roomEquipment.getEquipmentId());
+ List roomEquipment = roomEquipmentService.selectByRoomId(id);
+ if (CollUtil.isNotEmpty(roomEquipment)) {
+ for (RoomEquipment equipment : roomEquipment) {
+ ids.add(equipment.getEquipmentId());
+ }
}
List detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) {
@@ -587,6 +592,7 @@ public class CustomerStaffController extends BaseController {
ArrayList ids = new ArrayList<>();
IcsCustomerStaff customerStaff = icsCustomerStaffService.selectIcsCustomerStaffById(equipment.getUserId());
if (null != customerStaff) {
+ //查询多个企业
List staffCustomers = staffCustomerService.selectStaffCustomerByStaffId(customerStaff.getId());
for (StaffCustomer staffCustomer : staffCustomers) {
Customer customer = customerService.selectCustomerById(staffCustomer.getIcsCustomerId());
@@ -594,11 +600,8 @@ public class CustomerStaffController extends BaseController {
//根据企业 查询对应的 房间,和对应的楼层
String roomId = customer.getRoomId();
String buildId = customer.getBuildId();
-
List result = new ArrayList<>();
-
List buildIds = StrUtil.split(buildId, ',');
-
List roomIds = StrUtil.split(roomId, ',');
List collect = roomIds.stream().map(Long::valueOf).collect(Collectors.toList());
List buildCollect = buildIds.stream().map(Long::valueOf).collect(Collectors.toList());
@@ -606,9 +609,11 @@ public class CustomerStaffController extends BaseController {
result.addAll(collect);
//获取了房间集合,循环对应集合,
for (Long id : result) {
- RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id);
- if (null != roomEquipment) {
- ids.add(roomEquipment.getEquipmentId());
+ List roomEquipment = roomEquipmentService.selectByRoomId(id);
+ if (CollUtil.isNotEmpty(roomEquipment)) {
+ for (RoomEquipment equipment1 : roomEquipment) {
+ ids.add(equipment1.getEquipmentId());
+ }
}
List detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) {
diff --git a/ics-admin/src/main/java/com/ics/admin/controller/meeting/EquipmentController.java b/ics-admin/src/main/java/com/ics/admin/controller/meeting/EquipmentController.java
index 5dd681b..ce93c0b 100644
--- a/ics-admin/src/main/java/com/ics/admin/controller/meeting/EquipmentController.java
+++ b/ics-admin/src/main/java/com/ics/admin/controller/meeting/EquipmentController.java
@@ -343,7 +343,18 @@ public class EquipmentController extends BaseController {
@RequiresPermissions("meeting:equipment:remove")
@PostMapping("remove")
public R remove(String ids) {
- return toAjax(equipmentService.deleteEquipmentByIds(ids));
+ int i = equipmentService.deleteEquipmentByIds(ids);
+ List deviceIds = StrUtil.split(ids, ',');
+ for (String deviceId : deviceIds) {
+ int i1 = userEquipmentService.deleteUserEquipmentByEquipmentId(Long.parseLong(deviceId));
+ log.info("删除用户绑定设备成功"+i1);
+ int i2 = roomEquipmentService.deleteRoomEquipment(Long.parseLong(deviceId));
+ log.info("删除房间绑定设备成功"+i2);
+ int i3 = detailEquipmentService.deleteDetailEquipment(Long.parseLong(deviceId));
+ log.info("删除楼层绑定设备成功"+i3);
+ }
+
+ return toAjax(i);
}
@@ -422,9 +433,7 @@ public class EquipmentController extends BaseController {
boolean isAdmin = SubjectUtil.hasRole(getRequest(),"manager");
if (isAdmin){
Long parkId = currentUserService.getParkId();
- Long tenantId = currentUserService.getTenantId();
userEquipment.setParkId(parkId);
-// userEquipment.setTenantId(tenantId);
}
boolean b = SubjectUtil.hasRole(getRequest(),"admin");
if (b){
@@ -445,14 +454,19 @@ public class EquipmentController extends BaseController {
return item.getUserId();
}).collect(Collectors.toList());
- List icsCustomerStaffs = staffService.selectListByUserIds(userIds);
- for (IcsCustomerStaff icsCustomerStaff : icsCustomerStaffs) {
- Customer customer = customerService.selectCustomerById(icsCustomerStaff.getIcsCustomerId());
- if (null != customer) {
- icsCustomerStaff.setCustomerName(customer.getName());
+ if(CollUtil.isNotEmpty(userIds)){
+ List icsCustomerStaffs = staffService.selectListByUserIds(userIds);
+ for (IcsCustomerStaff icsCustomerStaff : icsCustomerStaffs) {
+ Customer customer = customerService.selectCustomerById(icsCustomerStaff.getIcsCustomerId());
+ if (null != customer) {
+ icsCustomerStaff.setCustomerName(customer.getName());
+ }
}
+ return R.data(icsCustomerStaffs);
+ }else {
+ return R.data(new ArrayList<>());
}
- return R.data(icsCustomerStaffs);
+
}
diff --git a/ics-admin/src/main/java/com/ics/admin/domain/meeting/StaffCustomer.java b/ics-admin/src/main/java/com/ics/admin/domain/meeting/StaffCustomer.java
index cf8df5b..25c8817 100644
--- a/ics-admin/src/main/java/com/ics/admin/domain/meeting/StaffCustomer.java
+++ b/ics-admin/src/main/java/com/ics/admin/domain/meeting/StaffCustomer.java
@@ -19,6 +19,7 @@ public class StaffCustomer extends BaseEntity {
private Long icsCustomerId;
/** 用户id */
+
private Long staffId;
/** 园区ID */
diff --git a/ics-admin/src/main/java/com/ics/admin/mapper/meeting/StaffCustomerMapper.java b/ics-admin/src/main/java/com/ics/admin/mapper/meeting/StaffCustomerMapper.java
index dc5e547..5abad88 100644
--- a/ics-admin/src/main/java/com/ics/admin/mapper/meeting/StaffCustomerMapper.java
+++ b/ics-admin/src/main/java/com/ics/admin/mapper/meeting/StaffCustomerMapper.java
@@ -61,4 +61,6 @@ public interface StaffCustomerMapper extends BaseMapper {
* @return 结果
*/
int deleteStaffCustomerByIds(String[] ids);
+
+ List selectStaffCustomerByStaffId(Long id);
}
diff --git a/ics-admin/src/main/java/com/ics/admin/service/IIcsCustomerStaffService.java b/ics-admin/src/main/java/com/ics/admin/service/IIcsCustomerStaffService.java
index fcaf1d8..0d04fd3 100644
--- a/ics-admin/src/main/java/com/ics/admin/service/IIcsCustomerStaffService.java
+++ b/ics-admin/src/main/java/com/ics/admin/service/IIcsCustomerStaffService.java
@@ -87,4 +87,5 @@ public interface IIcsCustomerStaffService extends IService {
List getUserList(IcsCustomerStaff customerStaff);
+ IcsCustomerStaff selectByPhoneAndOpenId(String phoneNumber, String openid);
}
diff --git a/ics-admin/src/main/java/com/ics/admin/service/impl/BuildingDetailServiceImpl.java b/ics-admin/src/main/java/com/ics/admin/service/impl/BuildingDetailServiceImpl.java
index 98c11f1..908334c 100644
--- a/ics-admin/src/main/java/com/ics/admin/service/impl/BuildingDetailServiceImpl.java
+++ b/ics-admin/src/main/java/com/ics/admin/service/impl/BuildingDetailServiceImpl.java
@@ -44,6 +44,7 @@ public class BuildingDetailServiceImpl extends ServiceImpl selectBuildingDetailList(BuildingDetail buildingDetail) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("building_id", buildingDetail.getBuildingId());
+ queryWrapper.eq(buildingDetail.getParkId() !=null,"park_id", buildingDetail.getParkId());
return buildingDetailMapper.selectList(queryWrapper);
}
diff --git a/ics-admin/src/main/java/com/ics/admin/service/impl/IcsCustomerStaffServiceImpl.java b/ics-admin/src/main/java/com/ics/admin/service/impl/IcsCustomerStaffServiceImpl.java
index d0502bf..e9c796e 100644
--- a/ics-admin/src/main/java/com/ics/admin/service/impl/IcsCustomerStaffServiceImpl.java
+++ b/ics-admin/src/main/java/com/ics/admin/service/impl/IcsCustomerStaffServiceImpl.java
@@ -284,6 +284,17 @@ public class IcsCustomerStaffServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>();
+
+ wrapper.eq("mobile", phoneNumber);
+ wrapper.in("openid", openid);
+
+ return icsCustomerStaffMapper.selectOne(wrapper);
+ }
+
//根据企业查询对应的设备
public void queryDeviceByCustomerId(Long customerId,Long userId){
ArrayList ids = new ArrayList<>();
@@ -297,9 +308,11 @@ public class IcsCustomerStaffServiceImpl extends ServiceImpl roomEquipment = roomEquipmentService.selectByRoomId(id);
+ if (CollUtil.isNotEmpty(roomEquipment)) {
+ for (RoomEquipment equipment : roomEquipment) {
+ ids.add(equipment.getEquipmentId());
+ }
}
List detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) {
diff --git a/ics-admin/src/main/java/com/ics/admin/service/impl/RoomEquipmentServiceImpl.java b/ics-admin/src/main/java/com/ics/admin/service/impl/RoomEquipmentServiceImpl.java
index 60511a4..41be609 100644
--- a/ics-admin/src/main/java/com/ics/admin/service/impl/RoomEquipmentServiceImpl.java
+++ b/ics-admin/src/main/java/com/ics/admin/service/impl/RoomEquipmentServiceImpl.java
@@ -117,11 +117,11 @@ public class RoomEquipmentServiceImpl extends ServiceImpl selectByRoomId(Long id) {
QueryWrapper wrapper = new QueryWrapper<>();
wrapper.eq("room_id",id);
- return roomEquipmentMapper.selectOne(wrapper);
+ return roomEquipmentMapper.selectList(wrapper);
}
@Override
diff --git a/ics-admin/src/main/java/com/ics/admin/service/impl/UserEquipmentServiceImpl.java b/ics-admin/src/main/java/com/ics/admin/service/impl/UserEquipmentServiceImpl.java
index dcfbda5..f44c264 100644
--- a/ics-admin/src/main/java/com/ics/admin/service/impl/UserEquipmentServiceImpl.java
+++ b/ics-admin/src/main/java/com/ics/admin/service/impl/UserEquipmentServiceImpl.java
@@ -183,7 +183,7 @@ public class UserEquipmentServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("equipment_id", id);
+ return detailEquipmentMapper.delete(queryWrapper);
+ }
}
diff --git a/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/EquipmentServiceImpl.java b/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/EquipmentServiceImpl.java
index 8ce980e..8f841b9 100644
--- a/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/EquipmentServiceImpl.java
+++ b/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/EquipmentServiceImpl.java
@@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
import com.ics.admin.mapper.meeting.EquipmentMapper;
import com.ics.admin.domain.meeting.Equipment;
import com.ics.admin.service.meeting.IEquipmentService;
+import org.springframework.transaction.annotation.Transactional;
/**
* 设备Service业务层处理
@@ -77,6 +78,7 @@ public class EquipmentServiceImpl extends ServiceImpl selectVisitorRecordByIntervieweeId(Long intervieweeId, Integer pageNum, Integer pageSize) {
- QueryWrapper wrapper = new QueryWrapper().eq("interviewee_id", intervieweeId);
+ public IPage selectVisitorRecordByIntervieweeId(Long intervieweeId,Long parkId, Integer pageNum, Integer pageSize) {
+ QueryWrapper wrapper = new QueryWrapper().eq("interviewee_id", intervieweeId).eq("park_id",parkId);
wrapper.orderByDesc("create_time");
IPage pages = new Page<>(pageNum,pageSize);
IPage userIPage = visitorPersonMapper.selectPage(pages,wrapper);
diff --git a/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/ReservationPersonServiceImpl.java b/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/ReservationPersonServiceImpl.java
index 5b5b237..425dad6 100644
--- a/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/ReservationPersonServiceImpl.java
+++ b/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/ReservationPersonServiceImpl.java
@@ -132,9 +132,10 @@ public class ReservationPersonServiceImpl extends ServiceImpl selectListByParticipantId(Long userId,Integer page,Integer limit) {
+ public IPage selectListByParticipantId(Long userId,Long parkId,Integer page,Integer limit) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("participant_id",userId);
+ queryWrapper.eq("park_id",parkId);
List list = reservationPersonMapper.selectList(queryWrapper);
List collect = list.stream().map(item -> {
return item.getReservationId();
diff --git a/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/ReservationServiceImpl.java b/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/ReservationServiceImpl.java
index 9939fda..25f9ef7 100644
--- a/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/ReservationServiceImpl.java
+++ b/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/ReservationServiceImpl.java
@@ -239,6 +239,7 @@ public class ReservationServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_id",reservation.getUserId());
+ queryWrapper.eq("park_id",reservation.getParkId());
queryWrapper.orderByDesc("create_time");
IPage pages = new Page<>(pageNum,pageSize);
IPage userIPage = reservationMapper.selectPage(pages,queryWrapper);
diff --git a/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/ShowroomRecordServiceImpl.java b/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/ShowroomRecordServiceImpl.java
index f2b152c..3e89526 100644
--- a/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/ShowroomRecordServiceImpl.java
+++ b/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/ShowroomRecordServiceImpl.java
@@ -157,6 +157,7 @@ public class ShowroomRecordServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_id",showroomRecord.getUserId());
+ queryWrapper.eq("park_id",showroomRecord.getParkId());
queryWrapper.orderByDesc("create_time");
IPage pages = new Page<>(pageNum,pageSize);
diff --git a/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/StaffCustomerServiceImpl.java b/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/StaffCustomerServiceImpl.java
index 201cc4c..b00c3e6 100644
--- a/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/StaffCustomerServiceImpl.java
+++ b/ics-admin/src/main/java/com/ics/admin/service/impl/meeting/StaffCustomerServiceImpl.java
@@ -94,9 +94,7 @@ public class StaffCustomerServiceImpl extends ServiceImpl selectStaffCustomerByStaffId(Long id) {
- QueryWrapper queryWrapper = new QueryWrapper();
- queryWrapper.eq("staff_id",id);
- return staffCustomerMapper.selectList(queryWrapper);
+ return staffCustomerMapper.selectStaffCustomerByStaffId(id);
}
diff --git a/ics-admin/src/main/java/com/ics/admin/service/meeting/IDetailEquipmentService.java b/ics-admin/src/main/java/com/ics/admin/service/meeting/IDetailEquipmentService.java
index 53c1cf3..43b59bb 100644
--- a/ics-admin/src/main/java/com/ics/admin/service/meeting/IDetailEquipmentService.java
+++ b/ics-admin/src/main/java/com/ics/admin/service/meeting/IDetailEquipmentService.java
@@ -62,4 +62,6 @@ public interface IDetailEquipmentService extends IService {
DetailEquipment selectByEquipmentId(Long id);
List selectByRoomId(Long id);
+
+ int deleteDetailEquipment(Long id);
}
diff --git a/ics-admin/src/main/java/com/ics/admin/service/meeting/IReservationPersonService.java b/ics-admin/src/main/java/com/ics/admin/service/meeting/IReservationPersonService.java
index 0441ac0..1f8ff13 100644
--- a/ics-admin/src/main/java/com/ics/admin/service/meeting/IReservationPersonService.java
+++ b/ics-admin/src/main/java/com/ics/admin/service/meeting/IReservationPersonService.java
@@ -63,7 +63,7 @@ public interface IReservationPersonService extends IService {
ReservationPerson isVisitor(ReservationPerson reservationPerson);
- IPage selectListByParticipantId(Long userId, Integer page, Integer limit);
+ IPage selectListByParticipantId(Long userId,Long parkId, Integer page, Integer limit);
List selectListByReservationId(Long reservationId);
diff --git a/ics-admin/src/main/java/com/ics/admin/service/meeting/IRoomEquipmentService.java b/ics-admin/src/main/java/com/ics/admin/service/meeting/IRoomEquipmentService.java
index 395a0f0..842c646 100644
--- a/ics-admin/src/main/java/com/ics/admin/service/meeting/IRoomEquipmentService.java
+++ b/ics-admin/src/main/java/com/ics/admin/service/meeting/IRoomEquipmentService.java
@@ -65,7 +65,7 @@ public interface IRoomEquipmentService extends IService {
RoomEquipment selectByEquipmentIdAndRoomId(RoomEquipment roomEquipment);
- RoomEquipment selectByRoomId(Long id);
+ List selectByRoomId(Long id);
List selectListByRoomId(Long aLong);
diff --git a/ics-admin/src/main/java/com/ics/admin/service/meeting/IVisitorPersonService.java b/ics-admin/src/main/java/com/ics/admin/service/meeting/IVisitorPersonService.java
index 1312519..8a41693 100644
--- a/ics-admin/src/main/java/com/ics/admin/service/meeting/IVisitorPersonService.java
+++ b/ics-admin/src/main/java/com/ics/admin/service/meeting/IVisitorPersonService.java
@@ -64,7 +64,7 @@ public interface IVisitorPersonService extends IService {
IPage selectVisitorRecord(Long userId, Integer pageNum, Integer pageSize);
- IPage selectVisitorRecordByIntervieweeId(Long intervieweeId, Integer pageNum, Integer pageSize);
+ IPage selectVisitorRecordByIntervieweeId(Long intervieweeId,Long parkId, Integer pageNum, Integer pageSize);
int updateVisitorPersonStatus(VisitorPerson person);
diff --git a/ics-admin/src/main/resources/mapper/admin/meeting/StaffCustomerMapper.xml b/ics-admin/src/main/resources/mapper/admin/meeting/StaffCustomerMapper.xml
index 5314ec8..edd5f01 100644
--- a/ics-admin/src/main/resources/mapper/admin/meeting/StaffCustomerMapper.xml
+++ b/ics-admin/src/main/resources/mapper/admin/meeting/StaffCustomerMapper.xml
@@ -29,7 +29,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE id = #{id}
-
+
+
INSERT INTO tb_staff_customer
diff --git a/ics-common/ics-common-core/pom.xml b/ics-common/ics-common-core/pom.xml
index 1e3bae1..78557b9 100644
--- a/ics-common/ics-common-core/pom.xml
+++ b/ics-common/ics-common-core/pom.xml
@@ -161,7 +161,12 @@
com.github.binarywang
wx-java-miniapp-spring-boot-starter
+
+ org.springframework
+ spring-websocket
+ 5.3.24
+
-
+
\ No newline at end of file
diff --git a/ics-common/ics-common-core/src/main/java/com/ics/common/config/MyInterceptor.java b/ics-common/ics-common-core/src/main/java/com/ics/common/config/MyInterceptor.java
new file mode 100644
index 0000000..ec9d17e
--- /dev/null
+++ b/ics-common/ics-common-core/src/main/java/com/ics/common/config/MyInterceptor.java
@@ -0,0 +1,71 @@
+package com.ics.common.config;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.logging.log4j.util.Strings;
+import org.springframework.http.server.ServerHttpRequest;
+import org.springframework.http.server.ServerHttpResponse;
+import org.springframework.stereotype.Component;
+import org.springframework.web.socket.TextMessage;
+import org.springframework.web.socket.WebSocketHandler;
+import org.springframework.web.socket.WebSocketSession;
+import org.springframework.web.socket.server.HandshakeInterceptor;
+
+@Component
+public class MyInterceptor implements HandshakeInterceptor {
+
+ private static final Map connections = new HashMap<>();
+ /**
+ * 向连接的客户端发送消息
+ *
+ * @author lucky_fd
+ * @param clientId 客户端标识
+ * @param message 消息体
+ **/
+ public void sendMessage(String clientId, TextMessage message) {
+ for (String client : connections.keySet()) {
+ if (client.equals(clientId)) {
+ try {
+ WebSocketSession session = connections.get(client);
+ // 判断连接是否正常
+ if (session.isOpen()) {
+ session.sendMessage(message);
+ }
+ } catch (IOException e) {
+ System.out.println(e.getMessage());
+ }
+ break;
+ }
+ }
+ }
+
+ /**
+ * 握手前
+ */
+ @Override
+ public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map attributes) throws Exception {
+ System.out.println("握手开始");
+ String hostName = request.getRemoteAddress().getHostName();
+ String sessionId = hostName+String.valueOf((int)(Math.random()*1000));
+ if (Strings.isNotBlank(sessionId)) {
+ // 放入属性域
+ attributes.put("session_id", sessionId);
+ System.out.println("用户 session_id " + sessionId + " 握手成功!");
+ return true;
+ }
+ System.out.println("用户登录已失效");
+ return false;
+ }
+
+ /**
+ * 握手后
+ */
+ @Override
+ public void afterHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Exception exception) {
+ System.out.println("握手完成");
+ }
+
+}
+
diff --git a/ics-common/ics-common-core/src/main/java/com/ics/common/config/SocketClient.java b/ics-common/ics-common-core/src/main/java/com/ics/common/config/SocketClient.java
new file mode 100644
index 0000000..fd1d27f
--- /dev/null
+++ b/ics-common/ics-common-core/src/main/java/com/ics/common/config/SocketClient.java
@@ -0,0 +1,52 @@
+package com.ics.common.config;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.Socket;
+
+/**
+ * @author wangyan
+ * @description
+ * @date 2019/7/30 18:56
+ */
+public class SocketClient {
+ public static void main(String[] args) throws IOException {
+ socketClient2F();
+ }
+ public static void socketClient2F() throws IOException{
+ final Logger logger = LoggerFactory.getLogger(SocketClient.class);
+
+ String host = "192.168.0.4";
+ int port = 8090;
+ Socket socket = new Socket(host, port);
+ // 建立连接后获得输出流
+ OutputStream outputStream = socket.getOutputStream();
+ String message = "2222";
+ //首先需要计算得知消息的长度
+ byte[] sendBytes = message.getBytes("UTF-8");
+ //然后将消息的长度优先发送出去
+ outputStream.write(sendBytes.length >>8);
+ outputStream.write(sendBytes.length);
+ //然后将消息再次发送出去
+ outputStream.write(sendBytes);
+ outputStream.flush();
+ socket.shutdownOutput();
+
+ InputStream inputStream = socket.getInputStream();
+ byte[] bytes = new byte[1024];
+ int len;
+ StringBuilder sb = new StringBuilder();
+ while ((len = inputStream.read(bytes)) != -1) {
+ // 注意指定编码格式,发送方和接收方一定要统一,建议使用UTF-8
+ sb.append(new String(bytes, 0, len, "UTF-8"));
+ }
+ System.out.println(sb);
+ outputStream.close();
+ inputStream.close();
+ socket.close();
+ }
+}
\ No newline at end of file
diff --git a/ics-common/ics-common-core/src/main/java/com/ics/common/config/SocketServer.java b/ics-common/ics-common-core/src/main/java/com/ics/common/config/SocketServer.java
new file mode 100644
index 0000000..7a69709
--- /dev/null
+++ b/ics-common/ics-common-core/src/main/java/com/ics/common/config/SocketServer.java
@@ -0,0 +1,105 @@
+package com.ics.common.config;
+
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+
+/**
+ * @author
+ * @description 服务端socket
+ * @date 2019/7/30 14:57
+ */
+@Service
+public class SocketServer {
+
+ protected final Logger logger = LoggerFactory.getLogger(this.getClass());
+ // @Value("${port}")
+ private Integer port;
+ private boolean started;
+ private ServerSocket serverSocket;
+ //使用多线程,需要线程池,防止并发过高时创建过多线程耗尽资源
+ private ExecutorService threadPool = Executors.newCachedThreadPool();
+
+ public void start(){
+ start(8090);
+ }
+ private void start(Integer port){
+ try {
+ serverSocket = new ServerSocket(port == null ? this.port : port);
+ started = true;
+ logger.info("Socket服务已启动,占用端口: {}", serverSocket.getLocalSocketAddress());
+ }catch (IOException e){
+ logger.error("端口异常信息",e);
+ System.exit(0);
+ }
+ while (started){
+ try {
+ Socket socket = serverSocket.accept();
+ Runnable runnable = () -> {
+ try {
+ //接收客户端数据
+ StringBuilder xmlString = onMessage(socket);
+ logger.info("接收到客户端数据:{}",xmlString);
+ //处理逻辑:xmlStringToEsb为处理结果
+ //返回给客户端
+ sendMessage(socket,"true");
+ socket.close();
+ }catch (IOException e){
+ e.printStackTrace();
+ }
+ };
+ //接收线程返回结果
+ Future future = threadPool.submit(runnable);
+ logger.info(future.isDone()+"--------");
+ }catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ private static StringBuilder onMessage(Socket socket){
+ byte[] bytes = new byte[1024];
+ int len;
+ try{
+ // 建立好连接后,从socket中获取输入流,并建立缓冲区进行读取
+ InputStream inputStream = socket.getInputStream();
+ StringBuilder sb = new StringBuilder();
+ while ((len = inputStream.read(bytes)) != -1) {
+ // 注意指定编码格式,发送方和接收方一定要统一,建议使用UTF-8
+ sb.append(new String(bytes, 0, len, "UTF-8"));
+ }
+ //此处,需要关闭服务器的输出流,但不能使用inputStream.close().
+ socket.shutdownInput();
+ return sb;
+ }catch (IOException e){
+ e.printStackTrace();
+ }
+ return null;
+ }
+ private static void sendMessage(Socket socket,String message){
+ try {
+ //向客户端返回数据
+ OutputStream outputStream = socket.getOutputStream();
+ //首先需要计算得知消息的长度
+ byte[] sendBytes = message.getBytes("UTF-8");
+ //然后将消息的长度优先发送出去
+ outputStream.write(sendBytes.length >> 8);
+ outputStream.write(sendBytes.length);
+ //然后将消息再次发送出去
+ outputStream.write(sendBytes);
+ outputStream.flush();
+ outputStream.close();
+ }catch (IOException e){
+ e.printStackTrace();
+ }
+ }
+}
\ No newline at end of file
diff --git a/ics-common/ics-common-core/src/main/java/com/ics/common/config/WebsocketConfig.java b/ics-common/ics-common-core/src/main/java/com/ics/common/config/WebsocketConfig.java
new file mode 100644
index 0000000..1152cff
--- /dev/null
+++ b/ics-common/ics-common-core/src/main/java/com/ics/common/config/WebsocketConfig.java
@@ -0,0 +1,31 @@
+package com.ics.common.config;
+
+
+import com.ics.common.handlers.HttpAuthHandler;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.socket.config.annotation.EnableWebSocket;
+import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
+import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;
+
+
+
+@Configuration
+@EnableWebSocket
+public class WebsocketConfig implements WebSocketConfigurer {
+
+ @Autowired
+ private HttpAuthHandler httpAuthHandler;
+ @Autowired
+ private MyInterceptor myInterceptor;
+
+ @Override
+ public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
+ registry
+ .addHandler(httpAuthHandler, "myWS")
+ .addInterceptors(myInterceptor)
+ .setAllowedOrigins("*");
+ }
+
+}
+
diff --git a/ics-common/ics-common-core/src/main/java/com/ics/common/config/WsSessionManager.java b/ics-common/ics-common-core/src/main/java/com/ics/common/config/WsSessionManager.java
new file mode 100644
index 0000000..8f73b10
--- /dev/null
+++ b/ics-common/ics-common-core/src/main/java/com/ics/common/config/WsSessionManager.java
@@ -0,0 +1,66 @@
+package com.ics.common.config;
+
+
+import org.springframework.web.socket.WebSocketSession;
+
+import java.io.IOException;
+import java.util.concurrent.ConcurrentHashMap;
+
+public class WsSessionManager {
+ /**
+ * 保存连接 session 的地方
+ */
+ private static ConcurrentHashMap SESSION_POOL = new ConcurrentHashMap<>();
+
+ /**
+ * 添加 session
+ *
+ * @param key
+ */
+ public static void add(String key, WebSocketSession session) {
+ // 添加 session
+ SESSION_POOL.put(key, session);
+ }
+
+ /**
+ * 删除 session,会返回删除的 session
+ *
+ * @param key
+ * @return
+ */
+ public static WebSocketSession remove(String key) {
+ // 删除 session
+ return SESSION_POOL.remove(key);
+ }
+
+ /**
+ * 删除并同步关闭连接
+ *
+ * @param key
+ */
+ public static void removeAndClose(String key) {
+ WebSocketSession session = remove(key);
+ if (session != null) {
+ try {
+ // 关闭连接
+ session.close();
+ } catch (IOException e) {
+ // todo: 关闭出现异常处理
+ e.printStackTrace();
+ }
+ }
+ }
+
+ /**
+ * 获得 session
+ *
+ * @param key
+ * @return
+ */
+ public static WebSocketSession get(String key) {
+ // 获得 session
+ return SESSION_POOL.get(key);
+ }
+}
+
+
diff --git a/ics-common/ics-common-core/src/main/java/com/ics/common/handlers/HttpAuthHandler.java b/ics-common/ics-common-core/src/main/java/com/ics/common/handlers/HttpAuthHandler.java
new file mode 100644
index 0000000..7f0e8dd
--- /dev/null
+++ b/ics-common/ics-common-core/src/main/java/com/ics/common/handlers/HttpAuthHandler.java
@@ -0,0 +1,65 @@
+package com.ics.common.handlers;
+
+import com.ics.common.config.WsSessionManager;
+import org.springframework.stereotype.Component;
+import org.springframework.web.socket.CloseStatus;
+import org.springframework.web.socket.TextMessage;
+import org.springframework.web.socket.WebSocketSession;
+import org.springframework.web.socket.handler.TextWebSocketHandler;
+import java.time.LocalDateTime;
+
+@Component
+public class HttpAuthHandler extends TextWebSocketHandler {
+
+ /**
+ * socket 建立成功事件
+ *
+ * @param session
+ * @throws Exception
+ */
+ @Override
+ public void afterConnectionEstablished(WebSocketSession session) throws Exception {
+ Object sessionId = session.getAttributes().get("session_id");
+ if (sessionId != null) {
+ // 用户连接成功,放入在线用户缓存
+ WsSessionManager.add(sessionId.toString(), session);
+ } else {
+ throw new RuntimeException("用户登录已经失效!");
+ }
+ }
+
+ /**
+ * 接收消息事件
+ *
+ * @param session
+ * @param message
+ * @throws Exception
+ */
+ @Override
+ protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
+ // 获得客户端传来的消息
+ String payload = message.getPayload();
+ Object sessionId = session.getAttributes().get("session_id");
+ System.out.println("server 接收到 " + sessionId + " 发送的 " + payload);
+ session.sendMessage(new TextMessage("server 发送给 " + sessionId + " 消息 " + payload + " " + LocalDateTime.now().toString()));
+ }
+
+ /**
+ * socket 断开连接时
+ *
+ * @param session
+ * @param status
+ * @throws Exception
+ */
+ @Override
+ public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
+ Object sessionId = session.getAttributes().get("session_id");
+ if (sessionId != null) {
+ // 用户退出,移除缓存
+ WsSessionManager.remove(sessionId.toString());
+ }
+ }
+
+
+}
+
diff --git a/ics-system/src/main/java/com/ics/system/handlers/MyParkLineHandler.java b/ics-system/src/main/java/com/ics/system/handlers/MyParkLineHandler.java
index 6afee71..313c18a 100644
--- a/ics-system/src/main/java/com/ics/system/handlers/MyParkLineHandler.java
+++ b/ics-system/src/main/java/com/ics/system/handlers/MyParkLineHandler.java
@@ -23,7 +23,7 @@ public class MyParkLineHandler implements TenantLineHandler {
"sys_job", "sys_job_log", "sys_login_info", "sys_menu", "sys_notice", "sys_oper_log", "sys_oss", "sys_role", "sys_role_dept", "sys_role_menu",
"sys_sn", "sys_user_role", "sys_dept", "ics_customer_contract_room", "ics_park", "ics_apply_room", "ics_customer_contract_refund_room", "ics_apply_park_file",
"ics_apply_settle_file", "ics_apply_move_in_file", "ics_activity","ics_customer_staff","tb_customer_ticket","tb_reservation","tb_reservation_person",
- "tb_room_content","tb_room_item","tb_room_item_by_room","tb_room_serve_by_room","tb_room_serve","tb_equipment",
+ "tb_room_content","tb_room_item","tb_room_item_by_room","tb_room_serve_by_room","tb_room_serve","tb_equipment","tb_staff_customer",
"tb_room_equipment","tb_room_record","tb_room_serve","tb_showroom","tb_showroom_record","tb_ticket","tb_user_equipment","tb_visitor_person"
};
diff --git a/ics-system/src/main/java/com/ics/system/handlers/MyTenantLineHandler.java b/ics-system/src/main/java/com/ics/system/handlers/MyTenantLineHandler.java
index b58171e..bd53491 100644
--- a/ics-system/src/main/java/com/ics/system/handlers/MyTenantLineHandler.java
+++ b/ics-system/src/main/java/com/ics/system/handlers/MyTenantLineHandler.java
@@ -23,7 +23,7 @@ public class MyTenantLineHandler implements TenantLineHandler {
"sys_job", "sys_job_log", "sys_login_info", "sys_menu", "sys_notice", "sys_oper_log", "sys_oss", "sys_role_dept", "sys_role_menu",
"sys_sn", "sys_user_role", "ics_customer_contract_room", "ics_apply_room", "ics_customer_contract_refund_room", "ics_apply_park_file",
"ics_apply_settle_file", "ics_apply_move_in_file", "ics_activity","ics_customer_staff","tb_customer_ticket","tb_reservation","tb_reservation_person",
- "tb_room_content","tb_room_item","tb_room_item_by_room","tb_room_serve_by_room","tb_room_serve","tb_equipment",
+ "tb_room_content","tb_room_item","tb_room_item_by_room","tb_room_serve_by_room","tb_room_serve","tb_equipment","tb_staff_customer",
"tb_room_equipment","tb_room_record","tb_room_serve","tb_showroom","tb_showroom_record","tb_ticket","tb_user_equipment","tb_visitor_person"
};
diff --git a/ics-web/src/main/java/com/ics/ApplicationRun.java b/ics-web/src/main/java/com/ics/ApplicationRun.java
index 49b6ba2..b1d9f09 100644
--- a/ics-web/src/main/java/com/ics/ApplicationRun.java
+++ b/ics-web/src/main/java/com/ics/ApplicationRun.java
@@ -1,8 +1,13 @@
package com.ics;
+import com.ics.common.config.SocketServer;
+import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.context.annotation.Bean;
import org.wf.jwtp.configuration.EnableJwtPermission;
/**
@@ -15,4 +20,6 @@ public class ApplicationRun {
public static void main(String[] args) {
SpringApplication.run(ApplicationRun.class, args);
}
+
+
}
diff --git a/ics-web/src/main/java/com/ics/controller/mobile/SmallWxOkHttp.java b/ics-web/src/main/java/com/ics/controller/mobile/SmallWxOkHttp.java
index ecf7f64..dda5c21 100644
--- a/ics-web/src/main/java/com/ics/controller/mobile/SmallWxOkHttp.java
+++ b/ics-web/src/main/java/com/ics/controller/mobile/SmallWxOkHttp.java
@@ -65,14 +65,14 @@ public class SmallWxOkHttp {
/**
* 获取AccessToken
*/
- public static String getAccessToken(){
+ public static String getAccessToken(String appId, String secret){
// url
String url = "https://api.weixin.qq.com/cgi-bin/token";
// 参数
Map map = new HashMap<>();
map.put("grant_type", "client_credential");
- map.put("appid", APP_ID);
- map.put("secret", SECRET);
+ map.put("appid", appId);
+ map.put("secret", secret);
// 发送请求
JSONObject jsonObject = sendGet(url, map);
String accessToken = jsonObject.getString("access_token");
@@ -83,13 +83,13 @@ public class SmallWxOkHttp {
/**
* 小程序登录
*/
- public static JSONObject code2Session(String jsCode){
+ public static JSONObject code2Session(String jsCode,String appId,String secret){
// url
String url = "https://api.weixin.qq.com/sns/jscode2session";
// 参数
Map map = new HashMap<>();
- map.put("appid", APP_ID);
- map.put("secret", SECRET);
+ map.put("appid", appId);
+ map.put("secret", secret);
map.put("js_code", jsCode);
map.put("grant_type", "authorization_code");
// 发送请求
diff --git a/ics-web/src/main/java/com/ics/controller/mobile/WxLoginAPIController.java b/ics-web/src/main/java/com/ics/controller/mobile/WxLoginAPIController.java
index 0be7a80..cb72ba2 100644
--- a/ics-web/src/main/java/com/ics/controller/mobile/WxLoginAPIController.java
+++ b/ics-web/src/main/java/com/ics/controller/mobile/WxLoginAPIController.java
@@ -95,12 +95,14 @@ public class WxLoginAPIController extends BaseController {
public R login(@RequestBody Map paramMap) {
// 参数
String jsCode = paramMap.get("jsCode");
+ String appId = paramMap.get("appId");
+ String appSecret = paramMap.get("appSecret");
// 必填
if (org.apache.commons.lang3.StringUtils.isBlank(jsCode)) {
throw new RuntimeException("请传递jsCode");
}
// 小程序登录
- JSONObject sessionObject = SmallWxOkHttp.code2Session(jsCode);
+ JSONObject sessionObject = SmallWxOkHttp.code2Session(jsCode,appId,appSecret);
String openid = sessionObject.getString("openid");
String unionid = sessionObject.getString("unionid");
//
@@ -123,6 +125,7 @@ public class WxLoginAPIController extends BaseController {
// ajax.put(Constants.TOKEN, token);
ajax.put("user", sysUser);
ajax.put("openid", openid);
+
return ajax;
} else { // 用户不存在返回openid进行注册登录
ajax.put("openid", openid);
@@ -137,6 +140,8 @@ public class WxLoginAPIController extends BaseController {
// 参数
String code = paramMap.get("code");
String openid = paramMap.get("openid");
+ String appId = paramMap.get("appId");
+ String appSecret = paramMap.get("appSecret");
// 必填
if (StringUtils.isBlank(code)) {
throw new RuntimeException("请传递code");
@@ -145,7 +150,7 @@ public class WxLoginAPIController extends BaseController {
throw new RuntimeException("请传递openid");
}
// 获取微信小程序 AccessToken
- String smallWxAccessToken = getSmallWxAccessToken();
+ String smallWxAccessToken = getSmallWxAccessToken(appId,appSecret);
// 获取手机号
JSONObject jsonObj = SmallWxOkHttp.getPhoneNumber(code, openid, smallWxAccessToken);
JSONObject phoneInfo = jsonObj.getJSONObject("phone_info");
@@ -153,7 +158,8 @@ public class WxLoginAPIController extends BaseController {
String phoneNumber = phoneInfo.getString("phoneNumber");
IcsCustomerStaff icsCustomerStaff = new IcsCustomerStaff();
icsCustomerStaff.setMobile(phoneNumber);
- IcsCustomerStaff customerStaff = icsCustomerStaffService.selectByPhone(phoneNumber);
+ //todo 需要根据手机号和对应的openId 查询对应的用户。
+ IcsCustomerStaff customerStaff = icsCustomerStaffService.selectByPhoneAndOpenId(phoneNumber,openid);
if (customerStaff != null) {
if (StringUtils.isBlank(customerStaff.getOpenid())) {
// 根据 用户绑定的企业 绑定对应的设备
@@ -165,9 +171,11 @@ public class WxLoginAPIController extends BaseController {
List collect = roomIds.stream().map(Long::valueOf).collect(Collectors.toList());
//获取了房间集合,循环对应集合,
for (Long id : collect) {
- RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id);
- if (null != roomEquipment) {
- ids.add(roomEquipment.getEquipmentId());
+ List roomEquipment = roomEquipmentService.selectByRoomId(id);
+ if (CollUtil.isNotEmpty(roomEquipment)) {
+ for (RoomEquipment equipment : roomEquipment) {
+ ids.add(equipment.getEquipmentId());
+ }
}
List detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) {
@@ -207,18 +215,37 @@ public class WxLoginAPIController extends BaseController {
return ajax;
} else {
// 新增用户信息
- icsCustomerStaff.setUsername(phoneNumber);
- icsCustomerStaff.setDataType(Constants.CUSTOMER_VISIT);
- icsCustomerStaff.setOpenid(openid);
- icsCustomerStaff.setGender("0");
- icsCustomerStaff.setStatus("0");
- int i = icsCustomerStaffService.insertIcsCustomerStaff(icsCustomerStaff);
- Map token = tokenService.createStaffToken(icsCustomerStaff);
- R ajax = R.ok();
- ajax.put(Constants.TOKEN, token);
- ajax.put("user", icsCustomerStaff);
- ajax.put("openid", openid);
- return ajax;
+ // todo 现根据手机号查询对应的数据。如果存在则不新增,如果不存在则新增
+
+ IcsCustomerStaff customerStaff1 = icsCustomerStaffService.selectByPhone(phoneNumber);
+ //如果手机号等于null 就新增用户
+ if (null == customerStaff1) {
+ icsCustomerStaff.setUsername(phoneNumber);
+ icsCustomerStaff.setDataType(Constants.CUSTOMER_VISIT);
+ icsCustomerStaff.setOpenid(openid);
+ icsCustomerStaff.setGender("0");
+ icsCustomerStaff.setStatus("0");
+ int i = icsCustomerStaffService.insertIcsCustomerStaff(icsCustomerStaff);
+ Map token = tokenService.createStaffToken(icsCustomerStaff);
+ R ajax = R.ok();
+ ajax.put(Constants.TOKEN, token);
+ ajax.put("user", icsCustomerStaff);
+ ajax.put("openid", openid);
+ return ajax;
+ }else {
+ String openid1 = customerStaff1.getOpenid();
+ customerStaff1.setOpenid(openid1 + ","+openid);
+ icsCustomerStaffService.updateIcsCustomerStaff(customerStaff1);
+ User user = new User();
+ PublishFactory.recordLoginInfo(customerStaff1.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
+ BeanUtils.copyBeanProp(user, customerStaff1);
+ Map token = tokenService.createToken(user);
+ R ajax = R.ok();
+ ajax.put(Constants.TOKEN, token);
+ ajax.put("user", user);
+ ajax.put("openid", openid);
+ return ajax;
+ }
}
} catch (Exception e) {
log.error(e.getMessage(), e);
@@ -230,11 +257,11 @@ public class WxLoginAPIController extends BaseController {
/**
* 获取微信小程序AccessToken
*/
- public String getSmallWxAccessToken() {
+ public String getSmallWxAccessToken(String appId, String appSecret) {
// 从缓存获取微信小程序 AccessToken
String smallWxAccessToken = redisTemplate.opsForValue().get(smallWxAccessTokenKey);
if (StringUtils.isBlank(smallWxAccessToken)) {
- smallWxAccessToken = SmallWxOkHttp.getAccessToken();
+ smallWxAccessToken = SmallWxOkHttp.getAccessToken(appId, appSecret);
redisTemplate.opsForValue().set(smallWxAccessTokenKey, smallWxAccessToken, 7200, TimeUnit.SECONDS);
}
return smallWxAccessToken;
@@ -242,7 +269,7 @@ public class WxLoginAPIController extends BaseController {
@RequiresPermissions("member:center:view")
@GetMapping("/wx/getUserInfo")
- public R login(Long userId,Long parkId) {
+ public R login(Long userId, Long parkId) {
try {
//检查是否是否存在
@@ -251,10 +278,10 @@ public class WxLoginAPIController extends BaseController {
StaffCustomer staffCustomer = new StaffCustomer();
staffCustomer.setStaffId(userId);
List staffCustomers = staffCustomerService.selectStaffCustomerByStaffId(userId);
- if(CollUtil.isNotEmpty(staffCustomers)){
+ if (CollUtil.isNotEmpty(staffCustomers)) {
for (StaffCustomer staffCustomer1 : staffCustomers) {
Customer customer = customerService.selectCustomerByIdAndParkId(staffCustomer1.getIcsCustomerId(), parkId);
- if (null != customer){
+ if (null != customer) {
customerStaff.setCustomerName(customer.getName());
customerStaff.setIcsCustomerId(customer.getId());
break;
diff --git a/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiRoomContentController.java b/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiRoomContentController.java
index 7026817..16c618b 100644
--- a/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiRoomContentController.java
+++ b/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiRoomContentController.java
@@ -256,9 +256,11 @@ public class ApiRoomContentController extends BaseController {
Room room = roomService.selectRoomById(roomContent.getRoomId());
if (null != room) {
Long id = room.getId();
- RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id);
- if (null != roomEquipment) {
- ids.add(roomEquipment.getEquipmentId());
+ List roomEquipment = roomEquipmentService.selectByRoomId(id);
+ if (CollUtil.isNotEmpty(roomEquipment)) {
+ for (RoomEquipment equipment : roomEquipment) {
+ ids.add(equipment.getEquipmentId());
+ }
}
List detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) {
@@ -310,9 +312,11 @@ public class ApiRoomContentController extends BaseController {
Room room = roomService.selectRoomById(roomContent.getRoomId());
if (null != room) {
Long id = room.getId();
- RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id);
- if (null != roomEquipment) {
- ids.add(roomEquipment.getEquipmentId());
+ List roomEquipment = roomEquipmentService.selectByRoomId(id);
+ if (CollUtil.isNotEmpty(roomEquipment)) {
+ for (RoomEquipment equipment : roomEquipment) {
+ ids.add(equipment.getEquipmentId());
+ }
}
List detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) {
@@ -415,12 +419,12 @@ public class ApiRoomContentController extends BaseController {
roomContent.setBuildingName(buildingDetail.getFloorName() + "F");
}
//根据房间id查询设备
- QueryWrapper wrapper = new QueryWrapper<>();
- wrapper.eq("room_id", room.getId());
- RoomEquipment roomEquipment = roomEquipmentMapper.selectOne(wrapper);
- if (roomEquipment != null) {
- roomContent.setEquipmentId(roomEquipment.getEquipmentId());
- }
+// QueryWrapper wrapper = new QueryWrapper<>();
+// wrapper.eq("room_id", room.getId());
+// RoomEquipment roomEquipment = roomEquipmentMapper.selectOne(wrapper);
+// if (roomEquipment != null) {
+// roomContent.setEquipmentId(roomEquipment.getEquipmentId());
+// }
}
reservation.setRoomContent(roomContent);
return R.ok().put("data", reservation);
@@ -481,9 +485,11 @@ public class ApiRoomContentController extends BaseController {
Room room = roomService.selectRoomById(roomContent.getRoomId());
if (null != room) {
Long id = room.getId();
- RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id);
- if (null != roomEquipment) {
- ids.add(roomEquipment.getEquipmentId());
+ List roomEquipment = roomEquipmentService.selectByRoomId(id);
+ if (CollUtil.isNotEmpty(roomEquipment)) {
+ for (RoomEquipment equipment : roomEquipment) {
+ ids.add(equipment.getEquipmentId());
+ }
}
List detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) {
@@ -574,9 +580,11 @@ public class ApiRoomContentController extends BaseController {
Room room = roomService.selectRoomById(roomContent.getRoomId());
if (null != room) {
Long id = room.getId();
- RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id);
- if (null != roomEquipment) {
- ids.add(roomEquipment.getEquipmentId());
+ List roomEquipment = roomEquipmentService.selectByRoomId(id);
+ if (CollUtil.isNotEmpty(roomEquipment)) {
+ for (RoomEquipment equipment : roomEquipment) {
+ ids.add(equipment.getEquipmentId());
+ }
}
List detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) {
diff --git a/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiRoomController.java b/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiRoomController.java
index 03224e1..4f52fcf 100644
--- a/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiRoomController.java
+++ b/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiRoomController.java
@@ -113,8 +113,10 @@ public class ApiRoomController extends BaseController {
*/
@Ignore
@GetMapping("selectParkList")
- public R selectParkList() {
- List parkList = parkService.selectParkList(new Park());
+ public R selectParkList(Long tenantId) {
+ Park park = new Park();
+ park.setTenantId(tenantId);
+ List parkList = parkService.selectParkList(park);
return R.data(parkList);
}
}
diff --git a/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiVisitorController.java b/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiVisitorController.java
index 03f0fa6..8747f23 100644
--- a/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiVisitorController.java
+++ b/ics-web/src/main/java/com/ics/controller/mobile/meeting/ApiVisitorController.java
@@ -158,7 +158,7 @@ public class ApiVisitorController extends BaseController {
Integer pageNum = pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize();
- IPage visitorPersons = visitorPersonService.selectVisitorRecordByIntervieweeId(visitorPerson1.getIntervieweeId(), pageNum, pageSize);
+ IPage visitorPersons = visitorPersonService.selectVisitorRecordByIntervieweeId(visitorPerson1.getIntervieweeId(),visitorPerson1.getParkId(), pageNum, pageSize);
for (VisitorPerson visitorPerson : visitorPersons.getRecords()) {
if (visitorPerson.getStatus() == 0) {
visitorPerson.setStatusName("待审核");
@@ -228,9 +228,11 @@ public class ApiVisitorController extends BaseController {
List collect = roomIds.stream().map(Long::valueOf).collect(Collectors.toList());
//获取了房间集合,循环对应集合,
for (Long id : collect) {
- RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id);
- if (null != roomEquipment) {
- ids.add(roomEquipment.getEquipmentId());
+ List roomEquipment = roomEquipmentService.selectByRoomId(id);
+ if (CollUtil.isNotEmpty(roomEquipment)) {
+ for (RoomEquipment equipment : roomEquipment) {
+ ids.add(equipment.getEquipmentId());
+ }
}
List detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) {
@@ -299,16 +301,16 @@ public class ApiVisitorController extends BaseController {
}
/**
- * 访客邀请记录
+ * 会议邀请记录
*/
@RequiresPermissions("member:center:view")
@GetMapping("selectVisitorInvitationRecord/{userId}")
- public R selectVisitorInvitationRecord(@PathVariable("userId") Long userId) {
+ public R selectVisitorInvitationRecord(@PathVariable("userId") Long userId,Long parkId) {
PageDomain pageDomain = TableSupport.buildPageRequest();
Integer pageNum = pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize();
-
- IPage list = reservationPersonService.selectListByParticipantId(userId, pageNum, pageSize);
+ System.out.println(parkId);
+ IPage list = reservationPersonService.selectListByParticipantId(userId,parkId, pageNum, pageSize);
return R.ok().put("page", list);
}
diff --git a/pom.xml b/pom.xml
index 64e2fe5..25df1bb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -83,6 +83,11 @@
${druid.version}
+
+ org.springframework.boot
+ spring-boot-starter-websocket
+
+
com.aliyun
aliyun-java-sdk-core