Browse Source

新增结构模型管理

wuweihao 5 years ago
parent
commit
36f9b4c7bd

+ 40 - 0
museum_dao/src/main/java/com/museum/dao/Provide/StructureProvider.java

@@ -0,0 +1,40 @@
+package com.museum.dao.Provide;
+
+import com.museum.domain.request.NavRequest;
+import com.museum.domain.request.StructurePageRequest;
+import lombok.extern.log4j.Log4j2;
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * Created by owen on 2020/5/9 0009 15:23
+ */
+
+@Log4j2
+public class StructureProvider {
+
+    public String findBySearch(StructurePageRequest param){
+        StringBuffer sql = new StringBuffer("" +
+                "SELECT * FROM tb_structure where rec_status = 'A' ");
+
+
+        String searchKey = param.getSearchKey();
+        if(StringUtils.isNotBlank(searchKey)){
+            // 字符串要加'
+            sql.append(" and name like '%").append(searchKey).append("%'");
+        }
+
+
+        Integer block = param.getBlock();
+        if(block != null){
+            sql.append(" and block = ").append(block);
+        }
+
+
+        sql.append(" ORDER BY create_time DESC");
+
+        log.info("sql: {}", sql.toString());
+        return sql.toString();
+    }
+
+
+}

+ 21 - 0
museum_dao/src/main/java/com/museum/dao/StructureMapper.java

@@ -0,0 +1,21 @@
+package com.museum.dao;
+
+
+import com.museum.dao.Provide.StructureProvider;
+import com.museum.domain.entity.StructureEntity;
+import com.museum.domain.request.StructurePageRequest;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.SelectProvider;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Component
+@Mapper
+public interface StructureMapper extends IBaseMapper<StructureEntity, Long> {
+
+    @SelectProvider(type = StructureProvider.class, method = "findBySearch")
+    List<StructureEntity> findBySearch(StructurePageRequest param);
+
+
+}

+ 34 - 0
museum_domain/src/main/java/com/museum/domain/entity/StructureEntity.java

@@ -0,0 +1,34 @@
+package com.museum.domain.entity;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * 结构模型信息
+ */
+@Data
+@Table(name = "tb_structure")
+public class StructureEntity extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = -5191918181589231778L;
+
+    @ApiModelProperty(value = "名称")
+    private String name;
+
+    @ApiModelProperty(value = "楼体, 1:东楼,2:西楼,3:钟楼")
+    private Integer block;
+
+    @ApiModelProperty(value = "模型介绍")
+    private String content;
+
+    @ApiModelProperty(value = "模型url")
+    private String webSite;
+
+    @ApiModelProperty(value = "缩略图url(展示封面)")
+    private String thumb;
+
+
+}

+ 22 - 0
museum_domain/src/main/java/com/museum/domain/request/StructurePageRequest.java

@@ -0,0 +1,22 @@
+package com.museum.domain.request;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 结构模型请求实体
+ */
+@Data
+public class StructurePageRequest extends PageRequest implements Serializable  {
+
+    private static final long serialVersionUID = -5192118181589231778L;
+
+    @ApiModelProperty(value = "楼体, 1:东楼,2:西楼,3:钟楼")
+    private Integer block;
+
+
+
+
+}

+ 42 - 0
museum_domain/src/main/java/com/museum/domain/request/StructureRequest.java

@@ -0,0 +1,42 @@
+package com.museum.domain.request;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * 结构模型请求实体
+ */
+@Data
+public class StructureRequest implements Serializable  {
+
+    private static final long serialVersionUID = -5191118181589231778L;
+
+    @ApiModelProperty(value = "id, 修改时必须传,新增忽略")
+    private Long id;
+
+    @NotBlank(message = "名称不能为空")
+    @ApiModelProperty(value = "名称", required = true)
+    private String name;
+
+    @NotNull(message = "楼体不能为空")
+    @ApiModelProperty(value = "楼体, 1:东楼,2:西楼,3:钟楼", required = true)
+    private Integer block;
+
+    @NotBlank(message = "模型介绍不能为空")
+    @ApiModelProperty(value = "模型介绍", required = true)
+    private String content;
+
+    @NotBlank(message = "模型url不能为空")
+    @ApiModelProperty(value = "模型url", required = true)
+    private String webSite;
+
+    @NotBlank(message = "展示封面不能为空")
+    @ApiModelProperty(value = "缩略图url(展示封面)", required = true)
+    private String thumb;
+
+
+}

+ 18 - 0
museum_service/src/main/java/com/museum/service/StructureService.java

@@ -0,0 +1,18 @@
+package com.museum.service;
+
+
+import com.museum.domain.entity.StructureEntity;
+import com.museum.domain.request.StructurePageRequest;
+
+import java.util.List;
+
+
+/**
+ * Created by owen on 2020/5/11 0011 16:14
+ */
+public interface StructureService extends IBaseService<StructureEntity, Long> {
+
+    List<StructureEntity> findBySearch(StructurePageRequest param);
+
+
+}

+ 33 - 0
museum_service/src/main/java/com/museum/service/impl/StructureServiceImpl.java

@@ -0,0 +1,33 @@
+package com.museum.service.impl;
+
+import com.museum.dao.IBaseMapper;
+import com.museum.dao.StructureMapper;
+import com.museum.domain.entity.StructureEntity;
+import com.museum.domain.request.StructurePageRequest;
+import com.museum.service.StructureService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+/**
+ * Created by owen on 2020/5/11 0011 16:16
+ */
+@Service
+public class StructureServiceImpl extends IBaseServiceImpl<StructureEntity, Long> implements StructureService {
+
+    @Autowired
+    private StructureMapper entityMapper;
+
+    @Override
+    public IBaseMapper<StructureEntity, Long> getBaseMapper() {
+        return this.entityMapper;
+    }
+
+
+    @Override
+    public List<StructureEntity> findBySearch(StructurePageRequest param) {
+        return entityMapper.findBySearch(param);
+    }
+}

+ 114 - 0
museum_web/src/main/java/com/museum/web/controller/StructureController.java

@@ -0,0 +1,114 @@
+package com.museum.web.controller;
+
+
+import com.github.pagehelper.PageInfo;
+import com.museum.common.util.Result;
+import com.museum.domain.entity.StructureEntity;
+import com.museum.domain.request.NavRequest;
+import com.museum.domain.request.StructurePageRequest;
+import com.museum.domain.request.StructureRequest;
+import com.museum.domain.response.RoamResponse;
+import com.museum.service.StructureService;
+import com.museum.web.aop.WebControllerLog;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.log4j.Log4j2;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.Date;
+
+
+/**
+ * Created by owen on 2020/5/9 0018 12:17
+ */
+@Log4j2
+@Api(tags = "结构模型管理")
+@RestController
+@RequestMapping("manage/structure")
+@Transactional
+public class StructureController extends BaseController {
+
+    @Autowired
+    public StructureService structureService;
+
+
+    @ApiOperation("列表/条件筛选")
+    @PostMapping("list")
+    public Result<StructureEntity> list(@Valid @RequestBody StructurePageRequest param) {
+        startPage(param);
+        PageInfo<StructureEntity> page = new PageInfo<>(structureService.findBySearch(param));
+        return Result.success(page);
+    }
+
+
+    @WebControllerLog(description = "结构模型管理-新增/修改")
+    @ApiOperation("新增/修改")
+    @PostMapping("save")
+    public Result save(@Valid @RequestBody StructureRequest param) {
+
+        /**
+         * 墙立面类型,displayModel:0
+         * 漫游, displayModel:2
+         *
+         * 墙立面展示:模型URL
+         * 场景漫游:四维看看场景URL
+         */
+
+        StructureEntity entity = null;
+        Long id = param.getId();
+        if (id == null) {
+            entity = new StructureEntity();
+            BeanUtils.copyProperties(param, entity);
+            structureService.save(entity);
+
+        } else {
+            entity = structureService.findById(id);
+            if (entity == null) {
+                log.error("对象不存在: {}", id);
+                return Result.failure("对象不存在");
+            }
+            BeanUtils.copyProperties(param, entity);
+            entity.setUpdateTime(new Date());
+            structureService.update(entity);
+
+        }
+        return Result.success();
+    }
+
+
+    @ApiOperation("详情")
+    @GetMapping("detail/{id}")
+    public Result<RoamResponse> detail(@PathVariable Long id) {
+        StructureEntity entity = structureService.findById(id);
+
+        if (entity == null) {
+            log.error("对象不存在: {}", id);
+            return Result.failure("对象不存在");
+        }
+
+        return Result.success(entity);
+    }
+
+    @WebControllerLog(description = "结构模型管理-删除")
+    @ApiOperation("删除")
+    @GetMapping("removes/{ids}")
+    public Result removes(@PathVariable String ids){
+        if (StringUtils.isNotBlank(ids)) {
+            structureService.deleteByIds(ids);
+        }
+        return Result.success();
+    }
+
+
+
+
+
+
+
+
+}