From f7a8d48b69e5e9f4f4888ad13bd7d60523825ad4 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Fri, 24 Nov 2023 14:36:59 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=90=E8=90=A5=E5=95=86VIP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pile/MemberBasicInfoController.java | 21 +++++++ .../pile/dto/CreateMerchantVipDTO.java | 33 ++++++++++ .../pile/service/IMemberBasicInfoService.java | 3 + .../impl/MemberBasicInfoServiceImpl.java | 33 ++++++++-- jsowell-ui/src/api/member/info.js | 9 +++ jsowell-ui/src/views/member/info/index.vue | 2 +- .../src/views/member/merchantVIP/index.vue | 63 ++++++++++++------- 7 files changed, 137 insertions(+), 27 deletions(-) create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/dto/CreateMerchantVipDTO.java diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/MemberBasicInfoController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/MemberBasicInfoController.java index 57b55ab15..0760ee81b 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/MemberBasicInfoController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/MemberBasicInfoController.java @@ -15,6 +15,7 @@ import com.jsowell.common.response.RestApiResponse; import com.jsowell.common.util.StringUtils; import com.jsowell.pile.domain.MemberBasicInfo; import com.jsowell.pile.domain.MemberPlateNumberRelation; +import com.jsowell.pile.dto.CreateMerchantVipDTO; import com.jsowell.pile.dto.PlatformTesterDTO; import com.jsowell.pile.dto.QueryMemberInfoDTO; import com.jsowell.pile.dto.UniAppQueryMemberBalanceDTO; @@ -77,6 +78,26 @@ public class MemberBasicInfoController extends BaseController { return getDataTable(list); } + /** + * 新增运营商VIP + */ + @PostMapping ("/createMerchantVip") + public AjaxResult createMerchantVip(@RequestBody CreateMerchantVipDTO dto) { + AjaxResult ajaxResult; + try { + memberBasicInfoService.createMerchantVip(dto); + ajaxResult = AjaxResult.success(); + } catch (BusinessException e) { + logger.error("新增运营商VIP error", e); + ajaxResult = AjaxResult.error(e.getMessage() + ", 新增运营商VIP失败"); + } catch (Exception e) { + logger.error("新增运营商VIP error", e); + ajaxResult = AjaxResult.error("发生异常, 新增运营商VIP失败"); + } + return ajaxResult; + } + + /** * 获取当前会员表中存在的运营商列表 * http://localhost:8080/member/info/getMerchantListByAuth diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/CreateMerchantVipDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/CreateMerchantVipDTO.java new file mode 100644 index 000000000..d76449821 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/CreateMerchantVipDTO.java @@ -0,0 +1,33 @@ +package com.jsowell.pile.dto; + +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; + +/** + * 新增运营商vip DTO + */ +@Getter +@Setter +public class CreateMerchantVipDTO { + /** + * 手机号 + */ + private String mobileNumber; + + /** + * 所属运营商id + */ + private String targetMerchantId; + + /** + * 操作类型 + */ + private String type; + + /** + * 金额 + */ + private BigDecimal updatePrincipalBalance; +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberBasicInfoService.java index 5e3b3f76a..e0a74e2e2 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberBasicInfoService.java @@ -1,6 +1,7 @@ package com.jsowell.pile.service; import com.jsowell.pile.domain.MemberBasicInfo; +import com.jsowell.pile.dto.CreateMerchantVipDTO; import com.jsowell.pile.dto.PlatformTesterDTO; import com.jsowell.pile.dto.QueryMemberInfoDTO; import com.jsowell.pile.dto.UniAppQueryMemberBalanceDTO; @@ -147,4 +148,6 @@ public interface IMemberBasicInfoService { List getMemberRefundAmount(List memberIds); List queryMerchantVipList(QueryMemberInfoDTO dto); + + void createMerchantVip(CreateMerchantVipDTO dto); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java index 9dd320b7f..d3bc90712 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java @@ -17,6 +17,7 @@ import com.jsowell.pile.domain.MemberBasicInfo; import com.jsowell.pile.domain.MemberPlateNumberRelation; import com.jsowell.pile.domain.MemberWalletInfo; import com.jsowell.pile.domain.MemberWalletLog; +import com.jsowell.pile.dto.CreateMerchantVipDTO; import com.jsowell.pile.dto.PlatformTesterDTO; import com.jsowell.pile.dto.QueryMemberInfoDTO; import com.jsowell.pile.dto.UniAppQueryMemberBalanceDTO; @@ -322,17 +323,19 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { return null; } - BigDecimal totalAccountAmount = BigDecimal.ZERO; - BigDecimal principalBalance = BigDecimal.ZERO; - if (StringUtils.isNotBlank(merchantId)) { + try { + BigDecimal totalAccountAmount = BigDecimal.ZERO; + BigDecimal principalBalance = BigDecimal.ZERO; MemberWalletInfo memberWalletInfo = memberWalletInfoService.selectByMemberId(memberId, merchantId); if (memberWalletInfo != null) { totalAccountAmount = memberWalletInfo.getPrincipalBalance(); principalBalance = memberWalletInfo.getPrincipalBalance(); } + vo.setTotalAccountAmount(totalAccountAmount); + vo.setPrincipalBalance(principalBalance); + } catch (Exception e) { + log.error("查询用户余额异常 memberId:{}, merchantId:{}", memberId, merchantId, e); } - vo.setTotalAccountAmount(totalAccountAmount); - vo.setPrincipalBalance(principalBalance); // 查询用户车牌号 MemberPlateNumberRelation memberPlateNumberRelation = new MemberPlateNumberRelation(); @@ -490,4 +493,24 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { return resultList; } + @Override + public void createMerchantVip(CreateMerchantVipDTO dto) { + // 查询一级运营商 + String firstLevelMerchantId = pileMerchantInfoService.getFirstLevelMerchantIdByMerchantId(dto.getTargetMerchantId()); + if (StringUtils.isBlank(firstLevelMerchantId)) { + throw new BusinessException("", "没有查询到以及运营商信息"); + } + // 根据手机号查询会员信息 + MemberBasicInfo memberBasicInfo = memberBasicInfoMapper.selectInfoByMobileNumberAndMerchantId(dto.getMobileNumber(), firstLevelMerchantId); + if (memberBasicInfo == null) { + throw new BusinessException("", "根据手机号没有查询到会员信息"); + } + UpdateMemberBalanceDTO updateMemberBalanceDTO = new UpdateMemberBalanceDTO(); + updateMemberBalanceDTO.setMemberId(memberBasicInfo.getMemberId()); + updateMemberBalanceDTO.setType(dto.getType()); + updateMemberBalanceDTO.setUpdatePrincipalBalance(dto.getUpdatePrincipalBalance()); + updateMemberBalanceDTO.setTargetMerchantId(dto.getTargetMerchantId()); + updateMemberBalance(updateMemberBalanceDTO); + } + } diff --git a/jsowell-ui/src/api/member/info.js b/jsowell-ui/src/api/member/info.js index a1ed748bc..5698c7f01 100644 --- a/jsowell-ui/src/api/member/info.js +++ b/jsowell-ui/src/api/member/info.js @@ -60,6 +60,15 @@ export function delInfo(id) { }) } +// 开卡 +export function createMerchantVip(data) { + return request({ + url: '/member/info/createMerchantVip', + method: 'post', + data: data + }) +} + // 修改会员基础信息 export function updateMemberBalance(data) { return request({ diff --git a/jsowell-ui/src/views/member/info/index.vue b/jsowell-ui/src/views/member/info/index.vue index b6e007010..891cdcc29 100644 --- a/jsowell-ui/src/views/member/info/index.vue +++ b/jsowell-ui/src/views/member/info/index.vue @@ -336,7 +336,7 @@ export default { getMerchantList() { getMerchantList().then((response) =>{ console.log("response", response) - this.merchantList = response.obj + this.merchantList = response.obj; }) }, // 取消按钮 diff --git a/jsowell-ui/src/views/member/merchantVIP/index.vue b/jsowell-ui/src/views/member/merchantVIP/index.vue index 246633e0a..90343a18e 100644 --- a/jsowell-ui/src/views/member/merchantVIP/index.vue +++ b/jsowell-ui/src/views/member/merchantVIP/index.vue @@ -28,7 +28,7 @@ - + >开卡 + - - - + + + + + + - - + + - - + + 充值 + 扣款 - - - - - + + @@ -217,7 +226,7 @@ import { addInfo, updateInfo, updateMemberBalance, - getMerchantList, queryMerchantVipList, + getMerchantList, queryMerchantVipList, createMerchantVip, } from "@/api/member/info"; export default { @@ -268,7 +277,9 @@ export default { // 表单参数 form: {}, // 表单校验 - rules: {} + rules: {}, + // 开卡参数 + createMerchantVip: {}, }; }, computed: { @@ -280,7 +291,7 @@ export default { created() { this.getList(); - // this.getMerchantList(); + this.getMerchantList(); }, methods: { /** 查询会员基础信息列表 */ @@ -304,7 +315,7 @@ export default { getMerchantList() { getMerchantList().then((response) =>{ console.log("response", response) - this.merchantList = response.obj + this.merchantList = response.obj; }) }, // 取消按钮 @@ -350,7 +361,7 @@ export default { handleAdd() { this.reset(); this.open = true; - this.title = "添加会员基础信息"; + this.title = "添加运营商VIP"; }, /** 修改按钮操作 */ handleUpdate(row) { @@ -407,6 +418,16 @@ export default { this.getList(); }); }, + /* 开卡确定按钮 */ + submitCreateMerchantVip() { + console.log("submitCreateMerchantVip", this.createMerchantVip); + createMerchantVip(this.createMerchantVip).then(response => { + console.log("开卡确定按钮 response:", response); + this.$modal.msgSuccess("开卡成功"); + this.open = false; + this.getList(); + }); + }, /** 提交按钮 */ submitForm() { this.$refs["form"].validate(valid => {