Merge branch 'feature-BOX一期' of http://47.99.132.106:10081/wulin/qiuguo-iot into feature-BOX一期

This commit is contained in:
wulin 2023-09-18 16:30:14 +08:00
commit c4a45a8aec
11 changed files with 585 additions and 23 deletions

View File

@ -0,0 +1,44 @@
package com.qiuguo.iot.data.entity.user;
import org.hswebframework.ezorm.rdb.mapping.annotation.Comment;
import org.hswebframework.web.crud.annotation.EnableEntityEvent;
import org.hswebframework.web.api.crud.entity.GenericEntity;
import javax.persistence.Column;
import javax.persistence.Table;import lombok.Data;
import java.util.Date;
/**
* <p>
* </p>*
* @author wulin
* @since 2023-09-18
*/
@Data
@Comment("用户家庭表")
@Table(name = "user_home")
@EnableEntityEvent
public class UserHomeEntity extends GenericEntity<Long> {
@Comment("id")
@Column(name = "id", length = 11, nullable = false, unique = true)
private Long id;
@Comment("用户id")
@Column(name = "user_id", nullable = false)
private Long userId;
@Comment("家庭名称")
@Column(name = "home_name", length = 100)
private String homeName;
@Comment("is_delete")
@Column(name = "is_delete")
private Integer isDelete;
@Comment("create_time")
@Column(name = "create_time")
private Date createTime;
@Comment("modify_time")
@Column(name = "modify_time")
private Date modifyTime;
}

View File

@ -0,0 +1,48 @@
package com.qiuguo.iot.data.entity.user;
import org.hswebframework.ezorm.rdb.mapping.annotation.Comment;
import org.hswebframework.web.crud.annotation.EnableEntityEvent;
import org.hswebframework.web.api.crud.entity.GenericEntity;
import javax.persistence.Column;
import javax.persistence.Table;import lombok.Data;
import java.util.Date;
/**
* <p>
* </p>*
* @author wulin
* @since 2023-09-18
*/
@Data
@Comment("用户房间表")
@Table(name = "user_room")
@EnableEntityEvent
public class UserRoomEntity extends GenericEntity<Long> {
@Comment("id")
@Column(name = "id", length = 11, nullable = false, unique = true)
private Long id;
@Comment("家庭id")
@Column(name = "home_id", nullable = false)
private Long homeId;
@Comment("房间名称")
@Column(name = "room_name", length = 100)
private String roomName;
@Comment("涂鸦空间id")
@Column(name = "space_id", length = 100)
private Long spaceId;
@Comment("is_delete")
@Column(name = "is_delete")
private Integer isDelete;
@Comment("create_time")
@Column(name = "create_time")
private Date createTime;
@Comment("modify_time")
@Column(name = "modify_time")
private Date modifyTime;
}

View File

@ -0,0 +1,43 @@
package com.qiuguo.iot.data.request.user;
import lombok.Data;
import java.util.Date;
/**
* <p>
*请求类
* @author wulin
* @since 2023-09-18
*/
@Data
public class UserHomeRequest implements java.io.Serializable {
private int currPage = 1;
private int pageSize = 10;
private String sort;
private String order;
//
private Long id;
//用户id
private Long userId;
//家庭名称
private String homeName;
//
private Integer isDelete;
//
private Date createTime;
//搜索开始
private Date createTimeStart;
//搜索结束
private Date createTimeEnd;
//
private Date modifyTime;
//搜索开始
private Date modifyTimeStart;
//搜索结束
private Date modifyTimeEnd;
}

View File

@ -0,0 +1,45 @@
package com.qiuguo.iot.data.request.user;
import lombok.Data;
import java.util.Date;
/**
* <p>
*请求类
* @author wulin
* @since 2023-09-18
*/
@Data
public class UserRoomRequest implements java.io.Serializable {
private int currPage = 1;
private int pageSize = 10;
private String sort;
private String order;
//
private Long id;
//家庭id
private Long homeId;
//房间名称
private String roomName;
//涂鸦空间id
private Long spaceId;
//
private Integer isDelete;
//
private Date createTime;
//搜索开始
private Date createTimeStart;
//搜索结束
private Date createTimeEnd;
//
private Date modifyTime;
//搜索开始
private Date modifyTimeStart;
//搜索结束
private Date modifyTimeEnd;
}

View File

@ -0,0 +1,18 @@
package com.qiuguo.iot.data.resp.user;
import lombok.Data;
/**
* <p>
* </p>*返回类
* @author wulin
* @since 2023-09-18
*/
@Data
public class UserHomeResp {
//
private Long id;
//用户id
private Long userId;
//家庭名称
private String homeName;
}

View File

@ -0,0 +1,20 @@
package com.qiuguo.iot.data.resp.user;
import lombok.Data;
/**
* <p>
* </p>*返回类
* @author wulin
* @since 2023-09-18
*/
@Data
public class UserRoomResp {
//
private Long id;
//家庭id
private Long homeId;
//房间名称
private String roomName;
//涂鸦空间id
private Long spaceId;
}

View File

@ -0,0 +1,163 @@
package com.qiuguo.iot.data.service.user;
import com.qiuguo.iot.data.entity.user.UserHomeEntity;
import com.qiuguo.iot.data.request.user.UserHomeRequest;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import java.util.Date;
import org.hswebframework.ezorm.rdb.mapping.ReactiveQuery;
import org.hswebframework.ezorm.rdb.mapping.ReactiveUpdate;
import org.hswebframework.ezorm.rdb.operator.dml.query.SortOrder;
import org.hswebframework.web.crud.service.GenericReactiveCrudService;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
/**
* <p>
* 服务类
* </p>
*
* @author wulin
* @since 2023-09-18
*/
@Service
@Slf4j
public class UserHomeService extends GenericReactiveCrudService<UserHomeEntity, Long> {
public Mono<UserHomeEntity> selectUserHomeByRequest(UserHomeRequest request){
ReactiveQuery<UserHomeEntity> reactiveQuery = createQuery();
reactiveQuery = reactiveQuery.and("is_delete", 0);
if(request.getId() != null){
reactiveQuery = reactiveQuery.and(UserHomeRequest::getId, request.getId());
}
if(request.getUserId() != null){
reactiveQuery = reactiveQuery.and(UserHomeRequest::getUserId, request.getUserId());
}
if(StringUtils.isNotEmpty(request.getHomeName())){
reactiveQuery = reactiveQuery.and(UserHomeRequest::getHomeName, request.getHomeName());
}
if(request.getIsDelete() != null){
reactiveQuery = reactiveQuery.and(UserHomeRequest::getIsDelete, request.getIsDelete());
}
if(request.getCreateTime() != null){
reactiveQuery = reactiveQuery.and(UserHomeRequest::getCreateTime, request.getCreateTime());
}
if(request.getModifyTime() != null){
reactiveQuery = reactiveQuery.and(UserHomeRequest::getModifyTime, request.getModifyTime());
}
SortOrder sortOrder = null;
if(StringUtils.isNotEmpty(request.getOrder())){
if(StringUtils.isNotEmpty(request.getSort()) && request.getSort().compareTo("0") == 0){
sortOrder = SortOrder.desc(request.getOrder());
}else{
sortOrder = SortOrder.asc(request.getOrder());
}
reactiveQuery = reactiveQuery.orderBy(sortOrder);
}
return reactiveQuery.fetchOne();
}
public Flux<UserHomeEntity> selectUserHomesByRequest(UserHomeRequest request){
ReactiveQuery<UserHomeEntity> reactiveQuery = createQuery();
reactiveQuery = reactiveQuery.and("is_delete", 0);
if(request.getId() != null){
reactiveQuery = reactiveQuery.and(UserHomeRequest::getId, request.getId());
}
if(request.getUserId() != null){
reactiveQuery = reactiveQuery.and(UserHomeRequest::getUserId, request.getUserId());
}
if(StringUtils.isNotEmpty(request.getHomeName())){
reactiveQuery = reactiveQuery.like(UserHomeRequest::getHomeName, request.getHomeName());
}
if(request.getIsDelete() != null){
reactiveQuery = reactiveQuery.and(UserHomeRequest::getIsDelete, request.getIsDelete());
}
if(request.getCreateTimeStart() != null){
reactiveQuery = reactiveQuery.gte(UserHomeRequest::getCreateTime, request.getCreateTimeStart());
}
if(request.getCreateTimeEnd() != null){
reactiveQuery = reactiveQuery.lte(UserHomeRequest::getCreateTime, request.getCreateTimeEnd());
}
if(request.getModifyTimeStart() != null){
reactiveQuery = reactiveQuery.gte(UserHomeRequest::getModifyTime, request.getModifyTimeStart());
}
if(request.getModifyTimeEnd() != null){
reactiveQuery = reactiveQuery.lte(UserHomeRequest::getModifyTime, request.getModifyTimeEnd());
}
SortOrder sortOrder = null;
if(StringUtils.isNotEmpty(request.getOrder())){
if(StringUtils.isNotEmpty(request.getSort()) && request.getSort().compareTo("0") == 0){
sortOrder = SortOrder.desc(request.getOrder());
}else{
sortOrder = SortOrder.asc(request.getOrder());
}
reactiveQuery = reactiveQuery.orderBy(sortOrder);
}
return reactiveQuery.paging(request.getCurrPage(), request.getPageSize()).fetch();
}
public Mono<UserHomeEntity> selectUserHomeById(Long id){
return createQuery()
.and("is_delete", 0)
.and("id", id)
.fetchOne();
}
public Mono<Integer> insertUserHome(UserHomeEntity entity){
entity.setCreateTime(null);
entity.setModifyTime(null);
return insert(entity);
}
public Mono<Integer> updateUserHomeById(UserHomeEntity entity){
ReactiveUpdate<UserHomeEntity> update = createUpdate()
.set(UserHomeEntity::getModifyTime, new Date());
if(entity.getUserId() != null){
update = update.set(UserHomeEntity::getUserId, entity.getUserId());
}
if(StringUtils.isNotEmpty(entity.getHomeName())){
update = update.set(UserHomeEntity::getHomeName, entity.getHomeName());
}
if(entity.getIsDelete() != null){
update = update.set(UserHomeEntity::getIsDelete, entity.getIsDelete());
}
return update.where(UserHomeEntity::getId, entity.getId()).and("is_delete", 0).execute();
}
public Mono<Integer> updateCoverUserHomeById(UserHomeEntity entity){
ReactiveUpdate<UserHomeEntity> update = createUpdate()
.set(UserHomeEntity::getModifyTime, new Date());
update = update.set(UserHomeEntity::getUserId, entity.getUserId());
update = update.set(UserHomeEntity::getHomeName, entity.getHomeName());
update = update.set(UserHomeEntity::getIsDelete, entity.getIsDelete());
return update.where(UserHomeEntity::getId, entity.getId()).and("is_delete", 0).execute();
}
public Mono<Integer> deleteUserHomeById(Long id){
return createUpdate()
.set("is_delete", 1)
.set("modify_time", new Date())
.where("id", id)
.execute();
}
}

