feat: 后端接口开发

This commit is contained in:
张云杰 2025-08-30 20:38:14 +08:00
parent 6e31de7ac6
commit 119f66a833
59 changed files with 2449 additions and 0 deletions

View File

@ -0,0 +1,56 @@
package com.byhah.cloud.admin.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.byhah.cloud.admin.module.website.dto.*;
import com.byhah.cloud.admin.module.website.vo.*;
import com.byhah.cloud.basic.core.entity.website.*;
import org.apache.ibatis.annotations.Param;
/**
* 网站mapper
*
* @author ZYJ
*/
public interface WebsiteMapper {
/**
* 硬件产品分页
*/
IPage<WebsiteProductVo> productPage(Page<?> page, @Param("dto") WebsiteProductSearchDto dto);
/**
* 软件服务解决方案
*/
IPage<WebsiteSoftwarePlanVo> softwarePlanPage(Page<?> page, @Param("dto") WebsiteSoftwarePlanSearchDto dto);
/**
* 咨询信息分页
*/
IPage<WebsiteConsultVo> consultPage(Page<?> page, @Param("dto") WebsiteConsultSearchDto dto);
/**
* 咨询类型分页
*/
IPage<WebsiteConsultTypeVo> consultTypePage(Page<?> page, @Param("dto") WebsiteConsultTypeSearchDto dto);
/**
* 成功案例类型分页
*/
IPage<WebsiteSuccessCaseTypeVo> successCaseTypePage(Page<?> page, @Param("dto") WebsiteSuccessCaseTypeSearchDto dto);
/**
* 成功案例分页
*/
IPage<WebsiteSuccessCaseVo> successCasePage(Page<?> page, @Param("dto") WebsiteSuccessCaseSearchDto dto);
/**
* 目标分页
*/
IPage<WebsiteTargetVo> targetPage(Page<?> page, @Param("dto") WebsiteTargetSearchDto dto);
/**
* 评价分页
*/
IPage<WebsiteCommentVo> commentPage(Page<?> page, @Param("dto") WebsiteCommentSearchDto dto);
}

View File

@ -0,0 +1,86 @@
package com.byhah.cloud.admin.module.website.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.byhah.cloud.admin.module.website.dto.WebsiteCommentDto;
import com.byhah.cloud.admin.module.website.dto.WebsiteCommentSearchDto;
import com.byhah.cloud.admin.module.website.service.WebsiteCommentService;
import com.byhah.cloud.admin.module.website.vo.WebsiteCommentVo;
import com.byhah.cloud.basic.core.entity.website.WebsiteComment;
import com.byhah.deploy.basic.util.web.PageUtils;
import com.byhah.deploy.basic.validation.entity.CommonValidList;
import com.byhah.deploy.basic.validation.group.Insert;
import com.byhah.deploy.basic.validation.group.Update;
import com.byhah.deploy.starter.web.R;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotEmpty;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 客户评价
*
* @author ZYJ
*/
@Tag(name = "客户评价")
@RestController
@RequiredArgsConstructor
@RequestMapping("/website/comment")
public class WebsiteCommentController {
private final WebsiteCommentService commentService;
@Operation(summary = "获取客户评价分页")
@GetMapping("/page")
R<IPage<WebsiteCommentVo>> page(WebsiteCommentSearchDto dto) {
return R.ok(commentService.page(PageUtils.toPage(), dto));
}
@Operation(summary = "获取客户评价列表")
@GetMapping("/list")
R<List<WebsiteCommentVo>> list(WebsiteCommentSearchDto dto) {
return R.ok(commentService.page(PageUtils.toNoSizePage(), dto).getRecords());
}
@Operation(summary = "添加客户评价")
@SaCheckPermission("website:comment:add")
@PostMapping("/add")
R<Void> add(@RequestBody @Validated(Insert.class) WebsiteCommentDto dto) {
commentService.add(dto);
return R.ok();
}
@Operation(summary = "编辑客户评价")
@SaCheckPermission("website:comment:edit")
@PostMapping("/edit")
R<Void> edit(@RequestBody @Validated(Update.class) WebsiteCommentDto dto) {
commentService.edit(dto);
return R.ok();
}
@Operation(summary = "删除客户评价")
@SaCheckPermission("website:comment:delete")
@PostMapping("/delete")
R<String> delete(@RequestBody @Validated @NotEmpty(message = "集合不能为空")
CommonValidList<Long> ids) {
commentService.delete(ids);
return R.ok();
}
@Operation(summary = "获取客户评价详情")
@GetMapping("/detail")
R<WebsiteComment> detail(Long id) {
return R.ok(commentService.detail(id));
}
@Operation(summary = "修改状态")
@GetMapping("/changeStatus")
R<Void> changeStatus(Long id) {
commentService.changeStatus(id);
return R.ok();
}
}

View File

@ -0,0 +1,49 @@
package com.byhah.cloud.admin.module.website.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.byhah.cloud.admin.module.website.dto.WebsiteConsultDto;
import com.byhah.cloud.admin.module.website.dto.WebsiteConsultSearchDto;
import com.byhah.cloud.admin.module.website.service.WebsiteConsultService;
import com.byhah.cloud.admin.module.website.vo.WebsiteConsultVo;
import com.byhah.cloud.basic.core.entity.website.WebsiteConsult;
import com.byhah.deploy.basic.util.web.PageUtils;
import com.byhah.deploy.starter.web.R;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
/**
* 咨询信息
*
* @author ZYJ
*/
@Tag(name = "咨询信息")
@RestController
@RequiredArgsConstructor
@RequestMapping("/website/consult")
public class WebsiteConsultController {
private final WebsiteConsultService consultService;
@Operation(summary = "获取咨询信息分页")
@GetMapping("/page")
R<IPage<WebsiteConsultVo>> page(WebsiteConsultSearchDto dto) {
return R.ok(consultService.page(PageUtils.toPage(), dto));
}
@Operation(summary = "获取咨询信息详情")
@GetMapping("/detail")
R<WebsiteConsult> detail(Long id) {
return R.ok(consultService.detail(id));
}
@Operation(summary = "处理咨询信息")
@SaCheckPermission("website:consult:save")
@PostMapping("/handle")
R<Void> handle(@RequestBody WebsiteConsultDto dto) {
consultService.handle(dto);
return R.ok();
}
}

View File

@ -0,0 +1,79 @@
package com.byhah.cloud.admin.module.website.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.byhah.cloud.admin.module.website.dto.WebsiteConsultTypeDto;
import com.byhah.cloud.admin.module.website.dto.WebsiteConsultTypeSearchDto;
import com.byhah.cloud.admin.module.website.service.WebsiteConsultTypeService;
import com.byhah.cloud.admin.module.website.vo.WebsiteConsultTypeVo;
import com.byhah.cloud.basic.core.entity.website.WebsiteConsultType;
import com.byhah.deploy.basic.util.web.PageUtils;
import com.byhah.deploy.basic.validation.entity.CommonValidList;
import com.byhah.deploy.basic.validation.group.Insert;
import com.byhah.deploy.basic.validation.group.Update;
import com.byhah.deploy.starter.web.R;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotEmpty;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 咨询类型
*
* @author ZYJ
*/
@Tag(name = "咨询类型")
@RestController
@RequiredArgsConstructor
@RequestMapping("/website/consultType")
public class WebsiteConsultTypeController {
private final WebsiteConsultTypeService consultTypeService;
@Operation(summary = "获取咨询类型分页")
@GetMapping("/page")
R<IPage<WebsiteConsultTypeVo>> page(WebsiteConsultTypeSearchDto dto) {
return R.ok(consultTypeService.page(PageUtils.toPage(), dto));
}
@Operation(summary = "获取咨询类型列表")
@GetMapping("/list")
R<List<WebsiteConsultTypeVo>> list(WebsiteConsultTypeSearchDto dto) {
return R.ok(consultTypeService.page(PageUtils.toNoSizePage(), dto).getRecords());
}
@Operation(summary = "添加咨询类型")
@SaCheckPermission("website:consultType:add")
@PostMapping("/add")
R<Void> add(@RequestBody @Validated(Insert.class) WebsiteConsultTypeDto dto) {
consultTypeService.add(dto);
return R.ok();
}
@Operation(summary = "编辑咨询类型")
@SaCheckPermission("website:consultType:edit")
@PostMapping("/edit")
R<Void> edit(@RequestBody @Validated(Update.class) WebsiteConsultTypeDto dto) {
consultTypeService.edit(dto);
return R.ok();
}
@Operation(summary = "删除咨询类型")
@SaCheckPermission("website:consultType:delete")
@PostMapping("/delete")
R<String> delete(@RequestBody @Validated @NotEmpty(message = "集合不能为空")
CommonValidList<Long> ids) {
consultTypeService.delete(ids);
return R.ok();
}
@Operation(summary = "获取咨询类型详情")
@GetMapping("/detail")
R<WebsiteConsultType> detail(Long id) {
return R.ok(consultTypeService.detail(id));
}
}

