修改了对应的bug

This commit is contained in:
chendaze 2024-04-25 16:50:37 +08:00
parent 0d72f65a20
commit f91b6c7429
39 changed files with 634 additions and 97 deletions

View File

@ -18,6 +18,8 @@
<artifactId>velocity</artifactId> <artifactId>velocity</artifactId>
</dependency> </dependency>
<!-- 系统模块--> <!-- 系统模块-->
<dependency> <dependency>
<groupId>com.ics</groupId> <groupId>com.ics</groupId>

View File

@ -1,12 +1,23 @@
package com.ics.admin.controller; 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.BuildingDetail;
import com.ics.admin.domain.Customer;
import com.ics.admin.service.IBuildingDetailService; import com.ics.admin.service.IBuildingDetailService;
import com.ics.admin.service.IBuildingService;
import com.ics.common.core.controller.BaseController; import com.ics.common.core.controller.BaseController;
import com.ics.common.core.domain.R; 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.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.wf.jwtp.annotation.RequiresPermissions; 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 @Autowired
private IBuildingDetailService buildingDetailService; 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") @GetMapping("list")
public R list(BuildingDetail buildingDetail) { public R list(BuildingDetail buildingDetail) {
startPage(); startPage();
boolean isAdmin = SubjectUtil.hasRole(getRequest(),"manager");
if (isAdmin){
Long parkId = currentUserService.getParkId();
buildingDetail.setParkId(parkId);
}
return result(buildingDetailService.selectBuildingDetailList(buildingDetail)); return result(buildingDetailService.selectBuildingDetailList(buildingDetail));
} }
@ -47,6 +72,17 @@ public class BuildingDetailController extends BaseController {
@RequiresPermissions("admin:buildingDetail:add") @RequiresPermissions("admin:buildingDetail:add")
@PostMapping("save") @PostMapping("save")
public R addSave(@RequestBody BuildingDetail buildingDetail) { 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)); return toAjax(buildingDetailService.insertBuildingDetail(buildingDetail));
} }

View File

