src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java
@@ -11,13 +11,19 @@ import com.xcong.excoin.common.response.Result; import com.xcong.excoin.modules.member.parameter.dto.MemberAuthenticationDto; import com.xcong.excoin.modules.member.parameter.dto.MemberDelPaymethodDto; import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto; import com.xcong.excoin.modules.member.parameter.dto.MemberPaymethodDto; import com.xcong.excoin.modules.member.parameter.dto.MemberUpdatePwdDto; import com.xcong.excoin.modules.member.parameter.dto.MemberUpdateTradePwdDto; import com.xcong.excoin.modules.member.parameter.vo.MemberInfoVo; import com.xcong.excoin.modules.member.parameter.vo.MemberPaymethodDetailListVo; import com.xcong.excoin.modules.member.parameter.vo.MemberPaymethodDetailVo; import com.xcong.excoin.modules.member.service.MemberService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; @@ -113,6 +119,50 @@ return memberService.memberTradersPwd(memberForgetPwdDto); } /** * 收款方式 * @return */ @ApiOperation(value="新增收款方式", notes="新增收款方式") @PostMapping(value="/memberAddPaymethod") public Result memberAddPaymethod(@RequestBody @Valid MemberPaymethodDto memberPaymethodDto) { return memberService.memberAddPaymethod(memberPaymethodDto); } /** * 收款方式 * @return */ @ApiOperation(value="删除收款方式", notes="删除收款方式") @PostMapping(value="/memberDelPaymethod") public Result memberDelPaymethod(@RequestBody @Valid MemberDelPaymethodDto memberDelPaymethodDto) { return memberService.memberDelPaymethod(memberDelPaymethodDto); } /** * 收款方式 * @return */ @ApiOperation(value="一个收款方式的详情", notes="一个收款方式的详情") @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberPaymethodDetailVo.class)}) @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "long", paramType="query") }) @GetMapping(value = "/memberPaymethodDetail") public Result memberPaymethodDetail(long id) { return memberService.memberPaymethodDetail(id); } /** * 收款方式 * @return */ @ApiOperation(value="收款方式的列表", notes="收款方式的列表") @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberPaymethodDetailListVo.class)}) @GetMapping(value = "/memberPaymethodDetailList") public Result memberPaymethodDetailList() { return memberService.memberPaymethodDetailList(); } src/main/java/com/xcong/excoin/modules/member/dao/MemberPaymentMethodDao.java
New file @@ -0,0 +1,8 @@ package com.xcong.excoin.modules.member.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xcong.excoin.modules.member.entity.MemberPaymentMethodEntity; public interface MemberPaymentMethodDao extends BaseMapper<MemberPaymentMethodEntity> { } src/main/java/com/xcong/excoin/modules/member/entity/MemberPaymentMethodEntity.java
New file @@ -0,0 +1,56 @@ package com.xcong.excoin.modules.member.entity; import com.baomidou.mybatisplus.annotation.TableName; import com.xcong.excoin.common.system.base.BaseEntity; import lombok.Data; /** * 会员收款方式 */ @Data @TableName("member_payment_method") public class MemberPaymentMethodEntity extends BaseEntity{ /** * */ private static final long serialVersionUID = 1L; /** * 用户Id */ private Long memberId; /** * 姓名 */ private String name; /** * 账号 */ private String account; /** * 收款二维码 */ private String paymentQrcode; /** * 银行 */ private String bank; /** * 支行 */ private String subBank; /** * 类型 1-支付宝2-微信3-银行卡 */ private String paymentType; public static final Integer PAYMENTTYPE_ALIPAY = 1; public static final Integer PAYMENTTYPE_WECHAT = 2; public static final Integer PAYMENTTYPE_CARD = 3; /** * 默认收款方式 */ private String isDefualt; } src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberDelPaymethodDto.java
New file @@ -0,0 +1,17 @@ package com.xcong.excoin.modules.member.parameter.dto; import javax.validation.constraints.NotNull; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "MemberDelPaymethodDto", description = "删除收款方式参数接收类") public class MemberDelPaymethodDto { @NotNull(message = "收款方式ID不能为空") @ApiModelProperty(value = "收款方式ID", example = "1") private Long id; } src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberPaymethodDto.java
New file @@ -0,0 +1,52 @@ package com.xcong.excoin.modules.member.parameter.dto; import javax.validation.constraints.NotNull; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "MemberPaymethodDto", description = "收款方式参数接收类") public class MemberPaymethodDto { /** * 姓名 */ @NotNull(message = "姓名不能为空") @ApiModelProperty(value = "姓名", example = "姓名") private String name; /** * 账号 */ @NotNull(message = "账号不能为空") @ApiModelProperty(value = "账号", example = "13412341234") private String account; /** * 收款二维码 */ @ApiModelProperty(value = "账号", example = "13412341234") private String paymentQrcode; /** * 银行 */ @ApiModelProperty(value = "银行", example = "银行") private String bank; /** * 支行 */ @ApiModelProperty(value = "支行", example = "支行") private String subBank; /** * 类型 1-支付宝2-微信3-银行卡 */ @NotNull(message = "类型不能为空") @ApiModelProperty(value = "类型 1-支付宝2-微信3-银行卡", example = "1") private String paymentType; /** * 默认收款方式 */ @NotNull(message = "默认收款方式不能为空") @ApiModelProperty(value = "类型 1-是 0-否", example = "1") private String isDefualt; } src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberPaymethodDetailListVo.java
New file @@ -0,0 +1,16 @@ package com.xcong.excoin.modules.member.parameter.vo; import java.util.List; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "MemberPaymethodDetailListVo", description = "收款方式列表") public class MemberPaymethodDetailListVo { @ApiModelProperty(value = "收款方式列表") private List<MemberPaymethodDetailVo> memberPaymethodDetailVo; } src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberPaymethodDetailVo.java
New file @@ -0,0 +1,46 @@ package com.xcong.excoin.modules.member.parameter.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "MemberPaymethodDetailVo", description = "收款方式信息") public class MemberPaymethodDetailVo { /** * 用户Id */ @ApiModelProperty(value = "用户Id") private Long memberId; /** * 姓名 */ @ApiModelProperty(value = "姓名") private String name; /** * 账号 */ @ApiModelProperty(value = "账号") private String account; /** * 收款二维码 */ @ApiModelProperty(value = "收款二维码") private String paymentQrcode; /** * 银行 */ @ApiModelProperty(value = "银行") private String bank; /** * 支行 */ @ApiModelProperty(value = "支行") private String subBank; /** * 类型 1-支付宝2-微信3-银行卡 */ @ApiModelProperty(value = "类型 1-支付宝2-微信3-银行卡") private String paymentType; } src/main/java/com/xcong/excoin/modules/member/service/MemberService.java
@@ -7,7 +7,9 @@ import com.xcong.excoin.common.system.dto.RegisterDto; import com.xcong.excoin.modules.member.entity.MemberEntity; import com.xcong.excoin.modules.member.parameter.dto.MemberAuthenticationDto; import com.xcong.excoin.modules.member.parameter.dto.MemberDelPaymethodDto; import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto; import com.xcong.excoin.modules.member.parameter.dto.MemberPaymethodDto; import com.xcong.excoin.modules.member.parameter.dto.MemberUpdatePwdDto; import com.xcong.excoin.modules.member.parameter.dto.MemberUpdateTradePwdDto; @@ -32,5 +34,13 @@ public Result memberTradersPwd(@Valid MemberForgetPwdDto memberForgetPwdDto); public Result memberAddPaymethod(@Valid MemberPaymethodDto memberPaymethodDto); public Result memberDelPaymethod(@Valid MemberDelPaymethodDto memberDelPaymethodDto); public Result memberPaymethodDetail(long id); public Result memberPaymethodDetailList(); } src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -15,10 +15,14 @@ import com.xcong.excoin.modules.member.dao.*; import com.xcong.excoin.modules.member.entity.*; import com.xcong.excoin.modules.member.parameter.dto.MemberAuthenticationDto; import com.xcong.excoin.modules.member.parameter.dto.MemberDelPaymethodDto; import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto; import com.xcong.excoin.modules.member.parameter.dto.MemberPaymethodDto; import com.xcong.excoin.modules.member.parameter.dto.MemberUpdatePwdDto; import com.xcong.excoin.modules.member.parameter.dto.MemberUpdateTradePwdDto; import com.xcong.excoin.modules.member.parameter.vo.MemberInfoVo; import com.xcong.excoin.modules.member.parameter.vo.MemberPaymethodDetailListVo; import com.xcong.excoin.modules.member.parameter.vo.MemberPaymethodDetailVo; import com.xcong.excoin.modules.member.service.MemberService; import com.xcong.excoin.utils.MessageSourceUtils; import com.xcong.excoin.utils.RedisUtils; @@ -29,6 +33,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -64,6 +69,9 @@ @Autowired RedisUtils redisUtils; @Resource MemberPaymentMethodDao memberPaymentMethodDao; @Transactional() @Override @@ -328,6 +336,7 @@ } @Override @Transactional public Result memberUpdateTradePwd(@Valid MemberUpdateTradePwdDto memberUpdateTradePwdDto) { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); @@ -354,6 +363,7 @@ } @Override @Transactional public Result memberLogout() { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); @@ -375,6 +385,7 @@ } @Override @Transactional public Result memberTradersPwd(@Valid MemberForgetPwdDto memberForgetPwdDto) { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); @@ -400,5 +411,92 @@ return Result.ok(MessageSourceUtils.getString("member_service_0068")); } @Override @Transactional public Result memberAddPaymethod(@Valid MemberPaymethodDto memberPaymethodDto) { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); MemberEntity member = memberDao.selectById(memberId); if(!MemberEntity.CERTIFY_STATUS_Y.equals(member.getCertifyStatus())) { return Result.fail(MessageSourceUtils.getString("member_service_0077")); } String account = memberPaymethodDto.getAccount(); String bank = memberPaymethodDto.getBank(); String name = memberPaymethodDto.getName(); String paymentQrcode = memberPaymethodDto.getPaymentQrcode(); String paymentType = memberPaymethodDto.getPaymentType(); String subBank = memberPaymethodDto.getSubBank(); String isDefualt = memberPaymethodDto.getIsDefualt(); MemberPaymentMethodEntity memberPaymentMethodEntity = new MemberPaymentMethodEntity(); memberPaymentMethodEntity.setMemberId(memberId); memberPaymentMethodEntity.setAccount(account); memberPaymentMethodEntity.setBank(bank); memberPaymentMethodEntity.setName(name); memberPaymentMethodEntity.setPaymentQrcode(paymentQrcode); memberPaymentMethodEntity.setPaymentType(paymentType); memberPaymentMethodEntity.setSubBank(subBank); memberPaymentMethodEntity.setIsDefualt(isDefualt); memberPaymentMethodDao.insert(memberPaymentMethodEntity); return Result.ok(MessageSourceUtils.getString("member_service_0024")); } @Override @Transactional public Result memberDelPaymethod(@Valid MemberDelPaymethodDto memberDelPaymethodDto) { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); Long id = memberDelPaymethodDto.getId(); Map<String,Object> columnMap = new HashMap<>(); columnMap.put("id", id); columnMap.put("member_id", memberId); memberPaymentMethodDao.deleteByMap(columnMap); return Result.ok("success"); } @Override public Result memberPaymethodDetail(long id) { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); MemberPaymentMethodEntity memberPaymentMethod = memberPaymentMethodDao.selectById(id); MemberPaymethodDetailVo memberPaymethodDetailVo = new MemberPaymethodDetailVo(); memberPaymethodDetailVo.setAccount(memberPaymentMethod.getAccount()); memberPaymethodDetailVo.setBank(memberPaymentMethod.getBank()); memberPaymethodDetailVo.setMemberId(memberId); memberPaymethodDetailVo.setName(memberPaymentMethod.getName()); memberPaymethodDetailVo.setPaymentQrcode(memberPaymentMethod.getPaymentQrcode()); memberPaymethodDetailVo.setPaymentType(memberPaymentMethod.getPaymentType()); memberPaymethodDetailVo.setSubBank(memberPaymentMethod.getSubBank()); return Result.ok(memberPaymethodDetailVo); } @Override public Result memberPaymethodDetailList() { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); Map<String,Object> columnMap = new HashMap<>(); columnMap.put("member_id", memberId); List<MemberPaymentMethodEntity> selectByMap = memberPaymentMethodDao.selectByMap(columnMap); List<MemberPaymethodDetailVo> arrayList = new ArrayList<>(); if(CollUtil.isNotEmpty(selectByMap)) { for(MemberPaymentMethodEntity memberPaymentMethodEntity : selectByMap) { MemberPaymethodDetailVo memberPaymethodDetailVo = new MemberPaymethodDetailVo(); memberPaymethodDetailVo.setAccount(memberPaymentMethodEntity.getAccount()); memberPaymethodDetailVo.setBank(memberPaymentMethodEntity.getBank()); memberPaymethodDetailVo.setMemberId(memberId); memberPaymethodDetailVo.setName(memberPaymentMethodEntity.getName()); memberPaymethodDetailVo.setPaymentQrcode(memberPaymentMethodEntity.getPaymentQrcode()); memberPaymethodDetailVo.setPaymentType(memberPaymentMethodEntity.getPaymentType()); memberPaymethodDetailVo.setSubBank(memberPaymentMethodEntity.getSubBank()); arrayList.add(memberPaymethodDetailVo); } } MemberPaymethodDetailListVo memberPaymethodDetailListVo = new MemberPaymethodDetailListVo(); memberPaymethodDetailListVo.setMemberPaymethodDetailVo(arrayList); return Result.ok(memberPaymethodDetailListVo); } } src/main/resources/mapper/member/MemberPaymentMethodDao.xml
New file @@ -0,0 +1,6 @@ <?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.xcong.excoin.modules.member.dao.MemberPaymentMethodDao"> </mapper>