From e84672f72fd432d80d428d823017efbbd3800eaf Mon Sep 17 00:00:00 2001 From: zhaochencheng Date: Mon, 28 Nov 2022 11:41:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E5=91=98=E4=BB=A3=E7=A0=81=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/generator/ApplicationTest.java | 6 +- .../controller/MemberAddressController.java | 93 +++++++++++ .../cyl/ums/controller/MemberController.java | 93 +++++++++++ .../cyl/ums/convert/MemberAddressConvert.java | 16 ++ .../com/cyl/ums/convert/MemberConvert.java | 16 ++ .../main/java/com/cyl/ums/domain/Member.java | 79 ++++++++++ .../com/cyl/ums/domain/MemberAddress.java | 69 ++++++++ .../cyl/ums/mapper/MemberAddressMapper.java | 28 ++++ .../java/com/cyl/ums/mapper/MemberMapper.java | 28 ++++ .../ums/pojo/query/MemberAddressQuery.java | 46 ++++++ .../com/cyl/ums/pojo/query/MemberQuery.java | 54 +++++++ .../com/cyl/ums/pojo/vo/MemberAddressVO.java | 50 ++++++ .../java/com/cyl/ums/pojo/vo/MemberVO.java | 60 +++++++ .../cyl/ums/service/MemberAddressService.java | 136 ++++++++++++++++ .../com/cyl/ums/service/MemberService.java | 147 ++++++++++++++++++ .../mapper/ums/MemberAddressMapper.xml | 49 ++++++ .../resources/mapper/ums/MemberMapper.xml | 53 +++++++ sql/ums/member.sql | 22 +++ sql/ums/memberAddress.sql | 22 +++ 19 files changed, 1063 insertions(+), 4 deletions(-) create mode 100644 ruoyi-mall/src/main/java/com/cyl/ums/controller/MemberAddressController.java create mode 100644 ruoyi-mall/src/main/java/com/cyl/ums/controller/MemberController.java create mode 100644 ruoyi-mall/src/main/java/com/cyl/ums/convert/MemberAddressConvert.java create mode 100644 ruoyi-mall/src/main/java/com/cyl/ums/convert/MemberConvert.java create mode 100644 ruoyi-mall/src/main/java/com/cyl/ums/domain/Member.java create mode 100644 ruoyi-mall/src/main/java/com/cyl/ums/domain/MemberAddress.java create mode 100644 ruoyi-mall/src/main/java/com/cyl/ums/mapper/MemberAddressMapper.java create mode 100644 ruoyi-mall/src/main/java/com/cyl/ums/mapper/MemberMapper.java create mode 100644 ruoyi-mall/src/main/java/com/cyl/ums/pojo/query/MemberAddressQuery.java create mode 100644 ruoyi-mall/src/main/java/com/cyl/ums/pojo/query/MemberQuery.java create mode 100644 ruoyi-mall/src/main/java/com/cyl/ums/pojo/vo/MemberAddressVO.java create mode 100644 ruoyi-mall/src/main/java/com/cyl/ums/pojo/vo/MemberVO.java create mode 100644 ruoyi-mall/src/main/java/com/cyl/ums/service/MemberAddressService.java create mode 100644 ruoyi-mall/src/main/java/com/cyl/ums/service/MemberService.java create mode 100644 ruoyi-mall/src/main/resources/mapper/ums/MemberAddressMapper.xml create mode 100644 ruoyi-mall/src/main/resources/mapper/ums/MemberMapper.xml create mode 100644 sql/ums/member.sql create mode 100644 sql/ums/memberAddress.sql diff --git a/ruoyi-generator/src/test/java/com/ruoyi/generator/ApplicationTest.java b/ruoyi-generator/src/test/java/com/ruoyi/generator/ApplicationTest.java index d3f893e..cdde81b 100644 --- a/ruoyi-generator/src/test/java/com/ruoyi/generator/ApplicationTest.java +++ b/ruoyi-generator/src/test/java/com/ruoyi/generator/ApplicationTest.java @@ -25,10 +25,8 @@ public class ApplicationTest { @Test public void test2() { List tableNames = Arrays.asList( - "pms_brand", - "pms_product_category" , - "pms_product", - "pms_sku" + "ums_member", + "ums_member_address" ); // 查询表信息 List tableList = genTableService.selectGenTableByName(tableNames); diff --git a/ruoyi-mall/src/main/java/com/cyl/ums/controller/MemberAddressController.java b/ruoyi-mall/src/main/java/com/cyl/ums/controller/MemberAddressController.java new file mode 100644 index 0000000..fc79c70 --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/ums/controller/MemberAddressController.java @@ -0,0 +1,93 @@ +package com.cyl.ums.controller; + +import java.util.List; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Page; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.enums.BusinessType; +import com.cyl.ums.convert.MemberAddressConvert; +import com.cyl.ums.domain.MemberAddress; +import com.cyl.ums.pojo.query.MemberAddressQuery; +import com.cyl.ums.service.MemberAddressService; +import com.cyl.ums.pojo.vo.MemberAddressVO; +import com.ruoyi.common.utils.poi.ExcelUtil; +/** + * 会员收货地址Controller + * + * @author zcc + * @date 2022-11-27 + */ +@Api(description ="会员收货地址接口列表") +@RestController +@RequestMapping("/ums/memberAddress") +public class MemberAddressController extends BaseController { + @Autowired + private MemberAddressService service; + @Autowired + private MemberAddressConvert convert; + + @ApiOperation("查询会员收货地址列表") + @PreAuthorize("@ss.hasPermi('ums:memberAddress:list')") + @PostMapping("/list") + public ResponseEntity> list(@RequestBody MemberAddressQuery query, Pageable page) { + List list = service.selectList(query, page); + return ResponseEntity.ok(new PageImpl<>(list, page, ((com.github.pagehelper.Page)list).getTotal())); + } + + @ApiOperation("导出会员收货地址列表") + @PreAuthorize("@ss.hasPermi('ums:memberAddress:export')") + @Log(title = "会员收货地址", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public ResponseEntity export(MemberAddressQuery query) { + List list = service.selectList(query, null); + ExcelUtil util = new ExcelUtil<>(MemberAddressVO.class); + return ResponseEntity.ok(util.writeExcel(convert.dos2vos(list), "会员收货地址数据")); + } + + @ApiOperation("获取会员收货地址详细信息") + @PreAuthorize("@ss.hasPermi('ums:memberAddress:query')") + @GetMapping(value = "/{id}") + public ResponseEntity getInfo(@PathVariable("id") Long id) { + return ResponseEntity.ok(service.selectById(id)); + } + + @ApiOperation("新增会员收货地址") + @PreAuthorize("@ss.hasPermi('ums:memberAddress:add')") + @Log(title = "会员收货地址", businessType = BusinessType.INSERT) + @PostMapping + public ResponseEntity add(@RequestBody MemberAddress memberAddress) { + return ResponseEntity.ok(service.insert(memberAddress)); + } + + @ApiOperation("修改会员收货地址") + @PreAuthorize("@ss.hasPermi('ums:memberAddress:edit')") + @Log(title = "会员收货地址", businessType = BusinessType.UPDATE) + @PutMapping + public ResponseEntity edit(@RequestBody MemberAddress memberAddress) { + return ResponseEntity.ok(service.update(memberAddress)); + } + + @ApiOperation("删除会员收货地址") + @PreAuthorize("@ss.hasPermi('ums:memberAddress:remove')") + @Log(title = "会员收货地址", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public ResponseEntity remove(@PathVariable Long[] ids) { + return ResponseEntity.ok(service.deleteByIds(ids)); + } +} diff --git a/ruoyi-mall/src/main/java/com/cyl/ums/controller/MemberController.java b/ruoyi-mall/src/main/java/com/cyl/ums/controller/MemberController.java new file mode 100644 index 0000000..6ec0978 --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/ums/controller/MemberController.java @@ -0,0 +1,93 @@ +package com.cyl.ums.controller; + +import java.util.List; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Page; +import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.enums.BusinessType; +import com.cyl.ums.convert.MemberConvert; +import com.cyl.ums.domain.Member; +import com.cyl.ums.pojo.query.MemberQuery; +import com.cyl.ums.service.MemberService; +import com.cyl.ums.pojo.vo.MemberVO; +import com.ruoyi.common.utils.poi.ExcelUtil; +/** + * 会员信息Controller + * + * @author zcc + * @date 2022-11-27 + */ +@Api(description ="会员信息接口列表") +@RestController +@RequestMapping("/ums/member") +public class MemberController extends BaseController { + @Autowired + private MemberService service; + @Autowired + private MemberConvert convert; + + @ApiOperation("查询会员信息列表") + @PreAuthorize("@ss.hasPermi('ums:member:list')") + @PostMapping("/list") + public ResponseEntity> list(@RequestBody MemberQuery query, Pageable page) { + List list = service.selectList(query, page); + return ResponseEntity.ok(new PageImpl<>(list, page, ((com.github.pagehelper.Page)list).getTotal())); + } + + @ApiOperation("导出会员信息列表") + @PreAuthorize("@ss.hasPermi('ums:member:export')") + @Log(title = "会员信息", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public ResponseEntity export(MemberQuery query) { + List list = service.selectList(query, null); + ExcelUtil util = new ExcelUtil<>(MemberVO.class); + return ResponseEntity.ok(util.writeExcel(convert.dos2vos(list), "会员信息数据")); + } + + @ApiOperation("获取会员信息详细信息") + @PreAuthorize("@ss.hasPermi('ums:member:query')") + @GetMapping(value = "/{id}") + public ResponseEntity getInfo(@PathVariable("id") Long id) { + return ResponseEntity.ok(service.selectById(id)); + } + + @ApiOperation("新增会员信息") + @PreAuthorize("@ss.hasPermi('ums:member:add')") + @Log(title = "会员信息", businessType = BusinessType.INSERT) + @PostMapping + public ResponseEntity add(@RequestBody Member member) { + return ResponseEntity.ok(service.insert(member)); + } + + @ApiOperation("修改会员信息") + @PreAuthorize("@ss.hasPermi('ums:member:edit')") + @Log(title = "会员信息", businessType = BusinessType.UPDATE) + @PutMapping + public ResponseEntity edit(@RequestBody Member member) { + return ResponseEntity.ok(service.update(member)); + } + + @ApiOperation("删除会员信息") + @PreAuthorize("@ss.hasPermi('ums:member:remove')") + @Log(title = "会员信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public ResponseEntity remove(@PathVariable Long[] ids) { + return ResponseEntity.ok(service.deleteByIds(ids)); + } +} diff --git a/ruoyi-mall/src/main/java/com/cyl/ums/convert/MemberAddressConvert.java b/ruoyi-mall/src/main/java/com/cyl/ums/convert/MemberAddressConvert.java new file mode 100644 index 0000000..aa147ee --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/ums/convert/MemberAddressConvert.java @@ -0,0 +1,16 @@ +package com.cyl.ums.convert; + +import org.mapstruct.Mapper; +import com.cyl.ums.domain.MemberAddress; +import com.cyl.ums.pojo.vo.MemberAddressVO; +import java.util.List; +/** + * 会员收货地址 DO <=> DTO <=> VO / BO / Query + * + * @author zcc + */ +@Mapper(componentModel = "spring") +public interface MemberAddressConvert { + + List dos2vos(List list); +} diff --git a/ruoyi-mall/src/main/java/com/cyl/ums/convert/MemberConvert.java b/ruoyi-mall/src/main/java/com/cyl/ums/convert/MemberConvert.java new file mode 100644 index 0000000..89ceaee --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/ums/convert/MemberConvert.java @@ -0,0 +1,16 @@ +package com.cyl.ums.convert; + +import org.mapstruct.Mapper; +import com.cyl.ums.domain.Member; +import com.cyl.ums.pojo.vo.MemberVO; +import java.util.List; +/** + * 会员信息 DO <=> DTO <=> VO / BO / Query + * + * @author zcc + */ +@Mapper(componentModel = "spring") +public interface MemberConvert { + + List dos2vos(List list); +} diff --git a/ruoyi-mall/src/main/java/com/cyl/ums/domain/Member.java b/ruoyi-mall/src/main/java/com/cyl/ums/domain/Member.java new file mode 100644 index 0000000..5143cdb --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/ums/domain/Member.java @@ -0,0 +1,79 @@ +package com.cyl.ums.domain; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; +import com.ruoyi.common.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import com.baomidou.mybatisplus.annotation.TableName; +/** + * 会员信息对象 ums_member + * + * @author zcc + */ +@ApiModel(description="会员信息对象") +@Data +@TableName("ums_member") +public class Member { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("ID") + private Long id; + + @ApiModelProperty("昵称") + @Excel(name = "昵称") + private String nickname; + + @ApiModelProperty("密码") + @Excel(name = "密码") + private String password; + + @ApiModelProperty("手机号码") + @Excel(name = "手机号码") + private String phone; + + @ApiModelProperty("用户备注") + @Excel(name = "用户备注") + private String mark; + + @ApiModelProperty("帐号启用状态:0->禁用;1->启用") + @Excel(name = "帐号启用状态:0->禁用;1->启用") + private Integer status; + + @ApiModelProperty("头像") + @Excel(name = "头像") + private String avatar; + + @ApiModelProperty("性别:0->未知;1->男;2->女") + @Excel(name = "性别:0->未知;1->男;2->女") + private Integer gender; + + @ApiModelProperty("生日") + @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd") + private LocalDate birthday; + + @ApiModelProperty("推广员id") + @Excel(name = "推广员id") + private Long spreadUid; + + @ApiModelProperty("推广员关联时间") + @Excel(name = "推广员关联时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime spreadTime; + + @ApiModelProperty("等级") + @Excel(name = "等级") + private Integer level; + + @ApiModelProperty("用户剩余积分") + @Excel(name = "用户剩余积分") + private BigDecimal integral; + + @ApiModelProperty("创建时间") + private LocalDateTime createTime; + + @ApiModelProperty("修改时间") + private LocalDateTime updateTime; + +} diff --git a/ruoyi-mall/src/main/java/com/cyl/ums/domain/MemberAddress.java b/ruoyi-mall/src/main/java/com/cyl/ums/domain/MemberAddress.java new file mode 100644 index 0000000..45e5048 --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/ums/domain/MemberAddress.java @@ -0,0 +1,69 @@ +package com.cyl.ums.domain; + +import java.time.LocalDateTime; +import com.ruoyi.common.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import com.baomidou.mybatisplus.annotation.TableName; +/** + * 会员收货地址对象 ums_member_address + * + * @author zcc + */ +@ApiModel(description="会员收货地址对象") +@Data +@TableName("ums_member_address") +public class MemberAddress { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("ID") + private Long id; + + @ApiModelProperty("MEMBER_ID") + @Excel(name = "MEMBER_ID") + private Long memberId; + + @ApiModelProperty("收货人名称") + @Excel(name = "收货人名称") + private String name; + + @ApiModelProperty("PHONE") + @Excel(name = "PHONE") + private String phone; + + @ApiModelProperty("是否为默认") + @Excel(name = "是否为默认") + private Integer defaultStatus; + + @ApiModelProperty("邮政编码") + @Excel(name = "邮政编码") + private String postCode; + + @ApiModelProperty("省份/直辖市") + @Excel(name = "省份/直辖市") + private String province; + + @ApiModelProperty("城市") + @Excel(name = "城市") + private String city; + + @ApiModelProperty("区") + @Excel(name = "区") + private String district; + + @ApiModelProperty("详细地址(街道)") + @Excel(name = "详细地址(街道)") + private String detailAddress; + + @ApiModelProperty("是否默认") + @Excel(name = "是否默认") + private Integer isDefault; + + @ApiModelProperty("创建时间") + private LocalDateTime createTime; + + @ApiModelProperty("修改时间") + private LocalDateTime updateTime; + +} diff --git a/ruoyi-mall/src/main/java/com/cyl/ums/mapper/MemberAddressMapper.java b/ruoyi-mall/src/main/java/com/cyl/ums/mapper/MemberAddressMapper.java new file mode 100644 index 0000000..e64280c --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/ums/mapper/MemberAddressMapper.java @@ -0,0 +1,28 @@ +package com.cyl.ums.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import com.cyl.ums.domain.MemberAddress; + +/** + * 会员收货地址Mapper接口 + * + * @author zcc + */ +public interface MemberAddressMapper extends BaseMapper { + /** + * 查询会员收货地址列表 + * + * @param memberAddress 会员收货地址 + * @return 会员收货地址集合 + */ + List selectByEntity(MemberAddress memberAddress); + + /** + * 批量软删除 + * @param ids + * @return + */ + int updateDelFlagByIds(@Param("ids") Long[] ids); +} diff --git a/ruoyi-mall/src/main/java/com/cyl/ums/mapper/MemberMapper.java b/ruoyi-mall/src/main/java/com/cyl/ums/mapper/MemberMapper.java new file mode 100644 index 0000000..aca0108 --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/ums/mapper/MemberMapper.java @@ -0,0 +1,28 @@ +package com.cyl.ums.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import com.cyl.ums.domain.Member; + +/** + * 会员信息Mapper接口 + * + * @author zcc + */ +public interface MemberMapper extends BaseMapper { + /** + * 查询会员信息列表 + * + * @param member 会员信息 + * @return 会员信息集合 + */ + List selectByEntity(Member member); + + /** + * 批量软删除 + * @param ids + * @return + */ + int updateDelFlagByIds(@Param("ids") Long[] ids); +} diff --git a/ruoyi-mall/src/main/java/com/cyl/ums/pojo/query/MemberAddressQuery.java b/ruoyi-mall/src/main/java/com/cyl/ums/pojo/query/MemberAddressQuery.java new file mode 100644 index 0000000..a10a80f --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/ums/pojo/query/MemberAddressQuery.java @@ -0,0 +1,46 @@ +package com.cyl.ums.pojo.query; + +import java.time.LocalDateTime; +import lombok.Data; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * 会员收货地址 查询 对象 + * + * @author zcc + */ +@ApiModel(description="会员收货地址 查询 对象") +@Data +public class MemberAddressQuery { + @ApiModelProperty("MEMBER_ID 精确匹配") + private Long memberId; + + @ApiModelProperty("收货人名称 精确匹配") + private String nameLike; + + @ApiModelProperty("PHONE 精确匹配") + private String phone; + + @ApiModelProperty("是否为默认 精确匹配") + private Integer defaultStatus; + + @ApiModelProperty("邮政编码 精确匹配") + private String postCode; + + @ApiModelProperty("省份/直辖市 精确匹配") + private String province; + + @ApiModelProperty("城市 精确匹配") + private String city; + + @ApiModelProperty("区 精确匹配") + private String district; + + @ApiModelProperty("详细地址 精确匹配") + private String detailAddress; + + @ApiModelProperty("是否默认 精确匹配") + private Integer isDefault; + +} diff --git a/ruoyi-mall/src/main/java/com/cyl/ums/pojo/query/MemberQuery.java b/ruoyi-mall/src/main/java/com/cyl/ums/pojo/query/MemberQuery.java new file mode 100644 index 0000000..424863b --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/ums/pojo/query/MemberQuery.java @@ -0,0 +1,54 @@ +package com.cyl.ums.pojo.query; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; +import lombok.Data; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * 会员信息 查询 对象 + * + * @author zcc + */ +@ApiModel(description="会员信息 查询 对象") +@Data +public class MemberQuery { + @ApiModelProperty("昵称 精确匹配") + private String nicknameLike; + + @ApiModelProperty("密码 精确匹配") + private String password; + + @ApiModelProperty("手机号码 精确匹配") + private String phone; + + @ApiModelProperty("用户备注 精确匹配") + private String mark; + + @ApiModelProperty("帐号启用状态:0->禁用;1->启用 精确匹配") + private Integer status; + + @ApiModelProperty("头像 精确匹配") + private String avatar; + + @ApiModelProperty("性别:0->未知;1->男;2->女 精确匹配") + private Integer gender; + + @ApiModelProperty("生日 精确匹配") + private LocalDate birthday; + + @ApiModelProperty("推广员id 精确匹配") + private Long spreadUid; + + @ApiModelProperty("推广员关联时间 精确匹配") + private LocalDateTime spreadTime; + + @ApiModelProperty("等级 精确匹配") + private Integer level; + + @ApiModelProperty("用户剩余积分 精确匹配") + private BigDecimal integral; + +} diff --git a/ruoyi-mall/src/main/java/com/cyl/ums/pojo/vo/MemberAddressVO.java b/ruoyi-mall/src/main/java/com/cyl/ums/pojo/vo/MemberAddressVO.java new file mode 100644 index 0000000..2f6a182 --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/ums/pojo/vo/MemberAddressVO.java @@ -0,0 +1,50 @@ +package com.cyl.ums.pojo.vo; + +import java.time.LocalDateTime; +import com.ruoyi.common.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +/** + * 会员收货地址 数据视图对象 + * + * @author zcc + */ +@Data +public class MemberAddressVO { + /** ID */ + private Long id; + /** MEMBER_ID */ + @Excel(name = "MEMBER_ID") + private Long memberId; + /** 收货人名称 */ + @Excel(name = "收货人名称") + private String name; + /** PHONE */ + @Excel(name = "PHONE") + private String phone; + /** 是否为默认 */ + @Excel(name = "是否为默认") + private Integer defaultStatus; + /** 邮政编码 */ + @Excel(name = "邮政编码") + private String postCode; + /** 省份/直辖市 */ + @Excel(name = "省份/直辖市") + private String province; + /** 城市 */ + @Excel(name = "城市") + private String city; + /** 区 */ + @Excel(name = "区") + private String district; + /** 详细地址(街道) */ + @Excel(name = "详细地址(街道)") + private String detailAddress; + /** 是否默认 */ + @Excel(name = "是否默认") + private Integer isDefault; + /** 创建时间 */ + private LocalDateTime createTime; + /** 修改时间 */ + private LocalDateTime updateTime; +} diff --git a/ruoyi-mall/src/main/java/com/cyl/ums/pojo/vo/MemberVO.java b/ruoyi-mall/src/main/java/com/cyl/ums/pojo/vo/MemberVO.java new file mode 100644 index 0000000..520d4b0 --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/ums/pojo/vo/MemberVO.java @@ -0,0 +1,60 @@ +package com.cyl.ums.pojo.vo; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; +import com.ruoyi.common.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +/** + * 会员信息 数据视图对象 + * + * @author zcc + */ +@Data +public class MemberVO { + /** ID */ + private Long id; + /** 昵称 */ + @Excel(name = "昵称") + private String nickname; + /** 密码 */ + @Excel(name = "密码") + private String password; + /** 手机号码 */ + @Excel(name = "手机号码") + private String phone; + /** 用户备注 */ + @Excel(name = "用户备注") + private String mark; + /** 帐号启用状态:0->禁用;1->启用 */ + @Excel(name = "帐号启用状态:0->禁用;1->启用") + private Integer status; + /** 头像 */ + @Excel(name = "头像") + private String avatar; + /** 性别:0->未知;1->男;2->女 */ + @Excel(name = "性别:0->未知;1->男;2->女") + private Integer gender; + /** 生日 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd") + private LocalDate birthday; + /** 推广员id */ + @Excel(name = "推广员id") + private Long spreadUid; + /** 推广员关联时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "推广员关联时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime spreadTime; + /** 等级 */ + @Excel(name = "等级") + private Integer level; + /** 用户剩余积分 */ + @Excel(name = "用户剩余积分") + private BigDecimal integral; + /** 创建时间 */ + private LocalDateTime createTime; + /** 修改时间 */ + private LocalDateTime updateTime; +} diff --git a/ruoyi-mall/src/main/java/com/cyl/ums/service/MemberAddressService.java b/ruoyi-mall/src/main/java/com/cyl/ums/service/MemberAddressService.java new file mode 100644 index 0000000..daff59e --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/ums/service/MemberAddressService.java @@ -0,0 +1,136 @@ +package com.cyl.ums.service; + +import java.time.LocalDateTime; +import java.util.Arrays; +import java.util.List; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.pagehelper.PageHelper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Pageable; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import com.cyl.ums.mapper.MemberAddressMapper; +import com.cyl.ums.domain.MemberAddress; +import com.cyl.ums.pojo.query.MemberAddressQuery; + +/** + * 会员收货地址Service业务层处理 + * + * + * @author zcc + */ +@Service +public class MemberAddressService { + @Autowired + private MemberAddressMapper memberAddressMapper; + + /** + * 查询会员收货地址 + * + * @param id 会员收货地址主键 + * @return 会员收货地址 + */ + public MemberAddress selectById(Long id) { + return memberAddressMapper.selectById(id); + } + + /** + * 查询会员收货地址列表 + * + * @param query 查询条件 + * @param page 分页条件 + * @return 会员收货地址 + */ + public List selectList(MemberAddressQuery query, Pageable page) { + if (page != null) { + PageHelper.startPage(page.getPageNumber() + 1, page.getPageSize()); + } + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("del_flag",0); + Long memberId = query.getMemberId(); + if (memberId != null) { + qw.eq("member_id", memberId); + } + String nameLike = query.getNameLike(); + if (!StringUtils.isEmpty(nameLike)) { + qw.like("name", nameLike); + } + String phone = query.getPhone(); + if (!StringUtils.isEmpty(phone)) { + qw.eq("phone", phone); + } + Integer defaultStatus = query.getDefaultStatus(); + if (defaultStatus != null) { + qw.eq("default_status", defaultStatus); + } + String postCode = query.getPostCode(); + if (!StringUtils.isEmpty(postCode)) { + qw.eq("post_code", postCode); + } + String province = query.getProvince(); + if (!StringUtils.isEmpty(province)) { + qw.eq("province", province); + } + String city = query.getCity(); + if (!StringUtils.isEmpty(city)) { + qw.eq("city", city); + } + String district = query.getDistrict(); + if (!StringUtils.isEmpty(district)) { + qw.eq("district", district); + } + String detailAddress = query.getDetailAddress(); + if (!StringUtils.isEmpty(detailAddress)) { + qw.eq("detail_address", detailAddress); + } + Integer isDefault = query.getIsDefault(); + if (isDefault != null) { + qw.eq("is_default", isDefault); + } + return memberAddressMapper.selectList(qw); + } + + /** + * 新增会员收货地址 + * + * @param memberAddress 会员收货地址 + * @return 结果 + */ + public int insert(MemberAddress memberAddress) { + memberAddress.setDelFlag(0); + memberAddress.setCreateTime(LocalDateTime.now()); + return memberAddressMapper.insert(memberAddress); + } + + /** + * 修改会员收货地址 + * + * @param memberAddress 会员收货地址 + * @return 结果 + */ + public int update(MemberAddress memberAddress) { + return memberAddressMapper.updateById(memberAddress); + } + + /** + * 批量删除会员收货地址 + * + * @param ids 需要删除的会员收货地址主键 + * @return 结果 + */ + public int deleteByIds(Long[] ids) { + return memberAddressMapper.updateDelFlagByIds(ids); + } + + /** + * 删除会员收货地址信息 + * + * @param id 会员收货地址主键 + * @return 结果 + */ + public int deleteById(Long id) { + Long[] ids = {id}; + return memberAddressMapper.updateDelFlagByIds(ids); + } +} diff --git a/ruoyi-mall/src/main/java/com/cyl/ums/service/MemberService.java b/ruoyi-mall/src/main/java/com/cyl/ums/service/MemberService.java new file mode 100644 index 0000000..c934dc7 --- /dev/null +++ b/ruoyi-mall/src/main/java/com/cyl/ums/service/MemberService.java @@ -0,0 +1,147 @@ +package com.cyl.ums.service; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Arrays; +import java.util.List; +import java.time.LocalDate; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.pagehelper.PageHelper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Pageable; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import com.cyl.ums.mapper.MemberMapper; +import com.cyl.ums.domain.Member; +import com.cyl.ums.pojo.query.MemberQuery; + +/** + * 会员信息Service业务层处理 + * + * + * @author zcc + */ +@Service +public class MemberService { + @Autowired + private MemberMapper memberMapper; + + /** + * 查询会员信息 + * + * @param id 会员信息主键 + * @return 会员信息 + */ + public Member selectById(Long id) { + return memberMapper.selectById(id); + } + + /** + * 查询会员信息列表 + * + * @param query 查询条件 + * @param page 分页条件 + * @return 会员信息 + */ + public List selectList(MemberQuery query, Pageable page) { + if (page != null) { + PageHelper.startPage(page.getPageNumber() + 1, page.getPageSize()); + } + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("del_flag",0); + String nicknameLike = query.getNicknameLike(); + if (!StringUtils.isEmpty(nicknameLike)) { + qw.like("nickname", nicknameLike); + } + String password = query.getPassword(); + if (!StringUtils.isEmpty(password)) { + qw.eq("password", password); + } + String phone = query.getPhone(); + if (!StringUtils.isEmpty(phone)) { + qw.eq("phone", phone); + } + String mark = query.getMark(); + if (!StringUtils.isEmpty(mark)) { + qw.eq("mark", mark); + } + Integer status = query.getStatus(); + if (status != null) { + qw.eq("status", status); + } + String avatar = query.getAvatar(); + if (!StringUtils.isEmpty(avatar)) { + qw.eq("avatar", avatar); + } + Integer gender = query.getGender(); + if (gender != null) { + qw.eq("gender", gender); + } + LocalDate birthday = query.getBirthday(); + if (birthday != null) { + qw.eq("birthday", birthday); + } + Long spreadUid = query.getSpreadUid(); + if (spreadUid != null) { + qw.eq("spread_uid", spreadUid); + } + LocalDateTime spreadTime = query.getSpreadTime(); + if (spreadTime != null) { + qw.eq("spread_time", spreadTime); + } + Integer level = query.getLevel(); + if (level != null) { + qw.eq("level", level); + } + BigDecimal integral = query.getIntegral(); + if (integral != null) { + qw.eq("integral", integral); + } + return memberMapper.selectList(qw); + } + + /** + * 新增会员信息 + * + * @param member 会员信息 + * @return 结果 + */ + public int insert(Member member) { + member.setDelFlag(0); + member.setCreateTime(LocalDateTime.now()); + return memberMapper.insert(member); + } + + /** + * 修改会员信息 + * + * @param member 会员信息 + * @return 结果 + */ + public int update(Member member) { + return memberMapper.updateById(member); + } + + /** + * 批量删除会员信息 + * + * @param ids 需要删除的会员信息主键 + * @return 结果 + */ + public int deleteByIds(Long[] ids) { + return memberMapper.updateDelFlagByIds(ids); + } + + /** + * 删除会员信息信息 + * + * @param id 会员信息主键 + * @return 结果 + */ + public int deleteById(Long id) { + Long[] ids = {id}; + return memberMapper.updateDelFlagByIds(ids); + } +} diff --git a/ruoyi-mall/src/main/resources/mapper/ums/MemberAddressMapper.xml b/ruoyi-mall/src/main/resources/mapper/ums/MemberAddressMapper.xml new file mode 100644 index 0000000..667e9f1 --- /dev/null +++ b/ruoyi-mall/src/main/resources/mapper/ums/MemberAddressMapper.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + select id, member_id, name, phone, default_status, post_code, province, city, district, detail_address, is_default, create_time, update_time from ums_member_address + + + + + + update ums_member_address set del_flag=1 + + id in #{it} + + + diff --git a/ruoyi-mall/src/main/resources/mapper/ums/MemberMapper.xml b/ruoyi-mall/src/main/resources/mapper/ums/MemberMapper.xml new file mode 100644 index 0000000..2c672e6 --- /dev/null +++ b/ruoyi-mall/src/main/resources/mapper/ums/MemberMapper.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + select id, nickname, password, phone, mark, status, avatar, gender, birthday, spread_uid, spread_time, level, integral, create_time, update_time from ums_member + + + + + + update ums_member set del_flag=1 + + id in #{it} + + + diff --git a/sql/ums/member.sql b/sql/ums/member.sql new file mode 100644 index 0000000..5cf5ddd --- /dev/null +++ b/sql/ums/member.sql @@ -0,0 +1,22 @@ +-- 菜单 SQL +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('会员信息', '3', '1', 'member', 'ums/member/index', 1, 0, 'C', '0', '0', 'ums:member:list', '#', 1, sysdate(), '', null, '会员信息菜单'); + +-- 按钮父菜单ID +SELECT @parentId := LAST_INSERT_ID(); + +-- 按钮 SQL +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('会员信息查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', 'ums:member:query', '#', 1, sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('会员信息新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', 'ums:member:add', '#', 1, sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('会员信息修改', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', 'ums:member:edit', '#', 1, sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('会员信息删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', 'ums:member:remove', '#', 1, sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('会员信息导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', 'ums:member:export', '#', 1, sysdate(), '', null, ''); diff --git a/sql/ums/memberAddress.sql b/sql/ums/memberAddress.sql new file mode 100644 index 0000000..951b5a4 --- /dev/null +++ b/sql/ums/memberAddress.sql @@ -0,0 +1,22 @@ +-- 菜单 SQL +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('会员收货地址', '3', '1', 'memberAddress', 'ums/memberAddress/index', 1, 0, 'C', '0', '0', 'ums:memberAddress:list', '#', 1, sysdate(), '', null, '会员收货地址菜单'); + +-- 按钮父菜单ID +SELECT @parentId := LAST_INSERT_ID(); + +-- 按钮 SQL +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('会员收货地址查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', 'ums:memberAddress:query', '#', 1, sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('会员收货地址新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', 'ums:memberAddress:add', '#', 1, sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('会员收货地址修改', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', 'ums:memberAddress:edit', '#', 1, sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('会员收货地址删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', 'ums:memberAddress:remove', '#', 1, sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) +values('会员收货地址导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', 'ums:memberAddress:export', '#', 1, sysdate(), '', null, '');