[fix]测试会员接口
This commit is contained in:
parent
dfb6459df0
commit
729ac67fea
@ -49,9 +49,9 @@ spring:
|
|||||||
driverClassName: com.mysql.cj.jdbc.Driver
|
driverClassName: com.mysql.cj.jdbc.Driver
|
||||||
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
|
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
|
||||||
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
|
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
|
||||||
url: jdbc:mysql://127.0.0.1:3306/sys?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
url: jdbc:mysql://82.156.121.2:23306/wzj?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
||||||
username: root
|
username: wzj
|
||||||
password: 123
|
password: A085F27A43B0
|
||||||
# # 从库数据源
|
# # 从库数据源
|
||||||
# slave:
|
# slave:
|
||||||
# lazy: true
|
# lazy: true
|
||||||
|
@ -142,7 +142,7 @@ tenant:
|
|||||||
- ums_member_address
|
- ums_member_address
|
||||||
- ums_feedback
|
- ums_feedback
|
||||||
- ums_member_account
|
- ums_member_account
|
||||||
- ums_member_logininfor
|
- ums_member_login_info
|
||||||
- ums_member_cart
|
- ums_member_cart
|
||||||
- oms_aftersale
|
- oms_aftersale
|
||||||
- oms_aftersale_item
|
- oms_aftersale_item
|
||||||
@ -185,7 +185,7 @@ mybatis-encryptor:
|
|||||||
# 编码方式 BASE64/HEX。默认BASE64
|
# 编码方式 BASE64/HEX。默认BASE64
|
||||||
encode: BASE64
|
encode: BASE64
|
||||||
# 安全秘钥 对称算法的秘钥 如:AES,SM4
|
# 安全秘钥 对称算法的秘钥 如:AES,SM4
|
||||||
password:
|
password: 123456
|
||||||
# 公私钥 非对称算法的公私钥 如:SM2,RSA
|
# 公私钥 非对称算法的公私钥 如:SM2,RSA
|
||||||
publicKey:
|
publicKey:
|
||||||
privateKey:
|
privateKey:
|
||||||
|
@ -310,4 +310,10 @@ public class EncryptUtils {
|
|||||||
return SmUtil.sm3(data);
|
return SmUtil.sm3(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
String data = "123456";
|
||||||
|
String password="1234567890123456";
|
||||||
|
System.out.println(encryptByAes(data,password));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -106,6 +106,10 @@
|
|||||||
<groupId>com.github.xiaoymin</groupId>
|
<groupId>com.github.xiaoymin</groupId>
|
||||||
<artifactId>knife4j-springdoc-ui</artifactId>
|
<artifactId>knife4j-springdoc-ui</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- <dependency>-->
|
||||||
|
<!-- <groupId>org.dromara</groupId>-->
|
||||||
|
<!-- <artifactId>ruoyi-goods</artifactId>-->
|
||||||
|
<!-- </dependency>-->
|
||||||
|
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
@ -43,7 +43,7 @@ public class FeedbackController {
|
|||||||
@ApiOperation("查询意见反馈列表")
|
@ApiOperation("查询意见反馈列表")
|
||||||
@PostMapping("/list")
|
@PostMapping("/list")
|
||||||
public R<IPage<FeedbackVO>> list(@RequestBody FeedbackBO query, Page page) {
|
public R<IPage<FeedbackVO>> list(@RequestBody FeedbackBO query, Page page) {
|
||||||
Page<Feedback> feedBackPage= (Page<Feedback>)service.page(page,query.toWrapper());
|
Page<Feedback> feedBackPage= service.page(page,query.toWrapper());
|
||||||
return R.ok(convert.toVO( feedBackPage));
|
return R.ok(convert.toVO( feedBackPage));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,7 +65,7 @@ public class FeedbackController {
|
|||||||
|
|
||||||
@ApiOperation(("修改状态"))
|
@ApiOperation(("修改状态"))
|
||||||
@Log(title = "意见反馈", businessType = BusinessType.UPDATE)
|
@Log(title = "意见反馈", businessType = BusinessType.UPDATE)
|
||||||
@PostMapping("/handle/status/change")
|
@PostMapping("/handle/status/update")
|
||||||
public R changeStatus(@RequestBody FeedbackBO bo){
|
public R changeStatus(@RequestBody FeedbackBO bo){
|
||||||
return R.ok(service.updateById(convert.toPo(bo)));
|
return R.ok(service.updateById(convert.toPo(bo)));
|
||||||
}
|
}
|
||||||
|
@ -58,14 +58,14 @@ public class MemberAccountController {
|
|||||||
|
|
||||||
@ApiOperation("新增会员账户表")
|
@ApiOperation("新增会员账户表")
|
||||||
@Log(title = "会员账户表", businessType = BusinessType.INSERT)
|
@Log(title = "会员账户表", businessType = BusinessType.INSERT)
|
||||||
@PostMapping
|
@PostMapping("/add")
|
||||||
public ResponseEntity<Object> add(@RequestBody MemberAccountBO memberAccount) {
|
public ResponseEntity<Object> add(@RequestBody MemberAccountBO memberAccount) {
|
||||||
return ResponseEntity.ok(service.save(convert.toPo(memberAccount)));
|
return ResponseEntity.ok(service.save(convert.toPo(memberAccount)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("修改会员账户表")
|
@ApiOperation("修改会员账户表")
|
||||||
@Log(title = "会员账户表", businessType = BusinessType.UPDATE)
|
@Log(title = "会员账户表", businessType = BusinessType.UPDATE)
|
||||||
@PutMapping
|
@PutMapping("/update")
|
||||||
public ResponseEntity<Object> edit(@RequestBody MemberAccountBO memberAccount) {
|
public ResponseEntity<Object> edit(@RequestBody MemberAccountBO memberAccount) {
|
||||||
return ResponseEntity.ok(service.updateById(convert.toPo(memberAccount)));
|
return ResponseEntity.ok(service.updateById(convert.toPo(memberAccount)));
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,7 @@ public class MemberAddressController {
|
|||||||
|
|
||||||
@ApiOperation("导出会员收货地址列表")
|
@ApiOperation("导出会员收货地址列表")
|
||||||
@Log(title = "会员收货地址", businessType = BusinessType.EXPORT)
|
@Log(title = "会员收货地址", businessType = BusinessType.EXPORT)
|
||||||
@GetMapping("/export")
|
@PostMapping("/export")
|
||||||
public ResponseEntity<String> export(MemberAddressBO query) {
|
public ResponseEntity<String> export(MemberAddressBO query) {
|
||||||
List<MemberAddress> list = service.list(query.toWrapper());
|
List<MemberAddress> list = service.list(query.toWrapper());
|
||||||
ExcelUtil<MemberAddressVO> util = new ExcelUtil<>(MemberAddressVO.class);
|
ExcelUtil<MemberAddressVO> util = new ExcelUtil<>(MemberAddressVO.class);
|
||||||
@ -63,14 +63,14 @@ public class MemberAddressController {
|
|||||||
|
|
||||||
@ApiOperation("新增会员收货地址")
|
@ApiOperation("新增会员收货地址")
|
||||||
@Log(title = "会员收货地址", businessType = BusinessType.INSERT)
|
@Log(title = "会员收货地址", businessType = BusinessType.INSERT)
|
||||||
@PostMapping
|
@PostMapping("/add")
|
||||||
public ResponseEntity<Object> add(@RequestBody MemberAddress memberAddress) {
|
public ResponseEntity<Object> add(@RequestBody MemberAddress memberAddress) {
|
||||||
return ResponseEntity.ok(service.save(memberAddress));
|
return ResponseEntity.ok(service.save(memberAddress));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("修改会员收货地址")
|
@ApiOperation("修改会员收货地址")
|
||||||
@Log(title = "会员收货地址", businessType = BusinessType.UPDATE)
|
@Log(title = "会员收货地址", businessType = BusinessType.UPDATE)
|
||||||
@PutMapping
|
@PostMapping("/update")
|
||||||
public ResponseEntity edit(@RequestBody MemberAddress memberAddress) {
|
public ResponseEntity edit(@RequestBody MemberAddress memberAddress) {
|
||||||
service.updateById(memberAddress);
|
service.updateById(memberAddress);
|
||||||
return ResponseEntity.ok(null);
|
return ResponseEntity.ok(null);
|
||||||
|
@ -44,8 +44,8 @@ public class MemberCartController extends BaseController {
|
|||||||
|
|
||||||
@ApiOperation("导出购物车列表")
|
@ApiOperation("导出购物车列表")
|
||||||
@Log(title = "购物车", businessType = BusinessType.EXPORT)
|
@Log(title = "购物车", businessType = BusinessType.EXPORT)
|
||||||
@GetMapping("/export")
|
@PostMapping("/export")
|
||||||
public ResponseEntity<String> export(MemberCartBO query) {
|
public R<String> export(MemberCartBO query) {
|
||||||
// List<MemberCart> list = service.selectList(query, null);
|
// List<MemberCart> list = service.selectList(query, null);
|
||||||
// ExcelUtil<MemberCartVO> util = new ExcelUtil<>(MemberCartVO.class);
|
// ExcelUtil<MemberCartVO> util = new ExcelUtil<>(MemberCartVO.class);
|
||||||
// return ResponseEntity.ok(util.writeExcel(convert.dos2vos(list), "购物车数据"));
|
// return ResponseEntity.ok(util.writeExcel(convert.dos2vos(list), "购物车数据"));
|
||||||
@ -54,30 +54,28 @@ public class MemberCartController extends BaseController {
|
|||||||
|
|
||||||
@ApiOperation("获取购物车详细信息")
|
@ApiOperation("获取购物车详细信息")
|
||||||
@GetMapping(value = "/{id}")
|
@GetMapping(value = "/{id}")
|
||||||
public ResponseEntity<MemberCart> getInfo(@PathVariable("id") Long id) {
|
public R<MemberCart> getInfo(@PathVariable("id") Long id) {
|
||||||
return ResponseEntity.ok(service.getById(id));
|
return R.ok(service.getById(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
// @ApiOperation("新增购物车")
|
@ApiOperation("新增购物车")
|
||||||
// @Log(title = "购物车", businessType = BusinessType.INSERT)
|
@Log(title = "购物车", businessType = BusinessType.INSERT)
|
||||||
// @PostMapping
|
@PostMapping("/add")
|
||||||
// public ResponseEntity<Integer> add(@RequestBody MemberCart memberCart) {
|
public R add(@RequestBody MemberCartBO memberCart) {
|
||||||
// return ResponseEntity.ok(service.insert(memberCart));
|
return R.ok(service.save(convert.toPo(memberCart)));
|
||||||
// }
|
}
|
||||||
|
|
||||||
// @ApiOperation("修改购物车")
|
@ApiOperation("修改购物车")
|
||||||
// @PreAuthorize("@ss.hasPermi('ums:memberCart:edit')")
|
@Log(title = "购物车", businessType = BusinessType.UPDATE)
|
||||||
// @Log(title = "购物车", businessType = BusinessType.UPDATE)
|
@PostMapping("/update")
|
||||||
// @PutMapping
|
public R edit(@RequestBody MemberCartBO memberCart) {
|
||||||
// public ResponseEntity<Integer> edit(@RequestBody MemberCart memberCart) {
|
return R.ok(service.updateById(convert.toPo(memberCart)));
|
||||||
// return ResponseEntity.ok(service.update(memberCart));
|
}
|
||||||
// }
|
|
||||||
|
|
||||||
// @ApiOperation("删除购物车")
|
@ApiOperation("删除购物车")
|
||||||
// @PreAuthorize("@ss.hasPermi('ums:memberCart:remove')")
|
@Log(title = "购物车", businessType = BusinessType.DELETE)
|
||||||
// @Log(title = "购物车", businessType = BusinessType.DELETE)
|
@DeleteMapping("/{id}")
|
||||||
// @DeleteMapping("/{id}")
|
public R remove(@PathVariable Long id) {
|
||||||
// public ResponseEntity<Integer> remove(@PathVariable Long id) {
|
return R.ok(service.removeById(id));
|
||||||
// return ResponseEntity.ok(service.deleteById(id));
|
}
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ import com.wzj.soopin.member.convert.MemberConvert;
|
|||||||
import com.wzj.soopin.member.domain.bo.MemberBO;
|
import com.wzj.soopin.member.domain.bo.MemberBO;
|
||||||
import com.wzj.soopin.member.domain.form.ChangeMemberStatusForm;
|
import com.wzj.soopin.member.domain.form.ChangeMemberStatusForm;
|
||||||
import com.wzj.soopin.member.domain.po.Member;
|
import com.wzj.soopin.member.domain.po.Member;
|
||||||
|
import com.wzj.soopin.member.domain.vo.MemberDataStatisticsVO;
|
||||||
import com.wzj.soopin.member.domain.vo.MemberVO;
|
import com.wzj.soopin.member.domain.vo.MemberVO;
|
||||||
import com.wzj.soopin.member.service.IMemberService;
|
import com.wzj.soopin.member.service.IMemberService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
@ -44,13 +45,14 @@ public class MemberController extends BaseController {
|
|||||||
@PostMapping("list")
|
@PostMapping("list")
|
||||||
public R<Page<MemberVO>> list(@RequestBody MemberBO bo, Page<Member> page) {
|
public R<Page<MemberVO>> list(@RequestBody MemberBO bo, Page<Member> page) {
|
||||||
Page<Member> memberPage = service.page(page,bo.toWapper());
|
Page<Member> memberPage = service.page(page,bo.toWapper());
|
||||||
|
TableDataInfo.build(memberPage);
|
||||||
return R.ok(convert.toVO(memberPage));
|
return R.ok(convert.toVO(memberPage));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("导出会员信息列表")
|
@ApiOperation("导出会员信息列表")
|
||||||
@SaCheckPermission("ums:member:export")
|
@SaCheckPermission("ums:member:export")
|
||||||
@Log(title = "会员信息", businessType = BusinessType.EXPORT)
|
@Log(title = "会员信息", businessType = BusinessType.EXPORT)
|
||||||
@GetMapping("export")
|
@PostMapping("export")
|
||||||
public ResponseEntity<String> export(MemberBO query) {
|
public ResponseEntity<String> export(MemberBO query) {
|
||||||
List<Member> list = service.list(query.toWapper());
|
List<Member> list = service.list(query.toWapper());
|
||||||
ExcelUtil<MemberVO> util = new ExcelUtil<>(MemberVO.class);
|
ExcelUtil<MemberVO> util = new ExcelUtil<>(MemberVO.class);
|
||||||
@ -60,14 +62,14 @@ public class MemberController extends BaseController {
|
|||||||
@ApiOperation("获取会员信息详细信息")
|
@ApiOperation("获取会员信息详细信息")
|
||||||
@SaCheckPermission("ums:member:query")
|
@SaCheckPermission("ums:member:query")
|
||||||
@GetMapping(value = "{id}")
|
@GetMapping(value = "{id}")
|
||||||
public ResponseEntity<Member> getInfo(@PathVariable("id") Long id) {
|
public ResponseEntity<MemberVO> getInfo(@PathVariable("id") Long id) {
|
||||||
return ResponseEntity.ok(service.getById(id));
|
return ResponseEntity.ok(convert.toVO(service.getById(id)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("新增会员信息")
|
@ApiOperation("新增会员信息")
|
||||||
@SaCheckPermission("'ums:member:add")
|
@SaCheckPermission("'ums:member:add")
|
||||||
@Log(title = "会员信息", businessType = BusinessType.INSERT)
|
@Log(title = "会员信息", businessType = BusinessType.INSERT)
|
||||||
@PostMapping("/ums/member")
|
@PostMapping("add")
|
||||||
public R add(@RequestBody MemberBO member) {
|
public R add(@RequestBody MemberBO member) {
|
||||||
return R.ok(service.save(convert.toPo(member)));
|
return R.ok(service.save(convert.toPo(member)));
|
||||||
}
|
}
|
||||||
@ -75,7 +77,7 @@ public class MemberController extends BaseController {
|
|||||||
@ApiOperation("修改会员信息")
|
@ApiOperation("修改会员信息")
|
||||||
@SaCheckPermission("ums:member:edit")
|
@SaCheckPermission("ums:member:edit")
|
||||||
@Log(title = "会员信息", businessType = BusinessType.UPDATE)
|
@Log(title = "会员信息", businessType = BusinessType.UPDATE)
|
||||||
@PutMapping("/ums/member")
|
@PostMapping("update")
|
||||||
public R edit(@RequestBody MemberBO member) {
|
public R edit(@RequestBody MemberBO member) {
|
||||||
return R.ok(service.updateById(convert.toPo(member)));
|
return R.ok(service.updateById(convert.toPo(member)));
|
||||||
}
|
}
|
||||||
@ -83,7 +85,7 @@ public class MemberController extends BaseController {
|
|||||||
@ApiOperation("修改会员备注信息")
|
@ApiOperation("修改会员备注信息")
|
||||||
@SaCheckPermission("ums:member:edit")
|
@SaCheckPermission("ums:member:edit")
|
||||||
@Log(title = "会员备注信息", businessType = BusinessType.UPDATE)
|
@Log(title = "会员备注信息", businessType = BusinessType.UPDATE)
|
||||||
@PostMapping("/ums/member/mark/update")
|
@PostMapping("mark/update")
|
||||||
public ResponseEntity<Integer> editMark(@RequestBody Member member) {
|
public ResponseEntity<Integer> editMark(@RequestBody Member member) {
|
||||||
return ResponseEntity.ok(service.updateMark(member));
|
return ResponseEntity.ok(service.updateMark(member));
|
||||||
}
|
}
|
||||||
@ -91,17 +93,29 @@ public class MemberController extends BaseController {
|
|||||||
@ApiOperation("删除会员信息")
|
@ApiOperation("删除会员信息")
|
||||||
@SaCheckPermission("ums:member:remove")
|
@SaCheckPermission("ums:member:remove")
|
||||||
@Log(title = "会员信息", businessType = BusinessType.DELETE)
|
@Log(title = "会员信息", businessType = BusinessType.DELETE)
|
||||||
@DeleteMapping("/ums/member/{id}")
|
@DeleteMapping("{id}")
|
||||||
public R remove(@PathVariable Long id) {
|
public R remove(@PathVariable Long id) {
|
||||||
return R.ok(service.removeById(id));
|
return R.ok(service.removeById(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(("修改会员账户状态"))
|
@ApiOperation(("修改会员账户状态"))
|
||||||
@Log(title = "会员信息", businessType = BusinessType.UPDATE)
|
@Log(title = "会员信息", businessType = BusinessType.UPDATE)
|
||||||
@PostMapping("/ums/member/status/change")
|
@PostMapping("status/change")
|
||||||
public ResponseEntity<Integer> changeStatus(@RequestBody ChangeMemberStatusForm form){
|
public ResponseEntity<Integer> changeStatus(@RequestBody ChangeMemberStatusForm form){
|
||||||
return ResponseEntity.ok(service.changeStatus(form));
|
return ResponseEntity.ok(service.changeStatus(form));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("会员手机号解密")
|
||||||
|
@GetMapping("phone/decrypt/{phoneEncrypted}")
|
||||||
|
public ResponseEntity<String> getPhoneDecrypted(@PathVariable String phoneEncrypted){
|
||||||
|
return ResponseEntity.ok(service.getPhoneDecrypted(phoneEncrypted));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("查看会员统计数据")
|
||||||
|
@GetMapping("view/statistics/{memberId}")
|
||||||
|
public ResponseEntity<MemberDataStatisticsVO> viewStatistics(@PathVariable Long memberId){
|
||||||
|
// return ResponseEntity.ok(service.viewStatistics(memberId));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,77 @@
|
|||||||
|
package com.wzj.soopin.member.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.wzj.soopin.member.convert.MemberLoginInfoConvert;
|
||||||
|
import com.wzj.soopin.member.domain.bo.MemberLoginInfoBO;
|
||||||
|
import com.wzj.soopin.member.domain.po.MemberLoginInfo;
|
||||||
|
import com.wzj.soopin.member.domain.vo.MemberLoginInfoVO;
|
||||||
|
import com.wzj.soopin.member.service.IMemberLoginInfoService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.dromara.common.core.domain.R;
|
||||||
|
import org.dromara.common.excel.utils.ExcelUtil;
|
||||||
|
import org.dromara.common.log.annotation.Log;
|
||||||
|
import org.dromara.common.log.enums.BusinessType;
|
||||||
|
import org.dromara.common.web.core.BaseController;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员登录记录Controller
|
||||||
|
*
|
||||||
|
* @author zcc
|
||||||
|
* @date 2023-07-26
|
||||||
|
*/
|
||||||
|
@Api(description ="会员登录记录接口列表")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/ums/member/loginInfo/")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class MemberLoginInfoController extends BaseController {
|
||||||
|
private final IMemberLoginInfoService service;
|
||||||
|
private final MemberLoginInfoConvert convert;
|
||||||
|
|
||||||
|
@ApiOperation("查询会员登录记录列表")
|
||||||
|
@SaCheckPermission("ums:memberlogininfo:list")
|
||||||
|
@PostMapping("list")
|
||||||
|
public R<Page<MemberLoginInfoVO>> list(@RequestBody MemberLoginInfoBO query, Page page) {
|
||||||
|
Page<MemberLoginInfo> list = service.page(page,query.toWrapper());
|
||||||
|
return R.ok(convert.toVO(list));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("导出会员登录记录列表")
|
||||||
|
@SaCheckPermission("ums:memberlogininfo:export")
|
||||||
|
@Log(title = "会员登录记录", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("export")
|
||||||
|
public R<String> export(MemberLoginInfoBO query) {
|
||||||
|
List<MemberLoginInfo> list = service.list(query.toWrapper());
|
||||||
|
ExcelUtil<MemberLoginInfoVO> util = new ExcelUtil<>(MemberLoginInfoVO.class);
|
||||||
|
return R.ok(util.writeExcel(convert.toVO(list), "会员登录记录数据"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("获取会员登录记录详细信息")
|
||||||
|
@SaCheckPermission("ums:memberlogininfo:query")
|
||||||
|
@GetMapping(value = "{id}")
|
||||||
|
public R<MemberLoginInfoVO> getInfo(@PathVariable("id") Long id) {
|
||||||
|
return R.ok(convert.toVO(service.getById(id)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("修改会员登录记录")
|
||||||
|
@SaCheckPermission("ums:memberlogininfo:edit")
|
||||||
|
@Log(title = "会员登录记录", businessType = BusinessType.UPDATE)
|
||||||
|
@PostMapping("/update")
|
||||||
|
public R edit(@RequestBody MemberLoginInfoBO memberLoginInfo) {
|
||||||
|
return R.ok(service.updateById(convert.toPo(memberLoginInfo)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("删除会员登录记录")
|
||||||
|
@SaCheckPermission("ums:memberlogininfo:remove")
|
||||||
|
@Log(title = "会员登录记录", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("{id}")
|
||||||
|
public R remove(@PathVariable Long id) {
|
||||||
|
return R.ok(service.removeById(id));
|
||||||
|
}
|
||||||
|
}
|
@ -6,6 +6,7 @@ import com.wzj.soopin.member.domain.po.Member;
|
|||||||
import com.wzj.soopin.member.domain.vo.MemberVO;
|
import com.wzj.soopin.member.domain.vo.MemberVO;
|
||||||
import org.dromara.common.web.core.BaseConverter;
|
import org.dromara.common.web.core.BaseConverter;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
|
import org.mapstruct.Mapping;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
/**
|
/**
|
||||||
@ -16,5 +17,11 @@ import java.util.List;
|
|||||||
@Mapper(componentModel = "spring",uses = BaseConverter.class)
|
@Mapper(componentModel = "spring",uses = BaseConverter.class)
|
||||||
public interface MemberConvert extends BaseConverter<MemberVO, MemberBO,Member> {
|
public interface MemberConvert extends BaseConverter<MemberVO, MemberBO,Member> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Mapping(target = "phone", source ="phoneEncrypted" )
|
||||||
|
MemberVO toVO(Member member);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Mapping(target = "phoneEncrypted", source ="phone")
|
||||||
|
Member toPo(MemberBO d);
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
package com.wzj.soopin.member.convert;
|
||||||
|
|
||||||
|
import com.wzj.soopin.member.domain.bo.MemberLoginInfoBO;
|
||||||
|
import com.wzj.soopin.member.domain.po.MemberLoginInfo;
|
||||||
|
import com.wzj.soopin.member.domain.vo.MemberLoginInfoVO;
|
||||||
|
import org.dromara.common.web.core.BaseConverter;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员登录记录 DO <=> DTO <=> VO / BO / Query
|
||||||
|
*
|
||||||
|
* @author zcc
|
||||||
|
*/
|
||||||
|
@Mapper(componentModel = "spring",uses = BaseConverter.class)
|
||||||
|
public interface MemberLoginInfoConvert extends BaseConverter<MemberLoginInfoVO, MemberLoginInfoBO, MemberLoginInfo> {
|
||||||
|
}
|
@ -1,18 +0,0 @@
|
|||||||
package com.wzj.soopin.member.convert;
|
|
||||||
|
|
||||||
import com.wzj.soopin.member.domain.po.MemberLogininfor;
|
|
||||||
import com.wzj.soopin.member.domain.vo.MemberLogininforVO;
|
|
||||||
import org.dromara.common.web.core.BaseConverter;
|
|
||||||
import org.mapstruct.Mapper;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
/**
|
|
||||||
* 会员登录记录 DO <=> DTO <=> VO / BO / Query
|
|
||||||
*
|
|
||||||
* @author zcc
|
|
||||||
*/
|
|
||||||
@Mapper(componentModel = "spring",uses = BaseConverter.class)
|
|
||||||
public interface MemberLogininforConvert {
|
|
||||||
|
|
||||||
List<MemberLogininforVO> dos2vos(List<MemberLogininfor> list);
|
|
||||||
}
|
|
@ -78,7 +78,7 @@ public class MemberBO extends BaseBO {
|
|||||||
|
|
||||||
String phone = this.getPhone();
|
String phone = this.getPhone();
|
||||||
if (!StringUtils.isEmpty(phone)) {
|
if (!StringUtils.isEmpty(phone)) {
|
||||||
// qw.eq("phone_encrypted", AesCryptoUtils.encrypt(aesKey, phone));
|
qw.eq("phone_encrypted", phone);
|
||||||
}
|
}
|
||||||
if (!StringUtils.isEmpty(this.getBeginTime()) && !StringUtils.isEmpty(this.getEndTime())){
|
if (!StringUtils.isEmpty(this.getBeginTime()) && !StringUtils.isEmpty(this.getEndTime())){
|
||||||
qw.ge("create_time", this.getBeginTime());
|
qw.ge("create_time", this.getBeginTime());
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
package com.wzj.soopin.member.domain.bo;
|
package com.wzj.soopin.member.domain.bo;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.wzj.soopin.member.domain.po.MemberLoginInfo;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.dromara.common.core.domain.BaseBO;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
@ -13,7 +16,7 @@ import java.time.LocalDateTime;
|
|||||||
*/
|
*/
|
||||||
@ApiModel(description="会员登录记录 查询 对象")
|
@ApiModel(description="会员登录记录 查询 对象")
|
||||||
@Data
|
@Data
|
||||||
public class MemberLogininforQuery {
|
public class MemberLoginInfoBO extends BaseBO<MemberLoginInfo> {
|
||||||
@ApiModelProperty("会员手机号 精确匹配")
|
@ApiModelProperty("会员手机号 精确匹配")
|
||||||
private String phone;
|
private String phone;
|
||||||
|
|
||||||
@ -39,4 +42,8 @@ public class MemberLogininforQuery {
|
|||||||
|
|
||||||
private String endTime;
|
private String endTime;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public LambdaQueryWrapper<MemberLoginInfo> toWrapper() {
|
||||||
|
return super.toWrapper();
|
||||||
|
}
|
||||||
}
|
}
|
@ -13,7 +13,7 @@ import java.time.LocalDateTime;
|
|||||||
*/
|
*/
|
||||||
@ApiModel(description="用户微信信息 查询 对象")
|
@ApiModel(description="用户微信信息 查询 对象")
|
||||||
@Data
|
@Data
|
||||||
public class MemberWechatQuery {
|
public class MemberWechatBO {
|
||||||
@ApiModelProperty("MEMBER_ID 精确匹配")
|
@ApiModelProperty("MEMBER_ID 精确匹配")
|
||||||
private Long memberId;
|
private Long memberId;
|
||||||
|
|
@ -105,5 +105,15 @@ public class Member extends BaseAudit {
|
|||||||
@Excel(name = "im签名")
|
@Excel(name = "im签名")
|
||||||
private String userSig; // 添加 UserSig 属性
|
private String userSig; // 添加 UserSig 属性
|
||||||
|
|
||||||
|
@ApiModelProperty("发布视频")
|
||||||
|
@Excel(name = "发布视频")
|
||||||
|
private Integer vlogCount;
|
||||||
|
@ApiModelProperty("粉丝数")
|
||||||
|
@Excel(name = "粉丝数")
|
||||||
|
private Integer fansCount;
|
||||||
|
@ApiModelProperty("关注数")
|
||||||
|
@Excel(name = "关注数")
|
||||||
|
private Integer followCount;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -14,8 +14,8 @@ import java.time.LocalDateTime;
|
|||||||
*/
|
*/
|
||||||
@ApiModel(description="会员登录记录对象")
|
@ApiModel(description="会员登录记录对象")
|
||||||
@Data
|
@Data
|
||||||
@TableName("ums_member_logininfor")
|
@TableName("ums_member_login_info")
|
||||||
public class MemberLogininfor {
|
public class MemberLoginInfo {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@ApiModelProperty("ID")
|
@ApiModelProperty("ID")
|
@ -11,7 +11,7 @@ import java.time.LocalDateTime;
|
|||||||
* @author zcc
|
* @author zcc
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class MemberLogininforVO {
|
public class MemberLoginInfoVO {
|
||||||
/** ID */
|
/** ID */
|
||||||
private Long id;
|
private Long id;
|
||||||
/** 会员手机号 */
|
/** 会员手机号 */
|
@ -1,6 +1,7 @@
|
|||||||
package com.wzj.soopin.member.domain.vo;
|
package com.wzj.soopin.member.domain.vo;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.dromara.common.excel.annotation.Excel;
|
import org.dromara.common.excel.annotation.Excel;
|
||||||
|
|
||||||
@ -67,4 +68,16 @@ public class MemberVO {
|
|||||||
/** openId */
|
/** openId */
|
||||||
@Excel(name = "openId")
|
@Excel(name = "openId")
|
||||||
private String openId;
|
private String openId;
|
||||||
|
|
||||||
|
/** openId */
|
||||||
|
@Excel(name = "userName")
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
private Integer vlogCount;
|
||||||
|
@ApiModelProperty("im签名")
|
||||||
|
@Excel(name = "im签名")
|
||||||
|
private Integer fansCount;
|
||||||
|
@ApiModelProperty("im签名")
|
||||||
|
@Excel(name = "im签名")
|
||||||
|
private Integer followCount;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package com.wzj.soopin.member.mapper;
|
package com.wzj.soopin.member.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.wzj.soopin.member.domain.po.MemberLogininfor;
|
import com.wzj.soopin.member.domain.po.MemberLoginInfo;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@ -12,14 +12,14 @@ import java.util.List;
|
|||||||
*
|
*
|
||||||
* @author zcc
|
* @author zcc
|
||||||
*/
|
*/
|
||||||
public interface MemberLogininforMapper extends BaseMapper<MemberLogininfor> {
|
public interface MemberLogininforMapper extends BaseMapper<MemberLoginInfo>{
|
||||||
/**
|
/**
|
||||||
* 查询会员登录记录列表
|
* 查询会员登录记录列表
|
||||||
*
|
*
|
||||||
* @param memberLogininfor 会员登录记录
|
* @param memberLogininfor 会员登录记录
|
||||||
* @return 会员登录记录集合
|
* @return 会员登录记录集合
|
||||||
*/
|
*/
|
||||||
List<MemberLogininfor> selectByEntity(MemberLogininfor memberLogininfor);
|
List<MemberLoginInfo> selectByEntity(MemberLoginInfo memberLogininfor);
|
||||||
|
|
||||||
int statLoginMember(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
|
int statLoginMember(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
|
||||||
}
|
}
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
package com.wzj.soopin.member.service;
|
|
||||||
|
|
||||||
public interface IMemberLoginRecordService {
|
|
||||||
}
|
|
@ -52,4 +52,5 @@ public interface IMemberService extends IService<Member> {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
String getPhoneDecrypted(String phoneEncrypted) ;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
package com.wzj.soopin.member.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.wzj.soopin.member.domain.po.MemberLoginInfo;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员登录记录Service业务层处理
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @author zcc
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public interface IMemberLoginInfoService extends IService<MemberLoginInfo> {
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
package com.wzj.soopin.member.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.wzj.soopin.member.domain.po.MemberLoginInfo;
|
||||||
|
import com.wzj.soopin.member.mapper.MemberLogininforMapper;
|
||||||
|
import com.wzj.soopin.member.service.IMemberLoginInfoService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员登录记录Service业务层处理
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @author zcc
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class MemberLoginInfoServiceImpl extends ServiceImpl<MemberLogininforMapper, MemberLoginInfo> implements IMemberLoginInfoService {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -1,84 +0,0 @@
|
|||||||
package com.wzj.soopin.member.service.impl;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
||||||
import com.wzj.soopin.member.domain.po.Member;
|
|
||||||
import com.wzj.soopin.member.domain.po.MemberLogininfor;
|
|
||||||
import com.wzj.soopin.member.domain.bo.MemberLogininforQuery;
|
|
||||||
import com.wzj.soopin.member.mapper.MemberLogininforMapper;
|
|
||||||
import com.wzj.soopin.member.mapper.MemberMapper;
|
|
||||||
import com.wzj.soopin.member.service.IMemberLoginRecordService;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
|
||||||
import org.springframework.data.domain.Pageable;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 会员登录记录Service业务层处理
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* @author zcc
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
public class MemberLoginRecordServiceImpl extends ServiceImpl<MemberLogininforMapper, MemberLogininfor> implements IMemberLoginRecordService {
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private MemberMapper memberMapper;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询会员登录记录列表
|
|
||||||
*
|
|
||||||
* @param query 查询条件
|
|
||||||
* @param page 分页条件
|
|
||||||
* @return 会员登录记录
|
|
||||||
*/
|
|
||||||
public List<MemberLogininfor> selectList(MemberLogininforQuery query, Pageable page) {
|
|
||||||
QueryWrapper<MemberLogininfor> qw = new QueryWrapper<>();
|
|
||||||
String phone = query.getPhone();
|
|
||||||
if (!StringUtils.isEmpty(phone)) {
|
|
||||||
LambdaQueryWrapper<Member> wrapper = new LambdaQueryWrapper<>();
|
|
||||||
// wrapper.eq(Member::getPhoneEncrypted, AesCryptoUtils.encrypt(aesKey, phone));
|
|
||||||
Member member = memberMapper.selectOne(wrapper);
|
|
||||||
if (member != null){
|
|
||||||
qw.eq("phone", member.getPhoneEncrypted());
|
|
||||||
}else {
|
|
||||||
qw.eq("phone", "-1");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// if (page != null) {
|
|
||||||
// PageHelper.startPage(page.getPageNumber() + 1, page.getPageSize());
|
|
||||||
// }
|
|
||||||
String ipaddr = query.getIpaddr();
|
|
||||||
if (!StringUtils.isEmpty(ipaddr)) {
|
|
||||||
qw.eq("ipaddr", ipaddr);
|
|
||||||
}
|
|
||||||
String loginLocation = query.getLoginLocation();
|
|
||||||
if (!StringUtils.isEmpty(loginLocation)) {
|
|
||||||
qw.eq("login_location", loginLocation);
|
|
||||||
}
|
|
||||||
String browser = query.getBrowser();
|
|
||||||
if (!StringUtils.isEmpty(browser)) {
|
|
||||||
qw.eq("browser", browser);
|
|
||||||
}
|
|
||||||
String os = query.getOs();
|
|
||||||
if (!StringUtils.isEmpty(os)) {
|
|
||||||
qw.eq("os", os);
|
|
||||||
}
|
|
||||||
if (query.getBeginTime() != null && query.getEndTime() != null) {
|
|
||||||
qw.ge("login_time", query.getBeginTime());
|
|
||||||
qw.lt("login_time", query.getEndTime());
|
|
||||||
}
|
|
||||||
qw.orderByDesc("login_time");
|
|
||||||
return baseMapper.selectList(qw);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -216,4 +216,8 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper,Member> implemen
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPhoneDecrypted(String phoneEncrypted) {
|
||||||
|
return phoneEncrypted;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user