View File

@ -0,0 +1,173 @@
package com.qiuguo.iot.data.service.user;
import com.qiuguo.iot.data.entity.user.UserRoomEntity;
import com.qiuguo.iot.data.request.user.UserRoomRequest;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import java.util.Date;
import org.hswebframework.ezorm.rdb.mapping.ReactiveQuery;
import org.hswebframework.ezorm.rdb.mapping.ReactiveUpdate;
import org.hswebframework.ezorm.rdb.operator.dml.query.SortOrder;
import org.hswebframework.web.crud.service.GenericReactiveCrudService;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
/**
* <p>
* 服务类
* </p>
*
* @author wulin
* @since 2023-09-18
*/
@Service
@Slf4j
public class UserRoomService extends GenericReactiveCrudService<UserRoomEntity, Long> {
public Mono<UserRoomEntity> selectUserRoomByRequest(UserRoomRequest request){
ReactiveQuery<UserRoomEntity> reactiveQuery = createQuery();
reactiveQuery = reactiveQuery.and("is_delete", 0);
if(request.getId() != null){
reactiveQuery = reactiveQuery.and(UserRoomRequest::getId, request.getId());
}
if(request.getHomeId() != null){
reactiveQuery = reactiveQuery.and(UserRoomRequest::getHomeId, request.getHomeId());
}
if(StringUtils.isNotEmpty(request.getRoomName())){
reactiveQuery = reactiveQuery.and(UserRoomRequest::getRoomName, request.getRoomName());
}
if(request.getSpaceId() != null){
reactiveQuery = reactiveQuery.and(UserRoomRequest::getSpaceId, request.getSpaceId());
}
if(request.getIsDelete() != null){
reactiveQuery = reactiveQuery.and(UserRoomRequest::getIsDelete, request.getIsDelete());
}
if(request.getCreateTime() != null){
reactiveQuery = reactiveQuery.and(UserRoomRequest::getCreateTime, request.getCreateTime());
}
if(request.getModifyTime() != null){
reactiveQuery = reactiveQuery.and(UserRoomRequest::getModifyTime, request.getModifyTime());
}
SortOrder sortOrder = null;
if(StringUtils.isNotEmpty(request.getOrder())){
if(StringUtils.isNotEmpty(request.getSort()) && request.getSort().compareTo("0") == 0){
sortOrder = SortOrder.desc(request.getOrder());
}else{
sortOrder = SortOrder.asc(request.getOrder());
}
reactiveQuery = reactiveQuery.orderBy(sortOrder);
}
return reactiveQuery.fetchOne();
}
public Flux<UserRoomEntity> selectUserRoomsByRequest(UserRoomRequest request){
ReactiveQuery<UserRoomEntity> reactiveQuery = createQuery();
reactiveQuery = reactiveQuery.and("is_delete", 0);
if(request.getId() != null){
reactiveQuery = reactiveQuery.and(UserRoomRequest::getId, request.getId());
}
if(request.getHomeId() != null){
reactiveQuery = reactiveQuery.and(UserRoomRequest::getHomeId, request.getHomeId());
}
if(StringUtils.isNotEmpty(request.getRoomName())){
reactiveQuery = reactiveQuery.like(UserRoomRequest::getRoomName, request.getRoomName());
}
if(request.getSpaceId() != null){
reactiveQuery = reactiveQuery.and(UserRoomRequest::getSpaceId, request.getSpaceId());
}
if(request.getIsDelete() != null){
reactiveQuery = reactiveQuery.and(UserRoomRequest::getIsDelete, request.getIsDelete());
}
if(request.getCreateTimeStart() != null){
reactiveQuery = reactiveQuery.gte(UserRoomRequest::getCreateTime, request.getCreateTimeStart());
}
if(request.getCreateTimeEnd() != null){
reactiveQuery = reactiveQuery.lte(UserRoomRequest::getCreateTime, request.getCreateTimeEnd());
}
if(request.getModifyTimeStart() != null){
reactiveQuery = reactiveQuery.gte(UserRoomRequest::getModifyTime, request.getModifyTimeStart());
}
if(request.getModifyTimeEnd() != null){
reactiveQuery = reactiveQuery.lte(UserRoomRequest::getModifyTime, request.getModifyTimeEnd());
}
SortOrder sortOrder = null;
if(StringUtils.isNotEmpty(request.getOrder())){
if(StringUtils.isNotEmpty(request.getSort()) && request.getSort().compareTo("0") == 0){
sortOrder = SortOrder.desc(request.getOrder());
}else{
sortOrder = SortOrder.asc(request.getOrder());
}
reactiveQuery = reactiveQuery.orderBy(sortOrder);
}
return reactiveQuery.paging(request.getCurrPage(), request.getPageSize()).fetch();
}
public Mono<UserRoomEntity> selectUserRoomById(Long id){
return createQuery()
.and("is_delete", 0)
.and("id", id)
.fetchOne();
}
public Mono<Integer> insertUserRoom(UserRoomEntity entity){
entity.setCreateTime(null);
entity.setModifyTime(null);
return insert(entity);
}
public Mono<Integer> updateUserRoomById(UserRoomEntity entity){
ReactiveUpdate<UserRoomEntity> update = createUpdate()
.set(UserRoomEntity::getModifyTime, new Date());
if(entity.getHomeId() != null){
update = update.set(UserRoomEntity::getHomeId, entity.getHomeId());
}
if(StringUtils.isNotEmpty(entity.getRoomName())){
update = update.set(UserRoomEntity::getRoomName, entity.getRoomName());
}
if(entity.getSpaceId() != null){
update = update.set(UserRoomEntity::getSpaceId, entity.getSpaceId());
}
if(entity.getIsDelete() != null){
update = update.set(UserRoomEntity::getIsDelete, entity.getIsDelete());
}
return update.where(UserRoomEntity::getId, entity.getId()).and("is_delete", 0).execute();
}
public Mono<Integer> updateCoverUserRoomById(UserRoomEntity entity){
ReactiveUpdate<UserRoomEntity> update = createUpdate()
.set(UserRoomEntity::getModifyTime, new Date());
update = update.set(UserRoomEntity::getHomeId, entity.getHomeId());
update = update.set(UserRoomEntity::getRoomName, entity.getRoomName());
update = update.set(UserRoomEntity::getSpaceId, entity.getSpaceId());
update = update.set(UserRoomEntity::getIsDelete, entity.getIsDelete());
return update.where(UserRoomEntity::getId, entity.getId()).and("is_delete", 0).execute();
}
public Mono<Integer> deleteUserRoomById(Long id){
return createUpdate()
.set("is_delete", 1)
.set("modify_time", new Date())
.where("id", id)
.execute();
}
}

View File

@ -17,6 +17,12 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.tuya</groupId>
<artifactId>tuya-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
@ -132,5 +138,7 @@
</releases>
</pluginRepository>
</pluginRepositories>
</project>

View File

@ -0,0 +1,17 @@
import com.tuya.connector.api.annotations.Path;
/**
* XXX
*
* @author weiyachao
* @since 2023/9/5 16:03
*/
public class UserTest {
public static void main(String[] args) {
}
}

View File

@ -33,9 +33,9 @@ public class MysqlMain {
//public static String save_path = "C:\\Users\\linzi\\Desktop\\mysql";
//public static String save_path ="C:\\workspace\\life";
public static String save_path = "C:\\workspace\\ideaworkspace\\api";
// public static String save_path ="C:\\workspace\\life";
public static String save_path = System.getProperty("user.dir");
public static String mysql_url = "jdbc:mysql://172.24.218.235:3306/qiuguo_iot?useSSL=false&serverZoneId=Asia/Shanghai";
@ -80,27 +80,10 @@ public class MysqlMain {
if (!file.exists()) {
file.mkdirs();
}
List<TablesBean> list = new ArrayList<TablesBean>();
List<TablesBean> list = new ArrayList<>();
list.add(new TablesBean("device_alarm_clock_record"));
list.add(new TablesBean("device_batch"));
list.add(new TablesBean("device_info"));
list.add(new TablesBean("device_product_factory_info"));
list.add(new TablesBean("device_user_bind"));
list.add(new TablesBean("device_user_talk_record"));
list.add(new TablesBean("ota_record"));
list.add(new TablesBean("ota_version_info"));
list.add(new TablesBean("user_suggestion_record"));
list.add(new TablesBean("system_talk_answer_config"));
list.add(new TablesBean("third_config_info"));
list.add(new TablesBean("third_user_bind"));
list.add(new TablesBean("operatin_action"));
list.add(new TablesBean("operatin_condition"));
list.add(new TablesBean("operatin_mode"));
list.add(new TablesBean("operatin_scene"));
list.add(new TablesBean("u3d_action"));
list.add(new TablesBean("operatin_event_config"));
list.add(new TablesBean("user_home"));
list.add(new TablesBean("user_room"));
List<TablesBean> list2 = new ArrayList<TablesBean>();
Map<String, String> map = MysqlUtil2ShowCreateTable.getComments();