Commit 3e34a105 authored by Code-KingTT's avatar Code-KingTT

阶段任务-后端-王通通

parent 776b61b4
package com.yeejoin.amos.api.tool.controller;
import com.yeejoin.amos.api.tool.face.model.AmosToolTemplateModel;
import com.yeejoin.amos.api.tool.face.service.AmosToolTemplateService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.doc.TycloudResource;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.annotation.Resource;
import java.util.List;
@RestController
@TycloudResource(module = "iot", value = "amosToolTemplate")
@RequestMapping(value = "/v1/iot/AmosToolTemplate")
@Api(tags = "丝袜哥测试")
public class AmosToolTemplateController {
private final Logger logger = LogManager.getLogger(AmosToolTemplateController.class);
@Resource
private AmosToolTemplateService amosToolTemplateService;
@TycloudOperation(ApiLevel = UserType.SUPER_ADMIN, needAuth = false)
@PostMapping("/save")
@ApiOperation(value = "新增", notes = "新增")
public ResponseModel<AmosToolTemplateModel> saveOne(@RequestBody AmosToolTemplateModel amosToolTemplateModel) {
amosToolTemplateModel = amosToolTemplateService.createWithModel(amosToolTemplateModel);
return ResponseHelper.buildResponse(amosToolTemplateModel);
}
/**
* 根据字段查询
*/
@TycloudOperation(ApiLevel = UserType.SUPER_ADMIN, needAuth = false)
@PostMapping("/select/all")
@ApiOperation(value = "查询大全")
public ResponseModel<List<AmosToolTemplateModel>> query(@RequestParam(value = "templateScene") String templateScene,
@RequestParam(value = "miniSences") String miniSences) {
return ResponseHelper.buildResponse(amosToolTemplateService.query(templateScene, miniSences));
}
/**
* 查询所有
*/
@TycloudOperation(ApiLevel = UserType.SUPER_ADMIN, needAuth = false)
@PostMapping("/every")
@ApiOperation("查询所有")
public ResponseModel<List<AmosToolTemplateModel>> queryEvery() {
return ResponseHelper.buildResponse(amosToolTemplateService.queryEvery());
}
/**
* 根据ID删除
*/
@TycloudOperation(ApiLevel = UserType.SUPER_ADMIN, needAuth = false)
@PostMapping("/delete")
@ApiOperation(value = "删除")
public ResponseModel<Boolean> deleteById(@RequestParam(value = "templateId") Long templateId) {
return ResponseHelper.buildResponse(amosToolTemplateService.deleteBySeq(templateId));
}
/**
* 根据ID更新
*/
@TycloudOperation(ApiLevel = UserType.SUPER_ADMIN, needAuth = false)
@PostMapping("/update")
@ApiOperation(value = "更新")
public ResponseModel<Boolean> updateById(@RequestParam(value = "templateId") Long templateId) {
return ResponseHelper.buildResponse(amosToolTemplateService.updateTimes(templateId));
}
}
package com.yeejoin.amos.api.tool.controller;
import com.yeejoin.amos.api.tool.face.model.ViewModel;
import com.yeejoin.amos.api.tool.face.service.ViewService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.doc.TycloudResource;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.annotation.Resource;
import java.util.List;
@RestController
@TycloudResource(module = "iot", value = "view")
@RequestMapping(value = "/v1/iot/View")
@Api(tags = "测试")
public class ViewController {
private final Logger logger = LogManager.getLogger(ViewController.class);
@Resource
private ViewService viewService;
@TycloudOperation(ApiLevel = UserType.SUPER_ADMIN,needAuth = false)
@ApiOperation(value = "根据所属机构查询")
@GetMapping("/list")
public ResponseModel selectForList(@RequestParam(value = "agency") String agency) {
return ResponseHelper.buildResponse(viewService.queryForAViewList(agency));
}
@TycloudOperation(ApiLevel = UserType.SUPER_ADMIN,needAuth = false)
@PostMapping("/save")
@ApiOperation(value = "新增",notes = "新增")
public ResponseModel<ViewModel> save(@RequestBody ViewModel viewModel){
viewModel = viewService.createWithModel(viewModel);
return ResponseHelper.buildResponse(viewModel);
}
@TycloudOperation(ApiLevel = UserType.SUPER_ADMIN,needAuth = false)
@PostMapping("/sences/list")
@ApiOperation(value = "根据场景查询")
public ResponseModel selectByScene(@RequestParam(value = "sences") String sences){
return ResponseHelper.buildResponse(viewService.queryByScene(sences));
}
/**
* 根据字段查询
*/
@TycloudOperation(ApiLevel = UserType.SUPER_ADMIN,needAuth = false)
@PostMapping ("/select/all")
@ApiOperation(value = "查询大全")
public ResponseModel query(@RequestParam(value = "sences") String sences,@RequestParam(value = "miniSences") String miniSences){
return ResponseHelper.buildResponse(viewService.query(sences,miniSences));
}
/**
* 查询所有
*/
@TycloudOperation(ApiLevel = UserType.SUPER_ADMIN,needAuth = false)
@PostMapping("/every")
@ApiOperation("平台")
public ResponseModel<List<ViewModel>> queryEvery(){
return ResponseHelper.buildResponse(viewService.queryEvery());
}
/**
* 根据ID删除
*/
@TycloudOperation(ApiLevel = UserType.SUPER_ADMIN,needAuth = false)
@PostMapping("/delete")
@ApiOperation(value = "删除")
public ResponseModel<Boolean> deleteById(@RequestParam(value = "SEQUENCE_NBR") Long SEQUENCE_NBR){
return ResponseHelper.buildResponse(viewService.deleteBySeq(SEQUENCE_NBR));
}
/**
* 根据ID更新
*/
@TycloudOperation(ApiLevel = UserType.SUPER_ADMIN,needAuth = false)
@PostMapping("/update")
@ApiOperation(value = "更新")
public ResponseModel updateById(@RequestParam(value = "SEQUENCE_NBR") Long SEQUENCE_NBR){
return ResponseHelper.buildResponse(viewService.updateTimes(SEQUENCE_NBR));
}
}
package com.yeejoin.amos.api.tool.enums;
public enum SortType {
COMPREHENSIVE("综合排序", "templateId", "asc"),
LATEST("最新发布", "releaseTime", "desc"),
VIEW_TIMES("最多浏览", "viewTimes", "desc");
private final String name;
private final String field;
private final String direction;
SortType(String name, String field, String direction) {
this.name = name;
this.field = field;
this.direction = direction;
}
public String getName() {
return name;
}
public String getField() {
return field;
}
public String getDirection() {
return direction;
}
public static SortType fromName(String name) {
for (SortType sortType : SortType.values()) {
if (sortType.getName().equals(name)) {
return sortType;
}
}
// 默认返回综合排序
return COMPREHENSIVE;
}
}
...@@ -8,33 +8,37 @@ import java.sql.Timestamp; ...@@ -8,33 +8,37 @@ import java.sql.Timestamp;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Data @Data
public class ViewModel extends BaseModel { public class AmosToolTemplateModel extends BaseModel {
/** /**
* 编号 * 模板ID
*/ */
private Long sequenceNbr; private Long templateId;
/** /**
* 名称 * 模板名称
*/ */
private String name; private String templateName;
/** /**
* 场景 * 场景类型
*/ */
private String sences; private String templateScene;
/** /**
* 所属机构 * 所属机构
*/ */
private String agency; private String agencyName;
/** /**
* 查看次数 * 查看次数
*/ */
private Integer times; private Integer viewTimes;
/** /**
* URL * 模板URL
*/ */
private String url; private String templateUrl;
/** /**
* 发布时间 * 发布时间
*/ */
private Timestamp release; private Timestamp releaseTime;
/**
* 是否删除
*/
private Boolean isDelete;
} }
package com.yeejoin.amos.api.tool.face.orm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.api.tool.face.model.AmosToolTemplateModel;
import com.yeejoin.amos.api.tool.face.orm.entity.AmosToolTemplate;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
public interface AmosToolTemplateMapper extends BaseMapper<AmosToolTemplate> {
/**
* 全部
*/
@Select("select templateUrl,templateName,agencyName,viewTimes,releaseTime from amos_tool_template" +
" order by ${miniSences} ${way}")
List<AmosToolTemplateModel> listAll(@Param("miniSences") String miniSences,
@Param("way") String way);
/**
* 具体场景
*/
@Select("select templateUrl,templateName,agencyName,viewTimes,releaseTime from amos_tool_template" +
" where categoryScene=#{categoryScene} order by ${miniSences} ${way}")
List<AmosToolTemplateModel> queryByScenes(@Param("categoryScene") String categoryScene,
@Param("miniSences") String miniSences, @Param("way") String way);
@Select("select templateId,templateName,categoryScene,agencyName,viewTimes,templateUrl,releaseTime" +
" from amos_tool_template")
List<AmosToolTemplateModel> listAll();
/**
* 更新查看次数
*/
@Update("update amos_tool_template set viewTimes = viewTimes+1 where templateId = #{templateId}")
boolean updateById(Long templateId);
}
package com.yeejoin.amos.api.tool.face.orm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.api.tool.face.model.ViewModel;
import com.yeejoin.amos.api.tool.face.orm.entity.View;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
public interface ViewMapper extends BaseMapper<View> {
/**
* 全部
*/
@Select("select url,name,agency,times,releasetime from view order by ${miniSences} ${way}")
List<ViewModel> queryAll(@Param("miniSences") String miniSences,@Param("way") String way);
/**
* 具体场景
*/
@Select("select url,name,agency,times,releasetime from view where sences=#{sences} order by ${miniSences} ${way}")
List<ViewModel> queryBySences(@Param("sences") String sences, @Param("miniSences") String miniSences, @Param("way") String way);
@Select("select SEQUENCE_NBR,name,sences,agency,times,url,releasetime from view")
List<ViewModel> queryEvery();
/**
* 更新查看次数
*/
@Update("update view set times = times+1 where SEQUENCE_NBR = #{SEQUENCE_NBR}")
boolean update(Long SEQUENCE_NBR);
}
...@@ -8,68 +8,54 @@ import lombok.Data; ...@@ -8,68 +8,54 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity; import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
import java.util.Date;
import java.sql.Timestamp; import java.sql.Timestamp;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Data @Data
@TableName("view") @TableName("amos_tool_template")
public class View extends BaseEntity { public class AmosToolTemplate extends BaseEntity {
@TableId(
value = "SEQUENCE_NBR",
type = IdType.ID_WORKER
)
protected Long sequenceNbr;
/** /**
* 继承的无关字段 * 模板ID
*/ */
@TableField( @TableId(
value = "REC_DATE", value = "TEMPLATE_ID",
exist = false, type = IdType.ID_WORKER
select = false
)
protected Date recDate;
@TableField(
value = "REC_USER_ID",
exist = false,
select = false
) )
protected String recUserId; protected Long templateId;
/**
* 编号
*/
// @TableId(type = IdType.ID_WORKER_STR)
// private String vid;
/** /**
* 名称 * 模板名称
*/ */
@TableField("NAME") @TableField("TEMPLATE_NAME")
private String name; private String templateName;
/** /**
* 场景 * 场景类型
*/ */
@TableField("SENCES") @TableField("CATEGORY_SCENE")
private String sences; private String categoryScene;
/** /**
* 所属机构 * 所属机构
*/ */
@TableField("AGENCY") @TableField("AGENCY_NAME")
private String agency; private String agencyName;
/** /**
* 查看次数 * 查看次数
*/ */
@TableField("TIMES") @TableField("VIEW_TIMES")
private Integer times; private Integer viewTimes;
/** /**
* URL * 模板URL
*/ */
@TableField("URL") @TableField("TEMPLATE_URL")
private String url; private String templateUrl;
/** /**
* 发布时间 * 发布时间
*/ */
@TableField("RELEASE") @TableField("RELEASE_TIME")
private Timestamp release; private Timestamp releaseTime;
/**
* 是否删除
*/
@TableField("IS_DELETE")
private Boolean isDelete;
} }
package com.yeejoin.amos.api.tool.face.service;
import com.yeejoin.amos.api.tool.enums.SortType;
import com.yeejoin.amos.api.tool.face.model.AmosToolTemplateModel;
import com.yeejoin.amos.api.tool.face.orm.dao.AmosToolTemplateMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.AmosToolTemplate;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import javax.annotation.Resource;
import java.util.List;
@Component
public class AmosToolTemplateService extends BaseService<AmosToolTemplateModel,
AmosToolTemplate, AmosToolTemplateMapper> {
@Resource
private AmosToolTemplateMapper amosToolTemplateMapper;
/**
* 查询所有
*/
public List<AmosToolTemplateModel> queryEvery() {
return amosToolTemplateMapper.listAll();
}
/**
* 查看次数更新
*/
public boolean updateTimes(Long templateId) {
return amosToolTemplateMapper.updateById(templateId);
}
/**
* 获取排序类型
*/
private SortType getSortType(String miniScenes) {
return SortType.fromName(miniScenes);
}
/**
* 统一处理
*/
public List<AmosToolTemplateModel> query(String categoryScene, String miniScenes) {
SortType sortType = getSortType(miniScenes);
if ("全部".equals(categoryScene)) {
return amosToolTemplateMapper.listAll(sortType.getField(), sortType.getDirection());
} else {
return amosToolTemplateMapper.queryByScenes(categoryScene, sortType.getField(), sortType.getDirection());
}
}
}
package com.yeejoin.amos.api.tool.face.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.face.model.ViewModel;
import com.yeejoin.amos.api.tool.face.orm.dao.ViewMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.View;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import javax.annotation.Resource;
import java.util.List;
@Component
public class ViewService extends BaseService<ViewModel, View, ViewMapper> {
@Resource
ViewMapper viewMapper;
/**
* 根据所属机构分页查询
*/
public Page<ViewModel> queryForViewPageByAgency(Page page, String agency) {
return this.queryForPage(page, null, false, agency);
}
/**
* 查询所有
*/
public List<ViewModel> queryEvery(){
return viewMapper.queryEvery();
}
/**
* 根据所属机构列表查询
*/
public List<ViewModel> queryForAViewList(String agency) {
return this.queryForList("" , false, agency);
}
/**
* 根据场景分页查询
*/
public Page<ViewModel> queryByScene(Page page, String sences) {
return this.queryForPage(page, null, false, sences);
}
/**
* 根据场景列表查询
*/
public List<ViewModel> queryByScene(String sences) {
return this.queryForList("" , false, sences);
}
/**
* 查看次数更新
*/
public boolean updateTimes(Long SEQUENCE_NBR){
return viewMapper.update(SEQUENCE_NBR);
}
/**
* 统一处理
*/
public List<ViewModel> query(String sences,String miniSences){
if (sences.equals("全部")){
if (miniSences.equals("综合排序")){
return viewMapper.queryAll("SEQUENCE_NBR","asc");
}
else if (miniSences.equals("最新发布")){
return viewMapper.queryAll("releasetime","desc");
}
else
return viewMapper.queryAll("times","desc");
}
else{
if (miniSences.equals("综合排序")){
return viewMapper.queryBySences(sences,"SEQUENCE_NBR","asc");
}
else if (miniSences.equals("最新发布")){
return viewMapper.queryBySences(sences,"releasetime","desc");
}
else
return viewMapper.queryBySences(sences,"times","desc");
}
}
}
spring.application.name=AMOS-API-TOOL spring.application.name=AMOS-API-TOOL
server.port=30201 server.port=30201
server.servlet.context-path=/tool server.servlet.context-path=/template
spring.profiles.active=dev spring.profiles.active=dev
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.api.tool.face.orm.dao.ViewMapper"> <mapper namespace="com.yeejoin.amos.api.tool.face.orm.dao.AmosToolTemplateMapper">
<!-- <select id="queryAll" parameterType="com.yeejoin.amos.api.tool.face.orm.dao.ViewMapper">--> <!-- <select id="queryAll" parameterType="com.yeejoin.amos.api.tool.face.orm.dao.AmosToolTemplateMappermplateMapper">-->
<!-- select * from view;--> <!-- select * from view;-->
<!-- </select>--> <!-- </select>-->
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment