🎉 生成会员模块代码

This commit is contained in:
bunny 2025-07-05 19:42:48 +08:00
parent 14a505810f
commit c348e756d8
79 changed files with 4209 additions and 14 deletions

View File

@ -18,6 +18,10 @@
</properties>
<dependencies>
<dependency>
<groupId>com.mall</groupId>
<artifactId>mall-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>

View File

@ -1,13 +0,0 @@
package com.mall;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}

View File

@ -0,0 +1,13 @@
package com.mall.member;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@ComponentScan(basePackages = {"com.mall.member", "com.mall.common"})
public class MallMemberApplication {
public static void main(String[] args) {
SpringApplication.run(MallMemberApplication.class, args);
}
}

View File

@ -0,0 +1,54 @@
package com.mall.member.config;
import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import lombok.extern.slf4j.Slf4j;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableKnife4j
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.ANY)
@Slf4j
public class Knife4jConfig {
@Value("${server.port}")
private String port;
@Bean
public OpenAPI openAPI() {
String url = "http://localhost:" + port;
// 作者等信息
Contact contact = new Contact().name("Bunny").email("1319900154@qq.com").url(url);
// 使用协议
License license = new License().name("MIT").url("https://mit-license.org");
// 相关信息
Info info = new Info().title("Bunny-Admin")
.contact(contact).license(license)
.description("BunnyMall商城")
.summary("Bunny商城")
.termsOfService(url)
.version("v0.0.1");
return new OpenAPI().info(info).externalDocs(new ExternalDocumentation());
}
@Bean
public GroupedOpenApi all() {
return GroupedOpenApi.builder().group("全部请求接口").pathsToMatch("/api/**").build();
}
@Bean
public GroupedOpenApi member() {
return GroupedOpenApi.builder().group("会员请求接口").pathsToMatch("/api/member/**").build();
}
}

View File

@ -0,0 +1,70 @@
package com.mall.member.controller;
import com.mall.member.domain.dto.GrowthChangeHistoryDto;
import com.mall.member.domain.entity.GrowthChangeHistory;
import com.mall.member.domain.vo.GrowthChangeHistoryVo;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import com.mall.member.service.GrowthChangeHistoryService;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 成长值变化历史记录 前端控制器
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Tag(name = "成长值变化历史记录", description = "成长值变化历史记录相关接口")
@RestController
@RequestMapping("/api/member/growth-change-history")
@RequiredArgsConstructor
public class GrowthChangeHistoryController {
private final GrowthChangeHistoryService growthChangeHistoryService;
@Operation(summary = "分页查询成长值变化历史记录", description = "分页成长值变化历史记录")
@GetMapping("{page}/{limit}")
public Result<PageResult<GrowthChangeHistoryVo>> getGrowthChangeHistoryPage(
@Parameter(name = "page", description = "当前页", required = true)
@PathVariable("page") Integer page,
@Parameter(name = "limit", description = "每页记录数", required = true)
@PathVariable("limit") Integer limit,
GrowthChangeHistoryDto dto) {
Page<GrowthChangeHistory> pageParams = new Page<>(page, limit);
PageResult<GrowthChangeHistoryVo> pageResult = growthChangeHistoryService.getGrowthChangeHistoryPage(pageParams, dto);
return Result.success(pageResult);
}
@Operation(summary = "添加成长值变化历史记录", description = "添加成长值变化历史记录")
@PostMapping()
public Result<String> addGrowthChangeHistory(@Valid @RequestBody GrowthChangeHistoryDto dto) {
growthChangeHistoryService.addGrowthChangeHistory(dto);
return Result.success(ResultCodeEnum.ADD_SUCCESS);
}
@Operation(summary = "更新成长值变化历史记录", description = "更新成长值变化历史记录")
@PutMapping()
public Result<String> updateGrowthChangeHistory(@Valid @RequestBody GrowthChangeHistoryDto dto) {
growthChangeHistoryService.updateGrowthChangeHistory(dto);
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
}
@Operation(summary = "删除成长值变化历史记录", description = "删除成长值变化历史记录")
@DeleteMapping()
public Result<String> deleteGrowthChangeHistory(@RequestBody List<Long> ids) {
growthChangeHistoryService.deleteGrowthChangeHistory(ids);
return Result.success(ResultCodeEnum.DELETE_SUCCESS);
}
}

View File

@ -0,0 +1,70 @@
package com.mall.member.controller;
import com.mall.member.domain.dto.IntegrationChangeHistoryDto;
import com.mall.member.domain.entity.IntegrationChangeHistory;
import com.mall.member.domain.vo.IntegrationChangeHistoryVo;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import com.mall.member.service.IntegrationChangeHistoryService;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 积分变化历史记录 前端控制器
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Tag(name = "积分变化历史记录", description = "积分变化历史记录相关接口")
@RestController
@RequestMapping("/api/member/integration-change-history")
@RequiredArgsConstructor
public class IntegrationChangeHistoryController {
private final IntegrationChangeHistoryService integrationChangeHistoryService;
@Operation(summary = "分页查询积分变化历史记录", description = "分页积分变化历史记录")
@GetMapping("{page}/{limit}")
public Result<PageResult<IntegrationChangeHistoryVo>> getIntegrationChangeHistoryPage(
@Parameter(name = "page", description = "当前页", required = true)
@PathVariable("page") Integer page,
@Parameter(name = "limit", description = "每页记录数", required = true)
@PathVariable("limit") Integer limit,
IntegrationChangeHistoryDto dto) {
Page<IntegrationChangeHistory> pageParams = new Page<>(page, limit);
PageResult<IntegrationChangeHistoryVo> pageResult = integrationChangeHistoryService.getIntegrationChangeHistoryPage(pageParams, dto);
return Result.success(pageResult);
}
@Operation(summary = "添加积分变化历史记录", description = "添加积分变化历史记录")
@PostMapping()
public Result<String> addIntegrationChangeHistory(@Valid @RequestBody IntegrationChangeHistoryDto dto) {
integrationChangeHistoryService.addIntegrationChangeHistory(dto);
return Result.success(ResultCodeEnum.ADD_SUCCESS);
}
@Operation(summary = "更新积分变化历史记录", description = "更新积分变化历史记录")
@PutMapping()
public Result<String> updateIntegrationChangeHistory(@Valid @RequestBody IntegrationChangeHistoryDto dto) {
integrationChangeHistoryService.updateIntegrationChangeHistory(dto);
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
}
@Operation(summary = "删除积分变化历史记录", description = "删除积分变化历史记录")
@DeleteMapping()
public Result<String> deleteIntegrationChangeHistory(@RequestBody List<Long> ids) {
integrationChangeHistoryService.deleteIntegrationChangeHistory(ids);
return Result.success(ResultCodeEnum.DELETE_SUCCESS);
}
}

View File

@ -0,0 +1,70 @@
package com.mall.member.controller;
import com.mall.member.domain.dto.MemberCollectSpuDto;
import com.mall.member.domain.entity.MemberCollectSpu;
import com.mall.member.domain.vo.MemberCollectSpuVo;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import com.mall.member.service.MemberCollectSpuService;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员收藏的商品 前端控制器
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Tag(name = "会员收藏的商品", description = "会员收藏的商品相关接口")
@RestController
@RequestMapping("/api/member/member-collect-spu")
@RequiredArgsConstructor
public class MemberCollectSpuController {
private final MemberCollectSpuService memberCollectSpuService;
@Operation(summary = "分页查询会员收藏的商品", description = "分页会员收藏的商品")
@GetMapping("{page}/{limit}")
public Result<PageResult<MemberCollectSpuVo>> getMemberCollectSpuPage(
@Parameter(name = "page", description = "当前页", required = true)
@PathVariable("page") Integer page,
@Parameter(name = "limit", description = "每页记录数", required = true)
@PathVariable("limit") Integer limit,
MemberCollectSpuDto dto) {
Page<MemberCollectSpu> pageParams = new Page<>(page, limit);
PageResult<MemberCollectSpuVo> pageResult = memberCollectSpuService.getMemberCollectSpuPage(pageParams, dto);
return Result.success(pageResult);
}
@Operation(summary = "添加会员收藏的商品", description = "添加会员收藏的商品")
@PostMapping()
public Result<String> addMemberCollectSpu(@Valid @RequestBody MemberCollectSpuDto dto) {
memberCollectSpuService.addMemberCollectSpu(dto);
return Result.success(ResultCodeEnum.ADD_SUCCESS);
}
@Operation(summary = "更新会员收藏的商品", description = "更新会员收藏的商品")
@PutMapping()
public Result<String> updateMemberCollectSpu(@Valid @RequestBody MemberCollectSpuDto dto) {
memberCollectSpuService.updateMemberCollectSpu(dto);
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
}
@Operation(summary = "删除会员收藏的商品", description = "删除会员收藏的商品")
@DeleteMapping()
public Result<String> deleteMemberCollectSpu(@RequestBody List<Long> ids) {
memberCollectSpuService.deleteMemberCollectSpu(ids);
return Result.success(ResultCodeEnum.DELETE_SUCCESS);
}
}

View File

@ -0,0 +1,70 @@
package com.mall.member.controller;
import com.mall.member.domain.dto.MemberCollectSubjectDto;
import com.mall.member.domain.entity.MemberCollectSubject;
import com.mall.member.domain.vo.MemberCollectSubjectVo;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import com.mall.member.service.MemberCollectSubjectService;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员收藏的专题活动 前端控制器
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Tag(name = "会员收藏的专题活动", description = "会员收藏的专题活动相关接口")
@RestController
@RequestMapping("/api/member/member-collect-subject")
@RequiredArgsConstructor
public class MemberCollectSubjectController {
private final MemberCollectSubjectService memberCollectSubjectService;
@Operation(summary = "分页查询会员收藏的专题活动", description = "分页会员收藏的专题活动")
@GetMapping("{page}/{limit}")
public Result<PageResult<MemberCollectSubjectVo>> getMemberCollectSubjectPage(
@Parameter(name = "page", description = "当前页", required = true)
@PathVariable("page") Integer page,
@Parameter(name = "limit", description = "每页记录数", required = true)
@PathVariable("limit") Integer limit,
MemberCollectSubjectDto dto) {
Page<MemberCollectSubject> pageParams = new Page<>(page, limit);
PageResult<MemberCollectSubjectVo> pageResult = memberCollectSubjectService.getMemberCollectSubjectPage(pageParams, dto);
return Result.success(pageResult);
}
@Operation(summary = "添加会员收藏的专题活动", description = "添加会员收藏的专题活动")
@PostMapping()
public Result<String> addMemberCollectSubject(@Valid @RequestBody MemberCollectSubjectDto dto) {
memberCollectSubjectService.addMemberCollectSubject(dto);
return Result.success(ResultCodeEnum.ADD_SUCCESS);
}
@Operation(summary = "更新会员收藏的专题活动", description = "更新会员收藏的专题活动")
@PutMapping()
public Result<String> updateMemberCollectSubject(@Valid @RequestBody MemberCollectSubjectDto dto) {
memberCollectSubjectService.updateMemberCollectSubject(dto);
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
}
@Operation(summary = "删除会员收藏的专题活动", description = "删除会员收藏的专题活动")
@DeleteMapping()
public Result<String> deleteMemberCollectSubject(@RequestBody List<Long> ids) {
memberCollectSubjectService.deleteMemberCollectSubject(ids);
return Result.success(ResultCodeEnum.DELETE_SUCCESS);
}
}

View File

@ -0,0 +1,70 @@
package com.mall.member.controller;
import com.mall.member.domain.dto.MemberDto;
import com.mall.member.domain.entity.Member;
import com.mall.member.domain.vo.MemberVo;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import com.mall.member.service.MemberService;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员 前端控制器
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Tag(name = "会员", description = "会员相关接口")
@RestController
@RequestMapping("/api/member/member")
@RequiredArgsConstructor
public class MemberController {
private final MemberService memberService;
@Operation(summary = "分页查询会员", description = "分页会员")
@GetMapping("{page}/{limit}")
public Result<PageResult<MemberVo>> getMemberPage(
@Parameter(name = "page", description = "当前页", required = true)
@PathVariable("page") Integer page,
@Parameter(name = "limit", description = "每页记录数", required = true)
@PathVariable("limit") Integer limit,
MemberDto dto) {
Page<Member> pageParams = new Page<>(page, limit);
PageResult<MemberVo> pageResult = memberService.getMemberPage(pageParams, dto);
return Result.success(pageResult);
}
@Operation(summary = "添加会员", description = "添加会员")
@PostMapping()
public Result<String> addMember(@Valid @RequestBody MemberDto dto) {
memberService.addMember(dto);
return Result.success(ResultCodeEnum.ADD_SUCCESS);
}
@Operation(summary = "更新会员", description = "更新会员")
@PutMapping()
public Result<String> updateMember(@Valid @RequestBody MemberDto dto) {
memberService.updateMember(dto);
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
}
@Operation(summary = "删除会员", description = "删除会员")
@DeleteMapping()
public Result<String> deleteMember(@RequestBody List<Long> ids) {
memberService.deleteMember(ids);
return Result.success(ResultCodeEnum.DELETE_SUCCESS);
}
}

View File

@ -0,0 +1,70 @@
package com.mall.member.controller;
import com.mall.member.domain.dto.MemberLevelDto;
import com.mall.member.domain.entity.MemberLevel;
import com.mall.member.domain.vo.MemberLevelVo;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import com.mall.member.service.MemberLevelService;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员等级 前端控制器
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Tag(name = "会员等级", description = "会员等级相关接口")
@RestController
@RequestMapping("/api/member/member-level")
@RequiredArgsConstructor
public class MemberLevelController {
private final MemberLevelService memberLevelService;
@Operation(summary = "分页查询会员等级", description = "分页会员等级")
@GetMapping("{page}/{limit}")
public Result<PageResult<MemberLevelVo>> getMemberLevelPage(
@Parameter(name = "page", description = "当前页", required = true)
@PathVariable("page") Integer page,
@Parameter(name = "limit", description = "每页记录数", required = true)
@PathVariable("limit") Integer limit,
MemberLevelDto dto) {
Page<MemberLevel> pageParams = new Page<>(page, limit);
PageResult<MemberLevelVo> pageResult = memberLevelService.getMemberLevelPage(pageParams, dto);
return Result.success(pageResult);
}
@Operation(summary = "添加会员等级", description = "添加会员等级")
@PostMapping()
public Result<String> addMemberLevel(@Valid @RequestBody MemberLevelDto dto) {
memberLevelService.addMemberLevel(dto);
return Result.success(ResultCodeEnum.ADD_SUCCESS);
}
@Operation(summary = "更新会员等级", description = "更新会员等级")
@PutMapping()
public Result<String> updateMemberLevel(@Valid @RequestBody MemberLevelDto dto) {
memberLevelService.updateMemberLevel(dto);
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
}
@Operation(summary = "删除会员等级", description = "删除会员等级")
@DeleteMapping()
public Result<String> deleteMemberLevel(@RequestBody List<Long> ids) {
memberLevelService.deleteMemberLevel(ids);
return Result.success(ResultCodeEnum.DELETE_SUCCESS);
}
}

View File

@ -0,0 +1,70 @@
package com.mall.member.controller;
import com.mall.member.domain.dto.MemberLoginLogDto;
import com.mall.member.domain.entity.MemberLoginLog;
import com.mall.member.domain.vo.MemberLoginLogVo;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import com.mall.member.service.MemberLoginLogService;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员登录记录 前端控制器
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Tag(name = "会员登录记录", description = "会员登录记录相关接口")
@RestController
@RequestMapping("/api/member/member-login-log")
@RequiredArgsConstructor
public class MemberLoginLogController {
private final MemberLoginLogService memberLoginLogService;
@Operation(summary = "分页查询会员登录记录", description = "分页会员登录记录")
@GetMapping("{page}/{limit}")
public Result<PageResult<MemberLoginLogVo>> getMemberLoginLogPage(
@Parameter(name = "page", description = "当前页", required = true)
@PathVariable("page") Integer page,
@Parameter(name = "limit", description = "每页记录数", required = true)
@PathVariable("limit") Integer limit,
MemberLoginLogDto dto) {
Page<MemberLoginLog> pageParams = new Page<>(page, limit);
PageResult<MemberLoginLogVo> pageResult = memberLoginLogService.getMemberLoginLogPage(pageParams, dto);
return Result.success(pageResult);
}
@Operation(summary = "添加会员登录记录", description = "添加会员登录记录")
@PostMapping()
public Result<String> addMemberLoginLog(@Valid @RequestBody MemberLoginLogDto dto) {
memberLoginLogService.addMemberLoginLog(dto);
return Result.success(ResultCodeEnum.ADD_SUCCESS);
}
@Operation(summary = "更新会员登录记录", description = "更新会员登录记录")
@PutMapping()
public Result<String> updateMemberLoginLog(@Valid @RequestBody MemberLoginLogDto dto) {
memberLoginLogService.updateMemberLoginLog(dto);
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
}
@Operation(summary = "删除会员登录记录", description = "删除会员登录记录")
@DeleteMapping()
public Result<String> deleteMemberLoginLog(@RequestBody List<Long> ids) {
memberLoginLogService.deleteMemberLoginLog(ids);
return Result.success(ResultCodeEnum.DELETE_SUCCESS);
}
}

View File

@ -0,0 +1,70 @@
package com.mall.member.controller;
import com.mall.member.domain.dto.MemberReceiveAddressDto;
import com.mall.member.domain.entity.MemberReceiveAddress;
import com.mall.member.domain.vo.MemberReceiveAddressVo;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import com.mall.member.service.MemberReceiveAddressService;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员收货地址 前端控制器
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Tag(name = "会员收货地址", description = "会员收货地址相关接口")
@RestController
@RequestMapping("/api/member/member-receive-address")
@RequiredArgsConstructor
public class MemberReceiveAddressController {
private final MemberReceiveAddressService memberReceiveAddressService;
@Operation(summary = "分页查询会员收货地址", description = "分页会员收货地址")
@GetMapping("{page}/{limit}")
public Result<PageResult<MemberReceiveAddressVo>> getMemberReceiveAddressPage(
@Parameter(name = "page", description = "当前页", required = true)
@PathVariable("page") Integer page,
@Parameter(name = "limit", description = "每页记录数", required = true)
@PathVariable("limit") Integer limit,
MemberReceiveAddressDto dto) {
Page<MemberReceiveAddress> pageParams = new Page<>(page, limit);
PageResult<MemberReceiveAddressVo> pageResult = memberReceiveAddressService.getMemberReceiveAddressPage(pageParams, dto);
return Result.success(pageResult);
}
@Operation(summary = "添加会员收货地址", description = "添加会员收货地址")
@PostMapping()
public Result<String> addMemberReceiveAddress(@Valid @RequestBody MemberReceiveAddressDto dto) {
memberReceiveAddressService.addMemberReceiveAddress(dto);
return Result.success(ResultCodeEnum.ADD_SUCCESS);
}
@Operation(summary = "更新会员收货地址", description = "更新会员收货地址")
@PutMapping()
public Result<String> updateMemberReceiveAddress(@Valid @RequestBody MemberReceiveAddressDto dto) {
memberReceiveAddressService.updateMemberReceiveAddress(dto);
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
}
@Operation(summary = "删除会员收货地址", description = "删除会员收货地址")
@DeleteMapping()
public Result<String> deleteMemberReceiveAddress(@RequestBody List<Long> ids) {
memberReceiveAddressService.deleteMemberReceiveAddress(ids);
return Result.success(ResultCodeEnum.DELETE_SUCCESS);
}
}

View File

@ -0,0 +1,70 @@
package com.mall.member.controller;
import com.mall.member.domain.dto.MemberStatisticsInfoDto;
import com.mall.member.domain.entity.MemberStatisticsInfo;
import com.mall.member.domain.vo.MemberStatisticsInfoVo;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import com.mall.member.service.MemberStatisticsInfoService;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员统计信息 前端控制器
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Tag(name = "会员统计信息", description = "会员统计信息相关接口")
@RestController
@RequestMapping("/api/member/member-statistics-info")
@RequiredArgsConstructor
public class MemberStatisticsInfoController {
private final MemberStatisticsInfoService memberStatisticsInfoService;
@Operation(summary = "分页查询会员统计信息", description = "分页会员统计信息")
@GetMapping("{page}/{limit}")
public Result<PageResult<MemberStatisticsInfoVo>> getMemberStatisticsInfoPage(
@Parameter(name = "page", description = "当前页", required = true)
@PathVariable("page") Integer page,
@Parameter(name = "limit", description = "每页记录数", required = true)
@PathVariable("limit") Integer limit,
MemberStatisticsInfoDto dto) {
Page<MemberStatisticsInfo> pageParams = new Page<>(page, limit);
PageResult<MemberStatisticsInfoVo> pageResult = memberStatisticsInfoService.getMemberStatisticsInfoPage(pageParams, dto);
return Result.success(pageResult);
}
@Operation(summary = "添加会员统计信息", description = "添加会员统计信息")
@PostMapping()
public Result<String> addMemberStatisticsInfo(@Valid @RequestBody MemberStatisticsInfoDto dto) {
memberStatisticsInfoService.addMemberStatisticsInfo(dto);
return Result.success(ResultCodeEnum.ADD_SUCCESS);
}
@Operation(summary = "更新会员统计信息", description = "更新会员统计信息")
@PutMapping()
public Result<String> updateMemberStatisticsInfo(@Valid @RequestBody MemberStatisticsInfoDto dto) {
memberStatisticsInfoService.updateMemberStatisticsInfo(dto);
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
}
@Operation(summary = "删除会员统计信息", description = "删除会员统计信息")
@DeleteMapping()
public Result<String> deleteMemberStatisticsInfo(@RequestBody List<Long> ids) {
memberStatisticsInfoService.deleteMemberStatisticsInfo(ids);
return Result.success(ResultCodeEnum.DELETE_SUCCESS);
}
}

View File

@ -0,0 +1,38 @@
package com.mall.member.domain.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "GrowthChangeHistoryDTO对象", title = "成长值变化历史记录", description = "成长值变化历史记录的DTO对象")
public class GrowthChangeHistoryDto {
@Schema(name = "id", title = "id")
private Long id;
@Schema(name = "memberId", title = "member_id")
private Long memberId;
@Schema(name = "createTime", title = "create_time")
private LocalDateTime createTime;
@Schema(name = "changeCount", title = "改变的值(正负计数)")
private Integer changeCount;
@Schema(name = "note", title = "备注")
private String note;
@Schema(name = "sourceType", title = "积分来源[0-购物1-管理员修改]")
private Integer sourceType;
}

View File

@ -0,0 +1,38 @@
package com.mall.member.domain.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "IntegrationChangeHistoryDTO对象", title = "积分变化历史记录", description = "积分变化历史记录的DTO对象")
public class IntegrationChangeHistoryDto {
@Schema(name = "id", title = "id")
private Long id;
@Schema(name = "memberId", title = "member_id")
private Long memberId;
@Schema(name = "createTime", title = "create_time")
private LocalDateTime createTime;
@Schema(name = "changeCount", title = "变化的值")
private Integer changeCount;
@Schema(name = "note", title = "备注")
private String note;
@Schema(name = "sourceTyoe", title = "来源[0->购物1->管理员修改;2->活动]")
private Integer sourceTyoe;
}

View File

@ -0,0 +1,38 @@
package com.mall.member.domain.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "MemberCollectSpuDTO对象", title = "会员收藏的商品", description = "会员收藏的商品的DTO对象")
public class MemberCollectSpuDto {
@Schema(name = "id", title = "id")
private Long id;
@Schema(name = "memberId", title = "会员id")
private Long memberId;
@Schema(name = "spuId", title = "spu_id")
private Long spuId;
@Schema(name = "spuName", title = "spu_name")
private String spuName;
@Schema(name = "spuImg", title = "spu_img")
private String spuImg;
@Schema(name = "createTime", title = "create_time")
private LocalDateTime createTime;
}

View File

@ -0,0 +1,35 @@
package com.mall.member.domain.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "MemberCollectSubjectDTO对象", title = "会员收藏的专题活动", description = "会员收藏的专题活动的DTO对象")
public class MemberCollectSubjectDto {
@Schema(name = "id", title = "id")
private Long id;
@Schema(name = "subjectId", title = "subject_id")
private Long subjectId;
@Schema(name = "subjectName", title = "subject_name")
private String subjectName;
@Schema(name = "subjectImg", title = "subject_img")
private String subjectImg;
@Schema(name = "subjectUrll", title = "活动url")
private String subjectUrll;
}

View File

@ -0,0 +1,83 @@
package com.mall.member.domain.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "MemberDTO对象", title = "会员", description = "会员的DTO对象")
public class MemberDto {
@Schema(name = "id", title = "id")
private Long id;
@Schema(name = "levelId", title = "会员等级id")
private Long levelId;
@Schema(name = "username", title = "用户名")
private String username;
@Schema(name = "password", title = "密码")
private String password;
@Schema(name = "nickname", title = "昵称")
private String nickname;
@Schema(name = "mobile", title = "手机号码")
private String mobile;
@Schema(name = "email", title = "邮箱")
private String email;
@Schema(name = "header", title = "头像")
private String header;
@Schema(name = "gender", title = "性别")
private Integer gender;
@Schema(name = "birth", title = "生日")
private Date birth;
@Schema(name = "city", title = "所在城市")
private String city;
@Schema(name = "job", title = "职业")
private String job;
@Schema(name = "sign", title = "个性签名")
private String sign;
@Schema(name = "sourceType", title = "用户来源")
private Integer sourceType;
@Schema(name = "integration", title = "积分")
private Integer integration;
@Schema(name = "growth", title = "成长值")
private Integer growth;
@Schema(name = "status", title = "启用状态")
private Integer status;
@Schema(name = "createTime", title = "注册时间")
private LocalDateTime createTime;
@Schema(name = "socialUid", title = "社交用户的唯一id")
private String socialUid;
@Schema(name = "accessToken", title = "访问令牌")
private String accessToken;
@Schema(name = "expiresIn", title = "访问令牌的时间")
private String expiresIn;
}

View File