@ -189,6 +189,7 @@ public class CustomerStaffController extends BaseController {
List<Long> result = new ArrayList<>(); List<Long> result = new ArrayList<>();
// 按照逗号分割
List<String> buildIds = StrUtil.split(buildId, ','); List<String> buildIds = StrUtil.split(buildId, ',');
List<String> roomIds = StrUtil.split(roomId, ','); List<String> roomIds = StrUtil.split(roomId, ',');
@ -373,9 +374,11 @@ public class CustomerStaffController extends BaseController {
result.addAll(collect); result.addAll(collect);
//获取了房间集合循环对应集合 //获取了房间集合循环对应集合
for (Long id : result) { for (Long id : result) {
RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id); List<RoomEquipment> roomEquipment = roomEquipmentService.selectByRoomId(id);
if (null != roomEquipment) { if (CollUtil.isNotEmpty(roomEquipment)) {
ids.add(roomEquipment.getEquipmentId()); for (RoomEquipment equipment : roomEquipment) {
ids.add(equipment.getEquipmentId());
}
} }
List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id); List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) { if (CollUtil.isNotEmpty(detailEquipments)) {
@ -502,9 +505,11 @@ public class CustomerStaffController extends BaseController {
Room room = roomService.selectRoomById(roomid); Room room = roomService.selectRoomById(roomid);
if (null != room) { if (null != room) {
Long id = room.getId(); Long id = room.getId();
RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id); List<RoomEquipment> roomEquipment = roomEquipmentService.selectByRoomId(id);
if (null != roomEquipment) { if (CollUtil.isNotEmpty(roomEquipment)) {
ids.add(roomEquipment.getEquipmentId()); for (RoomEquipment equipment : roomEquipment) {
ids.add(equipment.getEquipmentId());
}
} }
List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id); List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) { if (CollUtil.isNotEmpty(detailEquipments)) {
@ -587,6 +592,7 @@ public class CustomerStaffController extends BaseController {
ArrayList<Long> ids = new ArrayList<>(); ArrayList<Long> ids = new ArrayList<>();
IcsCustomerStaff customerStaff = icsCustomerStaffService.selectIcsCustomerStaffById(equipment.getUserId()); IcsCustomerStaff customerStaff = icsCustomerStaffService.selectIcsCustomerStaffById(equipment.getUserId());
if (null != customerStaff) { if (null != customerStaff) {
//查询多个企业
List<StaffCustomer> staffCustomers = staffCustomerService.selectStaffCustomerByStaffId(customerStaff.getId()); List<StaffCustomer> staffCustomers = staffCustomerService.selectStaffCustomerByStaffId(customerStaff.getId());
for (StaffCustomer staffCustomer : staffCustomers) { for (StaffCustomer staffCustomer : staffCustomers) {
Customer customer = customerService.selectCustomerById(staffCustomer.getIcsCustomerId()); Customer customer = customerService.selectCustomerById(staffCustomer.getIcsCustomerId());
@ -594,11 +600,8 @@ public class CustomerStaffController extends BaseController {
//根据企业 查询对应的 房间和对应的楼层 //根据企业 查询对应的 房间和对应的楼层
String roomId = customer.getRoomId(); String roomId = customer.getRoomId();
String buildId = customer.getBuildId(); String buildId = customer.getBuildId();
List<Long> result = new ArrayList<>(); List<Long> result = new ArrayList<>();
List<String> buildIds = StrUtil.split(buildId, ','); List<String> buildIds = StrUtil.split(buildId, ',');
List<String> roomIds = StrUtil.split(roomId, ','); List<String> roomIds = StrUtil.split(roomId, ',');
List<Long> collect = roomIds.stream().map(Long::valueOf).collect(Collectors.toList()); List<Long> collect = roomIds.stream().map(Long::valueOf).collect(Collectors.toList());
List<Long> buildCollect = buildIds.stream().map(Long::valueOf).collect(Collectors.toList()); List<Long> buildCollect = buildIds.stream().map(Long::valueOf).collect(Collectors.toList());
@ -606,9 +609,11 @@ public class CustomerStaffController extends BaseController {
result.addAll(collect); result.addAll(collect);
//获取了房间集合循环对应集合 //获取了房间集合循环对应集合
for (Long id : result) { for (Long id : result) {
RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id); List<RoomEquipment> roomEquipment = roomEquipmentService.selectByRoomId(id);
if (null != roomEquipment) { if (CollUtil.isNotEmpty(roomEquipment)) {
ids.add(roomEquipment.getEquipmentId()); for (RoomEquipment equipment1 : roomEquipment) {
ids.add(equipment1.getEquipmentId());
}
} }
List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id); List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) { if (CollUtil.isNotEmpty(detailEquipments)) {

View File

@ -343,7 +343,18 @@ public class EquipmentController extends BaseController {
@RequiresPermissions("meeting:equipment:remove") @RequiresPermissions("meeting:equipment:remove")
@PostMapping("remove") @PostMapping("remove")
public R remove(String ids) { public R remove(String ids) {
return toAjax(equipmentService.deleteEquipmentByIds(ids)); int i = equipmentService.deleteEquipmentByIds(ids);
List<String> 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"); boolean isAdmin = SubjectUtil.hasRole(getRequest(),"manager");
if (isAdmin){ if (isAdmin){
Long parkId = currentUserService.getParkId(); Long parkId = currentUserService.getParkId();
Long tenantId = currentUserService.getTenantId();
userEquipment.setParkId(parkId); userEquipment.setParkId(parkId);
// userEquipment.setTenantId(tenantId);
} }
boolean b = SubjectUtil.hasRole(getRequest(),"admin"); boolean b = SubjectUtil.hasRole(getRequest(),"admin");
if (b){ if (b){
@ -445,14 +454,19 @@ public class EquipmentController extends BaseController {
return item.getUserId(); return item.getUserId();
}).collect(Collectors.toList()); }).collect(Collectors.toList());
List<IcsCustomerStaff> icsCustomerStaffs = staffService.selectListByUserIds(userIds); if(CollUtil.isNotEmpty(userIds)){
for (IcsCustomerStaff icsCustomerStaff : icsCustomerStaffs) { List<IcsCustomerStaff> icsCustomerStaffs = staffService.selectListByUserIds(userIds);
Customer customer = customerService.selectCustomerById(icsCustomerStaff.getIcsCustomerId()); for (IcsCustomerStaff icsCustomerStaff : icsCustomerStaffs) {
if (null != customer) { Customer customer = customerService.selectCustomerById(icsCustomerStaff.getIcsCustomerId());
icsCustomerStaff.setCustomerName(customer.getName()); if (null != customer) {
icsCustomerStaff.setCustomerName(customer.getName());
}
} }
return R.data(icsCustomerStaffs);
}else {
return R.data(new ArrayList<>());
} }
return R.data(icsCustomerStaffs);
} }

View File

@ -19,6 +19,7 @@ public class StaffCustomer extends BaseEntity<StaffCustomer> {
private Long icsCustomerId; private Long icsCustomerId;
/** 用户id */ /** 用户id */
private Long staffId; private Long staffId;
/** 园区ID */ /** 园区ID */

View File

@ -61,4 +61,6 @@ public interface StaffCustomerMapper extends BaseMapper<StaffCustomer> {
* @return 结果 * @return 结果
*/ */
int deleteStaffCustomerByIds(String[] ids); int deleteStaffCustomerByIds(String[] ids);
List<StaffCustomer> selectStaffCustomerByStaffId(Long id);
} }

View File

@ -87,4 +87,5 @@ public interface IIcsCustomerStaffService extends IService<IcsCustomerStaff> {
List<IcsCustomerStaff> getUserList(IcsCustomerStaff customerStaff); List<IcsCustomerStaff> getUserList(IcsCustomerStaff customerStaff);
IcsCustomerStaff selectByPhoneAndOpenId(String phoneNumber, String openid);
} }

View File

@ -44,6 +44,7 @@ public class BuildingDetailServiceImpl extends ServiceImpl<BuildingDetailMapper,
public List<BuildingDetail> selectBuildingDetailList(BuildingDetail buildingDetail) { public List<BuildingDetail> selectBuildingDetailList(BuildingDetail buildingDetail) {
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("building_id", buildingDetail.getBuildingId()); queryWrapper.eq("building_id", buildingDetail.getBuildingId());
queryWrapper.eq(buildingDetail.getParkId() !=null,"park_id", buildingDetail.getParkId());
return buildingDetailMapper.selectList(queryWrapper); return buildingDetailMapper.selectList(queryWrapper);
} }

View File

@ -284,6 +284,17 @@ public class IcsCustomerStaffServiceImpl extends ServiceImpl<IcsCustomerStaffMap
return icsCustomerStaffMapper.getUserList(customerStaff); return icsCustomerStaffMapper.getUserList(customerStaff);
} }
@Override
public IcsCustomerStaff selectByPhoneAndOpenId(String phoneNumber, String openid) {
QueryWrapper<IcsCustomerStaff> wrapper = new QueryWrapper<>();
wrapper.eq("mobile", phoneNumber);
wrapper.in("openid", openid);
return icsCustomerStaffMapper.selectOne(wrapper);
}
//根据企业查询对应的设备 //根据企业查询对应的设备
public void queryDeviceByCustomerId(Long customerId,Long userId){ public void queryDeviceByCustomerId(Long customerId,Long userId){
ArrayList<Long> ids = new ArrayList<>(); ArrayList<Long> ids = new ArrayList<>();
@ -297,9 +308,11 @@ public class IcsCustomerStaffServiceImpl extends ServiceImpl<IcsCustomerStaffMap
Room room = roomService.selectRoomById(roomid); Room room = roomService.selectRoomById(roomid);
if (null != room) { if (null != room) {
Long id = room.getId(); Long id = room.getId();
RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id); List<RoomEquipment> roomEquipment = roomEquipmentService.selectByRoomId(id);
if (null != roomEquipment) { if (CollUtil.isNotEmpty(roomEquipment)) {
ids.add(roomEquipment.getEquipmentId()); for (RoomEquipment equipment : roomEquipment) {
ids.add(equipment.getEquipmentId());
}
} }
List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id); List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) { if (CollUtil.isNotEmpty(detailEquipments)) {

View File

@ -117,11 +117,11 @@ public class RoomEquipmentServiceImpl extends ServiceImpl<RoomEquipmentMapper, R
} }
@Override @Override
public RoomEquipment selectByRoomId(Long id) { public List<RoomEquipment> selectByRoomId(Long id) {
QueryWrapper<RoomEquipment> wrapper = new QueryWrapper<>(); QueryWrapper<RoomEquipment> wrapper = new QueryWrapper<>();
wrapper.eq("room_id",id); wrapper.eq("room_id",id);
return roomEquipmentMapper.selectOne(wrapper); return roomEquipmentMapper.selectList(wrapper);
} }
@Override @Override

View File

@ -183,7 +183,7 @@ public class UserEquipmentServiceImpl extends ServiceImpl<UserEquipmentMapper, U
} }
return list; return list;
} }
@Transactional
@Override @Override
public int deleteUserEquipmentByEquipmentId(Long id) { public int deleteUserEquipmentByEquipmentId(Long id) {

View File

@ -106,4 +106,11 @@ public class DetailEquipmentServiceImpl extends ServiceImpl<DetailEquipmentMappe
queryWrapper.eq("building_detail_id", id); queryWrapper.eq("building_detail_id", id);
return detailEquipmentMapper.selectList(queryWrapper); return detailEquipmentMapper.selectList(queryWrapper);
} }
@Override
public int deleteDetailEquipment(Long id) {
QueryWrapper<DetailEquipment> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("equipment_id", id);
return detailEquipmentMapper.delete(queryWrapper);
}
} }

View File

@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
import com.ics.admin.mapper.meeting.EquipmentMapper; import com.ics.admin.mapper.meeting.EquipmentMapper;
import com.ics.admin.domain.meeting.Equipment; import com.ics.admin.domain.meeting.Equipment;
import com.ics.admin.service.meeting.IEquipmentService; import com.ics.admin.service.meeting.IEquipmentService;
import org.springframework.transaction.annotation.Transactional;
/** /**
* 设备Service业务层处理 * 设备Service业务层处理
@ -77,6 +78,7 @@ public class EquipmentServiceImpl extends ServiceImpl<EquipmentMapper, Equipment
* @param ids 需要删除的数据ID * @param ids 需要删除的数据ID
* @return 结果 * @return 结果
*/ */
@Transactional
@Override @Override
public int deleteEquipmentByIds(String ids) { public int deleteEquipmentByIds(String ids) {
String[] idsArray = StrUtil.split(ids,","); String[] idsArray = StrUtil.split(ids,",");

View File

@ -137,8 +137,8 @@ public class IVisitorPersonServiceImpl extends ServiceImpl<VisitorPersonMapper,
} }
@Override @Override
public IPage<VisitorPerson> selectVisitorRecordByIntervieweeId(Long intervieweeId, Integer pageNum, Integer pageSize) { public IPage<VisitorPerson> selectVisitorRecordByIntervieweeId(Long intervieweeId,Long parkId, Integer pageNum, Integer pageSize) {
QueryWrapper<VisitorPerson> wrapper = new QueryWrapper<VisitorPerson>().eq("interviewee_id", intervieweeId); QueryWrapper<VisitorPerson> wrapper = new QueryWrapper<VisitorPerson>().eq("interviewee_id", intervieweeId).eq("park_id",parkId);
wrapper.orderByDesc("create_time"); wrapper.orderByDesc("create_time");
IPage<VisitorPerson> pages = new Page<>(pageNum,pageSize); IPage<VisitorPerson> pages = new Page<>(pageNum,pageSize);
IPage<VisitorPerson> userIPage = visitorPersonMapper.selectPage(pages,wrapper); IPage<VisitorPerson> userIPage = visitorPersonMapper.selectPage(pages,wrapper);

View File

@ -132,9 +132,10 @@ public class ReservationPersonServiceImpl extends ServiceImpl<ReservationPersonM
} }
@Override @Override
public IPage<Reservation> selectListByParticipantId(Long userId,Integer page,Integer limit) { public IPage<Reservation> selectListByParticipantId(Long userId,Long parkId,Integer page,Integer limit) {
QueryWrapper<ReservationPerson> queryWrapper = new QueryWrapper<>(); QueryWrapper<ReservationPerson> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("participant_id",userId); queryWrapper.eq("participant_id",userId);
queryWrapper.eq("park_id",parkId);
List<ReservationPerson> list = reservationPersonMapper.selectList(queryWrapper); List<ReservationPerson> list = reservationPersonMapper.selectList(queryWrapper);
List<Long> collect = list.stream().map(item -> { List<Long> collect = list.stream().map(item -> {
return item.getReservationId(); return item.getReservationId();

View File

@ -239,6 +239,7 @@ public class ReservationServiceImpl extends ServiceImpl<ReservationMapper, Reser
QueryWrapper<Reservation> queryWrapper = new QueryWrapper<>(); QueryWrapper<Reservation> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_id",reservation.getUserId()); queryWrapper.eq("user_id",reservation.getUserId());
queryWrapper.eq("park_id",reservation.getParkId());
queryWrapper.orderByDesc("create_time"); queryWrapper.orderByDesc("create_time");
IPage<Reservation> pages = new Page<>(pageNum,pageSize); IPage<Reservation> pages = new Page<>(pageNum,pageSize);
IPage<Reservation> userIPage = reservationMapper.selectPage(pages,queryWrapper); IPage<Reservation> userIPage = reservationMapper.selectPage(pages,queryWrapper);

View File

@ -157,6 +157,7 @@ public class ShowroomRecordServiceImpl extends ServiceImpl<ShowroomRecordMapper,
QueryWrapper<ShowroomRecord> queryWrapper = new QueryWrapper<>(); QueryWrapper<ShowroomRecord> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_id",showroomRecord.getUserId()); queryWrapper.eq("user_id",showroomRecord.getUserId());
queryWrapper.eq("park_id",showroomRecord.getParkId());
queryWrapper.orderByDesc("create_time"); queryWrapper.orderByDesc("create_time");
IPage<ShowroomRecord> pages = new Page<>(pageNum,pageSize); IPage<ShowroomRecord> pages = new Page<>(pageNum,pageSize);

View File

@ -94,9 +94,7 @@ public class StaffCustomerServiceImpl extends ServiceImpl<StaffCustomerMapper, S
@Override @Override
public List<StaffCustomer> selectStaffCustomerByStaffId(Long id) { public List<StaffCustomer> selectStaffCustomerByStaffId(Long id) {
QueryWrapper queryWrapper = new QueryWrapper(); return staffCustomerMapper.selectStaffCustomerByStaffId(id);
queryWrapper.eq("staff_id",id);
return staffCustomerMapper.selectList(queryWrapper);
} }

View File

@ -62,4 +62,6 @@ public interface IDetailEquipmentService extends IService<DetailEquipment> {
DetailEquipment selectByEquipmentId(Long id); DetailEquipment selectByEquipmentId(Long id);
List<DetailEquipment> selectByRoomId(Long id); List<DetailEquipment> selectByRoomId(Long id);
int deleteDetailEquipment(Long id);
} }

View File

@ -63,7 +63,7 @@ public interface IReservationPersonService extends IService<ReservationPerson> {
ReservationPerson isVisitor(ReservationPerson reservationPerson); ReservationPerson isVisitor(ReservationPerson reservationPerson);
IPage<Reservation> selectListByParticipantId(Long userId, Integer page, Integer limit); IPage<Reservation> selectListByParticipantId(Long userId,Long parkId, Integer page, Integer limit);
List<ReservationPerson> selectListByReservationId(Long reservationId); List<ReservationPerson> selectListByReservationId(Long reservationId);

View File

@ -65,7 +65,7 @@ public interface IRoomEquipmentService extends IService<RoomEquipment> {
RoomEquipment selectByEquipmentIdAndRoomId(RoomEquipment roomEquipment); RoomEquipment selectByEquipmentIdAndRoomId(RoomEquipment roomEquipment);
RoomEquipment selectByRoomId(Long id); List<RoomEquipment> selectByRoomId(Long id);
List<RoomEquipment> selectListByRoomId(Long aLong); List<RoomEquipment> selectListByRoomId(Long aLong);

View File

@ -64,7 +64,7 @@ public interface IVisitorPersonService extends IService<VisitorPerson> {
IPage<VisitorPerson> selectVisitorRecord(Long userId, Integer pageNum, Integer pageSize); IPage<VisitorPerson> selectVisitorRecord(Long userId, Integer pageNum, Integer pageSize);
IPage<VisitorPerson> selectVisitorRecordByIntervieweeId(Long intervieweeId, Integer pageNum, Integer pageSize); IPage<VisitorPerson> selectVisitorRecordByIntervieweeId(Long intervieweeId,Long parkId, Integer pageNum, Integer pageSize);
int updateVisitorPersonStatus(VisitorPerson person); int updateVisitorPersonStatus(VisitorPerson person);

View File

@ -29,6 +29,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectStaffCustomerVo"/> <include refid="selectStaffCustomerVo"/>
WHERE id = #{id} WHERE id = #{id}
</select> </select>
<select id="selectStaffCustomerByStaffId" resultType="com.ics.admin.domain.meeting.StaffCustomer">
<include refid="selectStaffCustomerVo"/>
WHERE staff_id = #{id}
</select>
<insert id="insertStaffCustomer" parameterType="StaffCustomer"> <insert id="insertStaffCustomer" parameterType="StaffCustomer">
INSERT INTO tb_staff_customer INSERT INTO tb_staff_customer

View File

@ -161,7 +161,12 @@
<groupId>com.github.binarywang</groupId> <groupId>com.github.binarywang</groupId>
<artifactId>wx-java-miniapp-spring-boot-starter</artifactId> <artifactId>wx-java-miniapp-spring-boot-starter</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
<version>5.3.24</version>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -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<String, WebSocketSession> 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<String, Object> 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("握手完成");
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}
}

View File

@ -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("*");
}
}

View File

@ -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<String, WebSocketSession> 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);
}
}

View File

@ -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());
}
}
}

View File

@ -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_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", "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", "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" "tb_room_equipment","tb_room_record","tb_room_serve","tb_showroom","tb_showroom_record","tb_ticket","tb_user_equipment","tb_visitor_person"
}; };

