From 3dcf9ca3ef9dd64830413a3750b9146aa98f8d50 Mon Sep 17 00:00:00 2001 From: MichaelWin Date: Mon, 3 Nov 2025 23:22:25 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E9=9A=90=E7=A7=81=E5=8D=8F=E8=AE=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../corewing/app/common/base/BaseEntity.java | 9 +- .../PrivacyPolicyBatchDeleteRequest.java | 11 + .../corewing/app/entity/PrivacyPolicy.java | 43 ++ .../app/mapper/PrivacyPolicyMapper.java | 10 + .../admin/biz/BizPrivacyPolicyController.java | 65 ++ .../app/service/PrivacyPolicyService.java | 10 + .../impl/PrivacyPolicyServiceImpl.java | 24 + .../admin/biz/privacyPolicy/index.html | 582 ++++++++++++++++++ 8 files changed, 752 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/corewing/app/dto/biz/privacyPolicy/PrivacyPolicyBatchDeleteRequest.java create mode 100644 src/main/java/com/corewing/app/entity/PrivacyPolicy.java create mode 100644 src/main/java/com/corewing/app/mapper/PrivacyPolicyMapper.java create mode 100644 src/main/java/com/corewing/app/modules/admin/biz/BizPrivacyPolicyController.java create mode 100644 src/main/java/com/corewing/app/service/PrivacyPolicyService.java create mode 100644 src/main/java/com/corewing/app/service/impl/PrivacyPolicyServiceImpl.java create mode 100644 src/main/resources/templates/admin/biz/privacyPolicy/index.html diff --git a/src/main/java/com/corewing/app/common/base/BaseEntity.java b/src/main/java/com/corewing/app/common/base/BaseEntity.java index e7bc9a6..0757964 100644 --- a/src/main/java/com/corewing/app/common/base/BaseEntity.java +++ b/src/main/java/com/corewing/app/common/base/BaseEntity.java @@ -1,7 +1,10 @@ package com.corewing.app.common.base; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; +import java.time.LocalDateTime; import java.util.Date; @Data @@ -10,7 +13,8 @@ public class BaseEntity { /** * 创建时间 */ - private Date createTime; + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; /** * 创建人 */ @@ -18,7 +22,8 @@ public class BaseEntity { /** * 修改时间 */ - private Date updateTime; + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; /** * 修改人 */ diff --git a/src/main/java/com/corewing/app/dto/biz/privacyPolicy/PrivacyPolicyBatchDeleteRequest.java b/src/main/java/com/corewing/app/dto/biz/privacyPolicy/PrivacyPolicyBatchDeleteRequest.java new file mode 100644 index 0000000..b0421f3 --- /dev/null +++ b/src/main/java/com/corewing/app/dto/biz/privacyPolicy/PrivacyPolicyBatchDeleteRequest.java @@ -0,0 +1,11 @@ +package com.corewing.app.dto.biz.privacyPolicy; + +import lombok.Data; + +import java.util.List; + +@Data +public class PrivacyPolicyBatchDeleteRequest { + + private List ids; +} diff --git a/src/main/java/com/corewing/app/entity/PrivacyPolicy.java b/src/main/java/com/corewing/app/entity/PrivacyPolicy.java new file mode 100644 index 0000000..831e3e7 --- /dev/null +++ b/src/main/java/com/corewing/app/entity/PrivacyPolicy.java @@ -0,0 +1,43 @@ +package com.corewing.app.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.corewing.app.common.base.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 隐私政策实体 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@TableName("app_privacy_policy") +public class PrivacyPolicy extends BaseEntity { + + /** + * 隐私政策id + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 隐私政策名称 + */ + private String title; + + /** + * 隐私政策内容 + */ + private String content; + + /** + * 是否显示 + */ + private Integer visible; + + /** + * 排序 + */ + private Integer sort; +} diff --git a/src/main/java/com/corewing/app/mapper/PrivacyPolicyMapper.java b/src/main/java/com/corewing/app/mapper/PrivacyPolicyMapper.java new file mode 100644 index 0000000..fc36ff1 --- /dev/null +++ b/src/main/java/com/corewing/app/mapper/PrivacyPolicyMapper.java @@ -0,0 +1,10 @@ +package com.corewing.app.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.corewing.app.entity.PrivacyPolicy; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface PrivacyPolicyMapper extends BaseMapper { + +} diff --git a/src/main/java/com/corewing/app/modules/admin/biz/BizPrivacyPolicyController.java b/src/main/java/com/corewing/app/modules/admin/biz/BizPrivacyPolicyController.java new file mode 100644 index 0000000..6de033d --- /dev/null +++ b/src/main/java/com/corewing/app/modules/admin/biz/BizPrivacyPolicyController.java @@ -0,0 +1,65 @@ +package com.corewing.app.modules.admin.biz; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.corewing.app.common.Result; +import com.corewing.app.dto.biz.privacyPolicy.PrivacyPolicyBatchDeleteRequest; +import com.corewing.app.entity.PrivacyPolicy; +import com.corewing.app.service.PrivacyPolicyService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.core.env.PropertyResolver; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 隐私政策 + */ +@Controller +@RequestMapping("/biz/privacy_policy") +public class BizPrivacyPolicyController { + + @Resource + private PrivacyPolicyService privacyPolicyService; + + @GetMapping("/index") + public String index() { + return "admin/biz/privacyPolicy/index"; + } + + @GetMapping("/page") + @ResponseBody + public Result> page(PrivacyPolicy privacyPolicy) { + return Result.success(privacyPolicyService.page(privacyPolicy)); + } + + @PostMapping("/save") + @ResponseBody + public Result save(@RequestBody PrivacyPolicy privacyPolicy) { + return Result.isBool(privacyPolicyService.save(privacyPolicy)); + } + + @PostMapping("/update") + @ResponseBody + public Result update(@RequestBody PrivacyPolicy privacyPolicy) { + return Result.isBool(privacyPolicyService.updateById(privacyPolicy)); + } + + @DeleteMapping("/delete") + @ResponseBody + public Result delete(Long id) { + return Result.isBool(privacyPolicyService.removeById(id)); + } + + @PostMapping("/batchDelete") + @ResponseBody + public Result batchDelete(@RequestBody PrivacyPolicyBatchDeleteRequest privacyPolicyBatchDeleteRequest) { + return Result.isBool(privacyPolicyService.removeBatchByIds(privacyPolicyBatchDeleteRequest.getIds())); + } + + + + +} diff --git a/src/main/java/com/corewing/app/service/PrivacyPolicyService.java b/src/main/java/com/corewing/app/service/PrivacyPolicyService.java new file mode 100644 index 0000000..58e6d31 --- /dev/null +++ b/src/main/java/com/corewing/app/service/PrivacyPolicyService.java @@ -0,0 +1,10 @@ +package com.corewing.app.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.corewing.app.entity.PrivacyPolicy; + +public interface PrivacyPolicyService extends IService { + + Page page(PrivacyPolicy privacyPolicy); +} diff --git a/src/main/java/com/corewing/app/service/impl/PrivacyPolicyServiceImpl.java b/src/main/java/com/corewing/app/service/impl/PrivacyPolicyServiceImpl.java new file mode 100644 index 0000000..6f0adc7 --- /dev/null +++ b/src/main/java/com/corewing/app/service/impl/PrivacyPolicyServiceImpl.java @@ -0,0 +1,24 @@ +package com.corewing.app.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.corewing.app.common.page.PageContext; +import com.corewing.app.entity.PrivacyPolicy; +import com.corewing.app.mapper.PrivacyPolicyMapper; +import com.corewing.app.service.PrivacyPolicyService; +import org.springframework.aop.framework.ProxyFactory; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +@Service +public class PrivacyPolicyServiceImpl extends ServiceImpl implements PrivacyPolicyService { + @Override + public Page page(PrivacyPolicy privacyPolicy) { + Page page = PageContext.getPage(PrivacyPolicy.class); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(StringUtils.hasText(privacyPolicy.getTitle()), PrivacyPolicy::getTitle, privacyPolicy.getTitle()); + queryWrapper.eq(privacyPolicy.getVisible() != null, PrivacyPolicy::getVisible, privacyPolicy.getVisible()); + return page(page, queryWrapper); + } +} diff --git a/src/main/resources/templates/admin/biz/privacyPolicy/index.html b/src/main/resources/templates/admin/biz/privacyPolicy/index.html new file mode 100644 index 0000000..0e9f90b --- /dev/null +++ b/src/main/resources/templates/admin/biz/privacyPolicy/index.html @@ -0,0 +1,582 @@ + + + + + + 隐私政策 + + + + + + + + +
+
+

隐私政策

+ + + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + 名称是否显示排序创建时间操作
+
+
+ Loading... +
+

加载中,请稍候...

+
+
+
+ +
暂无匹配数据
+

请尝试调整搜索条件或重置查询

+
+
+ + {{ item.title }} + + {{ item.visible === 1 ? '启用' : '禁用' }} + + {{ item.sort }}{{ formatTime(item.createTime) }} +
+ + +
+
+
+ +
+
+ 已选中 {{ selectedIds.length }} 条数据 + + + +
+
+ +
+
+ 共 {{ total }} 条数据,当前第 {{ pageNum }}/{{ totalPages }} 页 +
+ +
+
+ + +
+ + + + + + + + + + + + + + + + + + + +