@ -0,0 +1,50 @@
package com.mall.member.domain.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "MemberLevelDTO对象", title = "会员等级", description = "会员等级的DTO对象")
public class MemberLevelDto {
@Schema(name = "id", title = "id")
private Long id;
@Schema(name = "name", title = "等级名称")
private String name;
@Schema(name = "growthPoint", title = "等级需要的成长值")
private Integer growthPoint;
@Schema(name = "defaultStatus", title = "是否为默认等级[0->不是1->是]")
private Integer defaultStatus;
@Schema(name = "freeFreightPoint", title = "免运费标准")
private BigDecimal freeFreightPoint;
@Schema(name = "commentGrowthPoint", title = "每次评价获取的成长值")
private Integer commentGrowthPoint;
@Schema(name = "priviledgeFreeFreight", title = "是否有免邮特权")
private Integer priviledgeFreeFreight;
@Schema(name = "priviledgeMemberPrice", title = "是否有会员价格特权")
private Integer priviledgeMemberPrice;
@Schema(name = "priviledgeBirthday", title = "是否有生日特权")
private Integer priviledgeBirthday;
@Schema(name = "note", title = "备注")
private String note;
}

View File

@ -0,0 +1,38 @@
package com.mall.member.domain.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "MemberLoginLogDTO对象", title = "会员登录记录", description = "会员登录记录的DTO对象")
public class MemberLoginLogDto {
@Schema(name = "id", title = "id")
private Long id;
@Schema(name = "memberId", title = "member_id")
private Long memberId;
@Schema(name = "createTime", title = "创建时间")
private LocalDateTime createTime;
@Schema(name = "ip", title = "ip")
private String ip;
@Schema(name = "city", title = "city")
private String city;
@Schema(name = "loginType", title = "登录类型[1-web2-app]")
private Boolean loginType;
}

View File

@ -0,0 +1,53 @@
package com.mall.member.domain.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "MemberReceiveAddressDTO对象", title = "会员收货地址", description = "会员收货地址的DTO对象")
public class MemberReceiveAddressDto {
@Schema(name = "id", title = "id")
private Long id;
@Schema(name = "memberId", title = "member_id")
private Long memberId;
@Schema(name = "name", title = "收货人姓名")
private String name;
@Schema(name = "phone", title = "电话")
private String phone;
@Schema(name = "postCode", title = "邮政编码")
private String postCode;
@Schema(name = "province", title = "省份/直辖市")
private String province;
@Schema(name = "city", title = "城市")
private String city;
@Schema(name = "region", title = "")
private String region;
@Schema(name = "detailAddress", title = "详细地址(街道)")
private String detailAddress;
@Schema(name = "areacode", title = "省市区代码")
private String areacode;
@Schema(name = "defaultStatus", title = "是否默认")
private Boolean defaultStatus;
}

View File

@ -0,0 +1,65 @@
package com.mall.member.domain.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "MemberStatisticsInfoDTO对象", title = "会员统计信息", description = "会员统计信息的DTO对象")
public class MemberStatisticsInfoDto {
@Schema(name = "id", title = "id")
private Long id;
@Schema(name = "memberId", title = "会员id")
private Long memberId;
@Schema(name = "consumeAmount", title = "累计消费金额")
private BigDecimal consumeAmount;
@Schema(name = "couponAmount", title = "累计优惠金额")
private BigDecimal couponAmount;
@Schema(name = "orderCount", title = "订单数量")
private Integer orderCount;
@Schema(name = "couponCount", title = "优惠券数量")
private Integer couponCount;
@Schema(name = "commentCount", title = "评价数")
private Integer commentCount;
@Schema(name = "returnOrderCount", title = "退货数量")
private Integer returnOrderCount;
@Schema(name = "loginCount", title = "登录次数")
private Integer loginCount;
@Schema(name = "attendCount", title = "关注数量")
private Integer attendCount;
@Schema(name = "fansCount", title = "粉丝数量")
private Integer fansCount;
@Schema(name = "collectProductCount", title = "收藏的商品数量")
private Integer collectProductCount;
@Schema(name = "collectSubjectCount", title = "收藏的专题活动数量")
private Integer collectSubjectCount;
@Schema(name = "collectCommentCount", title = "收藏的评论数量")
private Integer collectCommentCount;
@Schema(name = "inviteFriendCount", title = "邀请的朋友数量")
private Integer inviteFriendCount;
}

View File

@ -0,0 +1,42 @@
package com.mall.member.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Getter
@Setter
@Accessors(chain = true)
@TableName("ums_growth_change_history")
@Schema(name = "GrowthChangeHistory对象", title = "成长值变化历史记录", description = "成长值变化历史记录的实体类对象")
public class GrowthChangeHistory {
@Schema(name = "id", title = "id")
@TableId(type = IdType.ASSIGN_ID)
private Long id;
@Schema(name = "memberId", title = "member_id")
private Long memberId;
@Schema(name = "createTime", title = "create_time")
private LocalDateTime createTime;
@Schema(name = "changeCount", title = "改变的值(正负计数)")
private Integer changeCount;
@Schema(name = "note", title = "备注")
private String note;
@Schema(name = "sourceType", title = "积分来源[0-购物1-管理员修改]")
private Integer sourceType;
}

View File

@ -0,0 +1,42 @@
package com.mall.member.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Getter
@Setter
@Accessors(chain = true)
@TableName("ums_integration_change_history")
@Schema(name = "IntegrationChangeHistory对象", title = "积分变化历史记录", description = "积分变化历史记录的实体类对象")
public class IntegrationChangeHistory {
@Schema(name = "id", title = "id")
@TableId(type = IdType.ASSIGN_ID)
private Long id;
@Schema(name = "memberId", title = "member_id")
private Long memberId;
@Schema(name = "createTime", title = "create_time")
private LocalDateTime createTime;
@Schema(name = "changeCount", title = "变化的值")
private Integer changeCount;
@Schema(name = "note", title = "备注")
private String note;
@Schema(name = "sourceTyoe", title = "来源[0->购物1->管理员修改;2->活动]")
private Integer sourceTyoe;
}

View File

@ -0,0 +1,87 @@
package com.mall.member.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Getter
@Setter
@Accessors(chain = true)
@TableName("ums_member")
@Schema(name = "Member对象", title = "会员", description = "会员的实体类对象")
public class Member {
@Schema(name = "id", title = "id")
@TableId(type = IdType.ASSIGN_ID)
private Long id;
@Schema(name = "levelId", title = "会员等级id")
private Long levelId;
@Schema(name = "username", title = "用户名")
private String username;
@Schema(name = "password", title = "密码")
private String password;
@Schema(name = "nickname", title = "昵称")
private String nickname;
@Schema(name = "mobile", title = "手机号码")
private String mobile;
@Schema(name = "email", title = "邮箱")
private String email;
@Schema(name = "header", title = "头像")
private String header;
@Schema(name = "gender", title = "性别")
private Integer gender;
@Schema(name = "birth", title = "生日")
private Date birth;
@Schema(name = "city", title = "所在城市")
private String city;
@Schema(name = "job", title = "职业")
private String job;
@Schema(name = "sign", title = "个性签名")
private String sign;
@Schema(name = "sourceType", title = "用户来源")
private Integer sourceType;
@Schema(name = "integration", title = "积分")
private Integer integration;
@Schema(name = "growth", title = "成长值")
private Integer growth;
@Schema(name = "status", title = "启用状态")
private Integer status;
@Schema(name = "createTime", title = "注册时间")
private LocalDateTime createTime;
@Schema(name = "socialUid", title = "社交用户的唯一id")
private String socialUid;
@Schema(name = "accessToken", title = "访问令牌")
private String accessToken;
@Schema(name = "expiresIn", title = "访问令牌的时间")
private String expiresIn;
}

View File

@ -0,0 +1,42 @@
package com.mall.member.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Getter
@Setter
@Accessors(chain = true)
@TableName("ums_member_collect_spu")
@Schema(name = "MemberCollectSpu对象", title = "会员收藏的商品", description = "会员收藏的商品的实体类对象")
public class MemberCollectSpu {
@Schema(name = "id", title = "id")
@TableId(type = IdType.ASSIGN_ID)
private Long id;
@Schema(name = "memberId", title = "会员id")
private Long memberId;
@Schema(name = "spuId", title = "spu_id")
private Long spuId;
@Schema(name = "spuName", title = "spu_name")
private String spuName;
@Schema(name = "spuImg", title = "spu_img")
private String spuImg;
@Schema(name = "createTime", title = "create_time")
private LocalDateTime createTime;
}

View File

@ -0,0 +1,39 @@
package com.mall.member.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Getter
@Setter
@Accessors(chain = true)
@TableName("ums_member_collect_subject")
@Schema(name = "MemberCollectSubject对象", title = "会员收藏的专题活动", description = "会员收藏的专题活动的实体类对象")
public class MemberCollectSubject {
@Schema(name = "id", title = "id")
@TableId(type = IdType.ASSIGN_ID)
private Long id;
@Schema(name = "subjectId", title = "subject_id")
private Long subjectId;
@Schema(name = "subjectName", title = "subject_name")
private String subjectName;
@Schema(name = "subjectImg", title = "subject_img")
private String subjectImg;
@Schema(name = "subjectUrll", title = "活动url")
private String subjectUrll;
}

View File

@ -0,0 +1,54 @@
package com.mall.member.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Getter
@Setter
@Accessors(chain = true)
@TableName("ums_member_level")
@Schema(name = "MemberLevel对象", title = "会员等级", description = "会员等级的实体类对象")
public class MemberLevel {
@Schema(name = "id", title = "id")
@TableId(type = IdType.ASSIGN_ID)
private Long id;
@Schema(name = "name", title = "等级名称")
private String name;
@Schema(name = "growthPoint", title = "等级需要的成长值")
private Integer growthPoint;
@Schema(name = "defaultStatus", title = "是否为默认等级[0->不是1->是]")
private Integer defaultStatus;
@Schema(name = "freeFreightPoint", title = "免运费标准")
private BigDecimal freeFreightPoint;
@Schema(name = "commentGrowthPoint", title = "每次评价获取的成长值")
private Integer commentGrowthPoint;
@Schema(name = "priviledgeFreeFreight", title = "是否有免邮特权")
private Integer priviledgeFreeFreight;
@Schema(name = "priviledgeMemberPrice", title = "是否有会员价格特权")
private Integer priviledgeMemberPrice;
@Schema(name = "priviledgeBirthday", title = "是否有生日特权")
private Integer priviledgeBirthday;
@Schema(name = "note", title = "备注")
private String note;
}

View File

@ -0,0 +1,42 @@
package com.mall.member.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Getter
@Setter
@Accessors(chain = true)
@TableName("ums_member_login_log")
@Schema(name = "MemberLoginLog对象", title = "会员登录记录", description = "会员登录记录的实体类对象")
public class MemberLoginLog {
@Schema(name = "id", title = "id")
@TableId(type = IdType.ASSIGN_ID)
private Long id;
@Schema(name = "memberId", title = "member_id")
private Long memberId;
@Schema(name = "createTime", title = "创建时间")
private LocalDateTime createTime;
@Schema(name = "ip", title = "ip")
private String ip;
@Schema(name = "city", title = "city")
private String city;
@Schema(name = "loginType", title = "登录类型[1-web2-app]")
private Boolean loginType;
}

View File

@ -0,0 +1,57 @@
package com.mall.member.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Getter
@Setter
@Accessors(chain = true)
@TableName("ums_member_receive_address")
@Schema(name = "MemberReceiveAddress对象", title = "会员收货地址", description = "会员收货地址的实体类对象")
public class MemberReceiveAddress {
@Schema(name = "id", title = "id")
@TableId(type = IdType.ASSIGN_ID)
private Long id;
@Schema(name = "memberId", title = "member_id")
private Long memberId;
@Schema(name = "name", title = "收货人姓名")
private String name;
@Schema(name = "phone", title = "电话")
private String phone;
@Schema(name = "postCode", title = "邮政编码")
private String postCode;
@Schema(name = "province", title = "省份/直辖市")
private String province;
@Schema(name = "city", title = "城市")
private String city;
@Schema(name = "region", title = "")
private String region;
@Schema(name = "detailAddress", title = "详细地址(街道)")
private String detailAddress;
@Schema(name = "areacode", title = "省市区代码")
private String areacode;
@Schema(name = "defaultStatus", title = "是否默认")
private Boolean defaultStatus;
}

View File

@ -0,0 +1,69 @@
package com.mall.member.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Getter
@Setter
@Accessors(chain = true)
@TableName("ums_member_statistics_info")
@Schema(name = "MemberStatisticsInfo对象", title = "会员统计信息", description = "会员统计信息的实体类对象")
public class MemberStatisticsInfo {
@Schema(name = "id", title = "id")
@TableId(type = IdType.ASSIGN_ID)
private Long id;
@Schema(name = "memberId", title = "会员id")
private Long memberId;
@Schema(name = "consumeAmount", title = "累计消费金额")
private BigDecimal consumeAmount;
@Schema(name = "couponAmount", title = "累计优惠金额")
private BigDecimal couponAmount;
@Schema(name = "orderCount", title = "订单数量")
private Integer orderCount;
@Schema(name = "couponCount", title = "优惠券数量")
private Integer couponCount;
@Schema(name = "commentCount", title = "评价数")
private Integer commentCount;
@Schema(name = "returnOrderCount", title = "退货数量")
private Integer returnOrderCount;
@Schema(name = "loginCount", title = "登录次数")
private Integer loginCount;
@Schema(name = "attendCount", title = "关注数量")
private Integer attendCount;
@Schema(name = "fansCount", title = "粉丝数量")
private Integer fansCount;
@Schema(name = "collectProductCount", title = "收藏的商品数量")
private Integer collectProductCount;
@Schema(name = "collectSubjectCount", title = "收藏的专题活动数量")
private Integer collectSubjectCount;
@Schema(name = "collectCommentCount", title = "收藏的评论数量")
private Integer collectCommentCount;
@Schema(name = "inviteFriendCount", title = "邀请的朋友数量")
private Integer inviteFriendCount;
}

View File

@ -0,0 +1,39 @@
package com.mall.member.domain.vo;
import java.util.Date;
import java.math.BigDecimal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "GrowthChangeHistoryVO对象", title = "成长值变化历史记录", description = "成长值变化历史记录的VO对象")
public class GrowthChangeHistoryVo {
@Schema(name = "id", title = "id")
private Long id;
@Schema(name = "memberId", title = "member_id")
private Long memberId;
@Schema(name = "createTime", title = "create_time")
private LocalDateTime createTime;
@Schema(name = "changeCount", title = "改变的值(正负计数)")
private Integer changeCount;
@Schema(name = "note", title = "备注")
private String note;
@Schema(name = "sourceType", title = "积分来源[0-购物1-管理员修改]")
private Integer sourceType;
}

View File

@ -0,0 +1,39 @@
package com.mall.member.domain.vo;
import java.util.Date;
import java.math.BigDecimal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "IntegrationChangeHistoryVO对象", title = "积分变化历史记录", description = "积分变化历史记录的VO对象")
public class IntegrationChangeHistoryVo {
@Schema(name = "id", title = "id")
private Long id;
@Schema(name = "memberId", title = "member_id")
private Long memberId;
@Schema(name = "createTime", title = "create_time")
private LocalDateTime createTime;
@Schema(name = "changeCount", title = "变化的值")
private Integer changeCount;
@Schema(name = "note", title = "备注")
private String note;
@Schema(name = "sourceTyoe", title = "来源[0->购物1->管理员修改;2->活动]")
private Integer sourceTyoe;
}

View File

@ -0,0 +1,39 @@
package com.mall.member.domain.vo;
import java.util.Date;
import java.math.BigDecimal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "MemberCollectSpuVO对象", title = "会员收藏的商品", description = "会员收藏的商品的VO对象")
public class MemberCollectSpuVo {
@Schema(name = "id", title = "id")
private Long id;
@Schema(name = "memberId", title = "会员id")
private Long memberId;
@Schema(name = "spuId", title = "spu_id")
private Long spuId;
@Schema(name = "spuName", title = "spu_name")
private String spuName;
@Schema(name = "spuImg", title = "spu_img")
private String spuImg;
@Schema(name = "createTime", title = "create_time")
private LocalDateTime createTime;
}

View File

@ -0,0 +1,36 @@
package com.mall.member.domain.vo;
import java.util.Date;
import java.math.BigDecimal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "MemberCollectSubjectVO对象", title = "会员收藏的专题活动", description = "会员收藏的专题活动的VO对象")
public class MemberCollectSubjectVo {
@Schema(name = "id", title = "id")
private Long id;
@Schema(name = "subjectId", title = "subject_id")
private Long subjectId;
@Schema(name = "subjectName", title = "subject_name")
private String subjectName;
@Schema(name = "subjectImg", title = "subject_img")
private String subjectImg;
@Schema(name = "subjectUrll", title = "活动url")
private String subjectUrll;
}

View File

@ -0,0 +1,51 @@
package com.mall.member.domain.vo;
import java.util.Date;
import java.math.BigDecimal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "MemberLevelVO对象", title = "会员等级", description = "会员等级的VO对象")
public class MemberLevelVo {
@Schema(name = "id", title = "id")
private Long id;
@Schema(name = "name", title = "等级名称")
private String name;
@Schema(name = "growthPoint", title = "等级需要的成长值")
private Integer growthPoint;
@Schema(name = "defaultStatus", title = "是否为默认等级[0->不是1->是]")
private Integer defaultStatus;
@Schema(name = "freeFreightPoint", title = "免运费标准")
private BigDecimal freeFreightPoint;
@Schema(name = "commentGrowthPoint", title = "每次评价获取的成长值")
private Integer commentGrowthPoint;
@Schema(name = "priviledgeFreeFreight", title = "是否有免邮特权")
private Integer priviledgeFreeFreight;
@Schema(name = "priviledgeMemberPrice", title = "是否有会员价格特权")
private Integer priviledgeMemberPrice;
@Schema(name = "priviledgeBirthday", title = "是否有生日特权")
private Integer priviledgeBirthday;
@Schema(name = "note", title = "备注")
private String note;
}

View File

@ -0,0 +1,39 @@
package com.mall.member.domain.vo;
import java.util.Date;
import java.math.BigDecimal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "MemberLoginLogVO对象", title = "会员登录记录", description = "会员登录记录的VO对象")
public class MemberLoginLogVo {
@Schema(name = "id", title = "id")
private Long id;
@Schema(name = "memberId", title = "member_id")
private Long memberId;
@Schema(name = "createTime", title = "创建时间")
private LocalDateTime createTime;
@Schema(name = "ip", title = "ip")
private String ip;
@Schema(name = "city", title = "city")
private String city;
@Schema(name = "loginType", title = "登录类型[1-web2-app]")
private Boolean loginType;
}

View File

@ -0,0 +1,47 @@
package com.mall.member.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "MemberReceiveAddressVO对象", title = "会员收货地址", description = "会员收货地址的VO对象")
public class MemberReceiveAddressVo {
@Schema(name = "id", title = "id")
private Long id;
@Schema(name = "memberId", title = "member_id")
private Long memberId;
@Schema(name = "name", title = "收货人姓名")
private String name;
@Schema(name = "phone", title = "电话")
private String phone;
@Schema(name = "postCode", title = "邮政编码")
private String postCode;
@Schema(name = "province", title = "省份/直辖市")
private String province;
@Schema(name = "city", title = "城市")
private String city;
@Schema(name = "region", title = "")
private String region;
@Schema(name = "detailAddress", title = "详细地址(街道)")
private String detailAddress;
@Schema(name = "areacode", title = "省市区代码")
private String areacode;
@Schema(name = "defaultStatus", title = "是否默认")
private Boolean defaultStatus;
}

View File

@ -0,0 +1,66 @@
package com.mall.member.domain.vo;
import java.util.Date;
import java.math.BigDecimal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "MemberStatisticsInfoVO对象", title = "会员统计信息", description = "会员统计信息的VO对象")
public class MemberStatisticsInfoVo {
@Schema(name = "id", title = "id")
private Long id;
@Schema(name = "memberId", title = "会员id")
private Long memberId;
@Schema(name = "consumeAmount", title = "累计消费金额")
private BigDecimal consumeAmount;
@Schema(name = "couponAmount", title = "累计优惠金额")
private BigDecimal couponAmount;
@Schema(name = "orderCount", title = "订单数量")
private Integer orderCount;
@Schema(name = "couponCount", title = "优惠券数量")
private Integer couponCount;
@Schema(name = "commentCount", title = "评价数")
private Integer commentCount;
@Schema(name = "returnOrderCount", title = "退货数量")
private Integer returnOrderCount;
@Schema(name = "loginCount", title = "登录次数")
private Integer loginCount;
@Schema(name = "attendCount", title = "关注数量")
private Integer attendCount;
@Schema(name = "fansCount", title = "粉丝数量")
private Integer fansCount;
@Schema(name = "collectProductCount", title = "收藏的商品数量")
private Integer collectProductCount;
@Schema(name = "collectSubjectCount", title = "收藏的专题活动数量")
private Integer collectSubjectCount;
@Schema(name = "collectCommentCount", title = "收藏的评论数量")
private Integer collectCommentCount;
@Schema(name = "inviteFriendCount", title = "邀请的朋友数量")
private Integer inviteFriendCount;
}

View File

@ -0,0 +1,84 @@
package com.mall.member.domain.vo;
import java.util.Date;
import java.math.BigDecimal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "MemberVO对象", title = "会员", description = "会员的VO对象")
public class MemberVo {
@Schema(name = "id", title = "id")
private Long id;
@Schema(name = "levelId", title = "会员等级id")
private Long levelId;
@Schema(name = "username", title = "用户名")
private String username;
@Schema(name = "password", title = "密码")
private String password;
@Schema(name = "nickname", title = "昵称")
private String nickname;
@Schema(name = "mobile", title = "手机号码")
private String mobile;
@Schema(name = "email", title = "邮箱")
private String email;
@Schema(name = "header", title = "头像")
private String header;
@Schema(name = "gender", title = "性别")
private Integer gender;
@Schema(name = "birth", title = "生日")
private Date birth;
@Schema(name = "city", title = "所在城市")
private String city;
@Schema(name = "job", title = "职业")
private String job;
@Schema(name = "sign", title = "个性签名")
private String sign;
@Schema(name = "sourceType", title = "用户来源")
private Integer sourceType;
@Schema(name = "integration", title = "积分")
private Integer integration;
@Schema(name = "growth", title = "成长值")
private Integer growth;
@Schema(name = "status", title = "启用状态")
private Integer status;
@Schema(name = "createTime", title = "注册时间")
private LocalDateTime createTime;
@Schema(name = "socialUid", title = "社交用户的唯一id")
private String socialUid;
@Schema(name = "accessToken", title = "访问令牌")
private String accessToken;
@Schema(name = "expiresIn", title = "访问令牌的时间")
private String expiresIn;
}

View File

@ -0,0 +1,35 @@
package com.mall.member.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.mall.member.domain.dto.GrowthChangeHistoryDto;
import com.mall.member.domain.entity.GrowthChangeHistory;
import com.mall.member.domain.vo.GrowthChangeHistoryVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 成长值变化历史记录 Mapper 接口
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Mapper
public interface GrowthChangeHistoryMapper extends BaseMapper<GrowthChangeHistory> {
/**
* * 分页查询成长值变化历史记录内容
*
* @param pageParams 成长值变化历史记录分页参数
* @param dto 成长值变化历史记录查询表单
* @return 成长值变化历史记录分页结果
*/
IPage<GrowthChangeHistoryVo> selectListByPage(@Param("page") Page<GrowthChangeHistory> pageParams, @Param("dto") GrowthChangeHistoryDto dto);
}

View File

@ -0,0 +1,35 @@
package com.mall.member.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.mall.member.domain.dto.IntegrationChangeHistoryDto;
import com.mall.member.domain.entity.IntegrationChangeHistory;
import com.mall.member.domain.vo.IntegrationChangeHistoryVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 积分变化历史记录 Mapper 接口
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Mapper
public interface IntegrationChangeHistoryMapper extends BaseMapper<IntegrationChangeHistory> {
/**
* * 分页查询积分变化历史记录内容
*
* @param pageParams 积分变化历史记录分页参数
* @param dto 积分变化历史记录查询表单
* @return 积分变化历史记录分页结果
*/
IPage<IntegrationChangeHistoryVo> selectListByPage(@Param("page") Page<IntegrationChangeHistory> pageParams, @Param("dto") IntegrationChangeHistoryDto dto);
}

View File

@ -0,0 +1,35 @@
package com.mall.member.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.mall.member.domain.dto.MemberCollectSpuDto;
import com.mall.member.domain.entity.MemberCollectSpu;
import com.mall.member.domain.vo.MemberCollectSpuVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 会员收藏的商品 Mapper 接口
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Mapper
public interface MemberCollectSpuMapper extends BaseMapper<MemberCollectSpu> {
/**
* * 分页查询会员收藏的商品内容
*
* @param pageParams 会员收藏的商品分页参数
* @param dto 会员收藏的商品查询表单
* @return 会员收藏的商品分页结果
*/
IPage<MemberCollectSpuVo> selectListByPage(@Param("page") Page<MemberCollectSpu> pageParams, @Param("dto") MemberCollectSpuDto dto);
}

View File

@ -0,0 +1,35 @@
package com.mall.member.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.mall.member.domain.dto.MemberCollectSubjectDto;
import com.mall.member.domain.entity.MemberCollectSubject;
import com.mall.member.domain.vo.MemberCollectSubjectVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 会员收藏的专题活动 Mapper 接口
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Mapper
public interface MemberCollectSubjectMapper extends BaseMapper<MemberCollectSubject> {
/**
* * 分页查询会员收藏的专题活动内容
*
* @param pageParams 会员收藏的专题活动分页参数
* @param dto 会员收藏的专题活动查询表单
* @return 会员收藏的专题活动分页结果
*/
IPage<MemberCollectSubjectVo> selectListByPage(@Param("page") Page<MemberCollectSubject> pageParams, @Param("dto") MemberCollectSubjectDto dto);
}

View File

@ -0,0 +1,35 @@
package com.mall.member.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.mall.member.domain.dto.MemberLevelDto;
import com.mall.member.domain.entity.MemberLevel;
import com.mall.member.domain.vo.MemberLevelVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 会员等级 Mapper 接口
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Mapper
public interface MemberLevelMapper extends BaseMapper<MemberLevel> {
/**
* * 分页查询会员等级内容
*
* @param pageParams 会员等级分页参数
* @param dto 会员等级查询表单
* @return 会员等级分页结果
*/
IPage<MemberLevelVo> selectListByPage(@Param("page") Page<MemberLevel> pageParams, @Param("dto") MemberLevelDto dto);
}

View File

@ -0,0 +1,35 @@
package com.mall.member.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.mall.member.domain.dto.MemberLoginLogDto;
import com.mall.member.domain.entity.MemberLoginLog;
import com.mall.member.domain.vo.MemberLoginLogVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 会员登录记录 Mapper 接口
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Mapper
public interface MemberLoginLogMapper extends BaseMapper<MemberLoginLog> {
/**
* * 分页查询会员登录记录内容
*
* @param pageParams 会员登录记录分页参数
* @param dto 会员登录记录查询表单
* @return 会员登录记录分页结果
*/
IPage<MemberLoginLogVo> selectListByPage(@Param("page") Page<MemberLoginLog> pageParams, @Param("dto") MemberLoginLogDto dto);
}

View File

@ -0,0 +1,35 @@
package com.mall.member.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.mall.member.domain.dto.MemberDto;
import com.mall.member.domain.entity.Member;
import com.mall.member.domain.vo.MemberVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 会员 Mapper 接口
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Mapper
public interface MemberMapper extends BaseMapper<Member> {
/**
* * 分页查询会员内容
*
* @param pageParams 会员分页参数
* @param dto 会员查询表单
* @return 会员分页结果
*/
IPage<MemberVo> selectListByPage(@Param("page") Page<Member> pageParams, @Param("dto") MemberDto dto);
}

View File

@ -0,0 +1,35 @@
package com.mall.member.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.mall.member.domain.dto.MemberReceiveAddressDto;
import com.mall.member.domain.entity.MemberReceiveAddress;
import com.mall.member.domain.vo.MemberReceiveAddressVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 会员收货地址 Mapper 接口
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Mapper
public interface MemberReceiveAddressMapper extends BaseMapper<MemberReceiveAddress> {
/**
* * 分页查询会员收货地址内容
*
* @param pageParams 会员收货地址分页参数
* @param dto 会员收货地址查询表单
* @return 会员收货地址分页结果
*/
IPage<MemberReceiveAddressVo> selectListByPage(@Param("page") Page<MemberReceiveAddress> pageParams, @Param("dto") MemberReceiveAddressDto dto);
}

View File

@ -0,0 +1,35 @@
package com.mall.member.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.mall.member.domain.dto.MemberStatisticsInfoDto;
import com.mall.member.domain.entity.MemberStatisticsInfo;
import com.mall.member.domain.vo.MemberStatisticsInfoVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 会员统计信息 Mapper 接口
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Mapper
public interface MemberStatisticsInfoMapper extends BaseMapper<MemberStatisticsInfo> {
/**
* * 分页查询会员统计信息内容
*
* @param pageParams 会员统计信息分页参数
* @param dto 会员统计信息查询表单
* @return 会员统计信息分页结果
*/
IPage<MemberStatisticsInfoVo> selectListByPage(@Param("page") Page<MemberStatisticsInfo> pageParams, @Param("dto") MemberStatisticsInfoDto dto);
}

View File

@ -0,0 +1,52 @@
package com.mall.member.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mall.member.domain.dto.GrowthChangeHistoryDto;
import com.mall.member.domain.entity.GrowthChangeHistory;
import com.mall.member.domain.vo.GrowthChangeHistoryVo;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 成长值变化历史记录 服务类
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
public interface GrowthChangeHistoryService extends IService<GrowthChangeHistory> {
/**
* 分页查询成长值变化历史记录
*
* @return {@link GrowthChangeHistoryVo}
*/
PageResult<GrowthChangeHistoryVo> getGrowthChangeHistoryPage(Page<GrowthChangeHistory> pageParams, GrowthChangeHistoryDto dto);
/**
* 添加成长值变化历史记录
*
* @param dto {@link GrowthChangeHistoryDto} 添加表单
*/
void addGrowthChangeHistory(GrowthChangeHistoryDto dto);
/**
* 更新成长值变化历史记录
*
* @param dto {@link GrowthChangeHistoryDto} 更新表单
*/
void updateGrowthChangeHistory(GrowthChangeHistoryDto dto);
/**
* 删除|批量删除成长值变化历史记录类型
*
* @param ids 删除id列表
*/
void deleteGrowthChangeHistory(List<Long> ids);
}

View File

@ -0,0 +1,52 @@
package com.mall.member.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mall.member.domain.dto.IntegrationChangeHistoryDto;
import com.mall.member.domain.entity.IntegrationChangeHistory;
import com.mall.member.domain.vo.IntegrationChangeHistoryVo;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 积分变化历史记录 服务类
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
public interface IntegrationChangeHistoryService extends IService<IntegrationChangeHistory> {
/**
* 分页查询积分变化历史记录
*
* @return {@link IntegrationChangeHistoryVo}
*/
PageResult<IntegrationChangeHistoryVo> getIntegrationChangeHistoryPage(Page<IntegrationChangeHistory> pageParams, IntegrationChangeHistoryDto dto);
/**
* 添加积分变化历史记录
*
* @param dto {@link IntegrationChangeHistoryDto} 添加表单
*/
void addIntegrationChangeHistory(IntegrationChangeHistoryDto dto);
/**
* 更新积分变化历史记录
*
* @param dto {@link IntegrationChangeHistoryDto} 更新表单
*/
void updateIntegrationChangeHistory(IntegrationChangeHistoryDto dto);
/**
* 删除|批量删除积分变化历史记录类型
*
* @param ids 删除id列表
*/
void deleteIntegrationChangeHistory(List<Long> ids);
}

View File

@ -0,0 +1,52 @@
package com.mall.member.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mall.member.domain.dto.MemberCollectSpuDto;
import com.mall.member.domain.entity.MemberCollectSpu;
import com.mall.member.domain.vo.MemberCollectSpuVo;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员收藏的商品 服务类
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
public interface MemberCollectSpuService extends IService<MemberCollectSpu> {
/**
* 分页查询会员收藏的商品
*
* @return {@link MemberCollectSpuVo}
*/
PageResult<MemberCollectSpuVo> getMemberCollectSpuPage(Page<MemberCollectSpu> pageParams, MemberCollectSpuDto dto);
/**
* 添加会员收藏的商品
*
* @param dto {@link MemberCollectSpuDto} 添加表单
*/
void addMemberCollectSpu(MemberCollectSpuDto dto);
/**
* 更新会员收藏的商品
*
* @param dto {@link MemberCollectSpuDto} 更新表单
*/
void updateMemberCollectSpu(MemberCollectSpuDto dto);
/**
* 删除|批量删除会员收藏的商品类型
*
* @param ids 删除id列表
*/
void deleteMemberCollectSpu(List<Long> ids);
}

View File

@ -0,0 +1,52 @@
package com.mall.member.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mall.member.domain.dto.MemberCollectSubjectDto;
import com.mall.member.domain.entity.MemberCollectSubject;
import com.mall.member.domain.vo.MemberCollectSubjectVo;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员收藏的专题活动 服务类
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
public interface MemberCollectSubjectService extends IService<MemberCollectSubject> {
/**
* 分页查询会员收藏的专题活动
*
* @return {@link MemberCollectSubjectVo}
*/
PageResult<MemberCollectSubjectVo> getMemberCollectSubjectPage(Page<MemberCollectSubject> pageParams, MemberCollectSubjectDto dto);
/**
* 添加会员收藏的专题活动
*
* @param dto {@link MemberCollectSubjectDto} 添加表单
*/
void addMemberCollectSubject(MemberCollectSubjectDto dto);
/**
* 更新会员收藏的专题活动
*
* @param dto {@link MemberCollectSubjectDto} 更新表单
*/
void updateMemberCollectSubject(MemberCollectSubjectDto dto);
/**
* 删除|批量删除会员收藏的专题活动类型
*
* @param ids 删除id列表
*/
void deleteMemberCollectSubject(List<Long> ids);
}

View File

@ -0,0 +1,52 @@
package com.mall.member.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mall.member.domain.dto.MemberLevelDto;
import com.mall.member.domain.entity.MemberLevel;
import com.mall.member.domain.vo.MemberLevelVo;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员等级 服务类
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
public interface MemberLevelService extends IService<MemberLevel> {
/**
* 分页查询会员等级
*
* @return {@link MemberLevelVo}
*/
PageResult<MemberLevelVo> getMemberLevelPage(Page<MemberLevel> pageParams, MemberLevelDto dto);
/**
* 添加会员等级
*
* @param dto {@link MemberLevelDto} 添加表单
*/
void addMemberLevel(MemberLevelDto dto);
/**
* 更新会员等级
*
* @param dto {@link MemberLevelDto} 更新表单
*/
void updateMemberLevel(MemberLevelDto dto);
/**
* 删除|批量删除会员等级类型
*
* @param ids 删除id列表
*/
void deleteMemberLevel(List<Long> ids);
}

View File

@ -0,0 +1,52 @@
package com.mall.member.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mall.member.domain.dto.MemberLoginLogDto;
import com.mall.member.domain.entity.MemberLoginLog;
import com.mall.member.domain.vo.MemberLoginLogVo;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员登录记录 服务类
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
public interface MemberLoginLogService extends IService<MemberLoginLog> {
/**
* 分页查询会员登录记录
*
* @return {@link MemberLoginLogVo}
*/
PageResult<MemberLoginLogVo> getMemberLoginLogPage(Page<MemberLoginLog> pageParams, MemberLoginLogDto dto);
/**
* 添加会员登录记录
*
* @param dto {@link MemberLoginLogDto} 添加表单
*/
void addMemberLoginLog(MemberLoginLogDto dto);
/**
* 更新会员登录记录
*
* @param dto {@link MemberLoginLogDto} 更新表单
*/
void updateMemberLoginLog(MemberLoginLogDto dto);
/**
* 删除|批量删除会员登录记录类型
*
* @param ids 删除id列表
*/
void deleteMemberLoginLog(List<Long> ids);
}

View File

@ -0,0 +1,52 @@
package com.mall.member.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mall.member.domain.dto.MemberReceiveAddressDto;
import com.mall.member.domain.entity.MemberReceiveAddress;
import com.mall.member.domain.vo.MemberReceiveAddressVo;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员收货地址 服务类
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
public interface MemberReceiveAddressService extends IService<MemberReceiveAddress> {
/**
* 分页查询会员收货地址
*
* @return {@link MemberReceiveAddressVo}
*/
PageResult<MemberReceiveAddressVo> getMemberReceiveAddressPage(Page<MemberReceiveAddress> pageParams, MemberReceiveAddressDto dto);
/**
* 添加会员收货地址
*
* @param dto {@link MemberReceiveAddressDto} 添加表单
*/
void addMemberReceiveAddress(MemberReceiveAddressDto dto);
/**
* 更新会员收货地址
*
* @param dto {@link MemberReceiveAddressDto} 更新表单
*/
void updateMemberReceiveAddress(MemberReceiveAddressDto dto);
/**
* 删除|批量删除会员收货地址类型
*
* @param ids 删除id列表
*/
void deleteMemberReceiveAddress(List<Long> ids);
}

View File

@ -0,0 +1,52 @@
package com.mall.member.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mall.member.domain.dto.MemberDto;
import com.mall.member.domain.entity.Member;
import com.mall.member.domain.vo.MemberVo;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员 服务类
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
public interface MemberService extends IService<Member> {
/**
* 分页查询会员
*
* @return {@link MemberVo}
*/
PageResult<MemberVo> getMemberPage(Page<Member> pageParams, MemberDto dto);
/**
* 添加会员
*
* @param dto {@link MemberDto} 添加表单
*/
void addMember(MemberDto dto);
/**
* 更新会员
*
* @param dto {@link MemberDto} 更新表单
*/
void updateMember(MemberDto dto);
/**
* 删除|批量删除会员类型
*
* @param ids 删除id列表
*/
void deleteMember(List<Long> ids);
}

View File

@ -0,0 +1,52 @@
package com.mall.member.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mall.member.domain.dto.MemberStatisticsInfoDto;
import com.mall.member.domain.entity.MemberStatisticsInfo;
import com.mall.member.domain.vo.MemberStatisticsInfoVo;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员统计信息 服务类
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
public interface MemberStatisticsInfoService extends IService<MemberStatisticsInfo> {
/**
* 分页查询会员统计信息
*
* @return {@link MemberStatisticsInfoVo}
*/
PageResult<MemberStatisticsInfoVo> getMemberStatisticsInfoPage(Page<MemberStatisticsInfo> pageParams, MemberStatisticsInfoDto dto);
/**
* 添加会员统计信息
*
* @param dto {@link MemberStatisticsInfoDto} 添加表单
*/
void addMemberStatisticsInfo(MemberStatisticsInfoDto dto);
/**
* 更新会员统计信息
*
* @param dto {@link MemberStatisticsInfoDto} 更新表单
*/
void updateMemberStatisticsInfo(MemberStatisticsInfoDto dto);
/**
* 删除|批量删除会员统计信息类型
*
* @param ids 删除id列表
*/
void deleteMemberStatisticsInfo(List<Long> ids);
}

View File

@ -0,0 +1,85 @@
package com.mall.member.service.impl;
import com.mall.member.mapper.GrowthChangeHistoryMapper;
import com.mall.member.service.GrowthChangeHistoryService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.mall.member.service.GrowthChangeHistoryService;
import com.mall.member.domain.dto.GrowthChangeHistoryDto;
import com.mall.member.domain.entity.GrowthChangeHistory;
import com.mall.member.domain.vo.GrowthChangeHistoryVo;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 成长值变化历史记录 服务实现类
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Service
@Transactional
public class GrowthChangeHistoryServiceImpl extends ServiceImpl<GrowthChangeHistoryMapper, GrowthChangeHistory> implements GrowthChangeHistoryService {
/**
* * 成长值变化历史记录 服务实现类
*
* @param pageParams 成长值变化历史记录分页查询page对象
* @param dto 成长值变化历史记录分页查询对象
* @return 查询分页成长值变化历史记录返回对象
*/
@Override
public PageResult<GrowthChangeHistoryVo> getGrowthChangeHistoryPage(Page<GrowthChangeHistory> pageParams, GrowthChangeHistoryDto dto) {
IPage<GrowthChangeHistoryVo> page = baseMapper.selectListByPage(pageParams, dto);
return PageResult.<GrowthChangeHistoryVo>builder()
.list(page.getRecords())
.pageNo(page.getCurrent())
.pageSize(page.getSize())
.total(page.getTotal())
.build();
}
/**
* 添加成长值变化历史记录
*
* @param dto 成长值变化历史记录添加
*/
@Override
public void addGrowthChangeHistory(GrowthChangeHistoryDto dto) {
GrowthChangeHistory growthChangeHistory =new GrowthChangeHistory();
BeanUtils.copyProperties(dto, growthChangeHistory);
save(growthChangeHistory);
}
/**
* 更新成长值变化历史记录
*
* @param dto 成长值变化历史记录更新
*/
@Override
public void updateGrowthChangeHistory(GrowthChangeHistoryDto dto) {
GrowthChangeHistory growthChangeHistory =new GrowthChangeHistory();
BeanUtils.copyProperties(dto, growthChangeHistory);
updateById(growthChangeHistory);
}
/**
* 删除|批量删除成长值变化历史记录
*
* @param ids 删除id列表
*/
@Override
public void deleteGrowthChangeHistory(List<Long> ids) {
removeByIds(ids);
}
}

View File

@ -0,0 +1,85 @@
package com.mall.member.service.impl;
import com.mall.member.mapper.IntegrationChangeHistoryMapper;
import com.mall.member.service.IntegrationChangeHistoryService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.mall.member.service.IntegrationChangeHistoryService;
import com.mall.member.domain.dto.IntegrationChangeHistoryDto;
import com.mall.member.domain.entity.IntegrationChangeHistory;
import com.mall.member.domain.vo.IntegrationChangeHistoryVo;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 积分变化历史记录 服务实现类
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Service
@Transactional
public class IntegrationChangeHistoryServiceImpl extends ServiceImpl<IntegrationChangeHistoryMapper, IntegrationChangeHistory> implements IntegrationChangeHistoryService {
/**
* * 积分变化历史记录 服务实现类
*
* @param pageParams 积分变化历史记录分页查询page对象
* @param dto 积分变化历史记录分页查询对象
* @return 查询分页积分变化历史记录返回对象
*/
@Override
public PageResult<IntegrationChangeHistoryVo> getIntegrationChangeHistoryPage(Page<IntegrationChangeHistory> pageParams, IntegrationChangeHistoryDto dto) {
IPage<IntegrationChangeHistoryVo> page = baseMapper.selectListByPage(pageParams, dto);
return PageResult.<IntegrationChangeHistoryVo>builder()
.list(page.getRecords())
.pageNo(page.getCurrent())
.pageSize(page.getSize())
.total(page.getTotal())
.build();
}
/**
* 添加积分变化历史记录
*
* @param dto 积分变化历史记录添加
*/
@Override
public void addIntegrationChangeHistory(IntegrationChangeHistoryDto dto) {
IntegrationChangeHistory integrationChangeHistory =new IntegrationChangeHistory();
BeanUtils.copyProperties(dto, integrationChangeHistory);
save(integrationChangeHistory);
}
/**
* 更新积分变化历史记录
*
* @param dto 积分变化历史记录更新
*/
@Override
public void updateIntegrationChangeHistory(IntegrationChangeHistoryDto dto) {
IntegrationChangeHistory integrationChangeHistory =new IntegrationChangeHistory();
BeanUtils.copyProperties(dto, integrationChangeHistory);
updateById(integrationChangeHistory);
}
/**
* 删除|批量删除积分变化历史记录
*
* @param ids 删除id列表
*/
@Override
public void deleteIntegrationChangeHistory(List<Long> ids) {
removeByIds(ids);
}
}

View File

@ -0,0 +1,85 @@
package com.mall.member.service.impl;
import com.mall.member.mapper.MemberCollectSpuMapper;
import com.mall.member.service.MemberCollectSpuService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.mall.member.service.MemberCollectSpuService;
import com.mall.member.domain.dto.MemberCollectSpuDto;
import com.mall.member.domain.entity.MemberCollectSpu;
import com.mall.member.domain.vo.MemberCollectSpuVo;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员收藏的商品 服务实现类
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Service
@Transactional
public class MemberCollectSpuServiceImpl extends ServiceImpl<MemberCollectSpuMapper, MemberCollectSpu> implements MemberCollectSpuService {
/**
* * 会员收藏的商品 服务实现类
*
* @param pageParams 会员收藏的商品分页查询page对象
* @param dto 会员收藏的商品分页查询对象
* @return 查询分页会员收藏的商品返回对象
*/
@Override
public PageResult<MemberCollectSpuVo> getMemberCollectSpuPage(Page<MemberCollectSpu> pageParams, MemberCollectSpuDto dto) {
IPage<MemberCollectSpuVo> page = baseMapper.selectListByPage(pageParams, dto);
return PageResult.<MemberCollectSpuVo>builder()
.list(page.getRecords())
.pageNo(page.getCurrent())
.pageSize(page.getSize())
.total(page.getTotal())
.build();
}
/**
* 添加会员收藏的商品
*
* @param dto 会员收藏的商品添加
*/
@Override
public void addMemberCollectSpu(MemberCollectSpuDto dto) {
MemberCollectSpu memberCollectSpu =new MemberCollectSpu();
BeanUtils.copyProperties(dto, memberCollectSpu);
save(memberCollectSpu);
}
/**
* 更新会员收藏的商品
*
* @param dto 会员收藏的商品更新
*/
@Override
public void updateMemberCollectSpu(MemberCollectSpuDto dto) {
MemberCollectSpu memberCollectSpu =new MemberCollectSpu();
BeanUtils.copyProperties(dto, memberCollectSpu);
updateById(memberCollectSpu);
}
/**
* 删除|批量删除会员收藏的商品
*
* @param ids 删除id列表
*/
@Override
public void deleteMemberCollectSpu(List<Long> ids) {
removeByIds(ids);
}
}

View File

@ -0,0 +1,85 @@
package com.mall.member.service.impl;
import com.mall.member.mapper.MemberCollectSubjectMapper;
import com.mall.member.service.MemberCollectSubjectService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.mall.member.service.MemberCollectSubjectService;
import com.mall.member.domain.dto.MemberCollectSubjectDto;
import com.mall.member.domain.entity.MemberCollectSubject;
import com.mall.member.domain.vo.MemberCollectSubjectVo;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员收藏的专题活动 服务实现类
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Service
@Transactional
public class MemberCollectSubjectServiceImpl extends ServiceImpl<MemberCollectSubjectMapper, MemberCollectSubject> implements MemberCollectSubjectService {
/**
* * 会员收藏的专题活动 服务实现类
*
* @param pageParams 会员收藏的专题活动分页查询page对象
* @param dto 会员收藏的专题活动分页查询对象
* @return 查询分页会员收藏的专题活动返回对象
*/
@Override
public PageResult<MemberCollectSubjectVo> getMemberCollectSubjectPage(Page<MemberCollectSubject> pageParams, MemberCollectSubjectDto dto) {
IPage<MemberCollectSubjectVo> page = baseMapper.selectListByPage(pageParams, dto);
return PageResult.<MemberCollectSubjectVo>builder()
.list(page.getRecords())
.pageNo(page.getCurrent())
.pageSize(page.getSize())
.total(page.getTotal())
.build();
}
/**
* 添加会员收藏的专题活动
*
* @param dto 会员收藏的专题活动添加
*/
@Override
public void addMemberCollectSubject(MemberCollectSubjectDto dto) {
MemberCollectSubject memberCollectSubject =new MemberCollectSubject();
BeanUtils.copyProperties(dto, memberCollectSubject);
save(memberCollectSubject);
}
/**
* 更新会员收藏的专题活动
*
* @param dto 会员收藏的专题活动更新
*/
@Override
public void updateMemberCollectSubject(MemberCollectSubjectDto dto) {
MemberCollectSubject memberCollectSubject =new MemberCollectSubject();
BeanUtils.copyProperties(dto, memberCollectSubject);
updateById(memberCollectSubject);
}
/**
* 删除|批量删除会员收藏的专题活动
*
* @param ids 删除id列表
*/
@Override
public void deleteMemberCollectSubject(List<Long> ids) {
removeByIds(ids);
}
}

View File

@ -0,0 +1,85 @@
package com.mall.member.service.impl;
import com.mall.member.mapper.MemberLevelMapper;
import com.mall.member.service.MemberLevelService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.mall.member.service.MemberLevelService;
import com.mall.member.domain.dto.MemberLevelDto;
import com.mall.member.domain.entity.MemberLevel;
import com.mall.member.domain.vo.MemberLevelVo;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员等级 服务实现类
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Service
@Transactional
public class MemberLevelServiceImpl extends ServiceImpl<MemberLevelMapper, MemberLevel> implements MemberLevelService {
/**
* * 会员等级 服务实现类
*
* @param pageParams 会员等级分页查询page对象
* @param dto 会员等级分页查询对象
* @return 查询分页会员等级返回对象
*/
@Override
public PageResult<MemberLevelVo> getMemberLevelPage(Page<MemberLevel> pageParams, MemberLevelDto dto) {
IPage<MemberLevelVo> page = baseMapper.selectListByPage(pageParams, dto);
return PageResult.<MemberLevelVo>builder()
.list(page.getRecords())
.pageNo(page.getCurrent())
.pageSize(page.getSize())
.total(page.getTotal())
.build();
}
/**
* 添加会员等级
*
* @param dto 会员等级添加
*/
@Override
public void addMemberLevel(MemberLevelDto dto) {
MemberLevel memberLevel =new MemberLevel();
BeanUtils.copyProperties(dto, memberLevel);
save(memberLevel);
}
/**
* 更新会员等级
*
* @param dto 会员等级更新
*/
@Override
public void updateMemberLevel(MemberLevelDto dto) {
MemberLevel memberLevel =new MemberLevel();
BeanUtils.copyProperties(dto, memberLevel);
updateById(memberLevel);
}
/**
* 删除|批量删除会员等级
*
* @param ids 删除id列表
*/
@Override
public void deleteMemberLevel(List<Long> ids) {
removeByIds(ids);
}
}

View File

@ -0,0 +1,85 @@
package com.mall.member.service.impl;
import com.mall.member.mapper.MemberLoginLogMapper;
import com.mall.member.service.MemberLoginLogService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.mall.member.service.MemberLoginLogService;
import com.mall.member.domain.dto.MemberLoginLogDto;
import com.mall.member.domain.entity.MemberLoginLog;
import com.mall.member.domain.vo.MemberLoginLogVo;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员登录记录 服务实现类
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Service
@Transactional
public class MemberLoginLogServiceImpl extends ServiceImpl<MemberLoginLogMapper, MemberLoginLog> implements MemberLoginLogService {
/**
* * 会员登录记录 服务实现类
*
* @param pageParams 会员登录记录分页查询page对象
* @param dto 会员登录记录分页查询对象
* @return 查询分页会员登录记录返回对象
*/
@Override
public PageResult<MemberLoginLogVo> getMemberLoginLogPage(Page<MemberLoginLog> pageParams, MemberLoginLogDto dto) {
IPage<MemberLoginLogVo> page = baseMapper.selectListByPage(pageParams, dto);
return PageResult.<MemberLoginLogVo>builder()
.list(page.getRecords())
.pageNo(page.getCurrent())
.pageSize(page.getSize())
.total(page.getTotal())
.build();
}
/**
* 添加会员登录记录
*
* @param dto 会员登录记录添加
*/
@Override
public void addMemberLoginLog(MemberLoginLogDto dto) {
MemberLoginLog memberLoginLog =new MemberLoginLog();
BeanUtils.copyProperties(dto, memberLoginLog);
save(memberLoginLog);
}
/**
* 更新会员登录记录
*
* @param dto 会员登录记录更新
*/
@Override
public void updateMemberLoginLog(MemberLoginLogDto dto) {
MemberLoginLog memberLoginLog =new MemberLoginLog();
BeanUtils.copyProperties(dto, memberLoginLog);
updateById(memberLoginLog);
}
/**
* 删除|批量删除会员登录记录
*
* @param ids 删除id列表
*/
@Override
public void deleteMemberLoginLog(List<Long> ids) {
removeByIds(ids);
}
}

View File

