Commit 8288cd17 authored by shiyu's avatar shiyu

支付完质保金藏家身份才能生效

parent 94489865
......@@ -2,6 +2,7 @@ package com.wwdz.ch.admin.impl;
import com.github.pagehelper.PageInfo;
import com.wwdz.ch.admin.service.SysOpenShopApplyOrderService;
import com.wwdz.ch.core.api.wxpay.WxPayServiceApi;
import com.wwdz.ch.core.consts.CommonEnum;
import com.wwdz.ch.core.consts.OpenShopApplyOrderEnum;
import com.wwdz.ch.core.entity.openShop.OpenShopApplyOrderVo;
......@@ -21,6 +22,7 @@ import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.domain.distribution.UserBankCard;
import com.wwdz.ch.db.domain.openShop.OpenShopApplyOrder;
import com.wwdz.ch.db.domain.openShop.OpenShopCostRecord;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.db.dto.request.openShop.OpenShopApplyOrderRequestDto;
import com.xxdxxs.utils.DateUtils;
import com.xxdxxs.utils.EntityMapper;
......@@ -66,6 +68,9 @@ public class SysOpenShopApplyOrderServiceImpl implements SysOpenShopApplyOrderSe
@Autowired
OpenShopCostRecordDao openShopCostRecordDao;
@Autowired
WxPayServiceApi wxPayServiceApi;
@Override
public Result findList(OpenShopApplyOrderRequestDto dto) {
try {
......@@ -133,6 +138,9 @@ public class SysOpenShopApplyOrderServiceImpl implements SysOpenShopApplyOrderSe
public Result auditApplyOrder(OpenShopApplyOrderRequestDto dto) {
try {
OpenShopApplyOrder openShopApplyOrder = openShopApplyOrderDao.findByOrderId(dto.getOpenShopApplyOrderId());
if (openShopApplyOrder.getState() != OpenShopApplyOrderEnum.StateEnum.PRE_AUDIT.getCode()) {
return Result.failed("申请单不是待审核状态");
}
OpenShopApplyOrder updateApplyOrderDto = new OpenShopApplyOrder();
updateApplyOrderDto.setOpenShopApplyOrderId(dto.getOpenShopApplyOrderId());
updateApplyOrderDto.setRemark(dto.getRemark());
......@@ -141,14 +149,10 @@ public class SysOpenShopApplyOrderServiceImpl implements SysOpenShopApplyOrderSe
if (OpenShopApplyOrderEnum.StateEnum.PASSED.getCode() == dto.getState()) {
LocalDateTime now = LocalDateTime.now();
LocalDateTime endValidTime = now.plusYears(1);
//审核通过,把藏家白名单设置为生效
//审核通过,把藏家截止有效时间设置成审核通过的时间
CollectorWhiteList collectorWhiteList = new CollectorWhiteList();
collectorWhiteList.setCollectorId(openShopApplyOrder.getUserId());
collectorWhiteList.setEndValidTime(DateUtils.fromLocalDateTime(endValidTime));
collectorWhiteList.setDeliveryAuth(CommonEnum.StateEnum.VALID.getCode());
collectorWhiteList.setIsShow(true);
collectorWhiteList.setIsUploadLimit(false);
collectorWhiteList.setIsValid(true);
collectorWhiteListDao.upsert(collectorWhiteList);
OpenShopCostRecord openShopCostRecord = openShopCostRecordDao.findByUserId(openShopApplyOrder.getUserId());
......@@ -157,6 +161,24 @@ public class SysOpenShopApplyOrderServiceImpl implements SysOpenShopApplyOrderSe
updateDto.setStartValidTime(DateUtils.fromLocalDateTime(now));
updateDto.setEndValidTime(DateUtils.fromLocalDateTime(endValidTime));
openShopCostRecordDao.update(openShopCostRecord);
} else if (OpenShopApplyOrderEnum.StateEnum.NOT_PASSED.getCode() == dto.getState()) {
OpenShopCostRecord openShopCostRecord = openShopCostRecordDao.findByUserId(openShopApplyOrder.getUserId());
//审核不通过,退还开店费用,并把缴费记录设置成无效
if (openShopCostRecord != null && openShopCostRecord.getIsValid() && StringUtils.hasLength(openShopCostRecord.getTransactionId())) {
DistributionOrderRequestDto orderRequestDto = new DistributionOrderRequestDto();
orderRequestDto.setDistributionOrderId(openShopCostRecord.getOpenShopCostOrderId());
orderRequestDto.setAmount(PriceUtil.convertPriceFenToYuan(openShopCostRecord.getAmount()));
orderRequestDto.setRefundPrice(PriceUtil.convertPriceFenToYuan(openShopCostRecord.getAmount()));
Result result = wxPayServiceApi.refund(orderRequestDto);
if (result.getSuccess()) {
//把开店缴费记录设置成无效
OpenShopCostRecord updateDto = new OpenShopCostRecord();
updateDto.setOpenShopCostOrderId(openShopCostRecord.getOpenShopCostOrderId());
updateDto.setIsValid(false);
openShopCostRecordDao.update(openShopCostRecord);
}
}
}
return Result.success();
} catch (Exception e) {
......
......@@ -258,10 +258,11 @@ public class WxPayServiceApi {
Refund refundResponse = service.create(request);
logger.info("微信申请退款接口返回:{}", JsonUtils.from(refundResponse));
if (refundResponse.getStatus().equals(Status.SUCCESS)){
logger.info("================ 退款操作成功 ================");
//说明退款成功,开始接下来的业务操作
//你的业务代码
}
return Result.success();
}
}catch (Exception e){
logger.error("微信退款接口错误error : {}", e);
}
......
......@@ -13,6 +13,8 @@ public interface CollectorWhiteListDao {
void upsert(CollectorWhiteList collectorWhiteList);
void update(CollectorWhiteList collectorWhiteList);
CollectorWhiteList findById(long collectorId);
CollectorWhiteList findByUserIdWithoutValid(long collectorId);
......
......@@ -9,4 +9,5 @@ public interface UserBankCardDao {
UserBankCard findById(long userId);
void upsert(UserBankCard userBankCard);
}
......@@ -47,6 +47,14 @@ public class CollectorWhiteListDaoImpl implements CollectorWhiteListDao {
}
}
@Override
public void update(CollectorWhiteList collectorWhiteList) {
CollectorWhiteListExample example = new CollectorWhiteListExample();
CollectorWhiteListExample.Criteria criteria = example.createCriteria();
criteria.andCollectorIdEqualTo(collectorWhiteList.getCollectorId());
collectorWhiteListMapper.updateByExampleSelective(collectorWhiteList, example);
}
@Override
public CollectorWhiteList findById(long collectorId) {
CollectorWhiteListExample example = new CollectorWhiteListExample();
......
package com.wwdz.ch.db.impl.distribution;
import com.wwdz.ch.db.dao.distribution.UserBankCardDao;
import com.wwdz.ch.db.domain.CollectorWhiteListExample;
import com.wwdz.ch.db.domain.distribution.UserBankCard;
import com.wwdz.ch.db.domain.distribution.UserBankCardExample;
import com.wwdz.ch.db.mapper.distribution.UserBankCardMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.math.BigDecimal;
@Repository
public class UserBankCardDaoImpl implements UserBankCardDao {
......@@ -26,4 +29,19 @@ public class UserBankCardDaoImpl implements UserBankCardDao {
criteria.andStateEqualTo(1);
return userBankCardMapper.selectOneByExample(example);
}
@Override
public void upsert(UserBankCard userBankCard) {
UserBankCardExample example = new UserBankCardExample();
UserBankCardExample.Criteria criteria = example.createCriteria();
criteria.andUserIdEqualTo(userBankCard.getUserId());
criteria.andStateEqualTo(1);
long count = userBankCardMapper.countByExample(example);
if (count > 0) {
userBankCardMapper.updateByExampleSelective(userBankCard, example);
} else {
userBankCardMapper.insert(userBankCard);
}
}
}
......@@ -571,13 +571,11 @@ public class WxPayCallbackController {
openShopCostRecord.setEndValidTime(DateUtils.fromLocalDateTime(endValidTime));
openShopCostRecord.setIsValid(true);
openShopCostRecordDao.update(openShopCostRecord);
OpenShopApplyOrder openShopApplyOrder = openShopApplyOrderDao.findByUserId(shopCostRecord.getUserId());
if (openShopApplyOrder.getState() == OpenShopApplyOrderEnum.StateEnum.PRE_PAY.getCode()) {
//申请单状态修改
openShopApplyOrderDao.updateState(openShopApplyOrder.getOpenShopApplyOrderId(), OpenShopApplyOrderEnum.StateEnum.PRE_AUDIT.getCode());
} else if (openShopApplyOrder.getState() == OpenShopApplyOrderEnum.StateEnum.PASSED.getCode()) {
//申请单原本就通过了,再次支付开店费,属于续费,延长藏家白名单的有效时间
CollectorWhiteList collectorWhiteList = new CollectorWhiteList();
collectorWhiteList.setCollectorId(openShopApplyOrder.getUserId());
......@@ -586,7 +584,7 @@ public class WxPayCallbackController {
collectorWhiteList.setIsShow(true);
collectorWhiteList.setIsUploadLimit(false);
collectorWhiteList.setIsValid(true);
collectorWhiteListDao.upsert(collectorWhiteList);
collectorWhiteListDao.update(collectorWhiteList);
}
logger.info(">>>>>>>>>>>> 开店费缴纳订单,微信支付回调通知处理成功 <<<<<<<<<<<<");
return Result.success();
......@@ -616,6 +614,15 @@ public class WxPayCallbackController {
guaranteeMoneyRecord.setPayTime(TimeUtil.wxTimeConvertToDate(payTime));
guaranteeMoneyRecord.setIsValid(true);
guaranteeMoneyRecordDao.update(guaranteeMoneyRecord);
GuaranteeMoneyRecord record = guaranteeMoneyRecordDao.findByOrderId(systemOrderId);
CollectorWhiteList collectorWhiteList = new CollectorWhiteList();
collectorWhiteList.setCollectorId(record.getUserId());
collectorWhiteList.setDeliveryAuth(CommonEnum.StateEnum.VALID.getCode());
collectorWhiteList.setIsShow(true);
collectorWhiteList.setIsUploadLimit(false);
collectorWhiteList.setIsValid(true);
collectorWhiteListDao.update(collectorWhiteList);
logger.info(">>>>>>>>>>>> 开店质保金订单,微信支付回调通知处理成功 <<<<<<<<<<<<");
return Result.success();
} catch (Exception e) {
......
......@@ -108,7 +108,7 @@ public class OpenShopServiceImpl implements OpenShopService {
//月底修改为300
long openShopAmount = openShopCostConfig.getOpenShopAmount();
//创建申请单
String orderId = IdUtils.getOrderNumber("OA");
String orderId = IdUtils.getOrderNumber(CommConsts.OPEN_SHOP_APPLY_ORDER_PREFIX);
OpenShopApplyOrder openShopApplyOrder = new OpenShopApplyOrder();
openShopApplyOrder.setOpenShopApplyOrderId(orderId);
openShopApplyOrder.setUserId(dto.getUserId());
......@@ -139,7 +139,7 @@ public class OpenShopServiceImpl implements OpenShopService {
userBankCard.setBankName(dto.getBankName());
userBankCard.setCreateTime(now);
userBankCard.setState(CommonEnum.StateEnum.VALID.getCode());
userBankCardDao.insert(userBankCard);
userBankCardDao.upsert(userBankCard);
//创建开店费用订单
String openShopCostOrderId = IdUtils.getOrderNumber(CommConsts.OPEN_SHOP_COST_ORDER_PREFIX);
OpenShopCostRecord openShopCostRecord = new OpenShopCostRecord();
......
......@@ -3,9 +3,7 @@ package com.wwdz.ch.wx.web.openShop;
import com.alibaba.fastjson.JSON;
import com.wwdz.ch.core.consts.ResultCode;
import com.wwdz.ch.core.entity.im.IMChatRequestDto;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.db.dto.request.openShop.GuaranteeMoneyRecordRequestDto;
import com.wwdz.ch.db.dto.request.openShop.OpenShopApplyOrderRequestDto;
import com.wwdz.ch.db.dto.request.openShop.OpenShopInfoRequestDto;
......@@ -13,7 +11,6 @@ import com.wwdz.ch.wx.service.openShop.OpenShopService;
import com.xxdxxs.service.FormHandler;
import com.xxdxxs.validation.Validator;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Authorization;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment