From 4c922e66965474d31d3f8af4aba76b7b1908ecca Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 20 May 2021 11:07:29 +0800 Subject: [PATCH] modify --- src/main/resources/mapper/member/MemberPaymentMethodDao.xml | 15 +++++++ src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 28 ++++++++++++++ src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java | 14 ++++--- src/main/java/com/xcong/excoin/modules/member/dao/MemberPaymentMethodDao.java | 3 + src/main/java/com/xcong/excoin/modules/member/service/MemberService.java | 2 + 5 files changed, 56 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java b/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java index 6ae9c43..22ac6e3 100644 --- a/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java +++ b/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java @@ -5,11 +5,7 @@ import com.xcong.excoin.modules.member.parameter.dto.*; import com.xcong.excoin.modules.member.parameter.vo.*; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.xcong.excoin.common.response.Result; import com.xcong.excoin.modules.member.service.MemberService; @@ -36,7 +32,7 @@ @Resource MemberService memberService; - + /** * 获取当前版本号 */ @@ -214,6 +210,12 @@ public Result memberPaymethodDetailList() { return memberService.memberPaymethodDetailList(); } + + @ApiOperation(value = "设置为默认收款方式") + @PostMapping(value = "/setDefaultMethod/{id}") + public Result setDefaultMethod(@PathVariable("id") Long id) { + return memberService.setDefaultPaymethod(id); + } /** * 绑定手机号 diff --git a/src/main/java/com/xcong/excoin/modules/member/dao/MemberPaymentMethodDao.java b/src/main/java/com/xcong/excoin/modules/member/dao/MemberPaymentMethodDao.java index 1aaebf2..cbb8618 100644 --- a/src/main/java/com/xcong/excoin/modules/member/dao/MemberPaymentMethodDao.java +++ b/src/main/java/com/xcong/excoin/modules/member/dao/MemberPaymentMethodDao.java @@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xcong.excoin.modules.member.entity.MemberPaymentMethodEntity; +import org.apache.ibatis.annotations.Param; public interface MemberPaymentMethodDao extends BaseMapper<MemberPaymentMethodEntity> { public List<MemberPaymentMethodEntity> selectByMemberId(Long memberId); + + MemberPaymentMethodEntity selectDefualtMethod(@Param("memberId") Long memberId, @Param("type") Integer type, @Param("isDefault") String isDefault); } diff --git a/src/main/java/com/xcong/excoin/modules/member/service/MemberService.java b/src/main/java/com/xcong/excoin/modules/member/service/MemberService.java index cafd678..4c03de3 100644 --- a/src/main/java/com/xcong/excoin/modules/member/service/MemberService.java +++ b/src/main/java/com/xcong/excoin/modules/member/service/MemberService.java @@ -41,6 +41,8 @@ public Result memberPaymethodDetailList(); + Result setDefaultPaymethod(Long id); + public Result memberBindPhone(@Valid MemberBindPhoneDto memberBindPhoneDto); public Result memberBindEmail(@Valid MemberBindEmailDto memberBindEmailDto); diff --git a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java index 34ce5af..c8fff73 100644 --- a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java @@ -539,6 +539,10 @@ Long memberId = LoginUserUtils.getAppLoginUser().getId(); MemberEntity member = memberDao.selectById(memberId); + if (!MemberPaymentMethodEntity.PAYMENTTYPE_CARD.equals(memberPaymethodDto.getPaymentType())) { + return Result.fail("只能绑定银行卡"); + } + if (!MemberEntity.CERTIFY_STATUS_Y.equals(member.getCertifyStatus())) { return Result.fail(MessageSourceUtils.getString("member_service_0077")); } @@ -552,6 +556,12 @@ return Result.fail(MessageSourceUtils.getString("member_service_0097")); } } + } + + String isDefault = "1"; + MemberPaymentMethodEntity defaultMethod = memberPaymentMethodDao.selectDefualtMethod(memberId, MemberPaymentMethodEntity.PAYMENTTYPE_CARD, ""); + if (defaultMethod != null) { + isDefault = "2"; } String account = memberPaymethodDto.getAccount(); String bank = memberPaymethodDto.getBank(); @@ -567,6 +577,7 @@ memberPaymentMethodEntity.setPaymentQrcode(paymentQrcode); memberPaymentMethodEntity.setPaymentType(paymentType); memberPaymentMethodEntity.setSubBank(subBank); + memberPaymentMethodEntity.setIsDefualt(isDefault); memberPaymentMethodDao.insert(memberPaymentMethodEntity); return Result.ok(MessageSourceUtils.getString("member_service_0024")); } @@ -631,6 +642,23 @@ } @Override + public Result setDefaultPaymethod(Long id) { + MemberEntity member = LoginUserUtils.getAppLoginUser(); + MemberPaymentMethodEntity defualtMethod = this.memberPaymentMethodDao.selectDefualtMethod(member.getId(), MemberPaymentMethodEntity.PAYMENTTYPE_CARD, "1"); + + MemberPaymentMethodEntity paymentMethodEntity = new MemberPaymentMethodEntity(); + paymentMethodEntity.setId(id); + paymentMethodEntity.setIsDefualt("1"); + this.memberPaymentMethodDao.updateById(paymentMethodEntity); + + if (defualtMethod != null) { + defualtMethod.setIsDefualt("2"); + this.memberPaymentMethodDao.updateById(defualtMethod); + } + return Result.ok("操作成功"); + } + + @Override @Transactional public Result memberBindPhone(@Valid MemberBindPhoneDto memberBindPhoneDto) { //获取用户ID diff --git a/src/main/resources/mapper/member/MemberPaymentMethodDao.xml b/src/main/resources/mapper/member/MemberPaymentMethodDao.xml index 84a4214..7830f44 100644 --- a/src/main/resources/mapper/member/MemberPaymentMethodDao.xml +++ b/src/main/resources/mapper/member/MemberPaymentMethodDao.xml @@ -5,4 +5,19 @@ <select id="selectByMemberId" resultType="com.xcong.excoin.modules.member.entity.MemberPaymentMethodEntity"> SELECT a.* FROM member_payment_method a WHERE a.member_id = #{memberId} </select> + + <select id="selectDefualtMethod" resultType="com.xcong.excoin.modules.member.entity.MemberPaymentMethodEntity"> + select * from member_payment_method + <where> + <if test="memberId != null"> + and member_id=#{memberId} + </if> + <if test="isDefault != null and isDefault != ''"> + and is_defualt = #{isDefault} + </if> + <if test="type != null"> + and payment_type = #{type} + </if> + </where> + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.1