View File

@ -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_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", "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", "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" "tb_room_equipment","tb_room_record","tb_room_serve","tb_showroom","tb_showroom_record","tb_ticket","tb_user_equipment","tb_visitor_person"
}; };

View File

@ -1,8 +1,13 @@
package com.ics; package com.ics;
import com.ics.common.config.SocketServer;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; 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; import org.wf.jwtp.configuration.EnableJwtPermission;
/** /**
@ -15,4 +20,6 @@ public class ApplicationRun {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(ApplicationRun.class, args); SpringApplication.run(ApplicationRun.class, args);
} }
} }

View File

@ -65,14 +65,14 @@ public class SmallWxOkHttp {
/** /**
* 获取AccessToken * 获取AccessToken
*/ */
public static String getAccessToken(){ public static String getAccessToken(String appId, String secret){
// url // url
String url = "https://api.weixin.qq.com/cgi-bin/token"; String url = "https://api.weixin.qq.com/cgi-bin/token";
// 参数 // 参数
Map<String, String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
map.put("grant_type", "client_credential"); map.put("grant_type", "client_credential");
map.put("appid", APP_ID); map.put("appid", appId);
map.put("secret", SECRET); map.put("secret", secret);
// 发送请求 // 发送请求
JSONObject jsonObject = sendGet(url, map); JSONObject jsonObject = sendGet(url, map);
String accessToken = jsonObject.getString("access_token"); 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 // url
String url = "https://api.weixin.qq.com/sns/jscode2session"; String url = "https://api.weixin.qq.com/sns/jscode2session";
// 参数 // 参数
Map<String, String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
map.put("appid", APP_ID); map.put("appid", appId);
map.put("secret", SECRET); map.put("secret", secret);
map.put("js_code", jsCode); map.put("js_code", jsCode);
map.put("grant_type", "authorization_code"); map.put("grant_type", "authorization_code");
// 发送请求 // 发送请求

View File

@ -95,12 +95,14 @@ public class WxLoginAPIController extends BaseController {
public R login(@RequestBody Map<String, String> paramMap) { public R login(@RequestBody Map<String, String> paramMap) {
// 参数 // 参数
String jsCode = paramMap.get("jsCode"); String jsCode = paramMap.get("jsCode");
String appId = paramMap.get("appId");
String appSecret = paramMap.get("appSecret");
// 必填 // 必填
if (org.apache.commons.lang3.StringUtils.isBlank(jsCode)) { if (org.apache.commons.lang3.StringUtils.isBlank(jsCode)) {
throw new RuntimeException("请传递jsCode"); throw new RuntimeException("请传递jsCode");
} }
// 小程序登录 // 小程序登录
JSONObject sessionObject = SmallWxOkHttp.code2Session(jsCode); JSONObject sessionObject = SmallWxOkHttp.code2Session(jsCode,appId,appSecret);
String openid = sessionObject.getString("openid"); String openid = sessionObject.getString("openid");
String unionid = sessionObject.getString("unionid"); String unionid = sessionObject.getString("unionid");
// //
@ -123,6 +125,7 @@ public class WxLoginAPIController extends BaseController {
// ajax.put(Constants.TOKEN, token); // ajax.put(Constants.TOKEN, token);
ajax.put("user", sysUser); ajax.put("user", sysUser);
ajax.put("openid", openid); ajax.put("openid", openid);
return ajax; return ajax;
} else { // 用户不存在返回openid进行注册登录 } else { // 用户不存在返回openid进行注册登录
ajax.put("openid", openid); ajax.put("openid", openid);
@ -137,6 +140,8 @@ public class WxLoginAPIController extends BaseController {
// 参数 // 参数
String code = paramMap.get("code"); String code = paramMap.get("code");
String openid = paramMap.get("openid"); String openid = paramMap.get("openid");
String appId = paramMap.get("appId");
String appSecret = paramMap.get("appSecret");
// 必填 // 必填
if (StringUtils.isBlank(code)) { if (StringUtils.isBlank(code)) {
throw new RuntimeException("请传递code"); throw new RuntimeException("请传递code");
@ -145,7 +150,7 @@ public class WxLoginAPIController extends BaseController {
throw new RuntimeException("请传递openid"); throw new RuntimeException("请传递openid");
} }
// 获取微信小程序 AccessToken // 获取微信小程序 AccessToken
String smallWxAccessToken = getSmallWxAccessToken(); String smallWxAccessToken = getSmallWxAccessToken(appId,appSecret);
// 获取手机号 // 获取手机号
JSONObject jsonObj = SmallWxOkHttp.getPhoneNumber(code, openid, smallWxAccessToken); JSONObject jsonObj = SmallWxOkHttp.getPhoneNumber(code, openid, smallWxAccessToken);
JSONObject phoneInfo = jsonObj.getJSONObject("phone_info"); JSONObject phoneInfo = jsonObj.getJSONObject("phone_info");
@ -153,7 +158,8 @@ public class WxLoginAPIController extends BaseController {
String phoneNumber = phoneInfo.getString("phoneNumber"); String phoneNumber = phoneInfo.getString("phoneNumber");
IcsCustomerStaff icsCustomerStaff = new IcsCustomerStaff(); IcsCustomerStaff icsCustomerStaff = new IcsCustomerStaff();
icsCustomerStaff.setMobile(phoneNumber); icsCustomerStaff.setMobile(phoneNumber);
IcsCustomerStaff customerStaff = icsCustomerStaffService.selectByPhone(phoneNumber); //todo 需要根据手机号和对应的openId 查询对应的用户
IcsCustomerStaff customerStaff = icsCustomerStaffService.selectByPhoneAndOpenId(phoneNumber,openid);
if (customerStaff != null) { if (customerStaff != null) {
if (StringUtils.isBlank(customerStaff.getOpenid())) { if (StringUtils.isBlank(customerStaff.getOpenid())) {
// 根据 用户绑定的企业 绑定对应的设备 // 根据 用户绑定的企业 绑定对应的设备
@ -165,9 +171,11 @@ public class WxLoginAPIController extends BaseController {
List<Long> collect = roomIds.stream().map(Long::valueOf).collect(Collectors.toList()); List<Long> collect = roomIds.stream().map(Long::valueOf).collect(Collectors.toList());
//获取了房间集合循环对应集合 //获取了房间集合循环对应集合
for (Long id : collect) { for (Long id : collect) {
RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id); List<RoomEquipment> roomEquipment = roomEquipmentService.selectByRoomId(id);
if (null != roomEquipment) { if (CollUtil.isNotEmpty(roomEquipment)) {
ids.add(roomEquipment.getEquipmentId()); for (RoomEquipment equipment : roomEquipment) {
ids.add(equipment.getEquipmentId());
}
} }
List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id); List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) { if (CollUtil.isNotEmpty(detailEquipments)) {
@ -207,18 +215,37 @@ public class WxLoginAPIController extends BaseController {
return ajax; return ajax;
} else { } else {
// 新增用户信息 // 新增用户信息
icsCustomerStaff.setUsername(phoneNumber); // todo 现根据手机号查询对应的数据如果存在则不新增如果不存在则新增
icsCustomerStaff.setDataType(Constants.CUSTOMER_VISIT);
icsCustomerStaff.setOpenid(openid); IcsCustomerStaff customerStaff1 = icsCustomerStaffService.selectByPhone(phoneNumber);
icsCustomerStaff.setGender("0"); //如果手机号等于null 就新增用户
icsCustomerStaff.setStatus("0"); if (null == customerStaff1) {
int i = icsCustomerStaffService.insertIcsCustomerStaff(icsCustomerStaff); icsCustomerStaff.setUsername(phoneNumber);
Map<String, Object> token = tokenService.createStaffToken(icsCustomerStaff); icsCustomerStaff.setDataType(Constants.CUSTOMER_VISIT);
R ajax = R.ok(); icsCustomerStaff.setOpenid(openid);
ajax.put(Constants.TOKEN, token); icsCustomerStaff.setGender("0");
ajax.put("user", icsCustomerStaff); icsCustomerStaff.setStatus("0");
ajax.put("openid", openid); int i = icsCustomerStaffService.insertIcsCustomerStaff(icsCustomerStaff);
return ajax; Map<String, Object> 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<String, Object> 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) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
@ -230,11 +257,11 @@ public class WxLoginAPIController extends BaseController {
/** /**
* 获取微信小程序AccessToken * 获取微信小程序AccessToken
*/ */
public String getSmallWxAccessToken() { public String getSmallWxAccessToken(String appId, String appSecret) {
// 从缓存获取微信小程序 AccessToken // 从缓存获取微信小程序 AccessToken
String smallWxAccessToken = redisTemplate.opsForValue().get(smallWxAccessTokenKey); String smallWxAccessToken = redisTemplate.opsForValue().get(smallWxAccessTokenKey);
if (StringUtils.isBlank(smallWxAccessToken)) { if (StringUtils.isBlank(smallWxAccessToken)) {
smallWxAccessToken = SmallWxOkHttp.getAccessToken(); smallWxAccessToken = SmallWxOkHttp.getAccessToken(appId, appSecret);
redisTemplate.opsForValue().set(smallWxAccessTokenKey, smallWxAccessToken, 7200, TimeUnit.SECONDS); redisTemplate.opsForValue().set(smallWxAccessTokenKey, smallWxAccessToken, 7200, TimeUnit.SECONDS);
} }
return smallWxAccessToken; return smallWxAccessToken;
@ -242,7 +269,7 @@ public class WxLoginAPIController extends BaseController {
@RequiresPermissions("member:center:view") @RequiresPermissions("member:center:view")
@GetMapping("/wx/getUserInfo") @GetMapping("/wx/getUserInfo")
public R login(Long userId,Long parkId) { public R login(Long userId, Long parkId) {
try { try {
//检查是否是否存在 //检查是否是否存在
@ -251,10 +278,10 @@ public class WxLoginAPIController extends BaseController {
StaffCustomer staffCustomer = new StaffCustomer(); StaffCustomer staffCustomer = new StaffCustomer();
staffCustomer.setStaffId(userId); staffCustomer.setStaffId(userId);
List<StaffCustomer> staffCustomers = staffCustomerService.selectStaffCustomerByStaffId(userId); List<StaffCustomer> staffCustomers = staffCustomerService.selectStaffCustomerByStaffId(userId);
if(CollUtil.isNotEmpty(staffCustomers)){ if (CollUtil.isNotEmpty(staffCustomers)) {
for (StaffCustomer staffCustomer1 : staffCustomers) { for (StaffCustomer staffCustomer1 : staffCustomers) {
Customer customer = customerService.selectCustomerByIdAndParkId(staffCustomer1.getIcsCustomerId(), parkId); Customer customer = customerService.selectCustomerByIdAndParkId(staffCustomer1.getIcsCustomerId(), parkId);
if (null != customer){ if (null != customer) {
customerStaff.setCustomerName(customer.getName()); customerStaff.setCustomerName(customer.getName());
customerStaff.setIcsCustomerId(customer.getId()); customerStaff.setIcsCustomerId(customer.getId());
break; break;

View File

@ -256,9 +256,11 @@ public class ApiRoomContentController extends BaseController {
Room room = roomService.selectRoomById(roomContent.getRoomId()); Room room = roomService.selectRoomById(roomContent.getRoomId());
if (null != room) { if (null != room) {
Long id = room.getId(); Long id = room.getId();
RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id); List<RoomEquipment> roomEquipment = roomEquipmentService.selectByRoomId(id);
if (null != roomEquipment) { if (CollUtil.isNotEmpty(roomEquipment)) {
ids.add(roomEquipment.getEquipmentId()); for (RoomEquipment equipment : roomEquipment) {
ids.add(equipment.getEquipmentId());
}
} }
List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id); List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) { if (CollUtil.isNotEmpty(detailEquipments)) {
@ -310,9 +312,11 @@ public class ApiRoomContentController extends BaseController {
Room room = roomService.selectRoomById(roomContent.getRoomId()); Room room = roomService.selectRoomById(roomContent.getRoomId());
if (null != room) { if (null != room) {
Long id = room.getId(); Long id = room.getId();
RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id); List<RoomEquipment> roomEquipment = roomEquipmentService.selectByRoomId(id);
if (null != roomEquipment) { if (CollUtil.isNotEmpty(roomEquipment)) {
ids.add(roomEquipment.getEquipmentId()); for (RoomEquipment equipment : roomEquipment) {
ids.add(equipment.getEquipmentId());
}
} }
List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id); List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) { if (CollUtil.isNotEmpty(detailEquipments)) {
@ -415,12 +419,12 @@ public class ApiRoomContentController extends BaseController {
roomContent.setBuildingName(buildingDetail.getFloorName() + "F"); roomContent.setBuildingName(buildingDetail.getFloorName() + "F");
} }
//根据房间id查询设备 //根据房间id查询设备
QueryWrapper<RoomEquipment> wrapper = new QueryWrapper<>(); // QueryWrapper<RoomEquipment> wrapper = new QueryWrapper<>();
wrapper.eq("room_id", room.getId()); // wrapper.eq("room_id", room.getId());
RoomEquipment roomEquipment = roomEquipmentMapper.selectOne(wrapper); // RoomEquipment roomEquipment = roomEquipmentMapper.selectOne(wrapper);
if (roomEquipment != null) { // if (roomEquipment != null) {
roomContent.setEquipmentId(roomEquipment.getEquipmentId()); // roomContent.setEquipmentId(roomEquipment.getEquipmentId());
} // }
} }
reservation.setRoomContent(roomContent); reservation.setRoomContent(roomContent);
return R.ok().put("data", reservation); return R.ok().put("data", reservation);
@ -481,9 +485,11 @@ public class ApiRoomContentController extends BaseController {
Room room = roomService.selectRoomById(roomContent.getRoomId()); Room room = roomService.selectRoomById(roomContent.getRoomId());
if (null != room) { if (null != room) {
Long id = room.getId(); Long id = room.getId();
RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id); List<RoomEquipment> roomEquipment = roomEquipmentService.selectByRoomId(id);
if (null != roomEquipment) { if (CollUtil.isNotEmpty(roomEquipment)) {
ids.add(roomEquipment.getEquipmentId()); for (RoomEquipment equipment : roomEquipment) {
ids.add(equipment.getEquipmentId());
}
} }
List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id); List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) { if (CollUtil.isNotEmpty(detailEquipments)) {
@ -574,9 +580,11 @@ public class ApiRoomContentController extends BaseController {
Room room = roomService.selectRoomById(roomContent.getRoomId()); Room room = roomService.selectRoomById(roomContent.getRoomId());
if (null != room) { if (null != room) {
Long id = room.getId(); Long id = room.getId();
RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id); List<RoomEquipment> roomEquipment = roomEquipmentService.selectByRoomId(id);
if (null != roomEquipment) { if (CollUtil.isNotEmpty(roomEquipment)) {
ids.add(roomEquipment.getEquipmentId()); for (RoomEquipment equipment : roomEquipment) {
ids.add(equipment.getEquipmentId());
}
} }
List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id); List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) { if (CollUtil.isNotEmpty(detailEquipments)) {

View File

@ -113,8 +113,10 @@ public class ApiRoomController extends BaseController {
*/ */
@Ignore @Ignore
@GetMapping("selectParkList") @GetMapping("selectParkList")
public R selectParkList() { public R selectParkList(Long tenantId) {
List<Park> parkList = parkService.selectParkList(new Park()); Park park = new Park();
park.setTenantId(tenantId);
List<Park> parkList = parkService.selectParkList(park);
return R.data(parkList); return R.data(parkList);
} }
} }

View File

@ -158,7 +158,7 @@ public class ApiVisitorController extends BaseController {
Integer pageNum = pageDomain.getPageNum(); Integer pageNum = pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize(); Integer pageSize = pageDomain.getPageSize();
IPage<VisitorPerson> visitorPersons = visitorPersonService.selectVisitorRecordByIntervieweeId(visitorPerson1.getIntervieweeId(), pageNum, pageSize); IPage<VisitorPerson> visitorPersons = visitorPersonService.selectVisitorRecordByIntervieweeId(visitorPerson1.getIntervieweeId(),visitorPerson1.getParkId(), pageNum, pageSize);
for (VisitorPerson visitorPerson : visitorPersons.getRecords()) { for (VisitorPerson visitorPerson : visitorPersons.getRecords()) {
if (visitorPerson.getStatus() == 0) { if (visitorPerson.getStatus() == 0) {
visitorPerson.setStatusName("待审核"); visitorPerson.setStatusName("待审核");
@ -228,9 +228,11 @@ public class ApiVisitorController extends BaseController {
List<Long> collect = roomIds.stream().map(Long::valueOf).collect(Collectors.toList()); List<Long> collect = roomIds.stream().map(Long::valueOf).collect(Collectors.toList());
//获取了房间集合循环对应集合 //获取了房间集合循环对应集合
for (Long id : collect) { for (Long id : collect) {
RoomEquipment roomEquipment = roomEquipmentService.selectByRoomId(id); List<RoomEquipment> roomEquipment = roomEquipmentService.selectByRoomId(id);
if (null != roomEquipment) { if (CollUtil.isNotEmpty(roomEquipment)) {
ids.add(roomEquipment.getEquipmentId()); for (RoomEquipment equipment : roomEquipment) {
ids.add(equipment.getEquipmentId());
}
} }
List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id); List<DetailEquipment> detailEquipments = detailEquipmentService.selectByRoomId(id);
if (CollUtil.isNotEmpty(detailEquipments)) { if (CollUtil.isNotEmpty(detailEquipments)) {
@ -299,16 +301,16 @@ public class ApiVisitorController extends BaseController {
} }
/** /**
* 访客邀请记录 * 会议邀请记录
*/ */
@RequiresPermissions("member:center:view") @RequiresPermissions("member:center:view")
@GetMapping("selectVisitorInvitationRecord/{userId}") @GetMapping("selectVisitorInvitationRecord/{userId}")
public R selectVisitorInvitationRecord(@PathVariable("userId") Long userId) { public R selectVisitorInvitationRecord(@PathVariable("userId") Long userId,Long parkId) {
PageDomain pageDomain = TableSupport.buildPageRequest(); PageDomain pageDomain = TableSupport.buildPageRequest();
Integer pageNum = pageDomain.getPageNum(); Integer pageNum = pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize(); Integer pageSize = pageDomain.getPageSize();
System.out.println(parkId);
IPage<Reservation> list = reservationPersonService.selectListByParticipantId(userId, pageNum, pageSize); IPage<Reservation> list = reservationPersonService.selectListByParticipantId(userId,parkId, pageNum, pageSize);
return R.ok().put("page", list); return R.ok().put("page", list);
} }

View File

@ -83,6 +83,11 @@
<version>${druid.version}</version> <version>${druid.version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.aliyun</groupId> <groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId> <artifactId>aliyun-java-sdk-core</artifactId>