From 15b1da46c19fef9f7928e5ee96db54a0f9eac7b4 Mon Sep 17 00:00:00 2001
From: Kris <2893855659@qq.com>
Date: Sun, 1 Dec 2024 01:28:16 +0800
Subject: [PATCH] =?UTF-8?q?=E3=80=90feat=E3=80=91=20=E5=88=9D=E5=A7=8B?=
=?UTF-8?q?=E5=8C=96=E4=BC=9A=E5=91=98=E6=A8=A1=E5=9D=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
(cherry picked from commit 735cdc0c62f51d1d7ff42ad91c33e6ff5198066c)
---
README.md | 2 -
czsj-admin/pom.xml | 5 +
.../main/java/com/czsj/CzsjApplication.java | 11 +-
.../account/CzsjMemberCardController.java | 104 ++++++
.../account/CzsjMemberController.java | 104 ++++++
.../account/CzsjMemberLocusController.java | 104 ++++++
.../account/CzsjMemberRelationController.java | 104 ++++++
.../account/CzsjMemberSignController.java | 104 ++++++
.../account/CzsjMemberTagController.java | 104 ++++++
.../account/CzsjMemberTagGroupController.java | 104 ++++++
.../account/CzsjMemberWxFansController.java | 104 ++++++
.../account/CzsjMemberWxSourceController.java | 104 ++++++
czsj-common/pom.xml | 5 +
.../com/czsj/account/domain/CzsjMember.java | 295 ++++++++++++++++++
.../czsj/account/domain/CzsjMemberCard.java | 122 ++++++++
.../czsj/account/domain/CzsjMemberLocus.java | 139 +++++++++
.../account/domain/CzsjMemberRelation.java | 136 ++++++++
.../czsj/account/domain/CzsjMemberSign.java | 111 +++++++
.../czsj/account/domain/CzsjMemberTag.java | 122 ++++++++
.../account/domain/CzsjMemberTagGroup.java | 108 +++++++
.../czsj/account/domain/CzsjMemberWxFans.java | 239 ++++++++++++++
.../account/domain/CzsjMemberWxSource.java | 234 ++++++++++++++
.../account/mapper/CzsjMemberCardMapper.java | 61 ++++
.../account/mapper/CzsjMemberLocusMapper.java | 61 ++++
.../czsj/account/mapper/CzsjMemberMapper.java | 61 ++++
.../mapper/CzsjMemberRelationMapper.java | 61 ++++
.../account/mapper/CzsjMemberSignMapper.java | 61 ++++
.../mapper/CzsjMemberTagGroupMapper.java | 61 ++++
.../account/mapper/CzsjMemberTagMapper.java | 61 ++++
.../mapper/CzsjMemberWxFansMapper.java | 61 ++++
.../mapper/CzsjMemberWxSourceMapper.java | 61 ++++
.../service/ICzsjMemberCardService.java | 61 ++++
.../service/ICzsjMemberLocusService.java | 61 ++++
.../service/ICzsjMemberRelationService.java | 61 ++++
.../account/service/ICzsjMemberService.java | 61 ++++
.../service/ICzsjMemberSignService.java | 61 ++++
.../service/ICzsjMemberTagGroupService.java | 61 ++++
.../service/ICzsjMemberTagService.java | 61 ++++
.../service/ICzsjMemberWxFansService.java | 61 ++++
.../service/ICzsjMemberWxSourceService.java | 61 ++++
.../impl/CzsjMemberCardServiceImpl.java | 96 ++++++
.../impl/CzsjMemberLocusServiceImpl.java | 96 ++++++
.../impl/CzsjMemberRelationServiceImpl.java | 96 ++++++
.../service/impl/CzsjMemberServiceImpl.java | 96 ++++++
.../impl/CzsjMemberSignServiceImpl.java | 96 ++++++
.../impl/CzsjMemberTagGroupServiceImpl.java | 96 ++++++
.../impl/CzsjMemberTagServiceImpl.java | 96 ++++++
.../impl/CzsjMemberWxFansServiceImpl.java | 96 ++++++
.../impl/CzsjMemberWxSourceServiceImpl.java | 96 ++++++
.../mapper/account/CzsjMemberCardMapper.xml | 90 ++++++
.../mapper/account/CzsjMemberLocusMapper.xml | 95 ++++++
.../mapper/account/CzsjMemberMapper.xml | 150 +++++++++
.../account/CzsjMemberRelationMapper.xml | 95 ++++++
.../mapper/account/CzsjMemberSignMapper.xml | 85 +++++
.../account/CzsjMemberTagGroupMapper.xml | 85 +++++
.../mapper/account/CzsjMemberTagMapper.xml | 90 ++++++
.../mapper/account/CzsjMemberWxFansMapper.xml | 130 ++++++++
.../account/CzsjMemberWxSourceMapper.xml | 130 ++++++++
pom.xml | 14 +
...图片_20240720121710_20241127161057A001.jpg | Bin 0 -> 74566 bytes
60 files changed, 5388 insertions(+), 3 deletions(-)
delete mode 100644 README.md
create mode 100644 czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberCardController.java
create mode 100644 czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberController.java
create mode 100644 czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberLocusController.java
create mode 100644 czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberRelationController.java
create mode 100644 czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberSignController.java
create mode 100644 czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberTagController.java
create mode 100644 czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberTagGroupController.java
create mode 100644 czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberWxFansController.java
create mode 100644 czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberWxSourceController.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/domain/CzsjMember.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberCard.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberLocus.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberRelation.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberSign.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberTag.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberTagGroup.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberWxFans.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberWxSource.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberCardMapper.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberLocusMapper.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberMapper.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberRelationMapper.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberSignMapper.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberTagGroupMapper.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberTagMapper.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberWxFansMapper.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberWxSourceMapper.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberCardService.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberLocusService.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberRelationService.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberService.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberSignService.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberTagGroupService.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberTagService.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberWxFansService.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberWxSourceService.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberCardServiceImpl.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberLocusServiceImpl.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberRelationServiceImpl.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberServiceImpl.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberSignServiceImpl.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberTagGroupServiceImpl.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberTagServiceImpl.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberWxFansServiceImpl.java
create mode 100644 czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberWxSourceServiceImpl.java
create mode 100644 czsj-system/src/main/resources/mapper/account/CzsjMemberCardMapper.xml
create mode 100644 czsj-system/src/main/resources/mapper/account/CzsjMemberLocusMapper.xml
create mode 100644 czsj-system/src/main/resources/mapper/account/CzsjMemberMapper.xml
create mode 100644 czsj-system/src/main/resources/mapper/account/CzsjMemberRelationMapper.xml
create mode 100644 czsj-system/src/main/resources/mapper/account/CzsjMemberSignMapper.xml
create mode 100644 czsj-system/src/main/resources/mapper/account/CzsjMemberTagGroupMapper.xml
create mode 100644 czsj-system/src/main/resources/mapper/account/CzsjMemberTagMapper.xml
create mode 100644 czsj-system/src/main/resources/mapper/account/CzsjMemberWxFansMapper.xml
create mode 100644 czsj-system/src/main/resources/mapper/account/CzsjMemberWxSourceMapper.xml
create mode 100644 uploadPath/avatar/2024/11/27/微信图片_20240720121710_20241127161057A001.jpg
diff --git a/README.md b/README.md
deleted file mode 100644
index fcc7796..0000000
--- a/README.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# czsj
-
diff --git a/czsj-admin/pom.xml b/czsj-admin/pom.xml
index f1c8d6d..c222138 100644
--- a/czsj-admin/pom.xml
+++ b/czsj-admin/pom.xml
@@ -60,6 +60,11 @@
com.czsj
czsj-generator
+
+ org.projectlombok
+ lombok
+ provided
+
diff --git a/czsj-admin/src/main/java/com/czsj/CzsjApplication.java b/czsj-admin/src/main/java/com/czsj/CzsjApplication.java
index e7e0429..5d52e59 100644
--- a/czsj-admin/src/main/java/com/czsj/CzsjApplication.java
+++ b/czsj-admin/src/main/java/com/czsj/CzsjApplication.java
@@ -1,15 +1,24 @@
package com.czsj;
+import com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration;
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.context.annotation.EnableAspectJAutoProxy;
+import org.springframework.scheduling.annotation.EnableAsync;
/**
* 启动程序
*
* @author czsj
*/
-@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
+@Slf4j
+@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, PageHelperAutoConfiguration.class}, scanBasePackages = {"com.czsj","cn.hutool"})
+@MapperScan(basePackages = {"com.czsj.*.mapper"})
+@EnableAsync(proxyTargetClass = true)
+@EnableAspectJAutoProxy(exposeProxy = true)
public class CzsjApplication
{
public static void main(String[] args)
diff --git a/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberCardController.java b/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberCardController.java
new file mode 100644
index 0000000..eddbd15
--- /dev/null
+++ b/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberCardController.java
@@ -0,0 +1,104 @@
+package com.czsj.web.controller.account;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.czsj.common.annotation.Log;
+import com.czsj.common.core.controller.BaseController;
+import com.czsj.common.core.domain.AjaxResult;
+import com.czsj.common.enums.BusinessType;
+import com.czsj.account.domain.CzsjMemberCard;
+import com.czsj.account.service.ICzsjMemberCardService;
+import com.czsj.common.utils.poi.ExcelUtil;
+import com.czsj.common.core.page.TableDataInfo;
+
+/**
+ * 会员证件信息Controller
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+@RestController
+@RequestMapping("/account/card")
+public class CzsjMemberCardController extends BaseController
+{
+ @Autowired
+ private ICzsjMemberCardService czsjMemberCardService;
+
+ /**
+ * 查询会员证件信息列表
+ */
+ @PreAuthorize("@ss.hasPermi('account:card:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(CzsjMemberCard czsjMemberCard)
+ {
+ startPage();
+ List list = czsjMemberCardService.selectCzsjMemberCardList(czsjMemberCard);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出会员证件信息列表
+ */
+ @PreAuthorize("@ss.hasPermi('account:card:export')")
+ @Log(title = "会员证件信息", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, CzsjMemberCard czsjMemberCard)
+ {
+ List list = czsjMemberCardService.selectCzsjMemberCardList(czsjMemberCard);
+ ExcelUtil util = new ExcelUtil(CzsjMemberCard.class);
+ util.exportExcel(response, list, "会员证件信息数据");
+ }
+
+ /**
+ * 获取会员证件信息详细信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:card:query')")
+ @GetMapping(value = "/{uid}")
+ public AjaxResult getInfo(@PathVariable("uid") Integer uid)
+ {
+ return success(czsjMemberCardService.selectCzsjMemberCardByUid(uid));
+ }
+
+ /**
+ * 新增会员证件信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:card:add')")
+ @Log(title = "会员证件信息", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody CzsjMemberCard czsjMemberCard)
+ {
+ return toAjax(czsjMemberCardService.insertCzsjMemberCard(czsjMemberCard));
+ }
+
+ /**
+ * 修改会员证件信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:card:edit')")
+ @Log(title = "会员证件信息", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody CzsjMemberCard czsjMemberCard)
+ {
+ return toAjax(czsjMemberCardService.updateCzsjMemberCard(czsjMemberCard));
+ }
+
+ /**
+ * 删除会员证件信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:card:remove')")
+ @Log(title = "会员证件信息", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{uids}")
+ public AjaxResult remove(@PathVariable Integer[] uids)
+ {
+ return toAjax(czsjMemberCardService.deleteCzsjMemberCardByUids(uids));
+ }
+}
diff --git a/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberController.java b/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberController.java
new file mode 100644
index 0000000..a98665b
--- /dev/null
+++ b/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberController.java
@@ -0,0 +1,104 @@
+package com.czsj.web.controller.account;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.czsj.common.annotation.Log;
+import com.czsj.common.core.controller.BaseController;
+import com.czsj.common.core.domain.AjaxResult;
+import com.czsj.common.enums.BusinessType;
+import com.czsj.account.domain.CzsjMember;
+import com.czsj.account.service.ICzsjMemberService;
+import com.czsj.common.utils.poi.ExcelUtil;
+import com.czsj.common.core.page.TableDataInfo;
+
+/**
+ * 会员信息Controller
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+@RestController
+@RequestMapping("/account/member")
+public class CzsjMemberController extends BaseController
+{
+ @Autowired
+ private ICzsjMemberService czsjMemberService;
+
+ /**
+ * 查询会员信息列表
+ */
+ @PreAuthorize("@ss.hasPermi('account:member:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(CzsjMember czsjMember)
+ {
+ startPage();
+ List list = czsjMemberService.selectCzsjMemberList(czsjMember);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出会员信息列表
+ */
+ @PreAuthorize("@ss.hasPermi('account:member:export')")
+ @Log(title = "会员信息", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, CzsjMember czsjMember)
+ {
+ List list = czsjMemberService.selectCzsjMemberList(czsjMember);
+ ExcelUtil util = new ExcelUtil(CzsjMember.class);
+ util.exportExcel(response, list, "会员信息数据");
+ }
+
+ /**
+ * 获取会员信息详细信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:member:query')")
+ @GetMapping(value = "/{uid}")
+ public AjaxResult getInfo(@PathVariable("uid") Long uid)
+ {
+ return success(czsjMemberService.selectCzsjMemberByUid(uid));
+ }
+
+ /**
+ * 新增会员信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:member:add')")
+ @Log(title = "会员信息", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody CzsjMember czsjMember)
+ {
+ return toAjax(czsjMemberService.insertCzsjMember(czsjMember));
+ }
+
+ /**
+ * 修改会员信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:member:edit')")
+ @Log(title = "会员信息", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody CzsjMember czsjMember)
+ {
+ return toAjax(czsjMemberService.updateCzsjMember(czsjMember));
+ }
+
+ /**
+ * 删除会员信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:member:remove')")
+ @Log(title = "会员信息", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{uids}")
+ public AjaxResult remove(@PathVariable Long[] uids)
+ {
+ return toAjax(czsjMemberService.deleteCzsjMemberByUids(uids));
+ }
+}
diff --git a/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberLocusController.java b/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberLocusController.java
new file mode 100644
index 0000000..cf768ad
--- /dev/null
+++ b/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberLocusController.java
@@ -0,0 +1,104 @@
+package com.czsj.web.controller.account;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.czsj.common.annotation.Log;
+import com.czsj.common.core.controller.BaseController;
+import com.czsj.common.core.domain.AjaxResult;
+import com.czsj.common.enums.BusinessType;
+import com.czsj.account.domain.CzsjMemberLocus;
+import com.czsj.account.service.ICzsjMemberLocusService;
+import com.czsj.common.utils.poi.ExcelUtil;
+import com.czsj.common.core.page.TableDataInfo;
+
+/**
+ * 会员轨迹信息Controller
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+@RestController
+@RequestMapping("/account/locus")
+public class CzsjMemberLocusController extends BaseController
+{
+ @Autowired
+ private ICzsjMemberLocusService czsjMemberLocusService;
+
+ /**
+ * 查询会员轨迹信息列表
+ */
+ @PreAuthorize("@ss.hasPermi('account:locus:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(CzsjMemberLocus czsjMemberLocus)
+ {
+ startPage();
+ List list = czsjMemberLocusService.selectCzsjMemberLocusList(czsjMemberLocus);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出会员轨迹信息列表
+ */
+ @PreAuthorize("@ss.hasPermi('account:locus:export')")
+ @Log(title = "会员轨迹信息", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, CzsjMemberLocus czsjMemberLocus)
+ {
+ List list = czsjMemberLocusService.selectCzsjMemberLocusList(czsjMemberLocus);
+ ExcelUtil util = new ExcelUtil(CzsjMemberLocus.class);
+ util.exportExcel(response, list, "会员轨迹信息数据");
+ }
+
+ /**
+ * 获取会员轨迹信息详细信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:locus:query')")
+ @GetMapping(value = "/{uid}")
+ public AjaxResult getInfo(@PathVariable("uid") Long uid)
+ {
+ return success(czsjMemberLocusService.selectCzsjMemberLocusByUid(uid));
+ }
+
+ /**
+ * 新增会员轨迹信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:locus:add')")
+ @Log(title = "会员轨迹信息", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody CzsjMemberLocus czsjMemberLocus)
+ {
+ return toAjax(czsjMemberLocusService.insertCzsjMemberLocus(czsjMemberLocus));
+ }
+
+ /**
+ * 修改会员轨迹信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:locus:edit')")
+ @Log(title = "会员轨迹信息", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody CzsjMemberLocus czsjMemberLocus)
+ {
+ return toAjax(czsjMemberLocusService.updateCzsjMemberLocus(czsjMemberLocus));
+ }
+
+ /**
+ * 删除会员轨迹信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:locus:remove')")
+ @Log(title = "会员轨迹信息", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{uids}")
+ public AjaxResult remove(@PathVariable Long[] uids)
+ {
+ return toAjax(czsjMemberLocusService.deleteCzsjMemberLocusByUids(uids));
+ }
+}
diff --git a/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberRelationController.java b/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberRelationController.java
new file mode 100644
index 0000000..e2babcb
--- /dev/null
+++ b/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberRelationController.java
@@ -0,0 +1,104 @@
+package com.czsj.web.controller.account;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.czsj.common.annotation.Log;
+import com.czsj.common.core.controller.BaseController;
+import com.czsj.common.core.domain.AjaxResult;
+import com.czsj.common.enums.BusinessType;
+import com.czsj.account.domain.CzsjMemberRelation;
+import com.czsj.account.service.ICzsjMemberRelationService;
+import com.czsj.common.utils.poi.ExcelUtil;
+import com.czsj.common.core.page.TableDataInfo;
+
+/**
+ * 会员关系Controller
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+@RestController
+@RequestMapping("/account/relation")
+public class CzsjMemberRelationController extends BaseController
+{
+ @Autowired
+ private ICzsjMemberRelationService czsjMemberRelationService;
+
+ /**
+ * 查询会员关系列表
+ */
+ @PreAuthorize("@ss.hasPermi('account:relation:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(CzsjMemberRelation czsjMemberRelation)
+ {
+ startPage();
+ List list = czsjMemberRelationService.selectCzsjMemberRelationList(czsjMemberRelation);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出会员关系列表
+ */
+ @PreAuthorize("@ss.hasPermi('account:relation:export')")
+ @Log(title = "会员关系", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, CzsjMemberRelation czsjMemberRelation)
+ {
+ List list = czsjMemberRelationService.selectCzsjMemberRelationList(czsjMemberRelation);
+ ExcelUtil util = new ExcelUtil(CzsjMemberRelation.class);
+ util.exportExcel(response, list, "会员关系数据");
+ }
+
+ /**
+ * 获取会员关系详细信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:relation:query')")
+ @GetMapping(value = "/{uid}")
+ public AjaxResult getInfo(@PathVariable("uid") Long uid)
+ {
+ return success(czsjMemberRelationService.selectCzsjMemberRelationByUid(uid));
+ }
+
+ /**
+ * 新增会员关系
+ */
+ @PreAuthorize("@ss.hasPermi('account:relation:add')")
+ @Log(title = "会员关系", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody CzsjMemberRelation czsjMemberRelation)
+ {
+ return toAjax(czsjMemberRelationService.insertCzsjMemberRelation(czsjMemberRelation));
+ }
+
+ /**
+ * 修改会员关系
+ */
+ @PreAuthorize("@ss.hasPermi('account:relation:edit')")
+ @Log(title = "会员关系", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody CzsjMemberRelation czsjMemberRelation)
+ {
+ return toAjax(czsjMemberRelationService.updateCzsjMemberRelation(czsjMemberRelation));
+ }
+
+ /**
+ * 删除会员关系
+ */
+ @PreAuthorize("@ss.hasPermi('account:relation:remove')")
+ @Log(title = "会员关系", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{uids}")
+ public AjaxResult remove(@PathVariable Long[] uids)
+ {
+ return toAjax(czsjMemberRelationService.deleteCzsjMemberRelationByUids(uids));
+ }
+}
diff --git a/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberSignController.java b/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberSignController.java
new file mode 100644
index 0000000..5752465
--- /dev/null
+++ b/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberSignController.java
@@ -0,0 +1,104 @@
+package com.czsj.web.controller.account;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.czsj.common.annotation.Log;
+import com.czsj.common.core.controller.BaseController;
+import com.czsj.common.core.domain.AjaxResult;
+import com.czsj.common.enums.BusinessType;
+import com.czsj.account.domain.CzsjMemberSign;
+import com.czsj.account.service.ICzsjMemberSignService;
+import com.czsj.common.utils.poi.ExcelUtil;
+import com.czsj.common.core.page.TableDataInfo;
+
+/**
+ * 会员签到记录Controller
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+@RestController
+@RequestMapping("/account/sign")
+public class CzsjMemberSignController extends BaseController
+{
+ @Autowired
+ private ICzsjMemberSignService czsjMemberSignService;
+
+ /**
+ * 查询会员签到记录列表
+ */
+ @PreAuthorize("@ss.hasPermi('account:sign:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(CzsjMemberSign czsjMemberSign)
+ {
+ startPage();
+ List list = czsjMemberSignService.selectCzsjMemberSignList(czsjMemberSign);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出会员签到记录列表
+ */
+ @PreAuthorize("@ss.hasPermi('account:sign:export')")
+ @Log(title = "会员签到记录", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, CzsjMemberSign czsjMemberSign)
+ {
+ List list = czsjMemberSignService.selectCzsjMemberSignList(czsjMemberSign);
+ ExcelUtil util = new ExcelUtil(CzsjMemberSign.class);
+ util.exportExcel(response, list, "会员签到记录数据");
+ }
+
+ /**
+ * 获取会员签到记录详细信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:sign:query')")
+ @GetMapping(value = "/{uid}")
+ public AjaxResult getInfo(@PathVariable("uid") Long uid)
+ {
+ return success(czsjMemberSignService.selectCzsjMemberSignByUid(uid));
+ }
+
+ /**
+ * 新增会员签到记录
+ */
+ @PreAuthorize("@ss.hasPermi('account:sign:add')")
+ @Log(title = "会员签到记录", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody CzsjMemberSign czsjMemberSign)
+ {
+ return toAjax(czsjMemberSignService.insertCzsjMemberSign(czsjMemberSign));
+ }
+
+ /**
+ * 修改会员签到记录
+ */
+ @PreAuthorize("@ss.hasPermi('account:sign:edit')")
+ @Log(title = "会员签到记录", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody CzsjMemberSign czsjMemberSign)
+ {
+ return toAjax(czsjMemberSignService.updateCzsjMemberSign(czsjMemberSign));
+ }
+
+ /**
+ * 删除会员签到记录
+ */
+ @PreAuthorize("@ss.hasPermi('account:sign:remove')")
+ @Log(title = "会员签到记录", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{uids}")
+ public AjaxResult remove(@PathVariable Long[] uids)
+ {
+ return toAjax(czsjMemberSignService.deleteCzsjMemberSignByUids(uids));
+ }
+}
diff --git a/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberTagController.java b/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberTagController.java
new file mode 100644
index 0000000..a9b910a
--- /dev/null
+++ b/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberTagController.java
@@ -0,0 +1,104 @@
+package com.czsj.web.controller.account;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.czsj.common.annotation.Log;
+import com.czsj.common.core.controller.BaseController;
+import com.czsj.common.core.domain.AjaxResult;
+import com.czsj.common.enums.BusinessType;
+import com.czsj.account.domain.CzsjMemberTag;
+import com.czsj.account.service.ICzsjMemberTagService;
+import com.czsj.common.utils.poi.ExcelUtil;
+import com.czsj.common.core.page.TableDataInfo;
+
+/**
+ * 会员标签Controller
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+@RestController
+@RequestMapping("/account/tag")
+public class CzsjMemberTagController extends BaseController
+{
+ @Autowired
+ private ICzsjMemberTagService czsjMemberTagService;
+
+ /**
+ * 查询会员标签列表
+ */
+ @PreAuthorize("@ss.hasPermi('account:tag:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(CzsjMemberTag czsjMemberTag)
+ {
+ startPage();
+ List list = czsjMemberTagService.selectCzsjMemberTagList(czsjMemberTag);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出会员标签列表
+ */
+ @PreAuthorize("@ss.hasPermi('account:tag:export')")
+ @Log(title = "会员标签", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, CzsjMemberTag czsjMemberTag)
+ {
+ List list = czsjMemberTagService.selectCzsjMemberTagList(czsjMemberTag);
+ ExcelUtil util = new ExcelUtil(CzsjMemberTag.class);
+ util.exportExcel(response, list, "会员标签数据");
+ }
+
+ /**
+ * 获取会员标签详细信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:tag:query')")
+ @GetMapping(value = "/{uid}")
+ public AjaxResult getInfo(@PathVariable("uid") Long uid)
+ {
+ return success(czsjMemberTagService.selectCzsjMemberTagByUid(uid));
+ }
+
+ /**
+ * 新增会员标签
+ */
+ @PreAuthorize("@ss.hasPermi('account:tag:add')")
+ @Log(title = "会员标签", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody CzsjMemberTag czsjMemberTag)
+ {
+ return toAjax(czsjMemberTagService.insertCzsjMemberTag(czsjMemberTag));
+ }
+
+ /**
+ * 修改会员标签
+ */
+ @PreAuthorize("@ss.hasPermi('account:tag:edit')")
+ @Log(title = "会员标签", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody CzsjMemberTag czsjMemberTag)
+ {
+ return toAjax(czsjMemberTagService.updateCzsjMemberTag(czsjMemberTag));
+ }
+
+ /**
+ * 删除会员标签
+ */
+ @PreAuthorize("@ss.hasPermi('account:tag:remove')")
+ @Log(title = "会员标签", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{uids}")
+ public AjaxResult remove(@PathVariable Long[] uids)
+ {
+ return toAjax(czsjMemberTagService.deleteCzsjMemberTagByUids(uids));
+ }
+}
diff --git a/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberTagGroupController.java b/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberTagGroupController.java
new file mode 100644
index 0000000..2a8459d
--- /dev/null
+++ b/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberTagGroupController.java
@@ -0,0 +1,104 @@
+package com.czsj.web.controller.account;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.czsj.common.annotation.Log;
+import com.czsj.common.core.controller.BaseController;
+import com.czsj.common.core.domain.AjaxResult;
+import com.czsj.common.enums.BusinessType;
+import com.czsj.account.domain.CzsjMemberTagGroup;
+import com.czsj.account.service.ICzsjMemberTagGroupService;
+import com.czsj.common.utils.poi.ExcelUtil;
+import com.czsj.common.core.page.TableDataInfo;
+
+/**
+ * 会员标签组Controller
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+@RestController
+@RequestMapping("/account/group")
+public class CzsjMemberTagGroupController extends BaseController
+{
+ @Autowired
+ private ICzsjMemberTagGroupService czsjMemberTagGroupService;
+
+ /**
+ * 查询会员标签组列表
+ */
+ @PreAuthorize("@ss.hasPermi('account:group:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(CzsjMemberTagGroup czsjMemberTagGroup)
+ {
+ startPage();
+ List list = czsjMemberTagGroupService.selectCzsjMemberTagGroupList(czsjMemberTagGroup);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出会员标签组列表
+ */
+ @PreAuthorize("@ss.hasPermi('account:group:export')")
+ @Log(title = "会员标签组", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, CzsjMemberTagGroup czsjMemberTagGroup)
+ {
+ List list = czsjMemberTagGroupService.selectCzsjMemberTagGroupList(czsjMemberTagGroup);
+ ExcelUtil util = new ExcelUtil(CzsjMemberTagGroup.class);
+ util.exportExcel(response, list, "会员标签组数据");
+ }
+
+ /**
+ * 获取会员标签组详细信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:group:query')")
+ @GetMapping(value = "/{uid}")
+ public AjaxResult getInfo(@PathVariable("uid") Long uid)
+ {
+ return success(czsjMemberTagGroupService.selectCzsjMemberTagGroupByUid(uid));
+ }
+
+ /**
+ * 新增会员标签组
+ */
+ @PreAuthorize("@ss.hasPermi('account:group:add')")
+ @Log(title = "会员标签组", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody CzsjMemberTagGroup czsjMemberTagGroup)
+ {
+ return toAjax(czsjMemberTagGroupService.insertCzsjMemberTagGroup(czsjMemberTagGroup));
+ }
+
+ /**
+ * 修改会员标签组
+ */
+ @PreAuthorize("@ss.hasPermi('account:group:edit')")
+ @Log(title = "会员标签组", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody CzsjMemberTagGroup czsjMemberTagGroup)
+ {
+ return toAjax(czsjMemberTagGroupService.updateCzsjMemberTagGroup(czsjMemberTagGroup));
+ }
+
+ /**
+ * 删除会员标签组
+ */
+ @PreAuthorize("@ss.hasPermi('account:group:remove')")
+ @Log(title = "会员标签组", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{uids}")
+ public AjaxResult remove(@PathVariable Long[] uids)
+ {
+ return toAjax(czsjMemberTagGroupService.deleteCzsjMemberTagGroupByUids(uids));
+ }
+}
diff --git a/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberWxFansController.java b/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberWxFansController.java
new file mode 100644
index 0000000..9ee2fd3
--- /dev/null
+++ b/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberWxFansController.java
@@ -0,0 +1,104 @@
+package com.czsj.web.controller.account;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.czsj.common.annotation.Log;
+import com.czsj.common.core.controller.BaseController;
+import com.czsj.common.core.domain.AjaxResult;
+import com.czsj.common.enums.BusinessType;
+import com.czsj.account.domain.CzsjMemberWxFans;
+import com.czsj.account.service.ICzsjMemberWxFansService;
+import com.czsj.common.utils.poi.ExcelUtil;
+import com.czsj.common.core.page.TableDataInfo;
+
+/**
+ * 会员微信粉丝Controller
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+@RestController
+@RequestMapping("/account/fans")
+public class CzsjMemberWxFansController extends BaseController
+{
+ @Autowired
+ private ICzsjMemberWxFansService czsjMemberWxFansService;
+
+ /**
+ * 查询会员微信粉丝列表
+ */
+ @PreAuthorize("@ss.hasPermi('account:fans:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(CzsjMemberWxFans czsjMemberWxFans)
+ {
+ startPage();
+ List list = czsjMemberWxFansService.selectCzsjMemberWxFansList(czsjMemberWxFans);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出会员微信粉丝列表
+ */
+ @PreAuthorize("@ss.hasPermi('account:fans:export')")
+ @Log(title = "会员微信粉丝", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, CzsjMemberWxFans czsjMemberWxFans)
+ {
+ List list = czsjMemberWxFansService.selectCzsjMemberWxFansList(czsjMemberWxFans);
+ ExcelUtil util = new ExcelUtil(CzsjMemberWxFans.class);
+ util.exportExcel(response, list, "会员微信粉丝数据");
+ }
+
+ /**
+ * 获取会员微信粉丝详细信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:fans:query')")
+ @GetMapping(value = "/{uid}")
+ public AjaxResult getInfo(@PathVariable("uid") Long uid)
+ {
+ return success(czsjMemberWxFansService.selectCzsjMemberWxFansByUid(uid));
+ }
+
+ /**
+ * 新增会员微信粉丝
+ */
+ @PreAuthorize("@ss.hasPermi('account:fans:add')")
+ @Log(title = "会员微信粉丝", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody CzsjMemberWxFans czsjMemberWxFans)
+ {
+ return toAjax(czsjMemberWxFansService.insertCzsjMemberWxFans(czsjMemberWxFans));
+ }
+
+ /**
+ * 修改会员微信粉丝
+ */
+ @PreAuthorize("@ss.hasPermi('account:fans:edit')")
+ @Log(title = "会员微信粉丝", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody CzsjMemberWxFans czsjMemberWxFans)
+ {
+ return toAjax(czsjMemberWxFansService.updateCzsjMemberWxFans(czsjMemberWxFans));
+ }
+
+ /**
+ * 删除会员微信粉丝
+ */
+ @PreAuthorize("@ss.hasPermi('account:fans:remove')")
+ @Log(title = "会员微信粉丝", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{uids}")
+ public AjaxResult remove(@PathVariable Long[] uids)
+ {
+ return toAjax(czsjMemberWxFansService.deleteCzsjMemberWxFansByUids(uids));
+ }
+}
diff --git a/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberWxSourceController.java b/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberWxSourceController.java
new file mode 100644
index 0000000..7d11b00
--- /dev/null
+++ b/czsj-admin/src/main/java/com/czsj/web/controller/account/CzsjMemberWxSourceController.java
@@ -0,0 +1,104 @@
+package com.czsj.web.controller.account;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.czsj.common.annotation.Log;
+import com.czsj.common.core.controller.BaseController;
+import com.czsj.common.core.domain.AjaxResult;
+import com.czsj.common.enums.BusinessType;
+import com.czsj.account.domain.CzsjMemberWxSource;
+import com.czsj.account.service.ICzsjMemberWxSourceService;
+import com.czsj.common.utils.poi.ExcelUtil;
+import com.czsj.common.core.page.TableDataInfo;
+
+/**
+ * 会员微信来源信息Controller
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+@RestController
+@RequestMapping("/account/source")
+public class CzsjMemberWxSourceController extends BaseController
+{
+ @Autowired
+ private ICzsjMemberWxSourceService czsjMemberWxSourceService;
+
+ /**
+ * 查询会员微信来源信息列表
+ */
+ @PreAuthorize("@ss.hasPermi('account:source:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(CzsjMemberWxSource czsjMemberWxSource)
+ {
+ startPage();
+ List list = czsjMemberWxSourceService.selectCzsjMemberWxSourceList(czsjMemberWxSource);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出会员微信来源信息列表
+ */
+ @PreAuthorize("@ss.hasPermi('account:source:export')")
+ @Log(title = "会员微信来源信息", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, CzsjMemberWxSource czsjMemberWxSource)
+ {
+ List list = czsjMemberWxSourceService.selectCzsjMemberWxSourceList(czsjMemberWxSource);
+ ExcelUtil util = new ExcelUtil(CzsjMemberWxSource.class);
+ util.exportExcel(response, list, "会员微信来源信息数据");
+ }
+
+ /**
+ * 获取会员微信来源信息详细信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:source:query')")
+ @GetMapping(value = "/{uid}")
+ public AjaxResult getInfo(@PathVariable("uid") Long uid)
+ {
+ return success(czsjMemberWxSourceService.selectCzsjMemberWxSourceByUid(uid));
+ }
+
+ /**
+ * 新增会员微信来源信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:source:add')")
+ @Log(title = "会员微信来源信息", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody CzsjMemberWxSource czsjMemberWxSource)
+ {
+ return toAjax(czsjMemberWxSourceService.insertCzsjMemberWxSource(czsjMemberWxSource));
+ }
+
+ /**
+ * 修改会员微信来源信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:source:edit')")
+ @Log(title = "会员微信来源信息", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody CzsjMemberWxSource czsjMemberWxSource)
+ {
+ return toAjax(czsjMemberWxSourceService.updateCzsjMemberWxSource(czsjMemberWxSource));
+ }
+
+ /**
+ * 删除会员微信来源信息
+ */
+ @PreAuthorize("@ss.hasPermi('account:source:remove')")
+ @Log(title = "会员微信来源信息", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{uids}")
+ public AjaxResult remove(@PathVariable Long[] uids)
+ {
+ return toAjax(czsjMemberWxSourceService.deleteCzsjMemberWxSourceByUids(uids));
+ }
+}
diff --git a/czsj-common/pom.xml b/czsj-common/pom.xml
index 3cf204b..e366902 100644
--- a/czsj-common/pom.xml
+++ b/czsj-common/pom.xml
@@ -17,6 +17,11 @@
+
+ cn.hutool
+ hutool-all
+
+
org.springframework
diff --git a/czsj-system/src/main/java/com/czsj/account/domain/CzsjMember.java b/czsj-system/src/main/java/com/czsj/account/domain/CzsjMember.java
new file mode 100644
index 0000000..0dcafcc
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/domain/CzsjMember.java
@@ -0,0 +1,295 @@
+package com.czsj.account.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.czsj.common.annotation.Excel;
+import com.czsj.common.core.domain.BaseEntity;
+
+/**
+ * 会员信息对象 czsj_member
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public class CzsjMember extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 会员ID */
+ private Long uid;
+
+ /** 姓名 */
+ @Excel(name = "姓名")
+ private String name;
+
+ /** 生日 */
+ @Excel(name = "生日")
+ private String birthday;
+
+ /** 性别,0未知,1男,2女,3保密 */
+ @Excel(name = "性别,0未知,1男,2女,3保密")
+ private Integer sex;
+
+ /** 邮箱 */
+ @Excel(name = "邮箱")
+ private String email;
+
+ /** 地址 */
+ @Excel(name = "地址")
+ private String address;
+
+ /** 手机号码 */
+ @Excel(name = "手机号码")
+ private String phone;
+
+ /** 会员卡号 */
+ @Excel(name = "会员卡号")
+ private Long memberId;
+
+ /** 会员等级 */
+ @Excel(name = "会员等级")
+ private Long memberLevel;
+
+ /** 城市 */
+ @Excel(name = "城市")
+ private String city;
+
+ /** 地区 */
+ @Excel(name = "地区")
+ private String area;
+
+ /** 渠道来源 */
+ @Excel(name = "渠道来源")
+ private String source;
+
+ /** 会员状态,0注销,1正常,2冻结 */
+ @Excel(name = "会员状态,0注销,1正常,2冻结")
+ private Integer status;
+
+ /** 注销时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "注销时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date logoutTime;
+
+ /** 冻结时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "冻结时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date freezeTime;
+
+ /** 发卡时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "发卡时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date cardTime;
+
+ /** 有效标识,0有效,1无效 */
+ private Integer delFlag;
+
+ /** 创建人ID */
+ @Excel(name = "创建人ID")
+ private Long createUserId;
+
+ /** 修改人ID */
+ @Excel(name = "修改人ID")
+ private Long updateUserId;
+
+ public void setUid(Long uid)
+ {
+ this.uid = uid;
+ }
+
+ public Long getUid()
+ {
+ return uid;
+ }
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+ public void setBirthday(String birthday)
+ {
+ this.birthday = birthday;
+ }
+
+ public String getBirthday()
+ {
+ return birthday;
+ }
+ public void setSex(Integer sex)
+ {
+ this.sex = sex;
+ }
+
+ public Integer getSex()
+ {
+ return sex;
+ }
+ public void setEmail(String email)
+ {
+ this.email = email;
+ }
+
+ public String getEmail()
+ {
+ return email;
+ }
+ public void setAddress(String address)
+ {
+ this.address = address;
+ }
+
+ public String getAddress()
+ {
+ return address;
+ }
+ public void setPhone(String phone)
+ {
+ this.phone = phone;
+ }
+
+ public String getPhone()
+ {
+ return phone;
+ }
+ public void setMemberId(Long memberId)
+ {
+ this.memberId = memberId;
+ }
+
+ public Long getMemberId()
+ {
+ return memberId;
+ }
+ public void setMemberLevel(Long memberLevel)
+ {
+ this.memberLevel = memberLevel;
+ }
+
+ public Long getMemberLevel()
+ {
+ return memberLevel;
+ }
+ public void setCity(String city)
+ {
+ this.city = city;
+ }
+
+ public String getCity()
+ {
+ return city;
+ }
+ public void setArea(String area)
+ {
+ this.area = area;
+ }
+
+ public String getArea()
+ {
+ return area;
+ }
+ public void setSource(String source)
+ {
+ this.source = source;
+ }
+
+ public String getSource()
+ {
+ return source;
+ }
+ public void setStatus(Integer status)
+ {
+ this.status = status;
+ }
+
+ public Integer getStatus()
+ {
+ return status;
+ }
+ public void setLogoutTime(Date logoutTime)
+ {
+ this.logoutTime = logoutTime;
+ }
+
+ public Date getLogoutTime()
+ {
+ return logoutTime;
+ }
+ public void setFreezeTime(Date freezeTime)
+ {
+ this.freezeTime = freezeTime;
+ }
+
+ public Date getFreezeTime()
+ {
+ return freezeTime;
+ }
+ public void setCardTime(Date cardTime)
+ {
+ this.cardTime = cardTime;
+ }
+
+ public Date getCardTime()
+ {
+ return cardTime;
+ }
+ public void setDelFlag(Integer delFlag)
+ {
+ this.delFlag = delFlag;
+ }
+
+ public Integer getDelFlag()
+ {
+ return delFlag;
+ }
+ public void setCreateUserId(Long createUserId)
+ {
+ this.createUserId = createUserId;
+ }
+
+ public Long getCreateUserId()
+ {
+ return createUserId;
+ }
+ public void setUpdateUserId(Long updateUserId)
+ {
+ this.updateUserId = updateUserId;
+ }
+
+ public Long getUpdateUserId()
+ {
+ return updateUserId;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("uid", getUid())
+ .append("name", getName())
+ .append("birthday", getBirthday())
+ .append("sex", getSex())
+ .append("email", getEmail())
+ .append("address", getAddress())
+ .append("phone", getPhone())
+ .append("memberId", getMemberId())
+ .append("memberLevel", getMemberLevel())
+ .append("city", getCity())
+ .append("area", getArea())
+ .append("source", getSource())
+ .append("status", getStatus())
+ .append("createTime", getCreateTime())
+ .append("updateTime", getUpdateTime())
+ .append("logoutTime", getLogoutTime())
+ .append("freezeTime", getFreezeTime())
+ .append("cardTime", getCardTime())
+ .append("delFlag", getDelFlag())
+ .append("createUserId", getCreateUserId())
+ .append("updateUserId", getUpdateUserId())
+ .toString();
+ }
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberCard.java b/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberCard.java
new file mode 100644
index 0000000..108cbbf
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberCard.java
@@ -0,0 +1,122 @@
+package com.czsj.account.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.czsj.common.annotation.Excel;
+import com.czsj.common.core.domain.BaseEntity;
+
+/**
+ * 会员证件信息对象 czsj_member_card
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public class CzsjMemberCard extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 证件ID */
+ private Integer uid;
+
+ /** 会员ID */
+ @Excel(name = "会员ID")
+ private Long memberUid;
+
+ /** 证件类型 */
+ @Excel(name = "证件类型")
+ private String cardType;
+
+ /** 证件号码 */
+ @Excel(name = "证件号码")
+ private String cardId;
+
+ /** 有效标识,0有效,1失效 */
+ private Integer delFlag;
+
+ /** 创建人ID */
+ @Excel(name = "创建人ID")
+ private Long createUserId;
+
+ /** 修改人ID */
+ @Excel(name = "修改人ID")
+ private Long updateUserId;
+
+ public void setUid(Integer uid)
+ {
+ this.uid = uid;
+ }
+
+ public Integer getUid()
+ {
+ return uid;
+ }
+ public void setMemberUid(Long memberUid)
+ {
+ this.memberUid = memberUid;
+ }
+
+ public Long getMemberUid()
+ {
+ return memberUid;
+ }
+ public void setCardType(String cardType)
+ {
+ this.cardType = cardType;
+ }
+
+ public String getCardType()
+ {
+ return cardType;
+ }
+ public void setCardId(String cardId)
+ {
+ this.cardId = cardId;
+ }
+
+ public String getCardId()
+ {
+ return cardId;
+ }
+ public void setDelFlag(Integer delFlag)
+ {
+ this.delFlag = delFlag;
+ }
+
+ public Integer getDelFlag()
+ {
+ return delFlag;
+ }
+ public void setCreateUserId(Long createUserId)
+ {
+ this.createUserId = createUserId;
+ }
+
+ public Long getCreateUserId()
+ {
+ return createUserId;
+ }
+ public void setUpdateUserId(Long updateUserId)
+ {
+ this.updateUserId = updateUserId;
+ }
+
+ public Long getUpdateUserId()
+ {
+ return updateUserId;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("uid", getUid())
+ .append("memberUid", getMemberUid())
+ .append("cardType", getCardType())
+ .append("cardId", getCardId())
+ .append("createTime", getCreateTime())
+ .append("updateTime", getUpdateTime())
+ .append("delFlag", getDelFlag())
+ .append("createUserId", getCreateUserId())
+ .append("updateUserId", getUpdateUserId())
+ .toString();
+ }
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberLocus.java b/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberLocus.java
new file mode 100644
index 0000000..035a879
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberLocus.java
@@ -0,0 +1,139 @@
+package com.czsj.account.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.czsj.common.annotation.Excel;
+import com.czsj.common.core.domain.BaseEntity;
+
+/**
+ * 会员轨迹信息对象 czsj_member_locus
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public class CzsjMemberLocus extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 会员轨迹ID */
+ private Long uid;
+
+ /** 会员ID */
+ @Excel(name = "会员ID")
+ private Long memberUid;
+
+ /** 轨迹类型(1:信息动态;2:社交动态;3:活动规则;4:待办动态) */
+ @Excel(name = "轨迹类型(1:信息动态;2:社交动态;3:活动规则;4:待办动态)")
+ private Long trajectoryType;
+
+ /** 文案内容 */
+ @Excel(name = "文案内容")
+ private String content;
+
+ /** 处理日期 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "处理日期", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date createDate;
+
+ /** 有效标识,0有效,1无效 */
+ private Integer delFlag;
+
+ /** 创建人ID */
+ @Excel(name = "创建人ID")
+ private Long createUserId;
+
+ /** 修改人ID */
+ @Excel(name = "修改人ID")
+ private Long updateUserId;
+
+ public void setUid(Long uid)
+ {
+ this.uid = uid;
+ }
+
+ public Long getUid()
+ {
+ return uid;
+ }
+ public void setMemberUid(Long memberUid)
+ {
+ this.memberUid = memberUid;
+ }
+
+ public Long getMemberUid()
+ {
+ return memberUid;
+ }
+ public void setTrajectoryType(Long trajectoryType)
+ {
+ this.trajectoryType = trajectoryType;
+ }
+
+ public Long getTrajectoryType()
+ {
+ return trajectoryType;
+ }
+ public void setContent(String content)
+ {
+ this.content = content;
+ }
+
+ public String getContent()
+ {
+ return content;
+ }
+ public void setCreateDate(Date createDate)
+ {
+ this.createDate = createDate;
+ }
+
+ public Date getCreateDate()
+ {
+ return createDate;
+ }
+ public void setDelFlag(Integer delFlag)
+ {
+ this.delFlag = delFlag;
+ }
+
+ public Integer getDelFlag()
+ {
+ return delFlag;
+ }
+ public void setCreateUserId(Long createUserId)
+ {
+ this.createUserId = createUserId;
+ }
+
+ public Long getCreateUserId()
+ {
+ return createUserId;
+ }
+ public void setUpdateUserId(Long updateUserId)
+ {
+ this.updateUserId = updateUserId;
+ }
+
+ public Long getUpdateUserId()
+ {
+ return updateUserId;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("uid", getUid())
+ .append("memberUid", getMemberUid())
+ .append("trajectoryType", getTrajectoryType())
+ .append("content", getContent())
+ .append("createDate", getCreateDate())
+ .append("createTime", getCreateTime())
+ .append("updateTime", getUpdateTime())
+ .append("delFlag", getDelFlag())
+ .append("createUserId", getCreateUserId())
+ .append("updateUserId", getUpdateUserId())
+ .toString();
+ }
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberRelation.java b/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberRelation.java
new file mode 100644
index 0000000..d49f338
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberRelation.java
@@ -0,0 +1,136 @@
+package com.czsj.account.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.czsj.common.annotation.Excel;
+import com.czsj.common.core.domain.BaseEntity;
+
+/**
+ * 会员关系对象 czsj_member_relation
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public class CzsjMemberRelation extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 会员关系ID */
+ private Long uid;
+
+ /** 会员ID */
+ @Excel(name = "会员ID")
+ private Long memberUid;
+
+ /** 关系 */
+ @Excel(name = "关系")
+ private String relation;
+
+ /** 关系会员ID */
+ @Excel(name = "关系会员ID")
+ private Long memberRelationUid;
+
+ /** 备注 */
+ @Excel(name = "备注")
+ private String mark;
+
+ /** 有效标识,0有效,1无效 */
+ private Integer delFlag;
+
+ /** 创建人ID */
+ @Excel(name = "创建人ID")
+ private Long createUserId;
+
+ /** 修改人ID */
+ @Excel(name = "修改人ID")
+ private Long updateUserId;
+
+ public void setUid(Long uid)
+ {
+ this.uid = uid;
+ }
+
+ public Long getUid()
+ {
+ return uid;
+ }
+ public void setMemberUid(Long memberUid)
+ {
+ this.memberUid = memberUid;
+ }
+
+ public Long getMemberUid()
+ {
+ return memberUid;
+ }
+ public void setRelation(String relation)
+ {
+ this.relation = relation;
+ }
+
+ public String getRelation()
+ {
+ return relation;
+ }
+ public void setMemberRelationUid(Long memberRelationUid)
+ {
+ this.memberRelationUid = memberRelationUid;
+ }
+
+ public Long getMemberRelationUid()
+ {
+ return memberRelationUid;
+ }
+ public void setMark(String mark)
+ {
+ this.mark = mark;
+ }
+
+ public String getMark()
+ {
+ return mark;
+ }
+ public void setDelFlag(Integer delFlag)
+ {
+ this.delFlag = delFlag;
+ }
+
+ public Integer getDelFlag()
+ {
+ return delFlag;
+ }
+ public void setCreateUserId(Long createUserId)
+ {
+ this.createUserId = createUserId;
+ }
+
+ public Long getCreateUserId()
+ {
+ return createUserId;
+ }
+ public void setUpdateUserId(Long updateUserId)
+ {
+ this.updateUserId = updateUserId;
+ }
+
+ public Long getUpdateUserId()
+ {
+ return updateUserId;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("uid", getUid())
+ .append("memberUid", getMemberUid())
+ .append("relation", getRelation())
+ .append("memberRelationUid", getMemberRelationUid())
+ .append("mark", getMark())
+ .append("createTime", getCreateTime())
+ .append("updateTime", getUpdateTime())
+ .append("delFlag", getDelFlag())
+ .append("createUserId", getCreateUserId())
+ .append("updateUserId", getUpdateUserId())
+ .toString();
+ }
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberSign.java b/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberSign.java
new file mode 100644
index 0000000..a09fb8f
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberSign.java
@@ -0,0 +1,111 @@
+package com.czsj.account.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.czsj.common.annotation.Excel;
+import com.czsj.common.core.domain.BaseEntity;
+
+/**
+ * 会员签到记录对象 czsj_member_sign
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public class CzsjMemberSign extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 签到记录ID */
+ private Long uid;
+
+ /** 用户ID */
+ @Excel(name = "用户ID")
+ private Long memberUid;
+
+ /** 签到日期 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "签到日期", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date createDay;
+
+ /** 有效标识,0有效,1无效 */
+ private Integer delFlag;
+
+ /** 创建人ID */
+ @Excel(name = "创建人ID")
+ private Long createUserId;
+
+ /** 修改人ID */
+ @Excel(name = "修改人ID")
+ private Long updateUserId;
+
+ public void setUid(Long uid)
+ {
+ this.uid = uid;
+ }
+
+ public Long getUid()
+ {
+ return uid;
+ }
+ public void setMemberUid(Long memberUid)
+ {
+ this.memberUid = memberUid;
+ }
+
+ public Long getMemberUid()
+ {
+ return memberUid;
+ }
+ public void setCreateDay(Date createDay)
+ {
+ this.createDay = createDay;
+ }
+
+ public Date getCreateDay()
+ {
+ return createDay;
+ }
+ public void setDelFlag(Integer delFlag)
+ {
+ this.delFlag = delFlag;
+ }
+
+ public Integer getDelFlag()
+ {
+ return delFlag;
+ }
+ public void setCreateUserId(Long createUserId)
+ {
+ this.createUserId = createUserId;
+ }
+
+ public Long getCreateUserId()
+ {
+ return createUserId;
+ }
+ public void setUpdateUserId(Long updateUserId)
+ {
+ this.updateUserId = updateUserId;
+ }
+
+ public Long getUpdateUserId()
+ {
+ return updateUserId;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("uid", getUid())
+ .append("memberUid", getMemberUid())
+ .append("createDay", getCreateDay())
+ .append("createTime", getCreateTime())
+ .append("updateTime", getUpdateTime())
+ .append("delFlag", getDelFlag())
+ .append("createUserId", getCreateUserId())
+ .append("updateUserId", getUpdateUserId())
+ .toString();
+ }
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberTag.java b/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberTag.java
new file mode 100644
index 0000000..0b65636
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberTag.java
@@ -0,0 +1,122 @@
+package com.czsj.account.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.czsj.common.annotation.Excel;
+import com.czsj.common.core.domain.BaseEntity;
+
+/**
+ * 会员标签对象 czsj_member_tag
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public class CzsjMemberTag extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 标签ID */
+ private Long uid;
+
+ /** 标签名称 */
+ @Excel(name = "标签名称")
+ private String name;
+
+ /** 标签备注 */
+ @Excel(name = "标签备注")
+ private String mark;
+
+ /** 标签组ID */
+ @Excel(name = "标签组ID")
+ private Long tagGroupUid;
+
+ /** 有效标识,0有效,1无效 */
+ private Integer delFlag;
+
+ /** 创建人ID */
+ @Excel(name = "创建人ID")
+ private Long createUserId;
+
+ /** 修改人ID */
+ @Excel(name = "修改人ID")
+ private Long updateUserId;
+
+ public void setUid(Long uid)
+ {
+ this.uid = uid;
+ }
+
+ public Long getUid()
+ {
+ return uid;
+ }
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+ public void setMark(String mark)
+ {
+ this.mark = mark;
+ }
+
+ public String getMark()
+ {
+ return mark;
+ }
+ public void setTagGroupUid(Long tagGroupUid)
+ {
+ this.tagGroupUid = tagGroupUid;
+ }
+
+ public Long getTagGroupUid()
+ {
+ return tagGroupUid;
+ }
+ public void setDelFlag(Integer delFlag)
+ {
+ this.delFlag = delFlag;
+ }
+
+ public Integer getDelFlag()
+ {
+ return delFlag;
+ }
+ public void setCreateUserId(Long createUserId)
+ {
+ this.createUserId = createUserId;
+ }
+
+ public Long getCreateUserId()
+ {
+ return createUserId;
+ }
+ public void setUpdateUserId(Long updateUserId)
+ {
+ this.updateUserId = updateUserId;
+ }
+
+ public Long getUpdateUserId()
+ {
+ return updateUserId;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("uid", getUid())
+ .append("name", getName())
+ .append("mark", getMark())
+ .append("tagGroupUid", getTagGroupUid())
+ .append("createTime", getCreateTime())
+ .append("updateTime", getUpdateTime())
+ .append("delFlag", getDelFlag())
+ .append("createUserId", getCreateUserId())
+ .append("updateUserId", getUpdateUserId())
+ .toString();
+ }
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberTagGroup.java b/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberTagGroup.java
new file mode 100644
index 0000000..598fd5c
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberTagGroup.java
@@ -0,0 +1,108 @@
+package com.czsj.account.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.czsj.common.annotation.Excel;
+import com.czsj.common.core.domain.BaseEntity;
+
+/**
+ * 会员标签组对象 czsj_member_tag_group
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public class CzsjMemberTagGroup extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 标签组ID */
+ private Long uid;
+
+ /** 标签组名称 */
+ @Excel(name = "标签组名称")
+ private String name;
+
+ /** 标签组备注 */
+ @Excel(name = "标签组备注")
+ private String mark;
+
+ /** 有效标识,0有效,1无效 */
+ private Integer delFlag;
+
+ /** 创建人ID */
+ @Excel(name = "创建人ID")
+ private Long createUserId;
+
+ /** 修改人ID */
+ @Excel(name = "修改人ID")
+ private Long updateUserId;
+
+ public void setUid(Long uid)
+ {
+ this.uid = uid;
+ }
+
+ public Long getUid()
+ {
+ return uid;
+ }
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+ public void setMark(String mark)
+ {
+ this.mark = mark;
+ }
+
+ public String getMark()
+ {
+ return mark;
+ }
+ public void setDelFlag(Integer delFlag)
+ {
+ this.delFlag = delFlag;
+ }
+
+ public Integer getDelFlag()
+ {
+ return delFlag;
+ }
+ public void setCreateUserId(Long createUserId)
+ {
+ this.createUserId = createUserId;
+ }
+
+ public Long getCreateUserId()
+ {
+ return createUserId;
+ }
+ public void setUpdateUserId(Long updateUserId)
+ {
+ this.updateUserId = updateUserId;
+ }
+
+ public Long getUpdateUserId()
+ {
+ return updateUserId;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("uid", getUid())
+ .append("name", getName())
+ .append("mark", getMark())
+ .append("createTime", getCreateTime())
+ .append("updateTime", getUpdateTime())
+ .append("delFlag", getDelFlag())
+ .append("createUserId", getCreateUserId())
+ .append("updateUserId", getUpdateUserId())
+ .toString();
+ }
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberWxFans.java b/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberWxFans.java
new file mode 100644
index 0000000..986bdd2
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberWxFans.java
@@ -0,0 +1,239 @@
+package com.czsj.account.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.czsj.common.annotation.Excel;
+import com.czsj.common.core.domain.BaseEntity;
+
+/**
+ * 会员微信粉丝对象 czsj_member_wx_fans
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public class CzsjMemberWxFans extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 会员微信粉丝ID */
+ private Long uid;
+
+ /** 会员ID */
+ @Excel(name = "会员ID")
+ private Long memberUid;
+
+ /** 公众号ID */
+ @Excel(name = "公众号ID")
+ private String appId;
+
+ /** 公众号名称 */
+ @Excel(name = "公众号名称")
+ private String appName;
+
+ /** 绑定时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "绑定时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date bindTime;
+
+ /** 微信昵称 */
+ @Excel(name = "微信昵称")
+ private String name;
+
+ /** 微信头像URL */
+ @Excel(name = "微信头像URL")
+ private String imageUrl;
+
+ /** 微信unionID */
+ @Excel(name = "微信unionID")
+ private String unionId;
+
+ /** 微信openID */
+ @Excel(name = "微信openID")
+ private String openId;
+
+ /** 订阅状态,0订阅,1未订阅 */
+ @Excel(name = "订阅状态,0订阅,1未订阅")
+ private Integer subscribeStatus;
+
+ /** 订阅时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "订阅时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date subscribeTime;
+
+ /** 取消订阅时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "取消订阅时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date unsubscribeTime;
+
+ /** 有效标识,0有效,1无效 */
+ private Integer delFlag;
+
+ /** 创建人ID */
+ @Excel(name = "创建人ID")
+ private Long createUserId;
+
+ /** 修改人ID */
+ @Excel(name = "修改人ID")
+ private Long updateUserId;
+
+ public void setUid(Long uid)
+ {
+ this.uid = uid;
+ }
+
+ public Long getUid()
+ {
+ return uid;
+ }
+ public void setMemberUid(Long memberUid)
+ {
+ this.memberUid = memberUid;
+ }
+
+ public Long getMemberUid()
+ {
+ return memberUid;
+ }
+ public void setAppId(String appId)
+ {
+ this.appId = appId;
+ }
+
+ public String getAppId()
+ {
+ return appId;
+ }
+ public void setAppName(String appName)
+ {
+ this.appName = appName;
+ }
+
+ public String getAppName()
+ {
+ return appName;
+ }
+ public void setBindTime(Date bindTime)
+ {
+ this.bindTime = bindTime;
+ }
+
+ public Date getBindTime()
+ {
+ return bindTime;
+ }
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+ public void setImageUrl(String imageUrl)
+ {
+ this.imageUrl = imageUrl;
+ }
+
+ public String getImageUrl()
+ {
+ return imageUrl;
+ }
+ public void setUnionId(String unionId)
+ {
+ this.unionId = unionId;
+ }
+
+ public String getUnionId()
+ {
+ return unionId;
+ }
+ public void setOpenId(String openId)
+ {
+ this.openId = openId;
+ }
+
+ public String getOpenId()
+ {
+ return openId;
+ }
+ public void setSubscribeStatus(Integer subscribeStatus)
+ {
+ this.subscribeStatus = subscribeStatus;
+ }
+
+ public Integer getSubscribeStatus()
+ {
+ return subscribeStatus;
+ }
+ public void setSubscribeTime(Date subscribeTime)
+ {
+ this.subscribeTime = subscribeTime;
+ }
+
+ public Date getSubscribeTime()
+ {
+ return subscribeTime;
+ }
+ public void setUnsubscribeTime(Date unsubscribeTime)
+ {
+ this.unsubscribeTime = unsubscribeTime;
+ }
+
+ public Date getUnsubscribeTime()
+ {
+ return unsubscribeTime;
+ }
+ public void setDelFlag(Integer delFlag)
+ {
+ this.delFlag = delFlag;
+ }
+
+ public Integer getDelFlag()
+ {
+ return delFlag;
+ }
+ public void setCreateUserId(Long createUserId)
+ {
+ this.createUserId = createUserId;
+ }
+
+ public Long getCreateUserId()
+ {
+ return createUserId;
+ }
+ public void setUpdateUserId(Long updateUserId)
+ {
+ this.updateUserId = updateUserId;
+ }
+
+ public Long getUpdateUserId()
+ {
+ return updateUserId;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("uid", getUid())
+ .append("memberUid", getMemberUid())
+ .append("appId", getAppId())
+ .append("appName", getAppName())
+ .append("bindTime", getBindTime())
+ .append("name", getName())
+ .append("imageUrl", getImageUrl())
+ .append("unionId", getUnionId())
+ .append("openId", getOpenId())
+ .append("subscribeStatus", getSubscribeStatus())
+ .append("subscribeTime", getSubscribeTime())
+ .append("unsubscribeTime", getUnsubscribeTime())
+ .append("createTime", getCreateTime())
+ .append("updateTime", getUpdateTime())
+ .append("delFlag", getDelFlag())
+ .append("createUserId", getCreateUserId())
+ .append("updateUserId", getUpdateUserId())
+ .toString();
+ }
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberWxSource.java b/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberWxSource.java
new file mode 100644
index 0000000..80e912b
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/domain/CzsjMemberWxSource.java
@@ -0,0 +1,234 @@
+package com.czsj.account.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.czsj.common.annotation.Excel;
+import com.czsj.common.core.domain.BaseEntity;
+
+/**
+ * 会员微信来源信息对象 czsj_member_wx_source
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public class CzsjMemberWxSource extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 会员来源ID */
+ private Long uid;
+
+ /** 微信unionID */
+ @Excel(name = "微信unionID")
+ private String unionId;
+
+ /** 微信openID */
+ @Excel(name = "微信openID")
+ private String openId;
+
+ /** 姓名 */
+ @Excel(name = "姓名")
+ private String name;
+
+ /** 头像url */
+ @Excel(name = "头像url")
+ private String imageUrl;
+
+ /** 生日 */
+ @Excel(name = "生日")
+ private String birthday;
+
+ /** 性别,0未知,1男,2女,3保密 */
+ @Excel(name = "性别,0未知,1男,2女,3保密")
+ private Integer sex;
+
+ /** 邮箱 */
+ @Excel(name = "邮箱")
+ private String email;
+
+ /** 地址 */
+ @Excel(name = "地址")
+ private String address;
+
+ /** 手机号码 */
+ @Excel(name = "手机号码")
+ private String phone;
+
+ /** 城市 */
+ @Excel(name = "城市")
+ private String city;
+
+ /** 地区 */
+ @Excel(name = "地区")
+ private String area;
+
+ /** 有效标识,0有效,1无效 */
+ private Integer delFlag;
+
+ /** 创建人ID */
+ @Excel(name = "创建人ID")
+ private Long createUserId;
+
+ /** 修改人ID */
+ @Excel(name = "修改人ID")
+ private Long updateUserId;
+
+ public void setUid(Long uid)
+ {
+ this.uid = uid;
+ }
+
+ public Long getUid()
+ {
+ return uid;
+ }
+ public void setUnionId(String unionId)
+ {
+ this.unionId = unionId;
+ }
+
+ public String getUnionId()
+ {
+ return unionId;
+ }
+ public void setOpenId(String openId)
+ {
+ this.openId = openId;
+ }
+
+ public String getOpenId()
+ {
+ return openId;
+ }
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+ public void setImageUrl(String imageUrl)
+ {
+ this.imageUrl = imageUrl;
+ }
+
+ public String getImageUrl()
+ {
+ return imageUrl;
+ }
+ public void setBirthday(String birthday)
+ {
+ this.birthday = birthday;
+ }
+
+ public String getBirthday()
+ {
+ return birthday;
+ }
+ public void setSex(Integer sex)
+ {
+ this.sex = sex;
+ }
+
+ public Integer getSex()
+ {
+ return sex;
+ }
+ public void setEmail(String email)
+ {
+ this.email = email;
+ }
+
+ public String getEmail()
+ {
+ return email;
+ }
+ public void setAddress(String address)
+ {
+ this.address = address;
+ }
+
+ public String getAddress()
+ {
+ return address;
+ }
+ public void setPhone(String phone)
+ {
+ this.phone = phone;
+ }
+
+ public String getPhone()
+ {
+ return phone;
+ }
+ public void setCity(String city)
+ {
+ this.city = city;
+ }
+
+ public String getCity()
+ {
+ return city;
+ }
+ public void setArea(String area)
+ {
+ this.area = area;
+ }
+
+ public String getArea()
+ {
+ return area;
+ }
+ public void setDelFlag(Integer delFlag)
+ {
+ this.delFlag = delFlag;
+ }
+
+ public Integer getDelFlag()
+ {
+ return delFlag;
+ }
+ public void setCreateUserId(Long createUserId)
+ {
+ this.createUserId = createUserId;
+ }
+
+ public Long getCreateUserId()
+ {
+ return createUserId;
+ }
+ public void setUpdateUserId(Long updateUserId)
+ {
+ this.updateUserId = updateUserId;
+ }
+
+ public Long getUpdateUserId()
+ {
+ return updateUserId;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("uid", getUid())
+ .append("unionId", getUnionId())
+ .append("openId", getOpenId())
+ .append("name", getName())
+ .append("imageUrl", getImageUrl())
+ .append("birthday", getBirthday())
+ .append("sex", getSex())
+ .append("email", getEmail())
+ .append("address", getAddress())
+ .append("phone", getPhone())
+ .append("city", getCity())
+ .append("area", getArea())
+ .append("createTime", getCreateTime())
+ .append("updateTime", getUpdateTime())
+ .append("delFlag", getDelFlag())
+ .append("createUserId", getCreateUserId())
+ .append("updateUserId", getUpdateUserId())
+ .toString();
+ }
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberCardMapper.java b/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberCardMapper.java
new file mode 100644
index 0000000..69e3b32
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberCardMapper.java
@@ -0,0 +1,61 @@
+package com.czsj.account.mapper;
+
+import java.util.List;
+import com.czsj.account.domain.CzsjMemberCard;
+
+/**
+ * 会员证件信息Mapper接口
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public interface CzsjMemberCardMapper
+{
+ /**
+ * 查询会员证件信息
+ *
+ * @param uid 会员证件信息主键
+ * @return 会员证件信息
+ */
+ public CzsjMemberCard selectCzsjMemberCardByUid(Integer uid);
+
+ /**
+ * 查询会员证件信息列表
+ *
+ * @param czsjMemberCard 会员证件信息
+ * @return 会员证件信息集合
+ */
+ public List selectCzsjMemberCardList(CzsjMemberCard czsjMemberCard);
+
+ /**
+ * 新增会员证件信息
+ *
+ * @param czsjMemberCard 会员证件信息
+ * @return 结果
+ */
+ public int insertCzsjMemberCard(CzsjMemberCard czsjMemberCard);
+
+ /**
+ * 修改会员证件信息
+ *
+ * @param czsjMemberCard 会员证件信息
+ * @return 结果
+ */
+ public int updateCzsjMemberCard(CzsjMemberCard czsjMemberCard);
+
+ /**
+ * 删除会员证件信息
+ *
+ * @param uid 会员证件信息主键
+ * @return 结果
+ */
+ public int deleteCzsjMemberCardByUid(Integer uid);
+
+ /**
+ * 批量删除会员证件信息
+ *
+ * @param uids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteCzsjMemberCardByUids(Integer[] uids);
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberLocusMapper.java b/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberLocusMapper.java
new file mode 100644
index 0000000..f1a366c
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberLocusMapper.java
@@ -0,0 +1,61 @@
+package com.czsj.account.mapper;
+
+import java.util.List;
+import com.czsj.account.domain.CzsjMemberLocus;
+
+/**
+ * 会员轨迹信息Mapper接口
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public interface CzsjMemberLocusMapper
+{
+ /**
+ * 查询会员轨迹信息
+ *
+ * @param uid 会员轨迹信息主键
+ * @return 会员轨迹信息
+ */
+ public CzsjMemberLocus selectCzsjMemberLocusByUid(Long uid);
+
+ /**
+ * 查询会员轨迹信息列表
+ *
+ * @param czsjMemberLocus 会员轨迹信息
+ * @return 会员轨迹信息集合
+ */
+ public List selectCzsjMemberLocusList(CzsjMemberLocus czsjMemberLocus);
+
+ /**
+ * 新增会员轨迹信息
+ *
+ * @param czsjMemberLocus 会员轨迹信息
+ * @return 结果
+ */
+ public int insertCzsjMemberLocus(CzsjMemberLocus czsjMemberLocus);
+
+ /**
+ * 修改会员轨迹信息
+ *
+ * @param czsjMemberLocus 会员轨迹信息
+ * @return 结果
+ */
+ public int updateCzsjMemberLocus(CzsjMemberLocus czsjMemberLocus);
+
+ /**
+ * 删除会员轨迹信息
+ *
+ * @param uid 会员轨迹信息主键
+ * @return 结果
+ */
+ public int deleteCzsjMemberLocusByUid(Long uid);
+
+ /**
+ * 批量删除会员轨迹信息
+ *
+ * @param uids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteCzsjMemberLocusByUids(Long[] uids);
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberMapper.java b/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberMapper.java
new file mode 100644
index 0000000..6fa791a
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberMapper.java
@@ -0,0 +1,61 @@
+package com.czsj.account.mapper;
+
+import java.util.List;
+import com.czsj.account.domain.CzsjMember;
+
+/**
+ * 会员信息Mapper接口
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public interface CzsjMemberMapper
+{
+ /**
+ * 查询会员信息
+ *
+ * @param uid 会员信息主键
+ * @return 会员信息
+ */
+ public CzsjMember selectCzsjMemberByUid(Long uid);
+
+ /**
+ * 查询会员信息列表
+ *
+ * @param czsjMember 会员信息
+ * @return 会员信息集合
+ */
+ public List selectCzsjMemberList(CzsjMember czsjMember);
+
+ /**
+ * 新增会员信息
+ *
+ * @param czsjMember 会员信息
+ * @return 结果
+ */
+ public int insertCzsjMember(CzsjMember czsjMember);
+
+ /**
+ * 修改会员信息
+ *
+ * @param czsjMember 会员信息
+ * @return 结果
+ */
+ public int updateCzsjMember(CzsjMember czsjMember);
+
+ /**
+ * 删除会员信息
+ *
+ * @param uid 会员信息主键
+ * @return 结果
+ */
+ public int deleteCzsjMemberByUid(Long uid);
+
+ /**
+ * 批量删除会员信息
+ *
+ * @param uids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteCzsjMemberByUids(Long[] uids);
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberRelationMapper.java b/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberRelationMapper.java
new file mode 100644
index 0000000..46fa0a3
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberRelationMapper.java
@@ -0,0 +1,61 @@
+package com.czsj.account.mapper;
+
+import java.util.List;
+import com.czsj.account.domain.CzsjMemberRelation;
+
+/**
+ * 会员关系Mapper接口
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public interface CzsjMemberRelationMapper
+{
+ /**
+ * 查询会员关系
+ *
+ * @param uid 会员关系主键
+ * @return 会员关系
+ */
+ public CzsjMemberRelation selectCzsjMemberRelationByUid(Long uid);
+
+ /**
+ * 查询会员关系列表
+ *
+ * @param czsjMemberRelation 会员关系
+ * @return 会员关系集合
+ */
+ public List selectCzsjMemberRelationList(CzsjMemberRelation czsjMemberRelation);
+
+ /**
+ * 新增会员关系
+ *
+ * @param czsjMemberRelation 会员关系
+ * @return 结果
+ */
+ public int insertCzsjMemberRelation(CzsjMemberRelation czsjMemberRelation);
+
+ /**
+ * 修改会员关系
+ *
+ * @param czsjMemberRelation 会员关系
+ * @return 结果
+ */
+ public int updateCzsjMemberRelation(CzsjMemberRelation czsjMemberRelation);
+
+ /**
+ * 删除会员关系
+ *
+ * @param uid 会员关系主键
+ * @return 结果
+ */
+ public int deleteCzsjMemberRelationByUid(Long uid);
+
+ /**
+ * 批量删除会员关系
+ *
+ * @param uids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteCzsjMemberRelationByUids(Long[] uids);
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberSignMapper.java b/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberSignMapper.java
new file mode 100644
index 0000000..c1ac60c
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberSignMapper.java
@@ -0,0 +1,61 @@
+package com.czsj.account.mapper;
+
+import java.util.List;
+import com.czsj.account.domain.CzsjMemberSign;
+
+/**
+ * 会员签到记录Mapper接口
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public interface CzsjMemberSignMapper
+{
+ /**
+ * 查询会员签到记录
+ *
+ * @param uid 会员签到记录主键
+ * @return 会员签到记录
+ */
+ public CzsjMemberSign selectCzsjMemberSignByUid(Long uid);
+
+ /**
+ * 查询会员签到记录列表
+ *
+ * @param czsjMemberSign 会员签到记录
+ * @return 会员签到记录集合
+ */
+ public List selectCzsjMemberSignList(CzsjMemberSign czsjMemberSign);
+
+ /**
+ * 新增会员签到记录
+ *
+ * @param czsjMemberSign 会员签到记录
+ * @return 结果
+ */
+ public int insertCzsjMemberSign(CzsjMemberSign czsjMemberSign);
+
+ /**
+ * 修改会员签到记录
+ *
+ * @param czsjMemberSign 会员签到记录
+ * @return 结果
+ */
+ public int updateCzsjMemberSign(CzsjMemberSign czsjMemberSign);
+
+ /**
+ * 删除会员签到记录
+ *
+ * @param uid 会员签到记录主键
+ * @return 结果
+ */
+ public int deleteCzsjMemberSignByUid(Long uid);
+
+ /**
+ * 批量删除会员签到记录
+ *
+ * @param uids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteCzsjMemberSignByUids(Long[] uids);
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberTagGroupMapper.java b/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberTagGroupMapper.java
new file mode 100644
index 0000000..05fec16
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberTagGroupMapper.java
@@ -0,0 +1,61 @@
+package com.czsj.account.mapper;
+
+import java.util.List;
+import com.czsj.account.domain.CzsjMemberTagGroup;
+
+/**
+ * 会员标签组Mapper接口
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public interface CzsjMemberTagGroupMapper
+{
+ /**
+ * 查询会员标签组
+ *
+ * @param uid 会员标签组主键
+ * @return 会员标签组
+ */
+ public CzsjMemberTagGroup selectCzsjMemberTagGroupByUid(Long uid);
+
+ /**
+ * 查询会员标签组列表
+ *
+ * @param czsjMemberTagGroup 会员标签组
+ * @return 会员标签组集合
+ */
+ public List selectCzsjMemberTagGroupList(CzsjMemberTagGroup czsjMemberTagGroup);
+
+ /**
+ * 新增会员标签组
+ *
+ * @param czsjMemberTagGroup 会员标签组
+ * @return 结果
+ */
+ public int insertCzsjMemberTagGroup(CzsjMemberTagGroup czsjMemberTagGroup);
+
+ /**
+ * 修改会员标签组
+ *
+ * @param czsjMemberTagGroup 会员标签组
+ * @return 结果
+ */
+ public int updateCzsjMemberTagGroup(CzsjMemberTagGroup czsjMemberTagGroup);
+
+ /**
+ * 删除会员标签组
+ *
+ * @param uid 会员标签组主键
+ * @return 结果
+ */
+ public int deleteCzsjMemberTagGroupByUid(Long uid);
+
+ /**
+ * 批量删除会员标签组
+ *
+ * @param uids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteCzsjMemberTagGroupByUids(Long[] uids);
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberTagMapper.java b/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberTagMapper.java
new file mode 100644
index 0000000..bab2159
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberTagMapper.java
@@ -0,0 +1,61 @@
+package com.czsj.account.mapper;
+
+import java.util.List;
+import com.czsj.account.domain.CzsjMemberTag;
+
+/**
+ * 会员标签Mapper接口
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public interface CzsjMemberTagMapper
+{
+ /**
+ * 查询会员标签
+ *
+ * @param uid 会员标签主键
+ * @return 会员标签
+ */
+ public CzsjMemberTag selectCzsjMemberTagByUid(Long uid);
+
+ /**
+ * 查询会员标签列表
+ *
+ * @param czsjMemberTag 会员标签
+ * @return 会员标签集合
+ */
+ public List selectCzsjMemberTagList(CzsjMemberTag czsjMemberTag);
+
+ /**
+ * 新增会员标签
+ *
+ * @param czsjMemberTag 会员标签
+ * @return 结果
+ */
+ public int insertCzsjMemberTag(CzsjMemberTag czsjMemberTag);
+
+ /**
+ * 修改会员标签
+ *
+ * @param czsjMemberTag 会员标签
+ * @return 结果
+ */
+ public int updateCzsjMemberTag(CzsjMemberTag czsjMemberTag);
+
+ /**
+ * 删除会员标签
+ *
+ * @param uid 会员标签主键
+ * @return 结果
+ */
+ public int deleteCzsjMemberTagByUid(Long uid);
+
+ /**
+ * 批量删除会员标签
+ *
+ * @param uids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteCzsjMemberTagByUids(Long[] uids);
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberWxFansMapper.java b/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberWxFansMapper.java
new file mode 100644
index 0000000..73a59f7
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberWxFansMapper.java
@@ -0,0 +1,61 @@
+package com.czsj.account.mapper;
+
+import java.util.List;
+import com.czsj.account.domain.CzsjMemberWxFans;
+
+/**
+ * 会员微信粉丝Mapper接口
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public interface CzsjMemberWxFansMapper
+{
+ /**
+ * 查询会员微信粉丝
+ *
+ * @param uid 会员微信粉丝主键
+ * @return 会员微信粉丝
+ */
+ public CzsjMemberWxFans selectCzsjMemberWxFansByUid(Long uid);
+
+ /**
+ * 查询会员微信粉丝列表
+ *
+ * @param czsjMemberWxFans 会员微信粉丝
+ * @return 会员微信粉丝集合
+ */
+ public List selectCzsjMemberWxFansList(CzsjMemberWxFans czsjMemberWxFans);
+
+ /**
+ * 新增会员微信粉丝
+ *
+ * @param czsjMemberWxFans 会员微信粉丝
+ * @return 结果
+ */
+ public int insertCzsjMemberWxFans(CzsjMemberWxFans czsjMemberWxFans);
+
+ /**
+ * 修改会员微信粉丝
+ *
+ * @param czsjMemberWxFans 会员微信粉丝
+ * @return 结果
+ */
+ public int updateCzsjMemberWxFans(CzsjMemberWxFans czsjMemberWxFans);
+
+ /**
+ * 删除会员微信粉丝
+ *
+ * @param uid 会员微信粉丝主键
+ * @return 结果
+ */
+ public int deleteCzsjMemberWxFansByUid(Long uid);
+
+ /**
+ * 批量删除会员微信粉丝
+ *
+ * @param uids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteCzsjMemberWxFansByUids(Long[] uids);
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberWxSourceMapper.java b/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberWxSourceMapper.java
new file mode 100644
index 0000000..018d5f1
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/mapper/CzsjMemberWxSourceMapper.java
@@ -0,0 +1,61 @@
+package com.czsj.account.mapper;
+
+import java.util.List;
+import com.czsj.account.domain.CzsjMemberWxSource;
+
+/**
+ * 会员微信来源信息Mapper接口
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public interface CzsjMemberWxSourceMapper
+{
+ /**
+ * 查询会员微信来源信息
+ *
+ * @param uid 会员微信来源信息主键
+ * @return 会员微信来源信息
+ */
+ public CzsjMemberWxSource selectCzsjMemberWxSourceByUid(Long uid);
+
+ /**
+ * 查询会员微信来源信息列表
+ *
+ * @param czsjMemberWxSource 会员微信来源信息
+ * @return 会员微信来源信息集合
+ */
+ public List selectCzsjMemberWxSourceList(CzsjMemberWxSource czsjMemberWxSource);
+
+ /**
+ * 新增会员微信来源信息
+ *
+ * @param czsjMemberWxSource 会员微信来源信息
+ * @return 结果
+ */
+ public int insertCzsjMemberWxSource(CzsjMemberWxSource czsjMemberWxSource);
+
+ /**
+ * 修改会员微信来源信息
+ *
+ * @param czsjMemberWxSource 会员微信来源信息
+ * @return 结果
+ */
+ public int updateCzsjMemberWxSource(CzsjMemberWxSource czsjMemberWxSource);
+
+ /**
+ * 删除会员微信来源信息
+ *
+ * @param uid 会员微信来源信息主键
+ * @return 结果
+ */
+ public int deleteCzsjMemberWxSourceByUid(Long uid);
+
+ /**
+ * 批量删除会员微信来源信息
+ *
+ * @param uids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteCzsjMemberWxSourceByUids(Long[] uids);
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberCardService.java b/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberCardService.java
new file mode 100644
index 0000000..8c04c48
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberCardService.java
@@ -0,0 +1,61 @@
+package com.czsj.account.service;
+
+import java.util.List;
+import com.czsj.account.domain.CzsjMemberCard;
+
+/**
+ * 会员证件信息Service接口
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public interface ICzsjMemberCardService
+{
+ /**
+ * 查询会员证件信息
+ *
+ * @param uid 会员证件信息主键
+ * @return 会员证件信息
+ */
+ public CzsjMemberCard selectCzsjMemberCardByUid(Integer uid);
+
+ /**
+ * 查询会员证件信息列表
+ *
+ * @param czsjMemberCard 会员证件信息
+ * @return 会员证件信息集合
+ */
+ public List selectCzsjMemberCardList(CzsjMemberCard czsjMemberCard);
+
+ /**
+ * 新增会员证件信息
+ *
+ * @param czsjMemberCard 会员证件信息
+ * @return 结果
+ */
+ public int insertCzsjMemberCard(CzsjMemberCard czsjMemberCard);
+
+ /**
+ * 修改会员证件信息
+ *
+ * @param czsjMemberCard 会员证件信息
+ * @return 结果
+ */
+ public int updateCzsjMemberCard(CzsjMemberCard czsjMemberCard);
+
+ /**
+ * 批量删除会员证件信息
+ *
+ * @param uids 需要删除的会员证件信息主键集合
+ * @return 结果
+ */
+ public int deleteCzsjMemberCardByUids(Integer[] uids);
+
+ /**
+ * 删除会员证件信息信息
+ *
+ * @param uid 会员证件信息主键
+ * @return 结果
+ */
+ public int deleteCzsjMemberCardByUid(Integer uid);
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberLocusService.java b/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberLocusService.java
new file mode 100644
index 0000000..d484fbe
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberLocusService.java
@@ -0,0 +1,61 @@
+package com.czsj.account.service;
+
+import java.util.List;
+import com.czsj.account.domain.CzsjMemberLocus;
+
+/**
+ * 会员轨迹信息Service接口
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public interface ICzsjMemberLocusService
+{
+ /**
+ * 查询会员轨迹信息
+ *
+ * @param uid 会员轨迹信息主键
+ * @return 会员轨迹信息
+ */
+ public CzsjMemberLocus selectCzsjMemberLocusByUid(Long uid);
+
+ /**
+ * 查询会员轨迹信息列表
+ *
+ * @param czsjMemberLocus 会员轨迹信息
+ * @return 会员轨迹信息集合
+ */
+ public List selectCzsjMemberLocusList(CzsjMemberLocus czsjMemberLocus);
+
+ /**
+ * 新增会员轨迹信息
+ *
+ * @param czsjMemberLocus 会员轨迹信息
+ * @return 结果
+ */
+ public int insertCzsjMemberLocus(CzsjMemberLocus czsjMemberLocus);
+
+ /**
+ * 修改会员轨迹信息
+ *
+ * @param czsjMemberLocus 会员轨迹信息
+ * @return 结果
+ */
+ public int updateCzsjMemberLocus(CzsjMemberLocus czsjMemberLocus);
+
+ /**
+ * 批量删除会员轨迹信息
+ *
+ * @param uids 需要删除的会员轨迹信息主键集合
+ * @return 结果
+ */
+ public int deleteCzsjMemberLocusByUids(Long[] uids);
+
+ /**
+ * 删除会员轨迹信息信息
+ *
+ * @param uid 会员轨迹信息主键
+ * @return 结果
+ */
+ public int deleteCzsjMemberLocusByUid(Long uid);
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberRelationService.java b/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberRelationService.java
new file mode 100644
index 0000000..018d7c4
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberRelationService.java
@@ -0,0 +1,61 @@
+package com.czsj.account.service;
+
+import java.util.List;
+import com.czsj.account.domain.CzsjMemberRelation;
+
+/**
+ * 会员关系Service接口
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public interface ICzsjMemberRelationService
+{
+ /**
+ * 查询会员关系
+ *
+ * @param uid 会员关系主键
+ * @return 会员关系
+ */
+ public CzsjMemberRelation selectCzsjMemberRelationByUid(Long uid);
+
+ /**
+ * 查询会员关系列表
+ *
+ * @param czsjMemberRelation 会员关系
+ * @return 会员关系集合
+ */
+ public List selectCzsjMemberRelationList(CzsjMemberRelation czsjMemberRelation);
+
+ /**
+ * 新增会员关系
+ *
+ * @param czsjMemberRelation 会员关系
+ * @return 结果
+ */
+ public int insertCzsjMemberRelation(CzsjMemberRelation czsjMemberRelation);
+
+ /**
+ * 修改会员关系
+ *
+ * @param czsjMemberRelation 会员关系
+ * @return 结果
+ */
+ public int updateCzsjMemberRelation(CzsjMemberRelation czsjMemberRelation);
+
+ /**
+ * 批量删除会员关系
+ *
+ * @param uids 需要删除的会员关系主键集合
+ * @return 结果
+ */
+ public int deleteCzsjMemberRelationByUids(Long[] uids);
+
+ /**
+ * 删除会员关系信息
+ *
+ * @param uid 会员关系主键
+ * @return 结果
+ */
+ public int deleteCzsjMemberRelationByUid(Long uid);
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberService.java b/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberService.java
new file mode 100644
index 0000000..8512d3c
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberService.java
@@ -0,0 +1,61 @@
+package com.czsj.account.service;
+
+import java.util.List;
+import com.czsj.account.domain.CzsjMember;
+
+/**
+ * 会员信息Service接口
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public interface ICzsjMemberService
+{
+ /**
+ * 查询会员信息
+ *
+ * @param uid 会员信息主键
+ * @return 会员信息
+ */
+ public CzsjMember selectCzsjMemberByUid(Long uid);
+
+ /**
+ * 查询会员信息列表
+ *
+ * @param czsjMember 会员信息
+ * @return 会员信息集合
+ */
+ public List selectCzsjMemberList(CzsjMember czsjMember);
+
+ /**
+ * 新增会员信息
+ *
+ * @param czsjMember 会员信息
+ * @return 结果
+ */
+ public int insertCzsjMember(CzsjMember czsjMember);
+
+ /**
+ * 修改会员信息
+ *
+ * @param czsjMember 会员信息
+ * @return 结果
+ */
+ public int updateCzsjMember(CzsjMember czsjMember);
+
+ /**
+ * 批量删除会员信息
+ *
+ * @param uids 需要删除的会员信息主键集合
+ * @return 结果
+ */
+ public int deleteCzsjMemberByUids(Long[] uids);
+
+ /**
+ * 删除会员信息信息
+ *
+ * @param uid 会员信息主键
+ * @return 结果
+ */
+ public int deleteCzsjMemberByUid(Long uid);
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberSignService.java b/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberSignService.java
new file mode 100644
index 0000000..000dced
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberSignService.java
@@ -0,0 +1,61 @@
+package com.czsj.account.service;
+
+import java.util.List;
+import com.czsj.account.domain.CzsjMemberSign;
+
+/**
+ * 会员签到记录Service接口
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public interface ICzsjMemberSignService
+{
+ /**
+ * 查询会员签到记录
+ *
+ * @param uid 会员签到记录主键
+ * @return 会员签到记录
+ */
+ public CzsjMemberSign selectCzsjMemberSignByUid(Long uid);
+
+ /**
+ * 查询会员签到记录列表
+ *
+ * @param czsjMemberSign 会员签到记录
+ * @return 会员签到记录集合
+ */
+ public List selectCzsjMemberSignList(CzsjMemberSign czsjMemberSign);
+
+ /**
+ * 新增会员签到记录
+ *
+ * @param czsjMemberSign 会员签到记录
+ * @return 结果
+ */
+ public int insertCzsjMemberSign(CzsjMemberSign czsjMemberSign);
+
+ /**
+ * 修改会员签到记录
+ *
+ * @param czsjMemberSign 会员签到记录
+ * @return 结果
+ */
+ public int updateCzsjMemberSign(CzsjMemberSign czsjMemberSign);
+
+ /**
+ * 批量删除会员签到记录
+ *
+ * @param uids 需要删除的会员签到记录主键集合
+ * @return 结果
+ */
+ public int deleteCzsjMemberSignByUids(Long[] uids);
+
+ /**
+ * 删除会员签到记录信息
+ *
+ * @param uid 会员签到记录主键
+ * @return 结果
+ */
+ public int deleteCzsjMemberSignByUid(Long uid);
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberTagGroupService.java b/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberTagGroupService.java
new file mode 100644
index 0000000..57c516d
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberTagGroupService.java
@@ -0,0 +1,61 @@
+package com.czsj.account.service;
+
+import java.util.List;
+import com.czsj.account.domain.CzsjMemberTagGroup;
+
+/**
+ * 会员标签组Service接口
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public interface ICzsjMemberTagGroupService
+{
+ /**
+ * 查询会员标签组
+ *
+ * @param uid 会员标签组主键
+ * @return 会员标签组
+ */
+ public CzsjMemberTagGroup selectCzsjMemberTagGroupByUid(Long uid);
+
+ /**
+ * 查询会员标签组列表
+ *
+ * @param czsjMemberTagGroup 会员标签组
+ * @return 会员标签组集合
+ */
+ public List selectCzsjMemberTagGroupList(CzsjMemberTagGroup czsjMemberTagGroup);
+
+ /**
+ * 新增会员标签组
+ *
+ * @param czsjMemberTagGroup 会员标签组
+ * @return 结果
+ */
+ public int insertCzsjMemberTagGroup(CzsjMemberTagGroup czsjMemberTagGroup);
+
+ /**
+ * 修改会员标签组
+ *
+ * @param czsjMemberTagGroup 会员标签组
+ * @return 结果
+ */
+ public int updateCzsjMemberTagGroup(CzsjMemberTagGroup czsjMemberTagGroup);
+
+ /**
+ * 批量删除会员标签组
+ *
+ * @param uids 需要删除的会员标签组主键集合
+ * @return 结果
+ */
+ public int deleteCzsjMemberTagGroupByUids(Long[] uids);
+
+ /**
+ * 删除会员标签组信息
+ *
+ * @param uid 会员标签组主键
+ * @return 结果
+ */
+ public int deleteCzsjMemberTagGroupByUid(Long uid);
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberTagService.java b/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberTagService.java
new file mode 100644
index 0000000..2dc610b
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberTagService.java
@@ -0,0 +1,61 @@
+package com.czsj.account.service;
+
+import java.util.List;
+import com.czsj.account.domain.CzsjMemberTag;
+
+/**
+ * 会员标签Service接口
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public interface ICzsjMemberTagService
+{
+ /**
+ * 查询会员标签
+ *
+ * @param uid 会员标签主键
+ * @return 会员标签
+ */
+ public CzsjMemberTag selectCzsjMemberTagByUid(Long uid);
+
+ /**
+ * 查询会员标签列表
+ *
+ * @param czsjMemberTag 会员标签
+ * @return 会员标签集合
+ */
+ public List selectCzsjMemberTagList(CzsjMemberTag czsjMemberTag);
+
+ /**
+ * 新增会员标签
+ *
+ * @param czsjMemberTag 会员标签
+ * @return 结果
+ */
+ public int insertCzsjMemberTag(CzsjMemberTag czsjMemberTag);
+
+ /**
+ * 修改会员标签
+ *
+ * @param czsjMemberTag 会员标签
+ * @return 结果
+ */
+ public int updateCzsjMemberTag(CzsjMemberTag czsjMemberTag);
+
+ /**
+ * 批量删除会员标签
+ *
+ * @param uids 需要删除的会员标签主键集合
+ * @return 结果
+ */
+ public int deleteCzsjMemberTagByUids(Long[] uids);
+
+ /**
+ * 删除会员标签信息
+ *
+ * @param uid 会员标签主键
+ * @return 结果
+ */
+ public int deleteCzsjMemberTagByUid(Long uid);
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberWxFansService.java b/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberWxFansService.java
new file mode 100644
index 0000000..0ae32f6
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberWxFansService.java
@@ -0,0 +1,61 @@
+package com.czsj.account.service;
+
+import java.util.List;
+import com.czsj.account.domain.CzsjMemberWxFans;
+
+/**
+ * 会员微信粉丝Service接口
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public interface ICzsjMemberWxFansService
+{
+ /**
+ * 查询会员微信粉丝
+ *
+ * @param uid 会员微信粉丝主键
+ * @return 会员微信粉丝
+ */
+ public CzsjMemberWxFans selectCzsjMemberWxFansByUid(Long uid);
+
+ /**
+ * 查询会员微信粉丝列表
+ *
+ * @param czsjMemberWxFans 会员微信粉丝
+ * @return 会员微信粉丝集合
+ */
+ public List selectCzsjMemberWxFansList(CzsjMemberWxFans czsjMemberWxFans);
+
+ /**
+ * 新增会员微信粉丝
+ *
+ * @param czsjMemberWxFans 会员微信粉丝
+ * @return 结果
+ */
+ public int insertCzsjMemberWxFans(CzsjMemberWxFans czsjMemberWxFans);
+
+ /**
+ * 修改会员微信粉丝
+ *
+ * @param czsjMemberWxFans 会员微信粉丝
+ * @return 结果
+ */
+ public int updateCzsjMemberWxFans(CzsjMemberWxFans czsjMemberWxFans);
+
+ /**
+ * 批量删除会员微信粉丝
+ *
+ * @param uids 需要删除的会员微信粉丝主键集合
+ * @return 结果
+ */
+ public int deleteCzsjMemberWxFansByUids(Long[] uids);
+
+ /**
+ * 删除会员微信粉丝信息
+ *
+ * @param uid 会员微信粉丝主键
+ * @return 结果
+ */
+ public int deleteCzsjMemberWxFansByUid(Long uid);
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberWxSourceService.java b/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberWxSourceService.java
new file mode 100644
index 0000000..0405c62
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/service/ICzsjMemberWxSourceService.java
@@ -0,0 +1,61 @@
+package com.czsj.account.service;
+
+import java.util.List;
+import com.czsj.account.domain.CzsjMemberWxSource;
+
+/**
+ * 会员微信来源信息Service接口
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+public interface ICzsjMemberWxSourceService
+{
+ /**
+ * 查询会员微信来源信息
+ *
+ * @param uid 会员微信来源信息主键
+ * @return 会员微信来源信息
+ */
+ public CzsjMemberWxSource selectCzsjMemberWxSourceByUid(Long uid);
+
+ /**
+ * 查询会员微信来源信息列表
+ *
+ * @param czsjMemberWxSource 会员微信来源信息
+ * @return 会员微信来源信息集合
+ */
+ public List selectCzsjMemberWxSourceList(CzsjMemberWxSource czsjMemberWxSource);
+
+ /**
+ * 新增会员微信来源信息
+ *
+ * @param czsjMemberWxSource 会员微信来源信息
+ * @return 结果
+ */
+ public int insertCzsjMemberWxSource(CzsjMemberWxSource czsjMemberWxSource);
+
+ /**
+ * 修改会员微信来源信息
+ *
+ * @param czsjMemberWxSource 会员微信来源信息
+ * @return 结果
+ */
+ public int updateCzsjMemberWxSource(CzsjMemberWxSource czsjMemberWxSource);
+
+ /**
+ * 批量删除会员微信来源信息
+ *
+ * @param uids 需要删除的会员微信来源信息主键集合
+ * @return 结果
+ */
+ public int deleteCzsjMemberWxSourceByUids(Long[] uids);
+
+ /**
+ * 删除会员微信来源信息信息
+ *
+ * @param uid 会员微信来源信息主键
+ * @return 结果
+ */
+ public int deleteCzsjMemberWxSourceByUid(Long uid);
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberCardServiceImpl.java b/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberCardServiceImpl.java
new file mode 100644
index 0000000..b05b6e8
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberCardServiceImpl.java
@@ -0,0 +1,96 @@
+package com.czsj.account.service.impl;
+
+import java.util.List;
+import com.czsj.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.czsj.account.mapper.CzsjMemberCardMapper;
+import com.czsj.account.domain.CzsjMemberCard;
+import com.czsj.account.service.ICzsjMemberCardService;
+
+/**
+ * 会员证件信息Service业务层处理
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+@Service
+public class CzsjMemberCardServiceImpl implements ICzsjMemberCardService
+{
+ @Autowired
+ private CzsjMemberCardMapper czsjMemberCardMapper;
+
+ /**
+ * 查询会员证件信息
+ *
+ * @param uid 会员证件信息主键
+ * @return 会员证件信息
+ */
+ @Override
+ public CzsjMemberCard selectCzsjMemberCardByUid(Integer uid)
+ {
+ return czsjMemberCardMapper.selectCzsjMemberCardByUid(uid);
+ }
+
+ /**
+ * 查询会员证件信息列表
+ *
+ * @param czsjMemberCard 会员证件信息
+ * @return 会员证件信息
+ */
+ @Override
+ public List selectCzsjMemberCardList(CzsjMemberCard czsjMemberCard)
+ {
+ return czsjMemberCardMapper.selectCzsjMemberCardList(czsjMemberCard);
+ }
+
+ /**
+ * 新增会员证件信息
+ *
+ * @param czsjMemberCard 会员证件信息
+ * @return 结果
+ */
+ @Override
+ public int insertCzsjMemberCard(CzsjMemberCard czsjMemberCard)
+ {
+ czsjMemberCard.setCreateTime(DateUtils.getNowDate());
+ return czsjMemberCardMapper.insertCzsjMemberCard(czsjMemberCard);
+ }
+
+ /**
+ * 修改会员证件信息
+ *
+ * @param czsjMemberCard 会员证件信息
+ * @return 结果
+ */
+ @Override
+ public int updateCzsjMemberCard(CzsjMemberCard czsjMemberCard)
+ {
+ czsjMemberCard.setUpdateTime(DateUtils.getNowDate());
+ return czsjMemberCardMapper.updateCzsjMemberCard(czsjMemberCard);
+ }
+
+ /**
+ * 批量删除会员证件信息
+ *
+ * @param uids 需要删除的会员证件信息主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCzsjMemberCardByUids(Integer[] uids)
+ {
+ return czsjMemberCardMapper.deleteCzsjMemberCardByUids(uids);
+ }
+
+ /**
+ * 删除会员证件信息信息
+ *
+ * @param uid 会员证件信息主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCzsjMemberCardByUid(Integer uid)
+ {
+ return czsjMemberCardMapper.deleteCzsjMemberCardByUid(uid);
+ }
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberLocusServiceImpl.java b/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberLocusServiceImpl.java
new file mode 100644
index 0000000..48f9990
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberLocusServiceImpl.java
@@ -0,0 +1,96 @@
+package com.czsj.account.service.impl;
+
+import java.util.List;
+import com.czsj.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.czsj.account.mapper.CzsjMemberLocusMapper;
+import com.czsj.account.domain.CzsjMemberLocus;
+import com.czsj.account.service.ICzsjMemberLocusService;
+
+/**
+ * 会员轨迹信息Service业务层处理
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+@Service
+public class CzsjMemberLocusServiceImpl implements ICzsjMemberLocusService
+{
+ @Autowired
+ private CzsjMemberLocusMapper czsjMemberLocusMapper;
+
+ /**
+ * 查询会员轨迹信息
+ *
+ * @param uid 会员轨迹信息主键
+ * @return 会员轨迹信息
+ */
+ @Override
+ public CzsjMemberLocus selectCzsjMemberLocusByUid(Long uid)
+ {
+ return czsjMemberLocusMapper.selectCzsjMemberLocusByUid(uid);
+ }
+
+ /**
+ * 查询会员轨迹信息列表
+ *
+ * @param czsjMemberLocus 会员轨迹信息
+ * @return 会员轨迹信息
+ */
+ @Override
+ public List selectCzsjMemberLocusList(CzsjMemberLocus czsjMemberLocus)
+ {
+ return czsjMemberLocusMapper.selectCzsjMemberLocusList(czsjMemberLocus);
+ }
+
+ /**
+ * 新增会员轨迹信息
+ *
+ * @param czsjMemberLocus 会员轨迹信息
+ * @return 结果
+ */
+ @Override
+ public int insertCzsjMemberLocus(CzsjMemberLocus czsjMemberLocus)
+ {
+ czsjMemberLocus.setCreateTime(DateUtils.getNowDate());
+ return czsjMemberLocusMapper.insertCzsjMemberLocus(czsjMemberLocus);
+ }
+
+ /**
+ * 修改会员轨迹信息
+ *
+ * @param czsjMemberLocus 会员轨迹信息
+ * @return 结果
+ */
+ @Override
+ public int updateCzsjMemberLocus(CzsjMemberLocus czsjMemberLocus)
+ {
+ czsjMemberLocus.setUpdateTime(DateUtils.getNowDate());
+ return czsjMemberLocusMapper.updateCzsjMemberLocus(czsjMemberLocus);
+ }
+
+ /**
+ * 批量删除会员轨迹信息
+ *
+ * @param uids 需要删除的会员轨迹信息主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCzsjMemberLocusByUids(Long[] uids)
+ {
+ return czsjMemberLocusMapper.deleteCzsjMemberLocusByUids(uids);
+ }
+
+ /**
+ * 删除会员轨迹信息信息
+ *
+ * @param uid 会员轨迹信息主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCzsjMemberLocusByUid(Long uid)
+ {
+ return czsjMemberLocusMapper.deleteCzsjMemberLocusByUid(uid);
+ }
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberRelationServiceImpl.java b/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberRelationServiceImpl.java
new file mode 100644
index 0000000..11dbf6a
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberRelationServiceImpl.java
@@ -0,0 +1,96 @@
+package com.czsj.account.service.impl;
+
+import java.util.List;
+import com.czsj.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.czsj.account.mapper.CzsjMemberRelationMapper;
+import com.czsj.account.domain.CzsjMemberRelation;
+import com.czsj.account.service.ICzsjMemberRelationService;
+
+/**
+ * 会员关系Service业务层处理
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+@Service
+public class CzsjMemberRelationServiceImpl implements ICzsjMemberRelationService
+{
+ @Autowired
+ private CzsjMemberRelationMapper czsjMemberRelationMapper;
+
+ /**
+ * 查询会员关系
+ *
+ * @param uid 会员关系主键
+ * @return 会员关系
+ */
+ @Override
+ public CzsjMemberRelation selectCzsjMemberRelationByUid(Long uid)
+ {
+ return czsjMemberRelationMapper.selectCzsjMemberRelationByUid(uid);
+ }
+
+ /**
+ * 查询会员关系列表
+ *
+ * @param czsjMemberRelation 会员关系
+ * @return 会员关系
+ */
+ @Override
+ public List selectCzsjMemberRelationList(CzsjMemberRelation czsjMemberRelation)
+ {
+ return czsjMemberRelationMapper.selectCzsjMemberRelationList(czsjMemberRelation);
+ }
+
+ /**
+ * 新增会员关系
+ *
+ * @param czsjMemberRelation 会员关系
+ * @return 结果
+ */
+ @Override
+ public int insertCzsjMemberRelation(CzsjMemberRelation czsjMemberRelation)
+ {
+ czsjMemberRelation.setCreateTime(DateUtils.getNowDate());
+ return czsjMemberRelationMapper.insertCzsjMemberRelation(czsjMemberRelation);
+ }
+
+ /**
+ * 修改会员关系
+ *
+ * @param czsjMemberRelation 会员关系
+ * @return 结果
+ */
+ @Override
+ public int updateCzsjMemberRelation(CzsjMemberRelation czsjMemberRelation)
+ {
+ czsjMemberRelation.setUpdateTime(DateUtils.getNowDate());
+ return czsjMemberRelationMapper.updateCzsjMemberRelation(czsjMemberRelation);
+ }
+
+ /**
+ * 批量删除会员关系
+ *
+ * @param uids 需要删除的会员关系主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCzsjMemberRelationByUids(Long[] uids)
+ {
+ return czsjMemberRelationMapper.deleteCzsjMemberRelationByUids(uids);
+ }
+
+ /**
+ * 删除会员关系信息
+ *
+ * @param uid 会员关系主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCzsjMemberRelationByUid(Long uid)
+ {
+ return czsjMemberRelationMapper.deleteCzsjMemberRelationByUid(uid);
+ }
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberServiceImpl.java b/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberServiceImpl.java
new file mode 100644
index 0000000..1c76fad
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberServiceImpl.java
@@ -0,0 +1,96 @@
+package com.czsj.account.service.impl;
+
+import java.util.List;
+import com.czsj.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.czsj.account.mapper.CzsjMemberMapper;
+import com.czsj.account.domain.CzsjMember;
+import com.czsj.account.service.ICzsjMemberService;
+
+/**
+ * 会员信息Service业务层处理
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+@Service
+public class CzsjMemberServiceImpl implements ICzsjMemberService
+{
+ @Autowired
+ private CzsjMemberMapper czsjMemberMapper;
+
+ /**
+ * 查询会员信息
+ *
+ * @param uid 会员信息主键
+ * @return 会员信息
+ */
+ @Override
+ public CzsjMember selectCzsjMemberByUid(Long uid)
+ {
+ return czsjMemberMapper.selectCzsjMemberByUid(uid);
+ }
+
+ /**
+ * 查询会员信息列表
+ *
+ * @param czsjMember 会员信息
+ * @return 会员信息
+ */
+ @Override
+ public List selectCzsjMemberList(CzsjMember czsjMember)
+ {
+ return czsjMemberMapper.selectCzsjMemberList(czsjMember);
+ }
+
+ /**
+ * 新增会员信息
+ *
+ * @param czsjMember 会员信息
+ * @return 结果
+ */
+ @Override
+ public int insertCzsjMember(CzsjMember czsjMember)
+ {
+ czsjMember.setCreateTime(DateUtils.getNowDate());
+ return czsjMemberMapper.insertCzsjMember(czsjMember);
+ }
+
+ /**
+ * 修改会员信息
+ *
+ * @param czsjMember 会员信息
+ * @return 结果
+ */
+ @Override
+ public int updateCzsjMember(CzsjMember czsjMember)
+ {
+ czsjMember.setUpdateTime(DateUtils.getNowDate());
+ return czsjMemberMapper.updateCzsjMember(czsjMember);
+ }
+
+ /**
+ * 批量删除会员信息
+ *
+ * @param uids 需要删除的会员信息主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCzsjMemberByUids(Long[] uids)
+ {
+ return czsjMemberMapper.deleteCzsjMemberByUids(uids);
+ }
+
+ /**
+ * 删除会员信息信息
+ *
+ * @param uid 会员信息主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCzsjMemberByUid(Long uid)
+ {
+ return czsjMemberMapper.deleteCzsjMemberByUid(uid);
+ }
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberSignServiceImpl.java b/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberSignServiceImpl.java
new file mode 100644
index 0000000..067b4cc
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberSignServiceImpl.java
@@ -0,0 +1,96 @@
+package com.czsj.account.service.impl;
+
+import java.util.List;
+import com.czsj.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.czsj.account.mapper.CzsjMemberSignMapper;
+import com.czsj.account.domain.CzsjMemberSign;
+import com.czsj.account.service.ICzsjMemberSignService;
+
+/**
+ * 会员签到记录Service业务层处理
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+@Service
+public class CzsjMemberSignServiceImpl implements ICzsjMemberSignService
+{
+ @Autowired
+ private CzsjMemberSignMapper czsjMemberSignMapper;
+
+ /**
+ * 查询会员签到记录
+ *
+ * @param uid 会员签到记录主键
+ * @return 会员签到记录
+ */
+ @Override
+ public CzsjMemberSign selectCzsjMemberSignByUid(Long uid)
+ {
+ return czsjMemberSignMapper.selectCzsjMemberSignByUid(uid);
+ }
+
+ /**
+ * 查询会员签到记录列表
+ *
+ * @param czsjMemberSign 会员签到记录
+ * @return 会员签到记录
+ */
+ @Override
+ public List selectCzsjMemberSignList(CzsjMemberSign czsjMemberSign)
+ {
+ return czsjMemberSignMapper.selectCzsjMemberSignList(czsjMemberSign);
+ }
+
+ /**
+ * 新增会员签到记录
+ *
+ * @param czsjMemberSign 会员签到记录
+ * @return 结果
+ */
+ @Override
+ public int insertCzsjMemberSign(CzsjMemberSign czsjMemberSign)
+ {
+ czsjMemberSign.setCreateTime(DateUtils.getNowDate());
+ return czsjMemberSignMapper.insertCzsjMemberSign(czsjMemberSign);
+ }
+
+ /**
+ * 修改会员签到记录
+ *
+ * @param czsjMemberSign 会员签到记录
+ * @return 结果
+ */
+ @Override
+ public int updateCzsjMemberSign(CzsjMemberSign czsjMemberSign)
+ {
+ czsjMemberSign.setUpdateTime(DateUtils.getNowDate());
+ return czsjMemberSignMapper.updateCzsjMemberSign(czsjMemberSign);
+ }
+
+ /**
+ * 批量删除会员签到记录
+ *
+ * @param uids 需要删除的会员签到记录主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCzsjMemberSignByUids(Long[] uids)
+ {
+ return czsjMemberSignMapper.deleteCzsjMemberSignByUids(uids);
+ }
+
+ /**
+ * 删除会员签到记录信息
+ *
+ * @param uid 会员签到记录主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCzsjMemberSignByUid(Long uid)
+ {
+ return czsjMemberSignMapper.deleteCzsjMemberSignByUid(uid);
+ }
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberTagGroupServiceImpl.java b/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberTagGroupServiceImpl.java
new file mode 100644
index 0000000..20fba74
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberTagGroupServiceImpl.java
@@ -0,0 +1,96 @@
+package com.czsj.account.service.impl;
+
+import java.util.List;
+import com.czsj.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.czsj.account.mapper.CzsjMemberTagGroupMapper;
+import com.czsj.account.domain.CzsjMemberTagGroup;
+import com.czsj.account.service.ICzsjMemberTagGroupService;
+
+/**
+ * 会员标签组Service业务层处理
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+@Service
+public class CzsjMemberTagGroupServiceImpl implements ICzsjMemberTagGroupService
+{
+ @Autowired
+ private CzsjMemberTagGroupMapper czsjMemberTagGroupMapper;
+
+ /**
+ * 查询会员标签组
+ *
+ * @param uid 会员标签组主键
+ * @return 会员标签组
+ */
+ @Override
+ public CzsjMemberTagGroup selectCzsjMemberTagGroupByUid(Long uid)
+ {
+ return czsjMemberTagGroupMapper.selectCzsjMemberTagGroupByUid(uid);
+ }
+
+ /**
+ * 查询会员标签组列表
+ *
+ * @param czsjMemberTagGroup 会员标签组
+ * @return 会员标签组
+ */
+ @Override
+ public List selectCzsjMemberTagGroupList(CzsjMemberTagGroup czsjMemberTagGroup)
+ {
+ return czsjMemberTagGroupMapper.selectCzsjMemberTagGroupList(czsjMemberTagGroup);
+ }
+
+ /**
+ * 新增会员标签组
+ *
+ * @param czsjMemberTagGroup 会员标签组
+ * @return 结果
+ */
+ @Override
+ public int insertCzsjMemberTagGroup(CzsjMemberTagGroup czsjMemberTagGroup)
+ {
+ czsjMemberTagGroup.setCreateTime(DateUtils.getNowDate());
+ return czsjMemberTagGroupMapper.insertCzsjMemberTagGroup(czsjMemberTagGroup);
+ }
+
+ /**
+ * 修改会员标签组
+ *
+ * @param czsjMemberTagGroup 会员标签组
+ * @return 结果
+ */
+ @Override
+ public int updateCzsjMemberTagGroup(CzsjMemberTagGroup czsjMemberTagGroup)
+ {
+ czsjMemberTagGroup.setUpdateTime(DateUtils.getNowDate());
+ return czsjMemberTagGroupMapper.updateCzsjMemberTagGroup(czsjMemberTagGroup);
+ }
+
+ /**
+ * 批量删除会员标签组
+ *
+ * @param uids 需要删除的会员标签组主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCzsjMemberTagGroupByUids(Long[] uids)
+ {
+ return czsjMemberTagGroupMapper.deleteCzsjMemberTagGroupByUids(uids);
+ }
+
+ /**
+ * 删除会员标签组信息
+ *
+ * @param uid 会员标签组主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCzsjMemberTagGroupByUid(Long uid)
+ {
+ return czsjMemberTagGroupMapper.deleteCzsjMemberTagGroupByUid(uid);
+ }
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberTagServiceImpl.java b/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberTagServiceImpl.java
new file mode 100644
index 0000000..b295e6d
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberTagServiceImpl.java
@@ -0,0 +1,96 @@
+package com.czsj.account.service.impl;
+
+import java.util.List;
+import com.czsj.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.czsj.account.mapper.CzsjMemberTagMapper;
+import com.czsj.account.domain.CzsjMemberTag;
+import com.czsj.account.service.ICzsjMemberTagService;
+
+/**
+ * 会员标签Service业务层处理
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+@Service
+public class CzsjMemberTagServiceImpl implements ICzsjMemberTagService
+{
+ @Autowired
+ private CzsjMemberTagMapper czsjMemberTagMapper;
+
+ /**
+ * 查询会员标签
+ *
+ * @param uid 会员标签主键
+ * @return 会员标签
+ */
+ @Override
+ public CzsjMemberTag selectCzsjMemberTagByUid(Long uid)
+ {
+ return czsjMemberTagMapper.selectCzsjMemberTagByUid(uid);
+ }
+
+ /**
+ * 查询会员标签列表
+ *
+ * @param czsjMemberTag 会员标签
+ * @return 会员标签
+ */
+ @Override
+ public List selectCzsjMemberTagList(CzsjMemberTag czsjMemberTag)
+ {
+ return czsjMemberTagMapper.selectCzsjMemberTagList(czsjMemberTag);
+ }
+
+ /**
+ * 新增会员标签
+ *
+ * @param czsjMemberTag 会员标签
+ * @return 结果
+ */
+ @Override
+ public int insertCzsjMemberTag(CzsjMemberTag czsjMemberTag)
+ {
+ czsjMemberTag.setCreateTime(DateUtils.getNowDate());
+ return czsjMemberTagMapper.insertCzsjMemberTag(czsjMemberTag);
+ }
+
+ /**
+ * 修改会员标签
+ *
+ * @param czsjMemberTag 会员标签
+ * @return 结果
+ */
+ @Override
+ public int updateCzsjMemberTag(CzsjMemberTag czsjMemberTag)
+ {
+ czsjMemberTag.setUpdateTime(DateUtils.getNowDate());
+ return czsjMemberTagMapper.updateCzsjMemberTag(czsjMemberTag);
+ }
+
+ /**
+ * 批量删除会员标签
+ *
+ * @param uids 需要删除的会员标签主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCzsjMemberTagByUids(Long[] uids)
+ {
+ return czsjMemberTagMapper.deleteCzsjMemberTagByUids(uids);
+ }
+
+ /**
+ * 删除会员标签信息
+ *
+ * @param uid 会员标签主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCzsjMemberTagByUid(Long uid)
+ {
+ return czsjMemberTagMapper.deleteCzsjMemberTagByUid(uid);
+ }
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberWxFansServiceImpl.java b/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberWxFansServiceImpl.java
new file mode 100644
index 0000000..a272a2f
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberWxFansServiceImpl.java
@@ -0,0 +1,96 @@
+package com.czsj.account.service.impl;
+
+import java.util.List;
+import com.czsj.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.czsj.account.mapper.CzsjMemberWxFansMapper;
+import com.czsj.account.domain.CzsjMemberWxFans;
+import com.czsj.account.service.ICzsjMemberWxFansService;
+
+/**
+ * 会员微信粉丝Service业务层处理
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+@Service
+public class CzsjMemberWxFansServiceImpl implements ICzsjMemberWxFansService
+{
+ @Autowired
+ private CzsjMemberWxFansMapper czsjMemberWxFansMapper;
+
+ /**
+ * 查询会员微信粉丝
+ *
+ * @param uid 会员微信粉丝主键
+ * @return 会员微信粉丝
+ */
+ @Override
+ public CzsjMemberWxFans selectCzsjMemberWxFansByUid(Long uid)
+ {
+ return czsjMemberWxFansMapper.selectCzsjMemberWxFansByUid(uid);
+ }
+
+ /**
+ * 查询会员微信粉丝列表
+ *
+ * @param czsjMemberWxFans 会员微信粉丝
+ * @return 会员微信粉丝
+ */
+ @Override
+ public List selectCzsjMemberWxFansList(CzsjMemberWxFans czsjMemberWxFans)
+ {
+ return czsjMemberWxFansMapper.selectCzsjMemberWxFansList(czsjMemberWxFans);
+ }
+
+ /**
+ * 新增会员微信粉丝
+ *
+ * @param czsjMemberWxFans 会员微信粉丝
+ * @return 结果
+ */
+ @Override
+ public int insertCzsjMemberWxFans(CzsjMemberWxFans czsjMemberWxFans)
+ {
+ czsjMemberWxFans.setCreateTime(DateUtils.getNowDate());
+ return czsjMemberWxFansMapper.insertCzsjMemberWxFans(czsjMemberWxFans);
+ }
+
+ /**
+ * 修改会员微信粉丝
+ *
+ * @param czsjMemberWxFans 会员微信粉丝
+ * @return 结果
+ */
+ @Override
+ public int updateCzsjMemberWxFans(CzsjMemberWxFans czsjMemberWxFans)
+ {
+ czsjMemberWxFans.setUpdateTime(DateUtils.getNowDate());
+ return czsjMemberWxFansMapper.updateCzsjMemberWxFans(czsjMemberWxFans);
+ }
+
+ /**
+ * 批量删除会员微信粉丝
+ *
+ * @param uids 需要删除的会员微信粉丝主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCzsjMemberWxFansByUids(Long[] uids)
+ {
+ return czsjMemberWxFansMapper.deleteCzsjMemberWxFansByUids(uids);
+ }
+
+ /**
+ * 删除会员微信粉丝信息
+ *
+ * @param uid 会员微信粉丝主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCzsjMemberWxFansByUid(Long uid)
+ {
+ return czsjMemberWxFansMapper.deleteCzsjMemberWxFansByUid(uid);
+ }
+}
diff --git a/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberWxSourceServiceImpl.java b/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberWxSourceServiceImpl.java
new file mode 100644
index 0000000..297b155
--- /dev/null
+++ b/czsj-system/src/main/java/com/czsj/account/service/impl/CzsjMemberWxSourceServiceImpl.java
@@ -0,0 +1,96 @@
+package com.czsj.account.service.impl;
+
+import java.util.List;
+import com.czsj.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.czsj.account.mapper.CzsjMemberWxSourceMapper;
+import com.czsj.account.domain.CzsjMemberWxSource;
+import com.czsj.account.service.ICzsjMemberWxSourceService;
+
+/**
+ * 会员微信来源信息Service业务层处理
+ *
+ * @author czsj
+ * @date 2024-12-01
+ */
+@Service
+public class CzsjMemberWxSourceServiceImpl implements ICzsjMemberWxSourceService
+{
+ @Autowired
+ private CzsjMemberWxSourceMapper czsjMemberWxSourceMapper;
+
+ /**
+ * 查询会员微信来源信息
+ *
+ * @param uid 会员微信来源信息主键
+ * @return 会员微信来源信息
+ */
+ @Override
+ public CzsjMemberWxSource selectCzsjMemberWxSourceByUid(Long uid)
+ {
+ return czsjMemberWxSourceMapper.selectCzsjMemberWxSourceByUid(uid);
+ }
+
+ /**
+ * 查询会员微信来源信息列表
+ *
+ * @param czsjMemberWxSource 会员微信来源信息
+ * @return 会员微信来源信息
+ */
+ @Override
+ public List selectCzsjMemberWxSourceList(CzsjMemberWxSource czsjMemberWxSource)
+ {
+ return czsjMemberWxSourceMapper.selectCzsjMemberWxSourceList(czsjMemberWxSource);
+ }
+
+ /**
+ * 新增会员微信来源信息
+ *
+ * @param czsjMemberWxSource 会员微信来源信息
+ * @return 结果
+ */
+ @Override
+ public int insertCzsjMemberWxSource(CzsjMemberWxSource czsjMemberWxSource)
+ {
+ czsjMemberWxSource.setCreateTime(DateUtils.getNowDate());
+ return czsjMemberWxSourceMapper.insertCzsjMemberWxSource(czsjMemberWxSource);
+ }
+
+ /**
+ * 修改会员微信来源信息
+ *
+ * @param czsjMemberWxSource 会员微信来源信息
+ * @return 结果
+ */
+ @Override
+ public int updateCzsjMemberWxSource(CzsjMemberWxSource czsjMemberWxSource)
+ {
+ czsjMemberWxSource.setUpdateTime(DateUtils.getNowDate());
+ return czsjMemberWxSourceMapper.updateCzsjMemberWxSource(czsjMemberWxSource);
+ }
+
+ /**
+ * 批量删除会员微信来源信息
+ *
+ * @param uids 需要删除的会员微信来源信息主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCzsjMemberWxSourceByUids(Long[] uids)
+ {
+ return czsjMemberWxSourceMapper.deleteCzsjMemberWxSourceByUids(uids);
+ }
+
+ /**
+ * 删除会员微信来源信息信息
+ *
+ * @param uid 会员微信来源信息主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCzsjMemberWxSourceByUid(Long uid)
+ {
+ return czsjMemberWxSourceMapper.deleteCzsjMemberWxSourceByUid(uid);
+ }
+}
diff --git a/czsj-system/src/main/resources/mapper/account/CzsjMemberCardMapper.xml b/czsj-system/src/main/resources/mapper/account/CzsjMemberCardMapper.xml
new file mode 100644
index 0000000..6be896f
--- /dev/null
+++ b/czsj-system/src/main/resources/mapper/account/CzsjMemberCardMapper.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select uid, member_uid, card_type, card_id, create_time, update_time, del_flag, create_user_id, update_user_id from czsj_member_card
+
+
+
+
+
+
+
+ insert into czsj_member_card
+
+ uid,
+ member_uid,
+ card_type,
+ card_id,
+ create_time,
+ update_time,
+ del_flag,
+ create_user_id,
+ update_user_id,
+
+
+ #{uid},
+ #{memberUid},
+ #{cardType},
+ #{cardId},
+ #{createTime},
+ #{updateTime},
+ #{delFlag},
+ #{createUserId},
+ #{updateUserId},
+
+
+
+
+ update czsj_member_card
+
+ member_uid = #{memberUid},
+ card_type = #{cardType},
+ card_id = #{cardId},
+ create_time = #{createTime},
+ update_time = #{updateTime},
+ del_flag = #{delFlag},
+ create_user_id = #{createUserId},
+ update_user_id = #{updateUserId},
+
+ where uid = #{uid}
+
+
+
+ delete from czsj_member_card where uid = #{uid}
+
+
+
+ delete from czsj_member_card where uid in
+
+ #{uid}
+
+
+
\ No newline at end of file
diff --git a/czsj-system/src/main/resources/mapper/account/CzsjMemberLocusMapper.xml b/czsj-system/src/main/resources/mapper/account/CzsjMemberLocusMapper.xml
new file mode 100644
index 0000000..7eeacdc
--- /dev/null
+++ b/czsj-system/src/main/resources/mapper/account/CzsjMemberLocusMapper.xml
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select uid, member_uid, trajectory_type, content, create_date, create_time, update_time, del_flag, create_user_id, update_user_id from czsj_member_locus
+
+
+
+
+
+
+
+ insert into czsj_member_locus
+
+ uid,
+ member_uid,
+ trajectory_type,
+ content,
+ create_date,
+ create_time,
+ update_time,
+ del_flag,
+ create_user_id,
+ update_user_id,
+
+
+ #{uid},
+ #{memberUid},
+ #{trajectoryType},
+ #{content},
+ #{createDate},
+ #{createTime},
+ #{updateTime},
+ #{delFlag},
+ #{createUserId},
+ #{updateUserId},
+
+
+
+
+ update czsj_member_locus
+
+ member_uid = #{memberUid},
+ trajectory_type = #{trajectoryType},
+ content = #{content},
+ create_date = #{createDate},
+ create_time = #{createTime},
+ update_time = #{updateTime},
+ del_flag = #{delFlag},
+ create_user_id = #{createUserId},
+ update_user_id = #{updateUserId},
+
+ where uid = #{uid}
+
+
+
+ delete from czsj_member_locus where uid = #{uid}
+
+
+
+ delete from czsj_member_locus where uid in
+
+ #{uid}
+
+
+
\ No newline at end of file
diff --git a/czsj-system/src/main/resources/mapper/account/CzsjMemberMapper.xml b/czsj-system/src/main/resources/mapper/account/CzsjMemberMapper.xml
new file mode 100644
index 0000000..10c1723
--- /dev/null
+++ b/czsj-system/src/main/resources/mapper/account/CzsjMemberMapper.xml
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select uid, name, birthday, sex, email, address, phone, member_id, member_level, city, area, source, status, create_time, update_time, logout_time, freeze_time, card_time, del_flag, create_user_id, update_user_id from czsj_member
+
+
+
+
+
+
+
+ insert into czsj_member
+
+ uid,
+ name,
+ birthday,
+ sex,
+ email,
+ address,
+ phone,
+ member_id,
+ member_level,
+ city,
+ area,
+ source,
+ status,
+ create_time,
+ update_time,
+ logout_time,
+ freeze_time,
+ card_time,
+ del_flag,
+ create_user_id,
+ update_user_id,
+
+
+ #{uid},
+ #{name},
+ #{birthday},
+ #{sex},
+ #{email},
+ #{address},
+ #{phone},
+ #{memberId},
+ #{memberLevel},
+ #{city},
+ #{area},
+ #{source},
+ #{status},
+ #{createTime},
+ #{updateTime},
+ #{logoutTime},
+ #{freezeTime},
+ #{cardTime},
+ #{delFlag},
+ #{createUserId},
+ #{updateUserId},
+
+
+
+
+ update czsj_member
+
+ name = #{name},
+ birthday = #{birthday},
+ sex = #{sex},
+ email = #{email},
+ address = #{address},
+ phone = #{phone},
+ member_id = #{memberId},
+ member_level = #{memberLevel},
+ city = #{city},
+ area = #{area},
+ source = #{source},
+ status = #{status},
+ create_time = #{createTime},
+ update_time = #{updateTime},
+ logout_time = #{logoutTime},
+ freeze_time = #{freezeTime},
+ card_time = #{cardTime},
+ del_flag = #{delFlag},
+ create_user_id = #{createUserId},
+ update_user_id = #{updateUserId},
+
+ where uid = #{uid}
+
+
+
+ delete from czsj_member where uid = #{uid}
+
+
+
+ delete from czsj_member where uid in
+
+ #{uid}
+
+
+
\ No newline at end of file
diff --git a/czsj-system/src/main/resources/mapper/account/CzsjMemberRelationMapper.xml b/czsj-system/src/main/resources/mapper/account/CzsjMemberRelationMapper.xml
new file mode 100644
index 0000000..6bf5ac1
--- /dev/null
+++ b/czsj-system/src/main/resources/mapper/account/CzsjMemberRelationMapper.xml
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select uid, member_uid, relation, member_relation_uid, mark, create_time, update_time, del_flag, create_user_id, update_user_id from czsj_member_relation
+
+
+
+
+
+
+
+ insert into czsj_member_relation
+
+ uid,
+ member_uid,
+ relation,
+ member_relation_uid,
+ mark,
+ create_time,
+ update_time,
+ del_flag,
+ create_user_id,
+ update_user_id,
+
+
+ #{uid},
+ #{memberUid},
+ #{relation},
+ #{memberRelationUid},
+ #{mark},
+ #{createTime},
+ #{updateTime},
+ #{delFlag},
+ #{createUserId},
+ #{updateUserId},
+
+
+
+
+ update czsj_member_relation
+
+ member_uid = #{memberUid},
+ relation = #{relation},
+ member_relation_uid = #{memberRelationUid},
+ mark = #{mark},
+ create_time = #{createTime},
+ update_time = #{updateTime},
+ del_flag = #{delFlag},
+ create_user_id = #{createUserId},
+ update_user_id = #{updateUserId},
+
+ where uid = #{uid}
+
+
+
+ delete from czsj_member_relation where uid = #{uid}
+
+
+
+ delete from czsj_member_relation where uid in
+
+ #{uid}
+
+
+
\ No newline at end of file
diff --git a/czsj-system/src/main/resources/mapper/account/CzsjMemberSignMapper.xml b/czsj-system/src/main/resources/mapper/account/CzsjMemberSignMapper.xml
new file mode 100644
index 0000000..40a42dd
--- /dev/null
+++ b/czsj-system/src/main/resources/mapper/account/CzsjMemberSignMapper.xml
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select uid, member_uid, create_day, create_time, update_time, del_flag, create_user_id, update_user_id from czsj_member_sign
+
+
+
+
+
+
+
+ insert into czsj_member_sign
+
+ uid,
+ member_uid,
+ create_day,
+ create_time,
+ update_time,
+ del_flag,
+ create_user_id,
+ update_user_id,
+
+
+ #{uid},
+ #{memberUid},
+ #{createDay},
+ #{createTime},
+ #{updateTime},
+ #{delFlag},
+ #{createUserId},
+ #{updateUserId},
+
+
+
+
+ update czsj_member_sign
+
+ member_uid = #{memberUid},
+ create_day = #{createDay},
+ create_time = #{createTime},
+ update_time = #{updateTime},
+ del_flag = #{delFlag},
+ create_user_id = #{createUserId},
+ update_user_id = #{updateUserId},
+
+ where uid = #{uid}
+
+
+
+ delete from czsj_member_sign where uid = #{uid}
+
+
+
+ delete from czsj_member_sign where uid in
+
+ #{uid}
+
+
+
\ No newline at end of file
diff --git a/czsj-system/src/main/resources/mapper/account/CzsjMemberTagGroupMapper.xml b/czsj-system/src/main/resources/mapper/account/CzsjMemberTagGroupMapper.xml
new file mode 100644
index 0000000..480d908
--- /dev/null
+++ b/czsj-system/src/main/resources/mapper/account/CzsjMemberTagGroupMapper.xml
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select uid, name, mark, create_time, update_time, del_flag, create_user_id, update_user_id from czsj_member_tag_group
+
+
+
+
+
+
+
+ insert into czsj_member_tag_group
+
+ uid,
+ name,
+ mark,
+ create_time,
+ update_time,
+ del_flag,
+ create_user_id,
+ update_user_id,
+
+
+ #{uid},
+ #{name},
+ #{mark},
+ #{createTime},
+ #{updateTime},
+ #{delFlag},
+ #{createUserId},
+ #{updateUserId},
+
+
+
+
+ update czsj_member_tag_group
+
+ name = #{name},
+ mark = #{mark},
+ create_time = #{createTime},
+ update_time = #{updateTime},
+ del_flag = #{delFlag},
+ create_user_id = #{createUserId},
+ update_user_id = #{updateUserId},
+
+ where uid = #{uid}
+
+
+
+ delete from czsj_member_tag_group where uid = #{uid}
+
+
+
+ delete from czsj_member_tag_group where uid in
+
+ #{uid}
+
+
+
\ No newline at end of file
diff --git a/czsj-system/src/main/resources/mapper/account/CzsjMemberTagMapper.xml b/czsj-system/src/main/resources/mapper/account/CzsjMemberTagMapper.xml
new file mode 100644
index 0000000..1eaa3e4
--- /dev/null
+++ b/czsj-system/src/main/resources/mapper/account/CzsjMemberTagMapper.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select uid, name, mark, tag_group_uid, create_time, update_time, del_flag, create_user_id, update_user_id from czsj_member_tag
+
+
+
+
+
+
+
+ insert into czsj_member_tag
+
+ uid,
+ name,
+ mark,
+ tag_group_uid,
+ create_time,
+ update_time,
+ del_flag,
+ create_user_id,
+ update_user_id,
+
+
+ #{uid},
+ #{name},
+ #{mark},
+ #{tagGroupUid},
+ #{createTime},
+ #{updateTime},
+ #{delFlag},
+ #{createUserId},
+ #{updateUserId},
+
+
+
+
+ update czsj_member_tag
+
+ name = #{name},
+ mark = #{mark},
+ tag_group_uid = #{tagGroupUid},
+ create_time = #{createTime},
+ update_time = #{updateTime},
+ del_flag = #{delFlag},
+ create_user_id = #{createUserId},
+ update_user_id = #{updateUserId},
+
+ where uid = #{uid}
+
+
+
+ delete from czsj_member_tag where uid = #{uid}
+
+
+
+ delete from czsj_member_tag where uid in
+
+ #{uid}
+
+
+
\ No newline at end of file
diff --git a/czsj-system/src/main/resources/mapper/account/CzsjMemberWxFansMapper.xml b/czsj-system/src/main/resources/mapper/account/CzsjMemberWxFansMapper.xml
new file mode 100644
index 0000000..4c814f3
--- /dev/null
+++ b/czsj-system/src/main/resources/mapper/account/CzsjMemberWxFansMapper.xml
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select uid, member_uid, app_id, app_name, bind_time, name, image_url, union_id, open_id, subscribe_status, subscribe_time, unsubscribe_time, create_time, update_time, del_flag, create_user_id, update_user_id from czsj_member_wx_fans
+
+
+
+
+
+
+
+ insert into czsj_member_wx_fans
+
+ uid,
+ member_uid,
+ app_id,
+ app_name,
+ bind_time,
+ name,
+ image_url,
+ union_id,
+ open_id,
+ subscribe_status,
+ subscribe_time,
+ unsubscribe_time,
+ create_time,
+ update_time,
+ del_flag,
+ create_user_id,
+ update_user_id,
+
+
+ #{uid},
+ #{memberUid},
+ #{appId},
+ #{appName},
+ #{bindTime},
+ #{name},
+ #{imageUrl},
+ #{unionId},
+ #{openId},
+ #{subscribeStatus},
+ #{subscribeTime},
+ #{unsubscribeTime},
+ #{createTime},
+ #{updateTime},
+ #{delFlag},
+ #{createUserId},
+ #{updateUserId},
+
+
+
+
+ update czsj_member_wx_fans
+
+ member_uid = #{memberUid},
+ app_id = #{appId},
+ app_name = #{appName},
+ bind_time = #{bindTime},
+ name = #{name},
+ image_url = #{imageUrl},
+ union_id = #{unionId},
+ open_id = #{openId},
+ subscribe_status = #{subscribeStatus},
+ subscribe_time = #{subscribeTime},
+ unsubscribe_time = #{unsubscribeTime},
+ create_time = #{createTime},
+ update_time = #{updateTime},
+ del_flag = #{delFlag},
+ create_user_id = #{createUserId},
+ update_user_id = #{updateUserId},
+
+ where uid = #{uid}
+
+
+
+ delete from czsj_member_wx_fans where uid = #{uid}
+
+
+
+ delete from czsj_member_wx_fans where uid in
+
+ #{uid}
+
+
+
\ No newline at end of file
diff --git a/czsj-system/src/main/resources/mapper/account/CzsjMemberWxSourceMapper.xml b/czsj-system/src/main/resources/mapper/account/CzsjMemberWxSourceMapper.xml
new file mode 100644
index 0000000..110b97a
--- /dev/null
+++ b/czsj-system/src/main/resources/mapper/account/CzsjMemberWxSourceMapper.xml
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select uid, union_id, open_id, name, image_url, birthday, sex, email, address, phone, city, area, create_time, update_time, del_flag, create_user_id, update_user_id from czsj_member_wx_source
+
+
+
+
+
+
+
+ insert into czsj_member_wx_source
+
+ uid,
+ union_id,
+ open_id,
+ name,
+ image_url,
+ birthday,
+ sex,
+ email,
+ address,
+ phone,
+ city,
+ area,
+ create_time,
+ update_time,
+ del_flag,
+ create_user_id,
+ update_user_id,
+
+
+ #{uid},
+ #{unionId},
+ #{openId},
+ #{name},
+ #{imageUrl},
+ #{birthday},
+ #{sex},
+ #{email},
+ #{address},
+ #{phone},
+ #{city},
+ #{area},
+ #{createTime},
+ #{updateTime},
+ #{delFlag},
+ #{createUserId},
+ #{updateUserId},
+
+
+
+
+ update czsj_member_wx_source
+
+ union_id = #{unionId},
+ open_id = #{openId},
+ name = #{name},
+ image_url = #{imageUrl},
+ birthday = #{birthday},
+ sex = #{sex},
+ email = #{email},
+ address = #{address},
+ phone = #{phone},
+ city = #{city},
+ area = #{area},
+ create_time = #{createTime},
+ update_time = #{updateTime},
+ del_flag = #{delFlag},
+ create_user_id = #{createUserId},
+ update_user_id = #{updateUserId},
+
+ where uid = #{uid}
+
+
+
+ delete from czsj_member_wx_source where uid = #{uid}
+
+
+
+ delete from czsj_member_wx_source where uid in
+
+ #{uid}
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 37d8967..9efdcb1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,6 +27,8 @@
6.6.5
2.13.0
4.1.2
+ 1.18.16
+ 5.4.1
2.3
0.9.1
@@ -40,6 +42,18 @@
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+
+
+
+ cn.hutool
+ hutool-all
+ ${hutool.version}
+
+
org.springframework
diff --git a/uploadPath/avatar/2024/11/27/微信图片_20240720121710_20241127161057A001.jpg b/uploadPath/avatar/2024/11/27/微信图片_20240720121710_20241127161057A001.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..114d756673f68b90f4361b87143ebce839ced139
GIT binary patch
literal 74566
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