From 2ee052764f200422a7fd3b4c2c90f731e614d0d2 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 26 May 2021 10:34:13 +0800
Subject: [PATCH] 20210525 申诉单
---
src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcServiceImpl.java | 299 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 298 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcServiceImpl.java b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcServiceImpl.java
index 111aba1..bf070e3 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcServiceImpl.java
@@ -1,4 +1,301 @@
package com.xcong.excoin.modules.otc.service.impl;
-public class OtcServiceImpl {
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.collection.ListUtil;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xcong.excoin.common.entity.FebsResponse;
+import com.xcong.excoin.common.entity.QueryRequest;
+import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity;
+import com.xcong.excoin.modules.member.entity.MemberEntity;
+import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity;
+import com.xcong.excoin.modules.member.mapper.MemberMapper;
+import com.xcong.excoin.modules.member.mapper.MemberWalletCoinMapper;
+import com.xcong.excoin.modules.otc.entity.*;
+import com.xcong.excoin.modules.otc.mapper.*;
+import com.xcong.excoin.modules.otc.service.OtcService;
+import com.xcong.excoin.modules.otc.vo.OtcAppealInfoVo;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+@Service
+@RequiredArgsConstructor
+public class OtcServiceImpl extends ServiceImpl<OtcMarketBussinessMapper, OtcMarketBussinessEntity> implements OtcService {
+
+ @Resource
+ private OtcMarketBussinessMapper otcMarketBussinessMapper;
+ @Resource
+ private OtcOrderAppealMapper otcOrderAppealMapper;
+ @Resource
+ private OtcEntrustOrderMapper otcEntrustOrderMapper;
+ @Resource
+ private OtcOrderMapper otcOrderMapper;
+ @Resource
+ private OtcSettingMapper otcSettingMapper;
+ @Resource
+ private MemberWalletCoinMapper memberWalletCoinMapper;
+ @Resource
+ private MemberMapper memberMapper;
+
+ @Override
+ public IPage<OtcMarketBussinessEntity> otcShopList(OtcMarketBussinessEntity otcMarketBussinessEntity, QueryRequest request) {
+ Page<OtcMarketBussinessEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<OtcMarketBussinessEntity> otcMarketBussinessEntitys = otcMarketBussinessMapper.otcShopList(page, otcMarketBussinessEntity);
+ return otcMarketBussinessEntitys;
+ }
+
+ @Override
+ @Transactional
+ public FebsResponse agreeShop(Long id) {
+ OtcMarketBussinessEntity otcMarketBussinessEntity = otcMarketBussinessMapper.selectById(id);
+ Integer status = otcMarketBussinessEntity.getStatus();
+ if(OtcMarketBussinessEntity.STATUS_ONE != status){
+ return new FebsResponse().fail().message("当前状态不是待审核");
+ }
+ otcMarketBussinessEntity.setStatus(OtcMarketBussinessEntity.STATUS_TWO);
+ otcMarketBussinessMapper.updateById(otcMarketBussinessEntity);
+
+ long memberId = otcMarketBussinessEntity.getMemberId();
+ MemberEntity memberEntity = memberMapper.selectById(memberId);
+ memberEntity.setIsTrader(MemberEntity.ISTRADER_Y);
+ memberMapper.updateById(memberEntity);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ @Transactional
+ public FebsResponse disagreeShop(Long id) {
+ OtcMarketBussinessEntity otcMarketBussinessEntity = otcMarketBussinessMapper.selectById(id);
+ Integer status = otcMarketBussinessEntity.getStatus();
+ if(OtcMarketBussinessEntity.STATUS_ONE != status){
+ return new FebsResponse().fail().message("当前状态不是待审核");
+ }
+ otcMarketBussinessEntity.setStatus(OtcMarketBussinessEntity.STATUS_THREE);
+ otcMarketBussinessMapper.updateById(otcMarketBussinessEntity);
+
+ long memberId = otcMarketBussinessEntity.getMemberId();
+ MemberEntity memberEntity = memberMapper.selectById(memberId);
+ memberEntity.setIsTrader(MemberEntity.ISTRADER_Y);
+ memberMapper.updateById(memberEntity);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public IPage<OtcOrderAppealEntity> otcAppealList(OtcOrderAppealEntity otcOrderAppealEntity, QueryRequest request) {
+ Page<OtcOrderAppealEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<OtcOrderAppealEntity> otcOrderAppealEntitys = otcOrderAppealMapper.otcAppealList(page, otcOrderAppealEntity);
+ return otcOrderAppealEntitys;
+ }
+
+ @Override
+ @Transactional
+ public FebsResponse dealDone(Long id) {
+ OtcOrderAppealEntity otcOrderAppealEntity = otcOrderAppealMapper.selectById(id);
+ Integer status = otcOrderAppealEntity.getStatus();
+ if(OtcOrderAppealEntity.STATUS_TWO != status){
+ return new FebsResponse().fail().message("当前状态不是处理中");
+ }
+
+ otcOrderAppealEntity.setStatus(OtcOrderAppealEntity.STATUS_THREE);
+ otcOrderAppealMapper.updateById(otcOrderAppealEntity);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ @Transactional
+ public FebsResponse dealIng(Long id) {
+ OtcOrderAppealEntity otcOrderAppealEntity = otcOrderAppealMapper.selectById(id);
+ Integer status = otcOrderAppealEntity.getStatus();
+ if(OtcOrderAppealEntity.STATUS_ONE != status){
+ return new FebsResponse().fail().message("当前状态不是待处理");
+ }
+
+ otcOrderAppealEntity.setStatus(OtcOrderAppealEntity.STATUS_TWO);
+ otcOrderAppealMapper.updateById(otcOrderAppealEntity);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public IPage<OtcEntrustOrderEntity> otcEntrustList(OtcEntrustOrderEntity otcEntrustOrderEntity, QueryRequest request) {
+ Page<OtcEntrustOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<OtcEntrustOrderEntity> otcEntrustOrderEntitys = otcEntrustOrderMapper.otcEntrustList(page, otcEntrustOrderEntity);
+ return otcEntrustOrderEntitys;
+ }
+
+ @Override
+ public IPage<OtcOrderEntity> otcOrderList(OtcOrderEntity otcOrderEntity, QueryRequest request) {
+ Page<OtcOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<OtcOrderEntity> otcOrderEntitys = otcOrderMapper.otcOrderList(page, otcOrderEntity);
+ return otcOrderEntitys;
+ }
+
+ @Override
+ public OtcAppealInfoVo otcAppealInfo(long id) {
+ OtcAppealInfoVo otcAppealInfoVo = new OtcAppealInfoVo();
+
+ OtcOrderAppealEntity otcOrderAppealEntity = otcOrderAppealMapper.selectById(id);
+ otcAppealInfoVo.setId(id);
+ if(ObjectUtil.isNotEmpty(otcOrderAppealEntity)){
+ String reason = otcOrderAppealEntity.getReason();
+ otcAppealInfoVo.setReason(reason);
+ String content = otcOrderAppealEntity.getContent();
+ List arr = Arrays.asList(content.split(","));
+ otcAppealInfoVo.setContent(arr);
+ }
+ //获取对应的订单详情
+ long orderId = otcOrderAppealEntity.getOrderId();
+ OtcOrderEntity otcOrderEntity = otcOrderMapper.selectById(orderId);
+ if(ObjectUtil.isNotEmpty(otcOrderEntity)){
+ String orderNo = otcOrderEntity.getOrderNo();
+ otcAppealInfoVo.setOrderNo(orderNo);
+ BigDecimal unitPrice = otcOrderEntity.getUnitPrice();
+ otcAppealInfoVo.setUnitPrice(unitPrice);
+ BigDecimal coinAmount = otcOrderEntity.getCoinAmount();
+ otcAppealInfoVo.setCoinAmount(coinAmount);
+ BigDecimal totalAmount = otcOrderEntity.getTotalAmount();
+ otcAppealInfoVo.setTotalAmount(totalAmount);
+ Integer status = otcOrderEntity.getStatus();
+ otcAppealInfoVo.setStatus(status);
+ Date payTime = otcOrderEntity.getPayTime();
+ otcAppealInfoVo.setPayTime(payTime);
+ Date finishTime = otcOrderEntity.getFinishTime();
+ otcAppealInfoVo.setFinishTime(finishTime);
+ }
+ //获取对应的商户信息
+ long payMdId = otcOrderEntity.getPayMbId();
+ OtcMarketBussinessEntity otcMarketBussinessEntity = otcMarketBussinessMapper.selectById(payMdId);
+ if(ObjectUtil.isNotEmpty(otcMarketBussinessEntity)){
+ String nikename = otcMarketBussinessEntity.getNikename();
+ otcAppealInfoVo.setNikename(nikename);
+ }
+ return otcAppealInfoVo;
+ }
+
+ @Override
+ public OtcOrderEntity otcOrderInfo(long id) {
+ OtcOrderEntity otcOrderEntity = otcOrderMapper.selectById(id);
+ return otcOrderEntity;
+ }
+
+ @Override
+ @Transactional
+ public FebsResponse updateOrderInfo(OtcOrderEntity otcOrderEntity) {
+ Long id = otcOrderEntity.getId();
+ OtcOrderEntity otcOrder = otcOrderMapper.selectById(id);
+ if(ObjectUtil.isEmpty(otcOrder)){
+ return new FebsResponse().fail().message("连接超时,请刷新页面重试");
+ }
+ Integer status = otcOrder.getStatus();
+ if(OtcOrderEntity.STATUS_ONE != status){
+ return new FebsResponse().fail().message("当前订单不是待付款状态");
+ }
+ String payName = otcOrderEntity.getPayName();
+ if(StrUtil.isEmpty(payName)){
+ return new FebsResponse().fail().message("请输入付款人");
+ }
+ BigDecimal coinAmount = otcOrderEntity.getCoinAmount();
+ /**
+ * 获取订单信息--订单编号
+ * 获取买单和买单
+ * 更新payName字段
+ * 更新订单状态
+ */
+ QueryWrapper<OtcOrderEntity> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("order_no",otcOrder.getOrderNo());
+ List<OtcOrderEntity> list = otcOrderMapper.selectList(queryWrapper);
+ if(CollUtil.isNotEmpty(list)){
+ for(OtcOrderEntity order : list){
+ order.setStatus(OtcOrderEntity.STATUS_TWO);
+ order.setPayName(payName);
+ order.setPayTime(DateUtil.date());
+ otcOrderMapper.updateById(order);
+ }
+ }
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public OtcMarketBussinessEntity otcHuiKuan(long id) {
+ return otcMarketBussinessMapper.selectById(id);
+ }
+
+ @Override
+ @Transactional
+ public FebsResponse otcHuiKuan(OtcMarketBussinessEntity otcMarketBussinessEntity) {
+ Long id = otcMarketBussinessEntity.getId();
+ OtcMarketBussinessEntity otcMarketBussiness = otcMarketBussinessMapper.selectById(id);
+ if(ObjectUtil.isNotEmpty(otcMarketBussiness)){
+ return new FebsResponse().fail().message("连接超时,请刷新页面重试");
+ }
+ BigDecimal coinAmount = otcMarketBussinessEntity.getCoinAmount();
+ if(coinAmount.compareTo(BigDecimal.ZERO) <= 0){
+ return new FebsResponse().fail().message("请输入正确的回款金额");
+ }
+ BigDecimal waitBackMoney = otcMarketBussiness.getWaitBackMoney();
+ if(coinAmount.compareTo(waitBackMoney) > 0){
+ return new FebsResponse().fail().message("请输入正确的回款金额");
+ }
+ /**
+ * 增加已回款金额
+ * 减少待回款金额
+ * 增加汇款记录
+ */
+ BigDecimal hasBackMoney = otcMarketBussiness.getHasBackMoney();
+ BigDecimal add = hasBackMoney.add(coinAmount);
+ otcMarketBussiness.setHasBackMoney(add);
+
+ BigDecimal subtract = waitBackMoney.subtract(coinAmount);
+ otcMarketBussiness.setWaitBackMoney(subtract);
+ otcMarketBussinessMapper.updateById(otcMarketBussiness);
+
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public IPage<OtcSettingEntity> otcSettingList(OtcSettingEntity otcSettingEntity, QueryRequest request) {
+ Page<OtcSettingEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<OtcSettingEntity> otcSettingEntitys = otcSettingMapper.otcSettingList(page, otcSettingEntity);
+ return otcSettingEntitys;
+ }
+
+ @Override
+ public OtcSettingEntity otcSettingUpdate(long id) {
+ return otcSettingMapper.selectById(id);
+ }
+
+ @Override
+ public FebsResponse updateOtcSetting(OtcSettingEntity otcSettingEntity) {
+ Integer orderNum = otcSettingEntity.getOrderNum();
+ if(ObjectUtil.isEmpty(orderNum) || orderNum < 0){
+ return new FebsResponse().fail().message("请设置正确的总单数");
+ }
+ BigDecimal completionRate = otcSettingEntity.getCompletionRate();
+ if(ObjectUtil.isEmpty(completionRate) || completionRate.compareTo(BigDecimal.ZERO) < 0){
+ return new FebsResponse().fail().message("请设置正确的完成率");
+ }
+ BigDecimal totalAmount = otcSettingEntity.getTotalAmount();
+ if(ObjectUtil.isEmpty(totalAmount) || totalAmount.compareTo(BigDecimal.ZERO) < 0){
+ return new FebsResponse().fail().message("请设置正确的总金额");
+ }
+
+ Integer cancellNum = otcSettingEntity.getCancellNum();
+ if(ObjectUtil.isEmpty(cancellNum) || cancellNum < 0){
+ return new FebsResponse().fail().message("请设置正确的取消次数");
+ }
+ otcSettingMapper.updateById(otcSettingEntity);
+ return new FebsResponse().success();
+ }
+
}
--
Gitblit v1.9.1