| | |
| | | package com.ruoyi.shop.service.impl.shop; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsResult; |
| | | import com.github.binarywang.wxpay.bean.ecommerce.ApplymentsStatusResult; |
| | | import com.github.binarywang.wxpay.bean.ecommerce.ProfitSharingReceiverRequest; |
| | | import com.github.binarywang.wxpay.bean.ecommerce.ProfitSharingReceiverResult; |
| | | import com.github.binarywang.wxpay.exception.WxPayException; |
| | | import com.ruoyi.common.core.constant.CacheConstants; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.exception.ServiceException; |
| | | import com.ruoyi.common.core.utils.DateUtils; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | |
| | | import com.ruoyi.shop.service.task.MemberTaskService; |
| | | import com.ruoyi.shop.service.task.ShopFileService; |
| | | import com.ruoyi.shop.service.task.ShopTaskService; |
| | | import com.ruoyi.shop.util.HuiFuTianXiaUtil; |
| | | import com.ruoyi.shop.util.WechatPayUtils; |
| | | import com.ruoyi.system.api.constant.AppErrorConstant; |
| | | import com.ruoyi.system.api.constant.SecurityConstant; |
| | |
| | | import com.ruoyi.system.api.domain.vo.*; |
| | | import com.ruoyi.system.api.service.*; |
| | | import lombok.extern.log4j.Log4j2; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.rmi.ServerException; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.function.Function; |
| | | import java.util.stream.Collectors; |
| | |
| | | private ShopAuthenticationService shopAuthenticationService; |
| | | |
| | | @Resource |
| | | private ShopAuthenticationHftxService shopAuthenticationHftxService; |
| | | |
| | | @Resource |
| | | private ShopProportionService shopProportionService; |
| | | |
| | | @Resource |
| | |
| | | |
| | | @Resource |
| | | private RemoteUserService remoteUserService; |
| | | |
| | | @Value("${callback_path}") |
| | | private String callback_path; |
| | | |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 商户进件列表数据(汇付天下) |
| | | * @param page |
| | | * @param mgtShopAuthPageDto |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<MgtShopHFTXAuthPageVo> pageMgtShopHFTXAuth(Page page, MgtShopHFTXAuthPageDto mgtShopAuthPageDto) { |
| | | return shopMapper.pageMgtShopHFTXAuth(page, mgtShopAuthPageDto); |
| | | } |
| | | |
| | | /** |
| | | * @description boardShopTotal |
| | | * @param |
| | | * @return MgtBulletinBoardVo |
| | |
| | | */ |
| | | @Override |
| | | public void mgtShopHFTXAuth(MgtShopHFTXAuthDto mgtShopHFTXAuthDto) { |
| | | ShopAuthenticationHftx shopAuthenticationHftx = shopAuthenticationHftxService.getOne(new QueryWrapper<ShopAuthenticationHftx>().eq("shop_id", mgtShopHFTXAuthDto.getShopId())); |
| | | if(null != shopAuthenticationHftx && "Y".equals(shopAuthenticationHftx.getAuditStatus())){ |
| | | throw new ServiceException("不能重复进件"); |
| | | } |
| | | if(null == shopAuthenticationHftx){ |
| | | shopAuthenticationHftx = new ShopAuthenticationHftx(); |
| | | shopAuthenticationHftx.setIsDelete(0); |
| | | shopAuthenticationHftx.setInsertTime(new Date()); |
| | | } |
| | | BeanUtils.copyProperties(mgtShopHFTXAuthDto, shopAuthenticationHftx); |
| | | shopAuthenticationHftx.setReqSeqId(IdUtils.simpleUUID()); |
| | | shopAuthenticationHftx.setAuditStatus(""); |
| | | shopAuthenticationHftx.setAuditDesc(""); |
| | | /** |
| | | * 开始调起进件接口 |
| | | */ |
| | | R<MerchantBasicdataVo> r = null; |
| | | //用户 |
| | | if(mgtShopHFTXAuthDto.getType() == 1){ |
| | | r = HuiFuTianXiaUtil.merchantBasicdataIndv(mgtShopHFTXAuthDto, shopAuthenticationHftx, callback_path + "/shop/mgt/shop/merchantBasicdataNotify"); |
| | | } |
| | | //企业进件 |
| | | if(mgtShopHFTXAuthDto.getType() == 2){ |
| | | r = HuiFuTianXiaUtil.merchantBasicdataEnt(mgtShopHFTXAuthDto, shopAuthenticationHftx, callback_path + "/shop/mgt/shop/merchantBasicdataNotify"); |
| | | } |
| | | if(null == r){ |
| | | throw new ServiceException("参数异常"); |
| | | } |
| | | if(r.getCode() == 200){ |
| | | MerchantBasicdataVo data = r.getData(); |
| | | shopAuthenticationHftx.setAuditStatus("U"); |
| | | shopAuthenticationHftx.setHuifuId(data.getHuifuId()); |
| | | shopAuthenticationHftx.setTokenNo(data.getTokenNo()); |
| | | shopAuthenticationHftx.setApplyNo(data.getApplyNo()); |
| | | shopAuthenticationHftxService.saveOrUpdate(shopAuthenticationHftx); |
| | | }else{ |
| | | throw new ServiceException(r.getMsg()); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 商户进件异步通知 |
| | | * @param jsonObject |
| | | * @return |
| | | */ |
| | | @Override |
| | | public R<String> merchantBasicdataNotify(JSONObject jsonObject) { |
| | | R<MerchantBasicdataVo> merchantBasicdataVoR = HuiFuTianXiaUtil.merchantBasicDataNotify(jsonObject); |
| | | if(merchantBasicdataVoR.getCode() != 200){ |
| | | return R.fail(merchantBasicdataVoR.getMsg()); |
| | | } |
| | | MerchantBasicdataVo data = merchantBasicdataVoR.getData(); |
| | | ShopAuthenticationHftx shopAuthenticationHftx = shopAuthenticationHftxService.getOne(new QueryWrapper<ShopAuthenticationHftx>().eq("req_seq_id", data.getReqSeqId())); |
| | | if(!org.springframework.util.StringUtils.hasLength(shopAuthenticationHftx.getAuditStatus())){ |
| | | shopAuthenticationHftx.setAuditStatus(data.getAuditStatus()); |
| | | shopAuthenticationHftx.setAuditDesc(data.getAuditDesc()); |
| | | shopAuthenticationHftx.setHuifuId(data.getHuifuId()); |
| | | shopAuthenticationHftx.setTokenNo(data.getTokenNo()); |
| | | shopAuthenticationHftx.setApplyNo(data.getApplyNo()); |
| | | shopAuthenticationHftxService.updateById(shopAuthenticationHftx); |
| | | } |
| | | return R.ok(data.getReqSeqId()); |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | } |
| | | return shopAuthGetVo; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取商户审核资料(汇付天下) |
| | | * @param shopId |
| | | * @return |
| | | */ |
| | | @Override |
| | | public MgtShopHFTXAuthGetVo getMgtShopHFTXAuthInfo(Long shopId) { |
| | | ShopAuthenticationHftx shopAuthenticationHftx = shopAuthenticationHftxService.getOne(new QueryWrapper<ShopAuthenticationHftx>().eq("shop_id", shopId)); |
| | | MgtShopHFTXAuthGetVo mgtShopHFTXAuthGetVo = new MgtShopHFTXAuthGetVo(); |
| | | if(null == shopAuthenticationHftx){ |
| | | return mgtShopHFTXAuthGetVo; |
| | | } |
| | | BeanUtils.copyProperties(shopAuthenticationHftx, mgtShopHFTXAuthGetVo); |
| | | return mgtShopHFTXAuthGetVo; |
| | | } |
| | | |
| | | /** |
| | |
| | | return shopMapper.getTaskMsgList(); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 设置商户分账比例 |
| | | * @param mgtShopShareRatioSetDto |
| | | * @return |
| | | */ |
| | | @Override |
| | | public R setMgtShopShareRatio(MgtShopShareRatioSetDto mgtShopShareRatioSetDto) { |
| | | ShopAuthenticationHftx shopAuthenticationHftx = shopAuthenticationHftxService.getOne(new QueryWrapper<ShopAuthenticationHftx>() |
| | | .eq("shop_id", mgtShopShareRatioSetDto.getShopId()).eq("is_delete", 0)); |
| | | shopAuthenticationHftx.setShareRatio(mgtShopShareRatioSetDto.getShareRatio()); |
| | | shopAuthenticationHftxService.updateById(shopAuthenticationHftx); |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询结算记录 |
| | | * @param merchantBasicdataSettlementDto |
| | | * @return |
| | | */ |
| | | @Override |
| | | public R<List<MerchantBasicdataSettlementVo>> getMerchantBasicDataSettlement(MerchantBasicdataSettlementDto merchantBasicdataSettlementDto) { |
| | | ShopAuthenticationHftx shopAuthenticationHftx = shopAuthenticationHftxService.getOne(new QueryWrapper<ShopAuthenticationHftx>() |
| | | .eq("shop_id", merchantBasicdataSettlementDto.getShopId()).eq("is_delete", 0)); |
| | | if(null == shopAuthenticationHftx){ |
| | | return R.ok(new ArrayList<>()); |
| | | } |
| | | String huifuId = shopAuthenticationHftx.getHuifuId(); |
| | | String startTime = merchantBasicdataSettlementDto.getStartTime(); |
| | | String endTime = merchantBasicdataSettlementDto.getEndTime(); |
| | | Integer pageNum = merchantBasicdataSettlementDto.getPageNum(); |
| | | Integer pageSize = merchantBasicdataSettlementDto.getPageSize(); |
| | | return HuiFuTianXiaUtil.getMerchantBasicdataSettlement(IdUtils.randomUUID(), huifuId, startTime, endTime, pageNum.toString(), pageSize.toString()); |
| | | } |
| | | } |