View File

@ -0,0 +1,79 @@
package com.byhah.cloud.admin.module.website.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.byhah.cloud.admin.module.website.dto.WebsiteProductDto;
import com.byhah.cloud.admin.module.website.dto.WebsiteProductSearchDto;
import com.byhah.cloud.admin.module.website.service.WebsiteProductService;
import com.byhah.cloud.admin.module.website.vo.WebsiteProductVo;
import com.byhah.cloud.basic.core.entity.website.WebsiteProduct;
import com.byhah.deploy.basic.util.web.PageUtils;
import com.byhah.deploy.basic.validation.entity.CommonValidList;
import com.byhah.deploy.basic.validation.group.Insert;
import com.byhah.deploy.basic.validation.group.Update;
import com.byhah.deploy.starter.web.R;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotEmpty;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 硬件产品
*
* @author ZYJ
*/
@Tag(name = "硬件产品")
@RestController
@RequiredArgsConstructor
@RequestMapping("/website/product")
public class WebsiteProductController {
private final WebsiteProductService productService;
@Operation(summary = "获取硬件产品分页")
@GetMapping("/page")
R<IPage<WebsiteProductVo>> page(WebsiteProductSearchDto dto) {
return R.ok(productService.page(PageUtils.toPage(), dto));
}
@Operation(summary = "获取硬件产品列表")
@GetMapping("/list")
R<List<WebsiteProductVo>> list(WebsiteProductSearchDto dto) {
return R.ok(productService.page(PageUtils.toNoSizePage(), dto).getRecords());
}
@Operation(summary = "添加硬件产品")
@SaCheckPermission("website:product:add")
@PostMapping("/add")
R<Void> add(@RequestBody @Validated(Insert.class) WebsiteProductDto dto) {
productService.add(dto);
return R.ok();
}
@Operation(summary = "编辑硬件产品")
@SaCheckPermission("website:product:edit")
@PostMapping("/edit")
R<Void> edit(@RequestBody @Validated(Update.class) WebsiteProductDto dto) {
productService.edit(dto);
return R.ok();
}
@Operation(summary = "删除硬件产品")
@SaCheckPermission("website:product:delete")
@PostMapping("/delete")
R<String> delete(@RequestBody @Validated @NotEmpty(message = "集合不能为空")
CommonValidList<Long> ids) {
productService.delete(ids);
return R.ok();
}
@Operation(summary = "获取硬件产品详情")
@GetMapping("/detail")
R<WebsiteProduct> detail(Long id) {
return R.ok(productService.detail(id));
}
}

View File

@ -0,0 +1,79 @@
package com.byhah.cloud.admin.module.website.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.byhah.cloud.admin.module.website.dto.WebsiteSoftwarePlanDto;
import com.byhah.cloud.admin.module.website.dto.WebsiteSoftwarePlanSearchDto;
import com.byhah.cloud.admin.module.website.service.WebsiteSoftwarePlanService;
import com.byhah.cloud.admin.module.website.vo.WebsiteSoftwarePlanVo;
import com.byhah.cloud.basic.core.entity.website.WebsiteSoftwarePlan;
import com.byhah.deploy.basic.util.web.PageUtils;
import com.byhah.deploy.basic.validation.entity.CommonValidList;
import com.byhah.deploy.basic.validation.group.Insert;
import com.byhah.deploy.basic.validation.group.Update;
import com.byhah.deploy.starter.web.R;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotEmpty;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 软件服务解决方案
*
* @author ZYJ
*/
@Tag(name = "软件服务解决方案")
@RestController
@RequiredArgsConstructor
@RequestMapping("/website/software")
public class WebsiteSoftwarePlanController {
private final WebsiteSoftwarePlanService planService;
@Operation(summary = "获取软件服务解决方案分页")
@GetMapping("/page")
R<IPage<WebsiteSoftwarePlanVo>> page(WebsiteSoftwarePlanSearchDto dto) {
return R.ok(planService.page(PageUtils.toPage(), dto));
}
@Operation(summary = "获取软件服务解决方案列表")
@GetMapping("/list")
R<List<WebsiteSoftwarePlanVo>> list(WebsiteSoftwarePlanSearchDto dto) {
return R.ok(planService.page(PageUtils.toNoSizePage(), dto).getRecords());
}
@Operation(summary = "添加软件服务解决方案")
@SaCheckPermission("website:software:add")
@PostMapping("/add")
R<Void> add(@RequestBody @Validated(Insert.class) WebsiteSoftwarePlanDto dto) {
planService.add(dto);
return R.ok();
}
@Operation(summary = "编辑软件服务解决方案")
@SaCheckPermission("website:software:edit")
@PostMapping("/edit")
R<Void> edit(@RequestBody @Validated(Update.class) WebsiteSoftwarePlanDto dto) {
planService.edit(dto);
return R.ok();
}
@Operation(summary = "删除软件服务解决方案")
@SaCheckPermission("website:software:delete")
@PostMapping("/delete")
R<String> delete(@RequestBody @Validated @NotEmpty(message = "集合不能为空")
CommonValidList<Long> ids) {
planService.delete(ids);
return R.ok();
}
@Operation(summary = "获取软件服务解决方案详情")
@GetMapping("/detail")
R<WebsiteSoftwarePlan> detail(Long id) {
return R.ok(planService.detail(id));
}
}

View File

@ -0,0 +1,79 @@
package com.byhah.cloud.admin.module.website.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.byhah.cloud.admin.module.website.dto.WebsiteSuccessCaseDto;
import com.byhah.cloud.admin.module.website.dto.WebsiteSuccessCaseSearchDto;
import com.byhah.cloud.admin.module.website.service.WebsiteSuccessCaseService;
import com.byhah.cloud.admin.module.website.vo.WebsiteSuccessCaseVo;
import com.byhah.cloud.basic.core.entity.website.WebsiteSuccessCase;
import com.byhah.deploy.basic.util.web.PageUtils;
import com.byhah.deploy.basic.validation.entity.CommonValidList;
import com.byhah.deploy.basic.validation.group.Insert;
import com.byhah.deploy.basic.validation.group.Update;
import com.byhah.deploy.starter.web.R;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotEmpty;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 成功案例
*
* @author ZYJ
*/
@Tag(name = "成功案例")
@RestController
@RequiredArgsConstructor
@RequestMapping("/website/case")
public class WebsiteSuccessCaseController {
private final WebsiteSuccessCaseService caseService;
@Operation(summary = "获取成功案例分页")
@GetMapping("/page")
R<IPage<WebsiteSuccessCaseVo>> page(WebsiteSuccessCaseSearchDto dto) {
return R.ok(caseService.page(PageUtils.toPage(), dto));
}
@Operation(summary = "获取成功案例列表")
@GetMapping("/list")
R<List<WebsiteSuccessCaseVo>> list(WebsiteSuccessCaseSearchDto dto) {
return R.ok(caseService.page(PageUtils.toNoSizePage(), dto).getRecords());
}
@Operation(summary = "添加成功案例")
@SaCheckPermission("website:case:add")
@PostMapping("/add")
R<Void> add(@RequestBody @Validated(Insert.class) WebsiteSuccessCaseDto dto) {
caseService.add(dto);
return R.ok();
}
@Operation(summary = "编辑成功案例")
@SaCheckPermission("website:case:edit")
@PostMapping("/edit")
R<Void> edit(@RequestBody @Validated(Update.class) WebsiteSuccessCaseDto dto) {
caseService.edit(dto);
return R.ok();
}
@Operation(summary = "删除成功案例")
@SaCheckPermission("website:case:delete")
@PostMapping("/delete")
R<String> delete(@RequestBody @Validated @NotEmpty(message = "集合不能为空")
CommonValidList<Long> ids) {
caseService.delete(ids);
return R.ok();
}
@Operation(summary = "获取成功案例详情")
@GetMapping("/detail")
R<WebsiteSuccessCase> detail(Long id) {
return R.ok(caseService.detail(id));
}
}

View File

@ -0,0 +1,79 @@
package com.byhah.cloud.admin.module.website.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.byhah.cloud.admin.module.website.dto.WebsiteSuccessCaseTypeDto;
import com.byhah.cloud.admin.module.website.dto.WebsiteSuccessCaseTypeSearchDto;
import com.byhah.cloud.admin.module.website.service.WebsiteSuccessCaseTypeService;
import com.byhah.cloud.admin.module.website.vo.WebsiteSuccessCaseTypeVo;
import com.byhah.cloud.basic.core.entity.website.WebsiteSuccessCaseType;
import com.byhah.deploy.basic.util.web.PageUtils;
import com.byhah.deploy.basic.validation.entity.CommonValidList;
import com.byhah.deploy.basic.validation.group.Insert;
import com.byhah.deploy.basic.validation.group.Update;
import com.byhah.deploy.starter.web.R;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotEmpty;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 成功案例类型
*
* @author ZYJ
*/
@Tag(name = "成功案例类型")
@RestController
@RequiredArgsConstructor
@RequestMapping("/website/caseType")
public class WebsiteSuccessCaseTypeController {
private final WebsiteSuccessCaseTypeService caseTypeService;
@Operation(summary = "获取成功案例类型分页")
@GetMapping("/page")
R<IPage<WebsiteSuccessCaseTypeVo>> page(WebsiteSuccessCaseTypeSearchDto dto) {
return R.ok(caseTypeService.page(PageUtils.toPage(), dto));
}
@Operation(summary = "获取成功案例类型列表")
@GetMapping("/list")
R<List<WebsiteSuccessCaseTypeVo>> list(WebsiteSuccessCaseTypeSearchDto dto) {
return R.ok(caseTypeService.page(PageUtils.toNoSizePage(), dto).getRecords());
}
@Operation(summary = "添加成功案例类型")
@SaCheckPermission("website:caseType:add")
@PostMapping("/add")
R<Void> add(@RequestBody @Validated(Insert.class) WebsiteSuccessCaseTypeDto dto) {
caseTypeService.add(dto);
return R.ok();
}
@Operation(summary = "编辑成功案例类型")
@SaCheckPermission("website:caseType:edit")
@PostMapping("/edit")
R<Void> edit(@RequestBody @Validated(Update.class) WebsiteSuccessCaseTypeDto dto) {
caseTypeService.edit(dto);
return R.ok();
}
@Operation(summary = "删除成功案例类型")
@SaCheckPermission("website:caseType:delete")
@PostMapping("/delete")
R<String> delete(@RequestBody @Validated @NotEmpty(message = "集合不能为空")
CommonValidList<Long> ids) {
caseTypeService.delete(ids);
return R.ok();
}
@Operation(summary = "获取成功案例类型详情")
@GetMapping("/detail")
R<WebsiteSuccessCaseType> detail(Long id) {
return R.ok(caseTypeService.detail(id));
}
}

View File

@ -0,0 +1,79 @@
package com.byhah.cloud.admin.module.website.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.byhah.cloud.admin.module.website.dto.WebsiteTargetDto;
import com.byhah.cloud.admin.module.website.dto.WebsiteTargetSearchDto;
import com.byhah.cloud.admin.module.website.service.WebsiteTargetService;
import com.byhah.cloud.admin.module.website.vo.WebsiteTargetVo;
import com.byhah.cloud.basic.core.entity.website.WebsiteTarget;
import com.byhah.deploy.basic.util.web.PageUtils;
import com.byhah.deploy.basic.validation.entity.CommonValidList;
import com.byhah.deploy.basic.validation.group.Insert;
import com.byhah.deploy.basic.validation.group.Update;
import com.byhah.deploy.starter.web.R;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotEmpty;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 目标
*
* @author ZYJ
*/
@Tag(name = "目标")
@RestController
@RequiredArgsConstructor
@RequestMapping("/website/target")
public class WebsiteTargetController {
private final WebsiteTargetService targetService;
@Operation(summary = "获取目标分页")
@GetMapping("/page")
R<IPage<WebsiteTargetVo>> page(WebsiteTargetSearchDto dto) {
return R.ok(targetService.page(PageUtils.toPage(), dto));
}
@Operation(summary = "获取目标列表")
@GetMapping("/list")
R<List<WebsiteTargetVo>> list(WebsiteTargetSearchDto dto) {
return R.ok(targetService.page(PageUtils.toNoSizePage(), dto).getRecords());
}
@Operation(summary = "添加目标")
@SaCheckPermission("website:target:add")
@PostMapping("/add")
R<Void> add(@RequestBody @Validated(Insert.class) WebsiteTargetDto dto) {
targetService.add(dto);
return R.ok();
}
@Operation(summary = "编辑目标")
@SaCheckPermission("website:target:edit")
@PostMapping("/edit")
R<Void> edit(@RequestBody @Validated(Update.class) WebsiteTargetDto dto) {
targetService.edit(dto);
return R.ok();
}
@Operation(summary = "删除目标")
@SaCheckPermission("website:target:delete")
@PostMapping("/delete")
R<String> delete(@RequestBody @Validated @NotEmpty(message = "集合不能为空")
CommonValidList<Long> ids) {
targetService.delete(ids);
return R.ok();
}
@Operation(summary = "获取目标详情")
@GetMapping("/detail")
R<WebsiteTarget> detail(Long id) {
return R.ok(targetService.detail(id));
}
}

View File

@ -0,0 +1,39 @@
package com.byhah.cloud.admin.module.website.dto;
import com.byhah.deploy.basic.validation.group.Insert;
import com.byhah.deploy.basic.validation.group.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Null;
import lombok.Data;
/**
* 客户评价参数
*
* @author ZYJ
**/
@Data
public class WebsiteCommentDto {
@NotNull(message = "id不能为空", groups = Update.class)
@Null(message = "id必须为空", groups = Insert.class)
private Long id;
@Schema(description = "评价人名称")
private String name;
@Schema(description = "评价人头像")
private String avatar;
@Schema(description = "评价人描述")
private String remark;
@Schema(description = "评价内容")
private String content;
@Schema(description = "评价星级")
private String star;
@Schema(description = "排序")
private Integer sort;
}

View File

@ -0,0 +1,19 @@
package com.byhah.cloud.admin.module.website.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 客户评价查询参数
*
* @author ZYJ
**/
@Data
public class WebsiteCommentSearchDto {
@Schema(description = "评价人名称")
private String name;
@Schema(description = "是否启用")
private Boolean enabled;
}

View File

@ -0,0 +1,23 @@
package com.byhah.cloud.admin.module.website.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* 咨询信息编辑参数
*
* @author ZYJ
**/
@Data
public class WebsiteConsultDto {
@NotNull(message = "id不能为空")
private Long id;
@Schema(description = "是否处理")
private Boolean contactStatus;
@Schema(description = "后续备注")
private String remark;
}

View File

@ -0,0 +1,22 @@
package com.byhah.cloud.admin.module.website.dto;
import com.byhah.cloud.basic.core.model.CommonSearch;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 咨询信息查询参数
*
* @author ZYJ
**/
@Data
@EqualsAndHashCode(callSuper = true)
public class WebsiteConsultSearchDto extends CommonSearch {
@Schema(description = "咨询类型id")
private Long typeId;
@Schema(description = "是否处理")
private Boolean contactStatus;
}

View File

@ -0,0 +1,27 @@
package com.byhah.cloud.admin.module.website.dto;
import com.byhah.deploy.basic.validation.group.Insert;
import com.byhah.deploy.basic.validation.group.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Null;
import lombok.Data;
/**
* 咨询类型编辑参数
*
* @author ZYJ
**/
@Data
public class WebsiteConsultTypeDto {
@NotNull(message = "id不能为空", groups = Update.class)
@Null(message = "id必须为空", groups = Insert.class)
private Long id;
@Schema(description = "类型名称")
private String name;
@Schema(description = "排序")
private Integer sort;
}

View File

@ -0,0 +1,16 @@
package com.byhah.cloud.admin.module.website.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 咨询类型查询参数
*
* @author ZYJ
**/
@Data
public class WebsiteConsultTypeSearchDto {
@Schema(description = "类型名称")
private String name;
}

View File

@ -0,0 +1,40 @@
package com.byhah.cloud.admin.module.website.dto;
import com.byhah.cloud.basic.core.entity.website.WebsiteProduct;
import com.byhah.deploy.basic.validation.group.Insert;
import com.byhah.deploy.basic.validation.group.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Null;
import lombok.Data;
/**
* 硬件产品编辑参数
*
* @author ZYJ
**/
@Data
public class WebsiteProductDto {
@NotNull(message = "id不能为空", groups = Update.class)
@Null(message = "id必须为空", groups = Insert.class)
private Long id;
@Schema(description = "产品名称")
private String name;
@Schema(description = "产品图片")
private String pic;
@Schema(description = "产品标签(左上角标识)")
private String tag;
@Schema(description = "产品描述")
private String remark;
@Schema(description = "额外信息")
private WebsiteProduct.ProductExtra extra;
@Schema(description = "排序")
private Integer sort;
}

View File

@ -0,0 +1,16 @@
package com.byhah.cloud.admin.module.website.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 硬件产品查询参数
*
* @author ZYJ
**/
@Data
public class WebsiteProductSearchDto {
@Schema(description = "产品名称")
private String name;
}

View File

@ -0,0 +1,33 @@
package com.byhah.cloud.admin.module.website.dto;
import com.byhah.deploy.basic.validation.group.Insert;
import com.byhah.deploy.basic.validation.group.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Null;
import lombok.Data;
/**
* 软件服务解决方案编辑参数
*
* @author ZYJ
**/
@Data
public class WebsiteSoftwarePlanDto {
@NotNull(message = "id不能为空", groups = Update.class)
@Null(message = "id必须为空", groups = Insert.class)
private Long id;
@Schema(description = "方案名称")
private String name;
@Schema(description = "方案图片")
private String pic;
@Schema(description = "方案描述")
private String remark;
@Schema(description = "排序")
private Integer sort;
}

View File

@ -0,0 +1,16 @@
package com.byhah.cloud.admin.module.website.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 软件服务解决方案查询参数
*
* @author ZYJ
**/
@Data
public class WebsiteSoftwarePlanSearchDto {
@Schema(description = "方案名称")
private String name;
}

View File

@ -0,0 +1,36 @@
package com.byhah.cloud.admin.module.website.dto;
import com.byhah.deploy.basic.validation.group.Insert;
import com.byhah.deploy.basic.validation.group.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Null;
import lombok.Data;
/**
* 成功案例编辑参数
*
* @author ZYJ
**/
@Data
public class WebsiteSuccessCaseDto {
@NotNull(message = "id不能为空", groups = Update.class)
@Null(message = "id必须为空", groups = Insert.class)
private Long id;
@Schema(description = "案例名称")
private String name;
@Schema(description = "案例图片")
private String pic;
@Schema(description = "案例描述")
private String remark;
@Schema(description = "案例类型id")
private Long typeId;
@Schema(description = "排序")
private Integer sort;
}

View File

@ -0,0 +1,19 @@
package com.byhah.cloud.admin.module.website.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 成功案例查询参数
*
* @author ZYJ
**/
@Data
public class WebsiteSuccessCaseSearchDto {
@Schema(description = "案例名称")
private String name;
@Schema(description = "案例类型id")
private Long typeId;
}

View File

@ -0,0 +1,27 @@
package com.byhah.cloud.admin.module.website.dto;
import com.byhah.deploy.basic.validation.group.Insert;
import com.byhah.deploy.basic.validation.group.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Null;
import lombok.Data;
/**
* 成功案例类型编辑参数
*
* @author ZYJ
**/
@Data
public class WebsiteSuccessCaseTypeDto {
@NotNull(message = "id不能为空", groups = Update.class)
@Null(message = "id必须为空", groups = Insert.class)
private Long id;
@Schema(description = "类型名称")
private String name;
@Schema(description = "排序")
private Integer sort;
}

View File

@ -0,0 +1,16 @@
package com.byhah.cloud.admin.module.website.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 成功案例类型查询参数
*
* @author ZYJ
**/
@Data
public class WebsiteSuccessCaseTypeSearchDto {
@Schema(description = "类型名称")
private String name;
}

View File

@ -0,0 +1,33 @@
package com.byhah.cloud.admin.module.website.dto;
import com.byhah.deploy.basic.validation.group.Insert;
import com.byhah.deploy.basic.validation.group.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Null;
import lombok.Data;
/**
* 目标编辑参数
*
* @author ZYJ
**/
@Data
public class WebsiteTargetDto {
@NotNull(message = "id不能为空", groups = Update.class)
@Null(message = "id必须为空", groups = Insert.class)
private Long id;
@Schema(description = "名称")
private String name;
@Schema(description = "图片")
private String pic;
@Schema(description = "描述")
private String remark;
@Schema(description = "排序")
private Integer sort;
}

View File

@ -0,0 +1,16 @@
package com.byhah.cloud.admin.module.website.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 目标信息查询参数
*
* @author ZYJ
**/
@Data
public class WebsiteTargetSearchDto {
@Schema(description = "目标名称")
private String name;
}

View File

@ -0,0 +1,68 @@
package com.byhah.cloud.admin.module.website.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.byhah.cloud.admin.mapper.WebsiteMapper;
import com.byhah.cloud.admin.module.website.dto.WebsiteCommentDto;
import com.byhah.cloud.admin.module.website.dto.WebsiteCommentSearchDto;
import com.byhah.cloud.admin.module.website.vo.WebsiteCommentVo;
import com.byhah.cloud.basic.core.entity.website.WebsiteComment;
import com.byhah.cloud.orm.mapper.website.IWebsiteCommentMapper;
import com.byhah.deploy.basic.core.exception.CommonException;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 客户评价Service实现类
*
* @author ZYJ
**/
@Service
@RequiredArgsConstructor
@Transactional(rollbackFor = Exception.class)
public class WebsiteCommentService extends ServiceImpl<IWebsiteCommentMapper, WebsiteComment> {
private final WebsiteMapper websiteMapper;
public IPage<WebsiteCommentVo> page(Page<WebsiteComment> page, WebsiteCommentSearchDto dto) {
return websiteMapper.commentPage(page, dto);
}
public void add(WebsiteCommentDto dto) {
WebsiteComment comment = BeanUtil.toBean(dto, WebsiteComment.class);
this.save(comment);
}
public void edit(WebsiteCommentDto dto) {
WebsiteComment comment = this.queryEntity(dto.getId());
BeanUtil.copyProperties(dto, comment);
this.updateById(comment);
}
public void delete(List<Long> ids) {
this.removeByIds(ids);
}
public WebsiteComment detail(Long id) {
return this.queryEntity(id);
}
public WebsiteComment queryEntity(Long id) {
WebsiteComment comment = this.getById(id);
if (ObjectUtil.isEmpty(comment)) {
throw new CommonException("客户评价不存在id值为{}", id);
}
return comment;
}
public void changeStatus(Long id) {
WebsiteComment comment = getById(id);
updateById(new WebsiteComment(id, !comment.getEnabled()));
}
}

View File

@ -0,0 +1,63 @@
package com.byhah.cloud.admin.module.website.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.byhah.cloud.admin.mapper.WebsiteMapper;
import com.byhah.cloud.admin.module.website.dto.WebsiteConsultDto;
import com.byhah.cloud.admin.module.website.dto.WebsiteConsultSearchDto;
import com.byhah.cloud.admin.module.website.dto.WebsiteConsultTypeDto;
import com.byhah.cloud.admin.module.website.dto.WebsiteConsultTypeSearchDto;
import com.byhah.cloud.admin.module.website.vo.WebsiteConsultTypeVo;
import com.byhah.cloud.admin.module.website.vo.WebsiteConsultVo;
import com.byhah.cloud.basic.core.entity.website.WebsiteConsult;
import com.byhah.cloud.basic.core.entity.website.WebsiteConsultType;
import com.byhah.cloud.orm.mapper.website.IWebsiteConsultMapper;
import com.byhah.cloud.orm.mapper.website.IWebsiteConsultTypeMapper;
import com.byhah.deploy.basic.core.exception.CommonException;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 咨询信息Service实现类
*
* @author ZYJ
**/
@Service
@RequiredArgsConstructor
@Transactional(rollbackFor = Exception.class)
public class WebsiteConsultService extends ServiceImpl<IWebsiteConsultMapper, WebsiteConsult> {
private final WebsiteMapper websiteMapper;
public IPage<WebsiteConsultVo> page(Page<WebsiteConsult> page, WebsiteConsultSearchDto dto) {
return websiteMapper.consultPage(page, dto);
}
public void delete(List<Long> ids) {
this.removeByIds(ids);
}
public WebsiteConsult detail(Long id) {
return this.queryEntity(id);
}
public WebsiteConsult queryEntity(Long id) {
WebsiteConsult consult = this.getById(id);
if (ObjectUtil.isEmpty(consult)) {
throw new CommonException("咨询信息不存在id值为{}", id);
}
return consult;
}
public void handle(WebsiteConsultDto dto) {
WebsiteConsult consult = this.queryEntity(dto.getId());
BeanUtil.copyProperties(dto, consult);
this.updateById(consult);
}
}

View File

@ -0,0 +1,63 @@
package com.byhah.cloud.admin.module.website.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.byhah.cloud.admin.mapper.WebsiteMapper;
import com.byhah.cloud.admin.module.website.dto.WebsiteConsultTypeDto;
import com.byhah.cloud.admin.module.website.dto.WebsiteConsultTypeSearchDto;
import com.byhah.cloud.admin.module.website.vo.WebsiteConsultTypeVo;
import com.byhah.cloud.basic.core.entity.website.WebsiteConsultType;
import com.byhah.cloud.orm.mapper.website.IWebsiteConsultTypeMapper;
import com.byhah.deploy.basic.core.exception.CommonException;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 咨询类型Service实现类
*
* @author ZYJ
**/
@Service
@RequiredArgsConstructor
@Transactional(rollbackFor = Exception.class)
public class WebsiteConsultTypeService extends ServiceImpl<IWebsiteConsultTypeMapper, WebsiteConsultType> {
private final WebsiteMapper websiteMapper;
public IPage<WebsiteConsultTypeVo> page(Page<WebsiteConsultType> page, WebsiteConsultTypeSearchDto dto) {
return websiteMapper.consultTypePage(page, dto);
}
public void add(WebsiteConsultTypeDto dto) {
WebsiteConsultType type = BeanUtil.toBean(dto, WebsiteConsultType.class);
this.save(type);
}
public void edit(WebsiteConsultTypeDto dto) {
WebsiteConsultType type = this.queryEntity(dto.getId());
BeanUtil.copyProperties(dto, type);
this.updateById(type);
}
public void delete(List<Long> ids) {
this.removeByIds(ids);
}
public WebsiteConsultType detail(Long id) {
return this.queryEntity(id);
}
public WebsiteConsultType queryEntity(Long id) {
WebsiteConsultType type = this.getById(id);
if (ObjectUtil.isEmpty(type)) {
throw new CommonException("咨询类型不存在id值为{}", id);
}
return type;
}
}

View File

@ -0,0 +1,63 @@
package com.byhah.cloud.admin.module.website.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.byhah.cloud.admin.mapper.WebsiteMapper;
import com.byhah.cloud.admin.module.website.dto.WebsiteProductDto;
import com.byhah.cloud.admin.module.website.dto.WebsiteProductSearchDto;
import com.byhah.cloud.admin.module.website.vo.WebsiteProductVo;
import com.byhah.cloud.basic.core.entity.website.WebsiteProduct;
import com.byhah.cloud.orm.mapper.website.IWebsiteProductMapper;
import com.byhah.deploy.basic.core.exception.CommonException;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 硬件产品Service实现类
*
* @author ZYJ
**/
@Service
@RequiredArgsConstructor
@Transactional(rollbackFor = Exception.class)
public class WebsiteProductService extends ServiceImpl<IWebsiteProductMapper, WebsiteProduct> {
private final WebsiteMapper websiteMapper;
public IPage<WebsiteProductVo> page(Page<WebsiteProduct> page, WebsiteProductSearchDto dto) {
return websiteMapper.productPage(page, dto);
}
public void add(WebsiteProductDto dto) {
WebsiteProduct product = BeanUtil.toBean(dto, WebsiteProduct.class);
this.save(product);
}
public void edit(WebsiteProductDto dto) {
WebsiteProduct product = this.queryEntity(dto.getId());
BeanUtil.copyProperties(dto, product);
this.updateById(product);
}
public void delete(List<Long> ids) {
this.removeByIds(ids);
}
public WebsiteProduct detail(Long id) {
return this.queryEntity(id);
}
public WebsiteProduct queryEntity(Long id) {
WebsiteProduct product = this.getById(id);
if (ObjectUtil.isEmpty(product)) {
throw new CommonException("硬件产品不存在id值为{}", id);
}
return product;
}
}

View File

@ -0,0 +1,63 @@
package com.byhah.cloud.admin.module.website.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.byhah.cloud.admin.mapper.WebsiteMapper;
import com.byhah.cloud.admin.module.website.dto.WebsiteSoftwarePlanDto;
import com.byhah.cloud.admin.module.website.dto.WebsiteSoftwarePlanSearchDto;
import com.byhah.cloud.admin.module.website.vo.WebsiteSoftwarePlanVo;
import com.byhah.cloud.basic.core.entity.website.WebsiteSoftwarePlan;
import com.byhah.cloud.orm.mapper.website.IWebsiteSoftwarePlanMapper;
import com.byhah.deploy.basic.core.exception.CommonException;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 软件服务解决方案Service实现类
*
* @author ZYJ
**/
@Service
@RequiredArgsConstructor
@Transactional(rollbackFor = Exception.class)
public class WebsiteSoftwarePlanService extends ServiceImpl<IWebsiteSoftwarePlanMapper, WebsiteSoftwarePlan> {
private final WebsiteMapper websiteMapper;
public IPage<WebsiteSoftwarePlanVo> page(Page<WebsiteSoftwarePlan> page, WebsiteSoftwarePlanSearchDto dto) {
return websiteMapper.softwarePlanPage(page, dto);
}
public void add(WebsiteSoftwarePlanDto dto) {
WebsiteSoftwarePlan softwarePlan = BeanUtil.toBean(dto, WebsiteSoftwarePlan.class);
this.save(softwarePlan);
}
public void edit(WebsiteSoftwarePlanDto dto) {
WebsiteSoftwarePlan softwarePlan = this.queryEntity(dto.getId());
BeanUtil.copyProperties(dto, softwarePlan);
this.updateById(softwarePlan);
}
public void delete(List<Long> ids) {
this.removeByIds(ids);
}
public WebsiteSoftwarePlan detail(Long id) {
return this.queryEntity(id);
}
public WebsiteSoftwarePlan queryEntity(Long id) {
WebsiteSoftwarePlan softwarePlan = this.getById(id);
if (ObjectUtil.isEmpty(softwarePlan)) {
throw new CommonException("软件服务解决方案不存在id值为{}", id);
}
return softwarePlan;
}
}

View File

@ -0,0 +1,63 @@
package com.byhah.cloud.admin.module.website.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.byhah.cloud.admin.mapper.WebsiteMapper;
import com.byhah.cloud.admin.module.website.dto.WebsiteSuccessCaseDto;
import com.byhah.cloud.admin.module.website.dto.WebsiteSuccessCaseSearchDto;
import com.byhah.cloud.admin.module.website.vo.WebsiteSuccessCaseVo;
import com.byhah.cloud.basic.core.entity.website.WebsiteSuccessCase;
import com.byhah.cloud.orm.mapper.website.IWebsiteSuccessCaseMapper;
import com.byhah.deploy.basic.core.exception.CommonException;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 成功案例Service实现类
*
* @author ZYJ
**/
@Service
@RequiredArgsConstructor
@Transactional(rollbackFor = Exception.class)
public class WebsiteSuccessCaseService extends ServiceImpl<IWebsiteSuccessCaseMapper, WebsiteSuccessCase> {
private final WebsiteMapper websiteMapper;
public IPage<WebsiteSuccessCaseVo> page(Page<WebsiteSuccessCase> page, WebsiteSuccessCaseSearchDto dto) {
return websiteMapper.successCasePage(page, dto);
}
public void add(WebsiteSuccessCaseDto dto) {
WebsiteSuccessCase successCase = BeanUtil.toBean(dto, WebsiteSuccessCase.class);
this.save(successCase);
}
public void edit(WebsiteSuccessCaseDto dto) {
WebsiteSuccessCase successCase = this.queryEntity(dto.getId());
BeanUtil.copyProperties(dto, successCase);
this.updateById(successCase);
}
public void delete(List<Long> ids) {
this.removeByIds(ids);
}
public WebsiteSuccessCase detail(Long id) {
return this.queryEntity(id);
}
public WebsiteSuccessCase queryEntity(Long id) {
WebsiteSuccessCase successCase = this.getById(id);
if (ObjectUtil.isEmpty(successCase)) {
throw new CommonException("成功案例不存在id值为{}", id);
}
return successCase;
}
}

View File

@ -0,0 +1,63 @@
package com.byhah.cloud.admin.module.website.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.byhah.cloud.admin.mapper.WebsiteMapper;
import com.byhah.cloud.admin.module.website.dto.WebsiteSuccessCaseTypeDto;
import com.byhah.cloud.admin.module.website.dto.WebsiteSuccessCaseTypeSearchDto;
import com.byhah.cloud.admin.module.website.vo.WebsiteSuccessCaseTypeVo;
import com.byhah.cloud.basic.core.entity.website.WebsiteSuccessCaseType;
import com.byhah.cloud.orm.mapper.website.IWebsiteSuccessCaseTypeMapper;
import com.byhah.deploy.basic.core.exception.CommonException;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 成功案例类型Service实现类
*
* @author ZYJ
**/
@Service
@RequiredArgsConstructor
@Transactional(rollbackFor = Exception.class)
public class WebsiteSuccessCaseTypeService extends ServiceImpl<IWebsiteSuccessCaseTypeMapper, WebsiteSuccessCaseType> {
private final WebsiteMapper websiteMapper;
public IPage<WebsiteSuccessCaseTypeVo> page(Page<WebsiteSuccessCaseType> page, WebsiteSuccessCaseTypeSearchDto dto) {
return websiteMapper.successCaseTypePage(page, dto);
}
public void add(WebsiteSuccessCaseTypeDto dto) {
WebsiteSuccessCaseType type = BeanUtil.toBean(dto, WebsiteSuccessCaseType.class);
this.save(type);
}
public void edit(WebsiteSuccessCaseTypeDto dto) {
WebsiteSuccessCaseType type = this.queryEntity(dto.getId());
BeanUtil.copyProperties(dto, type);
this.updateById(type);
}
public void delete(List<Long> ids) {
this.removeByIds(ids);
}
public WebsiteSuccessCaseType detail(Long id) {
return this.queryEntity(id);
}
public WebsiteSuccessCaseType queryEntity(Long id) {
WebsiteSuccessCaseType type = this.getById(id);
if (ObjectUtil.isEmpty(type)) {
throw new CommonException("成功案例类型不存在id值为{}", id);
}
return type;
}
}

View File

@ -0,0 +1,63 @@
package com.byhah.cloud.admin.module.website.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.byhah.cloud.admin.mapper.WebsiteMapper;
import com.byhah.cloud.admin.module.website.dto.WebsiteTargetDto;
import com.byhah.cloud.admin.module.website.dto.WebsiteTargetSearchDto;
import com.byhah.cloud.admin.module.website.vo.WebsiteTargetVo;
import com.byhah.cloud.basic.core.entity.website.WebsiteTarget;
import com.byhah.cloud.orm.mapper.website.IWebsiteTargetMapper;
import com.byhah.deploy.basic.core.exception.CommonException;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 目标信息Service实现类
*
* @author ZYJ
**/
@Service
@RequiredArgsConstructor
@Transactional(rollbackFor = Exception.class)
public class WebsiteTargetService extends ServiceImpl<IWebsiteTargetMapper, WebsiteTarget> {
private final WebsiteMapper websiteMapper;
public IPage<WebsiteTargetVo> page(Page<WebsiteTarget> page, WebsiteTargetSearchDto dto) {
return websiteMapper.targetPage(page, dto);
}
public void add(WebsiteTargetDto dto) {
WebsiteTarget target = BeanUtil.toBean(dto, WebsiteTarget.class);
this.save(target);
}
public void edit(WebsiteTargetDto dto) {
WebsiteTarget target = this.queryEntity(dto.getId());
BeanUtil.copyProperties(dto, target);
this.updateById(target);
}
public void delete(List<Long> ids) {
this.removeByIds(ids);
}
public WebsiteTarget detail(Long id) {
return this.queryEntity(id);
}
public WebsiteTarget queryEntity(Long id) {
WebsiteTarget target = this.getById(id);
if (ObjectUtil.isEmpty(target)) {
throw new CommonException("目标信息不存在id值为{}", id);
}
return target;
}
}

View File

@ -0,0 +1,42 @@
package com.byhah.cloud.admin.module.website.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 客户评价
*
* @author ZYJ
**/
@Data
public class WebsiteCommentVo {
@Schema(description = "类型id")
private Long id;
@Schema(description = "创建时间")
private LocalDateTime createdAt;
@Schema(description = "评价人名称")
private String name;
@Schema(description = "评价人头像")
private String avatar;
@Schema(description = "评价人描述")
private String remark;
@Schema(description = "评价内容")
private String content;
@Schema(description = "评价星级")
private String star;
@Schema(description = "排序")
private Integer sort;
@Schema(description = "是否启用")
private Boolean enabled;
}

View File

@ -0,0 +1,27 @@
package com.byhah.cloud.admin.module.website.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 咨询类型
*
* @author ZYJ
**/
@Data
public class WebsiteConsultTypeVo {
@Schema(description = "类型id")
private Long id;
@Schema(description = "创建时间")
private LocalDateTime createdAt;
@Schema(description = "类型名称")
private String name;
@Schema(description = "排序")
private Integer sort;
}

View File

@ -0,0 +1,45 @@
package com.byhah.cloud.admin.module.website.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 咨询信息
*
* @author ZYJ
**/
@Data
public class WebsiteConsultVo {
@Schema(description = "咨询id")
private Long id;
@Schema(description = "创建时间")
private LocalDateTime createdAt;
@Schema(description = "姓名")
private String name;
@Schema(description = "电话")
private String phone;
@Schema(description = "邮箱")
private String email;
@Schema(description = "咨询类型id")
private Long typeId;
@Schema(description = "咨询类型名称")
private String typeName;
@Schema(description = "内容")
private String content;
@Schema(description = "是否处理")
private Boolean contactStatus;
@Schema(description = "后续备注")
private String remark;
}

View File

@ -0,0 +1,40 @@
package com.byhah.cloud.admin.module.website.vo;
import com.byhah.cloud.basic.core.entity.website.WebsiteProduct;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 硬件产品
*
* @author ZYJ
**/
@Data
public class WebsiteProductVo {
@Schema(description = "产品id")
private Long id;
@Schema(description = "创建时间")
private LocalDateTime createdAt;
@Schema(description = "产品名称")
private String name;
@Schema(description = "产品图片")
private String pic;
@Schema(description = "产品标签(左上角标识)")
private String tag;
@Schema(description = "产品描述")
private String remark;
@Schema(description = "额外信息")
private WebsiteProduct.ProductExtra extra;
@Schema(description = "排序")
private Integer sort;
}

View File

@ -0,0 +1,33 @@
package com.byhah.cloud.admin.module.website.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 软件服务解决方案
*
* @author ZYJ
**/
@Data
public class WebsiteSoftwarePlanVo {
@Schema(description = "方案id")
private Long id;
@Schema(description = "创建时间")
private LocalDateTime createdAt;
@Schema(description = "方案名称")
private String name;
@Schema(description = "方案图片")
private String pic;
@Schema(description = "方案描述")
private String remark;
@Schema(description = "排序")
private Integer sort;
}

View File

@ -0,0 +1,27 @@
package com.byhah.cloud.admin.module.website.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 成功案例类型
*
* @author ZYJ
**/
@Data
public class WebsiteSuccessCaseTypeVo {
@Schema(description = "类型id")
private Long id;
@Schema(description = "创建时间")
private LocalDateTime createdAt;
@Schema(description = "类型名称")
private String name;
@Schema(description = "排序")
private Integer sort;
}

View File

@ -0,0 +1,39 @@
package com.byhah.cloud.admin.module.website.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 成功案例
*
* @author ZYJ
**/
@Data
public class WebsiteSuccessCaseVo {
@Schema(description = "类型id")
private Long id;
@Schema(description = "创建时间")
private LocalDateTime createdAt;
@Schema(description = "案例名称")
private String name;
@Schema(description = "案例图片")
private String pic;
@Schema(description = "案例描述")
private String remark;
@Schema(description = "案例类型id")
private Long typeId;
@Schema(description = "案例类型名称")
private String typeName;
@Schema(description = "排序")
private Integer sort;
}

View File

@ -0,0 +1,33 @@
package com.byhah.cloud.admin.module.website.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 目标信息
*
* @author ZYJ
**/
@Data
public class WebsiteTargetVo {
@Schema(description = "类型id")
private Long id;
@Schema(description = "创建时间")
private LocalDateTime createdAt;
@Schema(description = "名称")
private String name;
@Schema(description = "图片")
private String pic;
@Schema(description = "描述")
private String remark;
@Schema(description = "排序")
private Integer sort;
}

View File

@ -0,0 +1,131 @@
<?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">
<mapper namespace="com.byhah.cloud.admin.mapper.WebsiteMapper">
<select id="productPage" resultType="com.byhah.cloud.admin.module.website.vo.WebsiteProductVo">
SELECT
*
FROM
website_product
WHERE
deleted = FALSE
<if test="dto.name != null and dto.name != ''">
and name like concat('%', #{dto.name}, '%')
</if>
order by sort, created_at desc
</select>
<select id="softwarePlanPage" resultType="com.byhah.cloud.admin.module.website.vo.WebsiteSoftwarePlanVo">
SELECT
*
FROM
website_software_plan
WHERE
deleted = FALSE
<if test="dto.name != null and dto.name != ''">
and name like concat('%', #{dto.name}, '%')
</if>
order by sort, created_at desc
</select>
<select id="consultPage" resultType="com.byhah.cloud.admin.module.website.vo.WebsiteConsultVo">
SELECT
c.*,
ct.name AS type_name
FROM
website_consult c
LEFT JOIN website_consult_type ct ON C.type_id = ct.id
WHERE
c.deleted = FALSE
<if test="dto.contactStatus != null">
AND c.contact_status = #{dto.contactStatus}
</if>
<if test="dto.typeId != null">
AND c.type_id = #{dto.typeId}
</if>
<if test="dto.searchKey != null and dto.searchKey != ''">
AND (
c.name LIKE concat ( '%', #{dto.searchKey}, '%' )
OR c.phone LIKE concat ( '%', #{dto.searchKey}, '%' )
OR c.email LIKE concat ( '%', #{dto.searchKey}, '%' )
)
</if>
ORDER BY
c.created_at DESC
</select>
<select id="consultTypePage" resultType="com.byhah.cloud.admin.module.website.vo.WebsiteConsultTypeVo">
SELECT
*
FROM
website_consult_type
WHERE
deleted = FALSE
<if test="dto.name != null and dto.name != ''">
and name like concat('%', #{dto.name}, '%')
</if>
order by sort, created_at desc
</select>
<select id="successCaseTypePage"
resultType="com.byhah.cloud.admin.module.website.vo.WebsiteSuccessCaseTypeVo">
SELECT
*
FROM
website_success_case_type
WHERE
deleted = FALSE
<if test="dto.name != null and dto.name != ''">
and name like concat('%', #{dto.name}, '%')
</if>
order by sort, created_at desc
</select>
<select id="successCasePage" resultType="com.byhah.cloud.admin.module.website.vo.WebsiteSuccessCaseVo">
SELECT
c.*,
ct.name AS type_name
FROM
website_success_case c
LEFT JOIN website_success_case_type ct ON C.type_id = ct.id
WHERE
c.deleted = FALSE
<if test="dto.typeId != null">
AND c.type_id = #{dto.typeId}
</if>
<if test="dto.name != null and dto.name != ''">
AND c.name LIKE concat ( '%', #{dto.name}, '%' )
</if>
order by c.sort, c.created_at desc
</select>
<select id="targetPage" resultType="com.byhah.cloud.admin.module.website.vo.WebsiteTargetVo">
SELECT
*
FROM
website_target
WHERE
deleted = FALSE
<if test="dto.name != null and dto.name != ''">
and name like concat('%', #{dto.name}, '%')
</if>
order by sort, created_at desc
</select>
<select id="commentPage" resultType="com.byhah.cloud.admin.module.website.vo.WebsiteCommentVo">
SELECT
*
FROM
website_comment
WHERE
deleted = FALSE
<if test="dto.name != null and dto.name != ''">
and name like concat('%', #{dto.name}, '%')
</if>
<if test="dto.enabled != null">
AND enabled = #{dto.enabled}
</if>
order by sort, created_at desc
</select>
</mapper>

View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.byhah.cloud.basic.core.enums.dev.DevLogType;
import com.byhah.deploy.basic.core.annotation.PgBoolean;
import com.byhah.deploy.basic.core.annotation.PgInteger;
import com.byhah.deploy.basic.core.annotation.PgText;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@ -46,6 +47,7 @@ public class DevLog {
* 具体消息
*/
@Schema(description = "具体消息")
@PgText
private String exeMessage;
/**
@ -76,12 +78,14 @@ public class DevLog {
* 类名称
*/
@Schema(description = "类名称")
@PgText
private String className;
/**
* 方法名称
*/
@Schema(description = "方法名称")
@PgText
private String methodName;
/**
@ -100,12 +104,14 @@ public class DevLog {
* 请求参数
*/
@Schema(description = "请求参数")
@PgText
private String paramJson;
/**
* 返回结果
*/
@Schema(description = "返回结果")
@PgText
private String resultJson;
/**

View File

@ -0,0 +1,57 @@
package com.byhah.cloud.basic.core.entity.website;
import com.byhah.cloud.basic.core.entity.BaseEntity;
import com.byhah.deploy.basic.core.annotation.PgBoolean;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.io.Serial;
/**
* 客户评价
*
* @author ZYJ
**/
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class WebsiteComment extends BaseEntity {
@Serial
private static final long serialVersionUID = 446170818680511632L;
@Schema(description = "主键")
private Long id;
@Schema(description = "评价人名称")
private String name;
@Schema(description = "评价人头像")
private String avatar;
@Schema(description = "评价人描述")
private String remark;
@Schema(description = "评价内容")
private String content;
@Schema(description = "评价星级")
private String star;
@Schema(description = "排序")
private Integer sort;
@Schema(description = "是否启用")
@PgBoolean
private Boolean enabled;
public WebsiteComment(Long id, Boolean enabled) {
this.id = id;
this.enabled = enabled;
}
}

View File

@ -0,0 +1,48 @@
package com.byhah.cloud.basic.core.entity.website;
import com.byhah.cloud.basic.core.entity.BaseEntity;
import com.byhah.deploy.basic.core.annotation.PgBoolean;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 网站咨询
*
* @author ZYJ
**/
@Data
@EqualsAndHashCode(callSuper = true)
public class WebsiteConsult extends BaseEntity {
@Serial
private static final long serialVersionUID = -29545433753542092L;
@Schema(description = "主键")
private Long id;
@Schema(description = "姓名")
private String name;
@Schema(description = "电话")
private String phone;
@Schema(description = "邮箱")
private String email;
@Schema(description = "咨询类型id")
private Long typeId;
@Schema(description = "内容")
private String content;
@Schema(description = "是否处理")
@PgBoolean
private Boolean contactStatus;
@Schema(description = "后续备注")
private String remark;
}

View File

@ -0,0 +1,31 @@
package com.byhah.cloud.basic.core.entity.website;
import com.byhah.cloud.basic.core.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 咨询类型
*
* @author ZYJ
**/
@Data
@EqualsAndHashCode(callSuper = true)
public class WebsiteConsultType extends BaseEntity {
@Serial
private static final long serialVersionUID = 201031270548013963L;
@Schema(description = "主键")
private Long id;
@Schema(description = "类型名称")
private String name;
@Schema(description = "排序")
private Integer sort;
}

View File

@ -0,0 +1,60 @@
package com.byhah.cloud.basic.core.entity.website;
import com.byhah.cloud.basic.core.entity.BaseEntity;
import com.byhah.deploy.basic.core.annotation.PgJsonb;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.util.List;
/**
* 硬件产品
*
* @author ZYJ
**/
@Data
@EqualsAndHashCode(callSuper = true)
public class WebsiteProduct extends BaseEntity {
@Serial
private static final long serialVersionUID = -6480686731965980903L;
@Schema(description = "主键")
private Long id;
@Schema(description = "产品名称")
private String name;
@Schema(description = "产品图片")
private String pic;
@Schema(description = "产品标签(左上角标识)")
private String tag;
@Schema(description = "产品描述")
private String remark;
@Schema(description = "排序")
private Integer sort;
@Schema(description = "额外信息")
@PgJsonb
private ProductExtra extra;
@Data
public static class ProductExtra {
@Schema(description = "优势集合")
private List<ProductAdvantage> advantages;
}
@Data
public static class ProductAdvantage {
@Schema(description = "优势")
private String name;
}
}

View File

@ -0,0 +1,37 @@
package com.byhah.cloud.basic.core.entity.website;
import com.byhah.cloud.basic.core.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 软件服务解决方案
*
* @author ZYJ
**/
@Data
@EqualsAndHashCode(callSuper = true)
public class WebsiteSoftwarePlan extends BaseEntity {
@Serial
private static final long serialVersionUID = -2431812188052297308L;
@Schema(description = "主键")
private Long id;
@Schema(description = "方案名称")
private String name;
@Schema(description = "方案图片")
private String pic;
@Schema(description = "方案描述")
private String remark;
@Schema(description = "排序")
private Integer sort;
}

View File

@ -0,0 +1,40 @@
package com.byhah.cloud.basic.core.entity.website;
import com.byhah.cloud.basic.core.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 成功案例
*
* @author ZYJ
**/
@Data
@EqualsAndHashCode(callSuper = true)
public class WebsiteSuccessCase extends BaseEntity {
@Serial
private static final long serialVersionUID = -1919449173669538210L;
@Schema(description = "主键")
private Long id;
@Schema(description = "案例名称")
private String name;
@Schema(description = "案例图片")
private String pic;
@Schema(description = "案例描述")
private String remark;
@Schema(description = "案例类型id")
private Long typeId;
@Schema(description = "排序")
private Integer sort;
}

View File

@ -0,0 +1,31 @@
package com.byhah.cloud.basic.core.entity.website;
import com.byhah.cloud.basic.core.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 成功案例类型
*
* @author ZYJ
**/
@Data
@EqualsAndHashCode(callSuper = true)
public class WebsiteSuccessCaseType extends BaseEntity {
@Serial
private static final long serialVersionUID = 5581124897768170091L;
@Schema(description = "主键")
private Long id;
@Schema(description = "类型名称")
private String name;
@Schema(description = "排序")
private Integer sort;
}

View File

@ -0,0 +1,37 @@
package com.byhah.cloud.basic.core.entity.website;
import com.byhah.cloud.basic.core.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 关于我们的目标信息
*
* @author ZYJ
**/
@Data
@EqualsAndHashCode(callSuper = true)
public class WebsiteTarget extends BaseEntity {
@Serial
private static final long serialVersionUID = 7272726117496281239L;
@Schema(description = "主键")
private Long id;
@Schema(description = "名称")
private String name;
@Schema(description = "图片")
private String pic;
@Schema(description = "描述")
private String remark;
@Schema(description = "排序")
private Integer sort;
}

View File

@ -0,0 +1,14 @@
package com.byhah.cloud.orm.mapper.website;
import com.byhah.cloud.autoconfigure.IBaseMapper;
import com.byhah.cloud.basic.core.entity.website.WebsiteComment;
/**
* 客户评价Mapper接口
*
* @author ZYJ
**/
public interface IWebsiteCommentMapper extends IBaseMapper<WebsiteComment> {
}

View File

@ -0,0 +1,15 @@
package com.byhah.cloud.orm.mapper.website;
import com.byhah.cloud.autoconfigure.IBaseMapper;
import com.byhah.cloud.basic.core.entity.website.WebsiteConsult;
import com.byhah.cloud.basic.core.entity.website.WebsiteTarget;
/**
* 网站咨询Mapper接口
*
* @author ZYJ
**/
public interface IWebsiteConsultMapper extends IBaseMapper<WebsiteConsult> {
}

View File

@ -0,0 +1,14 @@
package com.byhah.cloud.orm.mapper.website;
import com.byhah.cloud.autoconfigure.IBaseMapper;
import com.byhah.cloud.basic.core.entity.website.WebsiteConsultType;
/**
* 网站咨询类型Mapper接口
*
* @author ZYJ
**/
public interface IWebsiteConsultTypeMapper extends IBaseMapper<WebsiteConsultType> {
}

View File

@ -0,0 +1,14 @@
package com.byhah.cloud.orm.mapper.website;
import com.byhah.cloud.autoconfigure.IBaseMapper;
import com.byhah.cloud.basic.core.entity.website.WebsiteProduct;
/**
* 硬件产品Mapper接口
*
* @author ZYJ
**/
public interface IWebsiteProductMapper extends IBaseMapper<WebsiteProduct> {
}

View File

@ -0,0 +1,14 @@
package com.byhah.cloud.orm.mapper.website;
import com.byhah.cloud.autoconfigure.IBaseMapper;
import com.byhah.cloud.basic.core.entity.website.WebsiteSoftwarePlan;
/**
* 软件服务解决方案Mapper接口
*
* @author ZYJ
**/
public interface IWebsiteSoftwarePlanMapper extends IBaseMapper<WebsiteSoftwarePlan> {
}

View File

@ -0,0 +1,14 @@
package com.byhah.cloud.orm.mapper.website;
import com.byhah.cloud.autoconfigure.IBaseMapper;
import com.byhah.cloud.basic.core.entity.website.WebsiteSuccessCase;
/**
* 成功案例Mapper接口
*
* @author ZYJ
**/
public interface IWebsiteSuccessCaseMapper extends IBaseMapper<WebsiteSuccessCase> {
}

View File

@ -0,0 +1,14 @@
package com.byhah.cloud.orm.mapper.website;
import com.byhah.cloud.autoconfigure.IBaseMapper;
import com.byhah.cloud.basic.core.entity.website.WebsiteSuccessCaseType;
/**
* 成功案例类型Mapper接口
*
* @author ZYJ
**/
public interface IWebsiteSuccessCaseTypeMapper extends IBaseMapper<WebsiteSuccessCaseType> {
}

View File

@ -0,0 +1,14 @@
package com.byhah.cloud.orm.mapper.website;
import com.byhah.cloud.autoconfigure.IBaseMapper;
import com.byhah.cloud.basic.core.entity.website.WebsiteTarget;
/**
* 关于我们的目标信息Mapper接口
*
* @author ZYJ
**/
public interface IWebsiteTargetMapper extends IBaseMapper<WebsiteTarget> {
}