@ -0,0 +1,85 @@
package com.mall.member.service.impl;
import com.mall.member.mapper.MemberReceiveAddressMapper;
import com.mall.member.service.MemberReceiveAddressService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.mall.member.service.MemberReceiveAddressService;
import com.mall.member.domain.dto.MemberReceiveAddressDto;
import com.mall.member.domain.entity.MemberReceiveAddress;
import com.mall.member.domain.vo.MemberReceiveAddressVo;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员收货地址 服务实现类
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Service
@Transactional
public class MemberReceiveAddressServiceImpl extends ServiceImpl<MemberReceiveAddressMapper, MemberReceiveAddress> implements MemberReceiveAddressService {
/**
* * 会员收货地址 服务实现类
*
* @param pageParams 会员收货地址分页查询page对象
* @param dto 会员收货地址分页查询对象
* @return 查询分页会员收货地址返回对象
*/
@Override
public PageResult<MemberReceiveAddressVo> getMemberReceiveAddressPage(Page<MemberReceiveAddress> pageParams, MemberReceiveAddressDto dto) {
IPage<MemberReceiveAddressVo> page = baseMapper.selectListByPage(pageParams, dto);
return PageResult.<MemberReceiveAddressVo>builder()
.list(page.getRecords())
.pageNo(page.getCurrent())
.pageSize(page.getSize())
.total(page.getTotal())
.build();
}
/**
* 添加会员收货地址
*
* @param dto 会员收货地址添加
*/
@Override
public void addMemberReceiveAddress(MemberReceiveAddressDto dto) {
MemberReceiveAddress memberReceiveAddress =new MemberReceiveAddress();
BeanUtils.copyProperties(dto, memberReceiveAddress);
save(memberReceiveAddress);
}
/**
* 更新会员收货地址
*
* @param dto 会员收货地址更新
*/
@Override
public void updateMemberReceiveAddress(MemberReceiveAddressDto dto) {
MemberReceiveAddress memberReceiveAddress =new MemberReceiveAddress();
BeanUtils.copyProperties(dto, memberReceiveAddress);
updateById(memberReceiveAddress);
}
/**
* 删除|批量删除会员收货地址
*
* @param ids 删除id列表
*/
@Override
public void deleteMemberReceiveAddress(List<Long> ids) {
removeByIds(ids);
}
}

View File

@ -0,0 +1,85 @@
package com.mall.member.service.impl;
import com.mall.member.mapper.MemberMapper;
import com.mall.member.service.MemberService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.mall.member.service.MemberService;
import com.mall.member.domain.dto.MemberDto;
import com.mall.member.domain.entity.Member;
import com.mall.member.domain.vo.MemberVo;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员 服务实现类
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Service
@Transactional
public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> implements MemberService {
/**
* * 会员 服务实现类
*
* @param pageParams 会员分页查询page对象
* @param dto 会员分页查询对象
* @return 查询分页会员返回对象
*/
@Override
public PageResult<MemberVo> getMemberPage(Page<Member> pageParams, MemberDto dto) {
IPage<MemberVo> page = baseMapper.selectListByPage(pageParams, dto);
return PageResult.<MemberVo>builder()
.list(page.getRecords())
.pageNo(page.getCurrent())
.pageSize(page.getSize())
.total(page.getTotal())
.build();
}
/**
* 添加会员
*
* @param dto 会员添加
*/
@Override
public void addMember(MemberDto dto) {
Member member =new Member();
BeanUtils.copyProperties(dto, member);
save(member);
}
/**
* 更新会员
*
* @param dto 会员更新
*/
@Override
public void updateMember(MemberDto dto) {
Member member =new Member();
BeanUtils.copyProperties(dto, member);
updateById(member);
}
/**
* 删除|批量删除会员
*
* @param ids 删除id列表
*/
@Override
public void deleteMember(List<Long> ids) {
removeByIds(ids);
}
}

View File

@ -0,0 +1,85 @@
package com.mall.member.service.impl;
import com.mall.member.mapper.MemberStatisticsInfoMapper;
import com.mall.member.service.MemberStatisticsInfoService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.mall.member.service.MemberStatisticsInfoService;
import com.mall.member.domain.dto.MemberStatisticsInfoDto;
import com.mall.member.domain.entity.MemberStatisticsInfo;
import com.mall.member.domain.vo.MemberStatisticsInfoVo;
import com.mall.common.domain.vo.result.PageResult;
import com.mall.common.domain.vo.result.Result;
import com.mall.common.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
* <p>
* 会员统计信息 服务实现类
* </p>
*
* @author Bunny
* @since 2025-07-05 19:30:06
*/
@Service
@Transactional
public class MemberStatisticsInfoServiceImpl extends ServiceImpl<MemberStatisticsInfoMapper, MemberStatisticsInfo> implements MemberStatisticsInfoService {
/**
* * 会员统计信息 服务实现类
*
* @param pageParams 会员统计信息分页查询page对象
* @param dto 会员统计信息分页查询对象
* @return 查询分页会员统计信息返回对象
*/
@Override
public PageResult<MemberStatisticsInfoVo> getMemberStatisticsInfoPage(Page<MemberStatisticsInfo> pageParams, MemberStatisticsInfoDto dto) {
IPage<MemberStatisticsInfoVo> page = baseMapper.selectListByPage(pageParams, dto);
return PageResult.<MemberStatisticsInfoVo>builder()
.list(page.getRecords())
.pageNo(page.getCurrent())
.pageSize(page.getSize())
.total(page.getTotal())
.build();
}
/**
* 添加会员统计信息
*
* @param dto 会员统计信息添加
*/
@Override
public void addMemberStatisticsInfo(MemberStatisticsInfoDto dto) {
MemberStatisticsInfo memberStatisticsInfo =new MemberStatisticsInfo();
BeanUtils.copyProperties(dto, memberStatisticsInfo);
save(memberStatisticsInfo);
}
/**
* 更新会员统计信息
*
* @param dto 会员统计信息更新
*/
@Override
public void updateMemberStatisticsInfo(MemberStatisticsInfoDto dto) {
MemberStatisticsInfo memberStatisticsInfo =new MemberStatisticsInfo();
BeanUtils.copyProperties(dto, memberStatisticsInfo);
updateById(memberStatisticsInfo);
}
/**
* 删除|批量删除会员统计信息
*
* @param ids 删除id列表
*/
@Override
public void deleteMemberStatisticsInfo(List<Long> ids) {
removeByIds(ids);
}
}

View File

@ -0,0 +1,7 @@
datasource:
master:
host: rm-bp12z6hlv46vi6g8mro.mysql.rds.aliyuncs.com
port: 3306
database: gulimall_ums
username: gulimall
password: "0212Gulimall"

View File

@ -0,0 +1,36 @@
server:
port: 8003
spring:
profiles:
active: dev
application:
name: service-product
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://${datasource.master.host}:${datasource.master.port}/${datasource.master.database}?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
username: ${datasource.master.username}
password: ${datasource.master.password}
hikari:
maximum-pool-size: 20
connection-timeout: 30000
jackson:
date-format: yyyy-MM-dd HH:mm:ss
mybatis-plus:
mapper-locations: classpath:/mapper/*.xml
global-config:
db-config:
id-type: auto
logic-delete-value: 1
logic-not-delete-value: 0
logging:
file:
path: "logs/${spring.application.name}"
level:
com.mall.product: debug
root: info

View File

@ -0,0 +1,13 @@
,-----. ,--. ,--. ,--.,--.
| |) /_ ,--.,--.,--,--, ,--,--, ,--. ,--. | `.' | ,--,--.| || |
| .-. \| || || \| \ \ ' / | |'.'| |' ,-. || || |
| '--' /' '' '| || || || | \ ' | | | |\ '-' || || |
`------' `----' `--''--'`--''--'.-' / `--' `--' `--`--'`--'`--'
`---'
Service Name${spring.application.name}
SpringBoot Version: ${spring-boot.version}${spring-boot.formatted-version}
Spring Active${spring.profiles.active}

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mall.member.mapper.GrowthChangeHistoryMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.mall.member.domain.entity.GrowthChangeHistory">
<id column="id" property="id"/>
<id column="member_id" property="memberId"/>
<id column="create_time" property="createTime"/>
<id column="change_count" property="changeCount"/>
<id column="note" property="note"/>
<id column="source_type" property="sourceType"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id,member_id,create_time,change_count,note,source_type
</sql>
<!-- 分页查询成长值变化历史记录内容 -->
<select id="selectListByPage" resultType="com.mall.member.domain.vo.GrowthChangeHistoryVo">
select
<include refid="Base_Column_List"/>
from ums_growth_change_history
<where>
<if test="dto.id != null and dto.id != ''">
and id like CONCAT('%',#{dto.id},'%')
</if>
<if test="dto.memberId != null and dto.memberId != ''">
and member_id like CONCAT('%',#{dto.memberId},'%')
</if>
<if test="dto.createTime != null and dto.createTime != ''">
and create_time like CONCAT('%',#{dto.createTime},'%')
</if>
<if test="dto.changeCount != null and dto.changeCount != ''">
and change_count like CONCAT('%',#{dto.changeCount},'%')
</if>
<if test="dto.note != null and dto.note != ''">
and note like CONCAT('%',#{dto.note},'%')
</if>
<if test="dto.sourceType != null and dto.sourceType != ''">
and source_type like CONCAT('%',#{dto.sourceType},'%')
</if>
</where>
</select>
</mapper>

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mall.member.mapper.IntegrationChangeHistoryMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.mall.member.domain.entity.IntegrationChangeHistory">
<id column="id" property="id"/>
<id column="member_id" property="memberId"/>
<id column="create_time" property="createTime"/>
<id column="change_count" property="changeCount"/>
<id column="note" property="note"/>
<id column="source_tyoe" property="sourceTyoe"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id,member_id,create_time,change_count,note,source_tyoe
</sql>
<!-- 分页查询积分变化历史记录内容 -->
<select id="selectListByPage" resultType="com.mall.member.domain.vo.IntegrationChangeHistoryVo">
select
<include refid="Base_Column_List"/>
from ums_integration_change_history
<where>
<if test="dto.id != null and dto.id != ''">
and id like CONCAT('%',#{dto.id},'%')
</if>
<if test="dto.memberId != null and dto.memberId != ''">
and member_id like CONCAT('%',#{dto.memberId},'%')
</if>
<if test="dto.createTime != null and dto.createTime != ''">
and create_time like CONCAT('%',#{dto.createTime},'%')
</if>
<if test="dto.changeCount != null and dto.changeCount != ''">
and change_count like CONCAT('%',#{dto.changeCount},'%')
</if>
<if test="dto.note != null and dto.note != ''">
and note like CONCAT('%',#{dto.note},'%')
</if>
<if test="dto.sourceTyoe != null and dto.sourceTyoe != ''">
and source_tyoe like CONCAT('%',#{dto.sourceTyoe},'%')
</if>
</where>
</select>
</mapper>

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mall.member.mapper.MemberCollectSpuMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.mall.member.domain.entity.MemberCollectSpu">
<id column="id" property="id"/>
<id column="member_id" property="memberId"/>
<id column="spu_id" property="spuId"/>
<id column="spu_name" property="spuName"/>
<id column="spu_img" property="spuImg"/>
<id column="create_time" property="createTime"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id,member_id,spu_id,spu_name,spu_img,create_time
</sql>
<!-- 分页查询会员收藏的商品内容 -->
<select id="selectListByPage" resultType="com.mall.member.domain.vo.MemberCollectSpuVo">
select
<include refid="Base_Column_List"/>
from ums_member_collect_spu
<where>
<if test="dto.id != null and dto.id != ''">
and id like CONCAT('%',#{dto.id},'%')
</if>
<if test="dto.memberId != null and dto.memberId != ''">
and member_id like CONCAT('%',#{dto.memberId},'%')
</if>
<if test="dto.spuId != null and dto.spuId != ''">
and spu_id like CONCAT('%',#{dto.spuId},'%')
</if>
<if test="dto.spuName != null and dto.spuName != ''">
and spu_name like CONCAT('%',#{dto.spuName},'%')
</if>
<if test="dto.spuImg != null and dto.spuImg != ''">
and spu_img like CONCAT('%',#{dto.spuImg},'%')
</if>
<if test="dto.createTime != null and dto.createTime != ''">
and create_time like CONCAT('%',#{dto.createTime},'%')
</if>
</where>
</select>
</mapper>

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mall.member.mapper.MemberCollectSubjectMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.mall.member.domain.entity.MemberCollectSubject">
<id column="id" property="id"/>
<id column="subject_id" property="subjectId"/>
<id column="subject_name" property="subjectName"/>
<id column="subject_img" property="subjectImg"/>
<id column="subject_urll" property="subjectUrll"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id,subject_id,subject_name,subject_img,subject_urll
</sql>
<!-- 分页查询会员收藏的专题活动内容 -->
<select id="selectListByPage" resultType="com.mall.member.domain.vo.MemberCollectSubjectVo">
select
<include refid="Base_Column_List"/>
from ums_member_collect_subject
<where>
<if test="dto.id != null and dto.id != ''">
and id like CONCAT('%',#{dto.id},'%')
</if>
<if test="dto.subjectId != null and dto.subjectId != ''">
and subject_id like CONCAT('%',#{dto.subjectId},'%')
</if>
<if test="dto.subjectName != null and dto.subjectName != ''">
and subject_name like CONCAT('%',#{dto.subjectName},'%')
</if>
<if test="dto.subjectImg != null and dto.subjectImg != ''">
and subject_img like CONCAT('%',#{dto.subjectImg},'%')
</if>
<if test="dto.subjectUrll != null and dto.subjectUrll != ''">
and subject_urll like CONCAT('%',#{dto.subjectUrll},'%')
</if>
</where>
</select>
</mapper>

View File

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mall.member.mapper.MemberLevelMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.mall.member.domain.entity.MemberLevel">
<id column="id" property="id"/>
<id column="name" property="name"/>
<id column="growth_point" property="growthPoint"/>
<id column="default_status" property="defaultStatus"/>
<id column="free_freight_point" property="freeFreightPoint"/>
<id column="comment_growth_point" property="commentGrowthPoint"/>
<id column="priviledge_free_freight" property="priviledgeFreeFreight"/>
<id column="priviledge_member_price" property="priviledgeMemberPrice"/>
<id column="priviledge_birthday" property="priviledgeBirthday"/>
<id column="note" property="note"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id,name,growth_point,default_status,free_freight_point,comment_growth_point,priviledge_free_freight,priviledge_member_price,priviledge_birthday,note
</sql>
<!-- 分页查询会员等级内容 -->
<select id="selectListByPage" resultType="com.mall.member.domain.vo.MemberLevelVo">
select
<include refid="Base_Column_List"/>
from ums_member_level
<where>
<if test="dto.id != null and dto.id != ''">
and id like CONCAT('%',#{dto.id},'%')
</if>
<if test="dto.name != null and dto.name != ''">
and name like CONCAT('%',#{dto.name},'%')
</if>
<if test="dto.growthPoint != null and dto.growthPoint != ''">
and growth_point like CONCAT('%',#{dto.growthPoint},'%')
</if>
<if test="dto.defaultStatus != null and dto.defaultStatus != ''">
and default_status like CONCAT('%',#{dto.defaultStatus},'%')
</if>
<if test="dto.freeFreightPoint != null and dto.freeFreightPoint != ''">
and free_freight_point like CONCAT('%',#{dto.freeFreightPoint},'%')
</if>
<if test="dto.commentGrowthPoint != null and dto.commentGrowthPoint != ''">
and comment_growth_point like CONCAT('%',#{dto.commentGrowthPoint},'%')
</if>
<if test="dto.priviledgeFreeFreight != null and dto.priviledgeFreeFreight != ''">
and priviledge_free_freight like CONCAT('%',#{dto.priviledgeFreeFreight},'%')
</if>
<if test="dto.priviledgeMemberPrice != null and dto.priviledgeMemberPrice != ''">
and priviledge_member_price like CONCAT('%',#{dto.priviledgeMemberPrice},'%')
</if>
<if test="dto.priviledgeBirthday != null and dto.priviledgeBirthday != ''">
and priviledge_birthday like CONCAT('%',#{dto.priviledgeBirthday},'%')
</if>
<if test="dto.note != null and dto.note != ''">
and note like CONCAT('%',#{dto.note},'%')
</if>
</where>
</select>
</mapper>

View File

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mall.member.mapper.MemberLoginLogMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.mall.member.domain.entity.MemberLoginLog">
<id column="id" property="id"/>
<id column="member_id" property="memberId"/>
<id column="create_time" property="createTime"/>
<id column="ip" property="ip"/>
<id column="city" property="city"/>
<id column="login_type" property="loginType"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id,member_id,create_time,ip,city,login_type
</sql>
<!-- 分页查询会员登录记录内容 -->
<select id="selectListByPage" resultType="com.mall.member.domain.vo.MemberLoginLogVo">
select
<include refid="Base_Column_List"/>
from ums_member_login_log
<where>
<if test="dto.id != null and dto.id != ''">
and id like CONCAT('%',#{dto.id},'%')
</if>
<if test="dto.memberId != null and dto.memberId != ''">
and member_id like CONCAT('%',#{dto.memberId},'%')
</if>
<if test="dto.createTime != null and dto.createTime != ''">
and create_time like CONCAT('%',#{dto.createTime},'%')
</if>
<if test="dto.ip != null and dto.ip != ''">
and ip like CONCAT('%',#{dto.ip},'%')
</if>
<if test="dto.city != null and dto.city != ''">
and city like CONCAT('%',#{dto.city},'%')
</if>
<if test="dto.loginType != null and dto.loginType != ''">
and login_type like CONCAT('%',#{dto.loginType},'%')
</if>
</where>
</select>
</mapper>

View File

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mall.member.mapper.MemberMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.mall.member.domain.entity.Member">
<id column="id" property="id"/>
<id column="level_id" property="levelId"/>
<id column="username" property="username"/>
<id column="password" property="password"/>
<id column="nickname" property="nickname"/>
<id column="mobile" property="mobile"/>
<id column="email" property="email"/>
<id column="header" property="header"/>
<id column="gender" property="gender"/>
<id column="birth" property="birth"/>
<id column="city" property="city"/>
<id column="job" property="job"/>
<id column="sign" property="sign"/>
<id column="source_type" property="sourceType"/>
<id column="integration" property="integration"/>
<id column="growth" property="growth"/>
<id column="status" property="status"/>
<id column="create_time" property="createTime"/>
<id column="social_uid" property="socialUid"/>
<id column="access_token" property="accessToken"/>
<id column="expires_in" property="expiresIn"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id,level_id,username,password,nickname,mobile,email,header,gender,birth,city,job,sign,source_type,integration,growth,status,create_time,social_uid,access_token,expires_in
</sql>
<!-- 分页查询会员内容 -->
<select id="selectListByPage" resultType="com.mall.member.domain.vo.MemberVo">
select
<include refid="Base_Column_List"/>
from ums_member
<where>
<if test="dto.id != null and dto.id != ''">
and id like CONCAT('%',#{dto.id},'%')
</if>
<if test="dto.levelId != null and dto.levelId != ''">
and level_id like CONCAT('%',#{dto.levelId},'%')
</if>
<if test="dto.username != null and dto.username != ''">
and username like CONCAT('%',#{dto.username},'%')
</if>
<if test="dto.password != null and dto.password != ''">
and password like CONCAT('%',#{dto.password},'%')
</if>
<if test="dto.nickname != null and dto.nickname != ''">
and nickname like CONCAT('%',#{dto.nickname},'%')
</if>
<if test="dto.mobile != null and dto.mobile != ''">
and mobile like CONCAT('%',#{dto.mobile},'%')
</if>
<if test="dto.email != null and dto.email != ''">
and email like CONCAT('%',#{dto.email},'%')
</if>
<if test="dto.header != null and dto.header != ''">
and header like CONCAT('%',#{dto.header},'%')
</if>
<if test="dto.gender != null and dto.gender != ''">
and gender like CONCAT('%',#{dto.gender},'%')
</if>
<if test="dto.birth != null and dto.birth != ''">
and birth like CONCAT('%',#{dto.birth},'%')
</if>
<if test="dto.city != null and dto.city != ''">
and city like CONCAT('%',#{dto.city},'%')
</if>
<if test="dto.job != null and dto.job != ''">
and job like CONCAT('%',#{dto.job},'%')
</if>
<if test="dto.sign != null and dto.sign != ''">
and sign like CONCAT('%',#{dto.sign},'%')
</if>
<if test="dto.sourceType != null and dto.sourceType != ''">
and source_type like CONCAT('%',#{dto.sourceType},'%')
</if>
<if test="dto.integration != null and dto.integration != ''">
and integration like CONCAT('%',#{dto.integration},'%')
</if>
<if test="dto.growth != null and dto.growth != ''">
and growth like CONCAT('%',#{dto.growth},'%')
</if>
<if test="dto.status != null and dto.status != ''">
and status like CONCAT('%',#{dto.status},'%')
</if>
<if test="dto.createTime != null and dto.createTime != ''">
and create_time like CONCAT('%',#{dto.createTime},'%')
</if>
<if test="dto.socialUid != null and dto.socialUid != ''">
and social_uid like CONCAT('%',#{dto.socialUid},'%')
</if>
<if test="dto.accessToken != null and dto.accessToken != ''">
and access_token like CONCAT('%',#{dto.accessToken},'%')
</if>
<if test="dto.expiresIn != null and dto.expiresIn != ''">
and expires_in like CONCAT('%',#{dto.expiresIn},'%')
</if>
</where>
</select>
</mapper>

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mall.member.mapper.MemberReceiveAddressMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.mall.member.domain.entity.MemberReceiveAddress">
<id column="id" property="id"/>
<id column="member_id" property="memberId"/>
<id column="name" property="name"/>
<id column="phone" property="phone"/>
<id column="post_code" property="postCode"/>
<id column="province" property="province"/>
<id column="city" property="city"/>
<id column="region" property="region"/>
<id column="detail_address" property="detailAddress"/>
<id column="areacode" property="areacode"/>
<id column="default_status" property="defaultStatus"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id,member_id,name,phone,post_code,province,city,region,detail_address,areacode,default_status
</sql>
<!-- 分页查询会员收货地址内容 -->
<select id="selectListByPage" resultType="com.mall.member.domain.vo.MemberReceiveAddressVo">
select
<include refid="Base_Column_List"/>
from ums_member_receive_address
<where>
<if test="dto.id != null and dto.id != ''">
and id like CONCAT('%',#{dto.id},'%')
</if>
<if test="dto.memberId != null and dto.memberId != ''">
and member_id like CONCAT('%',#{dto.memberId},'%')
</if>
<if test="dto.name != null and dto.name != ''">
and name like CONCAT('%',#{dto.name},'%')
</if>
<if test="dto.phone != null and dto.phone != ''">
and phone like CONCAT('%',#{dto.phone},'%')
</if>
<if test="dto.postCode != null and dto.postCode != ''">
and post_code like CONCAT('%',#{dto.postCode},'%')
</if>
<if test="dto.province != null and dto.province != ''">
and province like CONCAT('%',#{dto.province},'%')
</if>
<if test="dto.city != null and dto.city != ''">
and city like CONCAT('%',#{dto.city},'%')
</if>
<if test="dto.region != null and dto.region != ''">
and region like CONCAT('%',#{dto.region},'%')
</if>
<if test="dto.detailAddress != null and dto.detailAddress != ''">
and detail_address like CONCAT('%',#{dto.detailAddress},'%')
</if>
<if test="dto.areacode != null and dto.areacode != ''">
and areacode like CONCAT('%',#{dto.areacode},'%')
</if>
<if test="dto.defaultStatus != null and dto.defaultStatus != ''">
and default_status like CONCAT('%',#{dto.defaultStatus},'%')
</if>
</where>
</select>
</mapper>

View File

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mall.member.mapper.MemberStatisticsInfoMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.mall.member.domain.entity.MemberStatisticsInfo">
<id column="id" property="id"/>
<id column="member_id" property="memberId"/>
<id column="consume_amount" property="consumeAmount"/>
<id column="coupon_amount" property="couponAmount"/>
<id column="order_count" property="orderCount"/>
<id column="coupon_count" property="couponCount"/>
<id column="comment_count" property="commentCount"/>
<id column="return_order_count" property="returnOrderCount"/>
<id column="login_count" property="loginCount"/>
<id column="attend_count" property="attendCount"/>
<id column="fans_count" property="fansCount"/>
<id column="collect_product_count" property="collectProductCount"/>
<id column="collect_subject_count" property="collectSubjectCount"/>
<id column="collect_comment_count" property="collectCommentCount"/>
<id column="invite_friend_count" property="inviteFriendCount"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id,member_id,consume_amount,coupon_amount,order_count,coupon_count,comment_count,return_order_count,login_count,attend_count,fans_count,collect_product_count,collect_subject_count,collect_comment_count,invite_friend_count
</sql>
<!-- 分页查询会员统计信息内容 -->
<select id="selectListByPage" resultType="com.mall.member.domain.vo.MemberStatisticsInfoVo">
select
<include refid="Base_Column_List"/>
from ums_member_statistics_info
<where>
<if test="dto.id != null and dto.id != ''">
and id like CONCAT('%',#{dto.id},'%')
</if>
<if test="dto.memberId != null and dto.memberId != ''">
and member_id like CONCAT('%',#{dto.memberId},'%')
</if>
<if test="dto.consumeAmount != null and dto.consumeAmount != ''">
and consume_amount like CONCAT('%',#{dto.consumeAmount},'%')
</if>
<if test="dto.couponAmount != null and dto.couponAmount != ''">
and coupon_amount like CONCAT('%',#{dto.couponAmount},'%')
</if>
<if test="dto.orderCount != null and dto.orderCount != ''">
and order_count like CONCAT('%',#{dto.orderCount},'%')
</if>
<if test="dto.couponCount != null and dto.couponCount != ''">
and coupon_count like CONCAT('%',#{dto.couponCount},'%')
</if>
<if test="dto.commentCount != null and dto.commentCount != ''">
and comment_count like CONCAT('%',#{dto.commentCount},'%')
</if>
<if test="dto.returnOrderCount != null and dto.returnOrderCount != ''">
and return_order_count like CONCAT('%',#{dto.returnOrderCount},'%')
</if>
<if test="dto.loginCount != null and dto.loginCount != ''">
and login_count like CONCAT('%',#{dto.loginCount},'%')
</if>
<if test="dto.attendCount != null and dto.attendCount != ''">
and attend_count like CONCAT('%',#{dto.attendCount},'%')
</if>
<if test="dto.fansCount != null and dto.fansCount != ''">
and fans_count like CONCAT('%',#{dto.fansCount},'%')
</if>
<if test="dto.collectProductCount != null and dto.collectProductCount != ''">
and collect_product_count like CONCAT('%',#{dto.collectProductCount},'%')
</if>
<if test="dto.collectSubjectCount != null and dto.collectSubjectCount != ''">
and collect_subject_count like CONCAT('%',#{dto.collectSubjectCount},'%')
</if>
<if test="dto.collectCommentCount != null and dto.collectCommentCount != ''">
and collect_comment_count like CONCAT('%',#{dto.collectCommentCount},'%')
</if>
<if test="dto.inviteFriendCount != null and dto.inviteFriendCount != ''">
and invite_friend_count like CONCAT('%',#{dto.inviteFriendCount},'%')
</if>
</where>
</select>
</mapper>