From 0774ea976b6aa86a8a7de334fa24fbd7524295d5 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期五, 26 一月 2024 11:57:11 +0800 Subject: [PATCH] 看板统计 --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 407 ++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 366 insertions(+), 41 deletions(-) diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java index ac16539..a594dea 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java @@ -1,19 +1,24 @@ 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.ExceptionUtil; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.utils.uuid.IdUtils; @@ -30,8 +35,13 @@ 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.shop.util.map.MapUtil; +import com.ruoyi.shop.util.map.vo.TencentDistanceMatrix; +import com.ruoyi.shop.util.map.vo.TencentDistanceMatrixElements; import com.ruoyi.system.api.constant.AppErrorConstant; +import com.ruoyi.system.api.constant.SecurityConstant; import com.ruoyi.system.api.domain.dto.*; import com.ruoyi.system.api.domain.poji.config.SysTag; import com.ruoyi.system.api.domain.poji.member.Member; @@ -39,13 +49,17 @@ import com.ruoyi.system.api.domain.poji.sys.SysUser; import com.ruoyi.system.api.domain.vo.*; import com.ruoyi.system.api.service.*; -import lombok.extern.slf4j.Slf4j; +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; @@ -59,7 +73,7 @@ * @since 2023-04-25 */ @Service -@Slf4j +@Log4j2 public class ShopServiceImpl extends ServiceImpl<ShopMapper, Shop> implements ShopService { @Resource @@ -99,6 +113,9 @@ private ShopAuthenticationService shopAuthenticationService; @Resource + private ShopAuthenticationHftxService shopAuthenticationHftxService; + + @Resource private ShopProportionService shopProportionService; @Resource @@ -133,6 +150,9 @@ @Resource private RemoteUserService remoteUserService; + + @Value("${callback_path}") + private String callback_path; @@ -225,7 +245,6 @@ shopRelTagService.deleteByShopId(shop.getShopId()); shopRelUserService.deleteByShopId(shop.getShopId()); //清空归属 - shopRelUserService.deleteByShopId(shop.getShopId()); shopStaffService.clearShopStaffRelation(shop.getShopId()); if(!shop.getShopName().equals(mgtEditShopDto.getShopName())){ MgtMemberShopNameDto mgtMemberShopNameDto = new MgtMemberShopNameDto(); @@ -245,6 +264,7 @@ shop.setFrozenFlag(0); shop.setCooperativeFlag(1); shop.setAuthFlag(0); + shop.setAccountFlag(0); newShop = true; } BeanUtils.copyProperties(mgtEditShopDto,shop); @@ -374,7 +394,12 @@ shopProportion.setDelFlag(0); shopProportion.setShopId(shop.getShopId()); shopProportion.setShopType(shop.getShopType()); - shopProportion.setProportionPercent(new BigDecimal("100.00")); + String proportionPercentStr = redisService.getCacheObject(SecurityConstant.SHOP_COMMON_PROPORTION); + BigDecimal proportionPercent = new BigDecimal(proportionPercentStr); + if(proportionPercent==null){ + proportionPercent = new BigDecimal("30"); + } + shopProportion.setProportionPercent(proportionPercent); shopProportion.setUpdateTime(new Date()); shopProportion.setUpdateUserId(userId); shopProportionService.save(shopProportion); @@ -527,12 +552,13 @@ * @return */ @Override - public List<MgtShopPageVo> pageMgtShop(Page page, MgtShopPageDto mgtShopPageDto){ + public List<MgtShopPageVo> pageMgtShop(Page page, MgtShopPageDto mgtShopPageDto,List<Long> scope){ if (StringUtils.isNotBlank(mgtShopPageDto.getShopTags())) { mgtShopPageDto.setShopTags(mgtShopPageDto.getShopTags().replace(",", "|")); } + // 分页查询商铺信息 - List<MgtShopPageVo> mgtShopPageVoList = shopMapper.pageMgtShop(page, mgtShopPageDto); + List<MgtShopPageVo> mgtShopPageVoList = shopMapper.pageMgtShop(page, mgtShopPageDto,scope); // 如果查询结果不为空 if (!mgtShopPageVoList.isEmpty()) { // 创建签约用户ID集合和所属用户ID集合 @@ -574,8 +600,9 @@ shopPageVo.setSignUser(signUserMap.get(shopPageVo.getSignUserId()).getNickName()); } if (belongUserMap!=null&&!belongUserMap.isEmpty()&&shopPageVo.getBelongUserId() != null) { - shopPageVo.setBelongUser(belongUserMap.get(shopPageVo.getBelongUserId()).getNickName()); - shopPageVo.setBelongDept(belongUserMap.get(shopPageVo.getBelongUserId()).getDeptName()); + MgtSysSimpleUserVo mgtSysSimpleUserVo = belongUserMap.get(shopPageVo.getBelongUserId()); + shopPageVo.setBelongUser(null == mgtSysSimpleUserVo ? "" : mgtSysSimpleUserVo.getNickName()); + shopPageVo.setBelongDept(null == mgtSysSimpleUserVo ? "" : mgtSysSimpleUserVo.getDeptName()); } } } @@ -710,7 +737,6 @@ shopTransferRecord.setAfterUserId(mgtTransferShopDto.getTransferUserId()); shopTransferRecord.setTransferRemark(mgtTransferShopDto.getTransferRemark()); shopTransferRecordService.save(shopTransferRecord); - shopRelUserService.deleteByUserId(shop.getBelongUserId()); } shop.setBelongUserId(mgtTransferShopDto.getTransferUserId()); this.saveOrUpdate(shop); @@ -739,8 +765,32 @@ //获取绑定商户 shop = this.getById(member.getRelationShopId()); }else if(StringUtils.isNotBlank(appNearbyShopDto.getLatitude())&&StringUtils.isNotBlank(appNearbyShopDto.getLongitude())){ - AppNearShopVo appNearShopVo = shopMapper.getNearbyShop(appNearbyShopDto); - shop = this.getById(appNearShopVo.getShopId()); + List<AppNearShopVo> appNearShopVos = shopMapper.getNearbyShops(appNearbyShopDto); + if(appNearShopVos.size() > 0){ + log.info("候选店铺:{}", JSON.toJSONString(appNearShopVos)); + StringBuffer to = new StringBuffer(); + for (AppNearShopVo appNearShopVo : appNearShopVos) { + to.append(appNearShopVo.getLatitude() + "," + appNearShopVo.getLongitude() + ";"); + } + String form = appNearbyShopDto.getLatitude() + "," + appNearbyShopDto.getLongitude(); + R<List<TencentDistanceMatrix>> r = MapUtil.tencentDistanceMatrix(form, to.substring(0, to.length() - 1), "walking"); + if(r.getCode() != 200){ + throw new ServiceException(r.getMsg()); + } + List<TencentDistanceMatrix> data = r.getData(); + //存储最短距离 + BigDecimal dis = new BigDecimal(0); + AppNearShopVo appNearShopVo = null; + List<TencentDistanceMatrixElements> elements = data.get(0).getElements(); + for (int i = 0; i < elements.size(); i++) { + TencentDistanceMatrixElements matrix = elements.get(i); + if(i == 0 || dis.compareTo(new BigDecimal(matrix.getDistance())) > 0){ + dis = new BigDecimal(matrix.getDistance()); + appNearShopVo = appNearShopVos.get(i); + } + } + shop = this.getById(appNearShopVo.getShopId()); + } }else{ return appNearbyShopVo; } @@ -797,7 +847,43 @@ List<Long> userIds = new ArrayList<>(); List<Long> shopIds = new ArrayList<>(); //如果是leader 查询leader下面所有的员工下的所有shopId - if(remoteSysStaffService.isLeader()){ +// if(remoteSysStaffService.isLeader()){ +// userIds = sysUserService.getUserIdsByDept(userId).getData(); +// //根据用户所有id查询关联的商户id +// MgtBasePlatformDto mgtBasePlatformDto = new MgtBasePlatformDto(); +// mgtBasePlatformDto.setUserIdList(userIds); +// shopIds = shopMapper.listShopIdByTotal(mgtBasePlatformDto); +// List<Shop> shopList = this.getShopByBelongUserId(userId); +// if(shopList!=null&&!shopList.isEmpty()){ +// for(Shop shop : shopList){ +// shopIds.add(shop.getShopId()); +// } +// userIds.add(userId); +// } +// }else { +// //普通员工查询商户归属的shopId +// List<Shop> shopList = this.getShopByBelongUserId(userId); +// if(shopList!=null&&!shopList.isEmpty()){ +// for(Shop shop : shopList){ +// shopIds.add(shop.getShopId()); +// } +// userIds.add(userId); +// } +// } + + // TODO: 2023/12/5 统一改成使用权限来控制数据 + R<SysUser> sysUser = sysUserService.getSysUser(userId); + if(sysUser.getCode() != 200){ + throw new RuntimeException(sysUser.getMsg()); + } + //员工端数据权限(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) + //2/4暂未使用 + String dataScopeEmployee = sysUser.getData().getDataScopeEmployee(); + if(dataScopeEmployee.equals("1")){ + userIds = null; + shopIds = null; + } + if(dataScopeEmployee.equals("3")){ userIds = sysUserService.getUserIdsByDept(userId).getData(); //根据用户所有id查询关联的商户id MgtBasePlatformDto mgtBasePlatformDto = new MgtBasePlatformDto(); @@ -810,8 +896,8 @@ } userIds.add(userId); } - }else { - //普通员工查询商户归属的shopId + } + if(dataScopeEmployee.equals("5")){ List<Shop> shopList = this.getShopByBelongUserId(userId); if(shopList!=null&&!shopList.isEmpty()){ for(Shop shop : shopList){ @@ -820,19 +906,10 @@ userIds.add(userId); } } + //分别查询 - StaffHomeShopTotalVo staffHomeShopTotalVo = new StaffHomeShopTotalVo(); - if(userIds!=null&&!userIds.isEmpty()){ - staffHomeShopTotalVo = shopMapper.getStaffHomeTotal(userIds); - }else{ - staffHomeShopTotalVo.setShopTotal(0); - staffHomeShopTotalVo.setAgencyTotal(0); - staffHomeShopTotalVo.setDealerTotal(0); - } - Integer shopTaskCount = 0; - if(shopIds!=null&&!shopIds.isEmpty()){ - shopTaskService.getShopIngTotal(shopIds); - } + StaffHomeShopTotalVo staffHomeShopTotalVo = shopMapper.getStaffHomeTotal(userIds); + Integer shopTaskCount = shopTaskService.getShopIngTotal(shopIds); staffHomeShopTotalVo.setFollowMember(0); staffHomeShopTotalVo.setNewMember(0); staffHomeShopTotalVo.setShopTask(shopTaskCount); @@ -967,8 +1044,8 @@ * @return List<MgtShopListSimpleVo> */ @Override - public List<MgtShopListSimpleVo> listMgtShopSimpleVo(MgtShopListDto mgtShopListDto){ - return shopMapper.listMgtShopSimpleVo(mgtShopListDto); + public List<MgtShopListSimpleVo> listMgtShopSimpleVo(MgtShopListDto mgtShopListDto,List<Long> scope){ + return shopMapper.listMgtShopSimpleVo(mgtShopListDto,scope); } /** @@ -1005,8 +1082,20 @@ * @date 2023/6/14 23:01 */ @Override - public List<MgtShopAuthPageVo> pageMgtShopAuth(Page page, MgtShopAuthPageDto mgtShopAuthPageDto){ - return shopMapper.pageMgtShopAuth(page, mgtShopAuthPageDto); + public List<MgtShopAuthPageVo> pageMgtShopAuth(Page page, MgtShopAuthPageDto mgtShopAuthPageDto,List<Long> scope){ + return shopMapper.pageMgtShopAuth(page, mgtShopAuthPageDto,scope); + } + + /** + * 商户进件列表数据(汇付天下) + * @param page + * @param mgtShopAuthPageDto + * @return + */ + @Override + public List<MgtShopHFTXAuthPageVo> pageMgtShopHFTXAuth(Page page, MgtShopHFTXAuthPageDto mgtShopAuthPageDto, + List<Long> scope) { + return shopMapper.pageMgtShopHFTXAuth(page, mgtShopAuthPageDto,scope); } /** @@ -1017,8 +1106,8 @@ * @date 2023/6/18 16:59 */ @Override - public MgtBulletinBoardVo boardShopTotal(){ - MgtBulletinBoardVo mgtBulletinBoardVoShop = shopMapper.shopTotal(); + public MgtBulletinBoardVo boardShopTotal(List<Long> userIds){ + MgtBulletinBoardVo mgtBulletinBoardVoShop = shopMapper.shopTotal(userIds); return mgtBulletinBoardVoShop; } @@ -1030,7 +1119,7 @@ * @return void */ @Override - public void mgtShopAuth(MgtShopAuthDto mgtShopAuthDto) throws WxPayException { + public void mgtShopAuth(MgtShopAuthDto mgtShopAuthDto) { ShopAuthentication shopAuthentication = shopAuthenticationService.getById(mgtShopAuthDto.getAuthId()); Shop shop = this.getByShopId(shopAuthentication.getShopId()); @@ -1058,6 +1147,92 @@ shopAuthenticationService.saveOrUpdate(shopAuthentication); } + + /** + * 商户进件(汇付天下) + * @param mgtShopHFTXAuthDto + */ + @Override + public void mgtShopHFTXAuth(MgtShopHFTXAuthDto mgtShopHFTXAuthDto) { + ShopAuthenticationHftx shopAuthenticationHftx = shopAuthenticationHftxService.getOne(new QueryWrapper<ShopAuthenticationHftx>() + .eq("shop_id", mgtShopHFTXAuthDto.getShopId()).eq("is_delete", 0)); + if(null != shopAuthenticationHftx && Arrays.asList("U", "Y").contains(shopAuthenticationHftx.getAuditStatus())){ + throw new ServiceException("不能重复进件"); + } + if(null == shopAuthenticationHftx){ + shopAuthenticationHftx = new ShopAuthenticationHftx(); + shopAuthenticationHftx.setIsDelete(0); + shopAuthenticationHftx.setInsertTime(new Date()); + } + String auditStatus = shopAuthenticationHftx.getAuditStatus(); + BeanUtils.copyProperties(mgtShopHFTXAuthDto, shopAuthenticationHftx); + shopAuthenticationHftx.setReqSeqId(IdUtils.simpleUUID()); + shopAuthenticationHftx.setAuditStatus(""); + shopAuthenticationHftx.setAuditDesc(""); + /** + * 开始调起进件接口 + */ + R<MerchantBasicdataVo> r = null; + //用户(重新提交) + if((StringUtils.isEmpty(auditStatus) || "N".equals(auditStatus) || "F".equals(auditStatus)) && mgtShopHFTXAuthDto.getType() == 1){ + r = HuiFuTianXiaUtil.merchantBasicdataIndv(mgtShopHFTXAuthDto, shopAuthenticationHftx, callback_path + "/shop/mgt/shop/merchantBasicdataNotify"); + } + //企业进件(重新提交) + if((StringUtils.isEmpty(auditStatus) || "N".equals(auditStatus) || "F".equals(auditStatus)) && mgtShopHFTXAuthDto.getType() == 2){ + r = HuiFuTianXiaUtil.merchantBasicdataEnt(mgtShopHFTXAuthDto, shopAuthenticationHftx, callback_path + "/shop/mgt/shop/merchantBasicdataNotify"); + } + + //修改资料 + if("Y".equals(auditStatus)){ + r = HuiFuTianXiaUtil.merchantBasicdataModify(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()); + } + + } + + + /** + * 商户进件异步通知 + * @return + */ + @Override + public R<String> merchantBasicdataNotify(MerchantBasicDataNotifyDto dto) { + R<MerchantBasicdataVo> merchantBasicdataVoR = HuiFuTianXiaUtil.merchantBasicDataNotify(dto); + 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("U".equals(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); + if("Y".equals(data.getAuditStatus())){ + Shop shop = this.getByShopId(shopAuthenticationHftx.getShopId()); + shop.setShopStatus(1); + shop.setAuthFlag(1); + this.updateById(shop); + } + } + return R.ok(data.getReqSeqId()); + } + + /** * @description 获取平台商户统计 * @author jqs @@ -1082,8 +1257,20 @@ mgtBasePlatformDto.setUserIdList(userIdList); } } + //数据权限 + List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId(); + if(null != userIds){ + List<Long> userIdList = mgtBasePlatformDto.getUserIdList(); + if(null != userIdList){ + userIdList.addAll(userIds); + }else{ + userIdList = userIds; + } + mgtBasePlatformDto.setUserIdList(userIdList); + } + //获取基础统计 - MgtPlTotalShopTotalVo plTotalShopTotalVo = shopMapper.getPlTotalShopTotal(); + MgtPlTotalShopTotalVo plTotalShopTotalVo = shopMapper.getPlTotalShopTotal(userIds); plTotalShopTotalVo.setSignTotal(0); List<Long> shopIdList = shopMapper.listShopIdByTotal(mgtBasePlatformDto); if (!shopIdList.isEmpty()) { @@ -1196,6 +1383,23 @@ 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; + } + /** * @description 获取商户验证信息 * @author jqs @@ -1287,17 +1491,37 @@ @Override public StaffShopSimpleTotalVo getStaffSimpleTotal(Long userId){ List<Long> userIdList = new ArrayList<>(); - if(remoteSysStaffService.isLeader()){ +// if(remoteSysStaffService.isLeader()){ +// userIdList = sysUserService.getUserIdsByDept(userId).getData(); +// userIdList.add(userId); +// }else { +// userIdList.add(userId); +// } + + // TODO: 2023/12/5 统一改成使用权限来控制数据 + R<SysUser> sysUser = sysUserService.getSysUser(userId); + if(sysUser.getCode() != 200){ + throw new RuntimeException(sysUser.getMsg()); + } + //员工端数据权限(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) + //2/4暂未使用 + String dataScopeEmployee = sysUser.getData().getDataScopeEmployee(); + if(dataScopeEmployee.equals("1")){ + userIdList = null; + } + if(dataScopeEmployee.equals("3")){ userIdList = sysUserService.getUserIdsByDept(userId).getData(); userIdList.add(userId); - }else { + } + if(dataScopeEmployee.equals("5")){ userIdList.add(userId); } + StaffShopSimpleTotalVo shopTotal = shopMapper.getStaffSimpleTotal(1,userIdList); StaffShopSimpleTotalVo agencyTotal = shopMapper.getStaffSimpleTotal(2,userIdList); shopTotal.setAgencyTotal(agencyTotal.getShopTotal()); shopTotal.setOpenAgencyTotal(agencyTotal.getOpenShopTotal()); - shopTotal.setCloseAgencyTotal(agencyTotal.getCloseAgencyTotal()); + shopTotal.setCloseAgencyTotal(agencyTotal.getCloseShopTotal()); return shopTotal; } @@ -1454,6 +1678,23 @@ List<ShopAuthentication> list = shopAuthenticationService.getShopAuthNeedUpdateStatus(); log.info("定时检查微信二级商户"+list.toString()); list.forEach(item -> queryApplyStatusByApplymentId(item.getApplymentId(), item.getShopId())); + + List<ShopAuthenticationHftx> list1 = shopAuthenticationHftxService.list(new QueryWrapper<ShopAuthenticationHftx>().eq("audit_status", "U").eq("is_delete", 0)); + for (ShopAuthenticationHftx shopAuthenticationHftx : list1) { + R<MerchantBasicdataVo> r = HuiFuTianXiaUtil.queryMerchantBasicdata(IdUtils.simpleUUID(), shopAuthenticationHftx.getHuifuId()); + if(r.getCode() == 200){ + MerchantBasicdataVo data = r.getData(); + if(org.springframework.util.StringUtils.hasLength(data.getTokenNo())){ + shopAuthenticationHftx.setTokenNo(data.getTokenNo()); + shopAuthenticationHftx.setAuditStatus("Y"); + shopAuthenticationHftx.setAuditDesc("成功"); + Shop shop = this.getByShopId(shopAuthenticationHftx.getShopId()); + shop.setShopStatus(1); + this.updateById(shop); + shopAuthenticationHftxService.updateById(shopAuthenticationHftx); + } + } + } } /** @@ -1490,6 +1731,10 @@ .set(Shop::getAuthFlag, 1); this.update(updateWrapper); } + + + + /** * @description @@ -1593,17 +1838,29 @@ /** - * @description + * @description 添加分账方 * @author jqs * @date 2023/8/23 9:44 * @param * @return void */ @Override - public ProfitSharingReceiverResult addProfitSharingReceiver(ProfitSharingReceiverRequest request){ + public void addProfitSharingReceiver(MgtShopAuthGetDto mgtShopAuthGetDto){ try { - ProfitSharingReceiverResult result = wechatPayUtils.addProfitSharingReceiver(request); - return result; + ShopAuthentication shopAuthentication = shopAuthenticationService.getById(mgtShopAuthGetDto.getAuthId()); + Shop shop = this.getByShopId(shopAuthentication.getShopId()); + if(shopAuthentication!=null&&shopAuthentication.getAuditStatus()==6){ + ProfitSharingReceiverRequest request = new ProfitSharingReceiverRequest(); + request.setAccount(shopAuthentication.getSubMchid()); + request.setName(shopAuthentication.getBlShopName()); + ProfitSharingReceiverResult result = wechatPayUtils.addProfitSharingReceiver(request); + if(StringUtils.isNotBlank(result.getAccount())){ + shop.setAccountFlag(1); + shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag())); + this.saveOrUpdate(shop); + } + } + } catch (WxPayException e) { throw new RuntimeException(e); } @@ -1623,4 +1880,72 @@ 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.simpleUUID(), huifuId, startTime, endTime, pageNum.toString(), pageSize.toString()); + } + + + + /** + * @description + * @author jqs + * @date 2023/8/10 22:53 + * @param cityCodes + * @return List<Long> + */ + @Override + public List<Shop> listShopByCityCode(List<String> cityCodes){ + return shopMapper.listShopByCityCode(cityCodes); + } + + + /** + * 根据员工id获取对应的门店 + * @param userIds + * @return + */ + @Override + public List<Shop> getShopBySysUserIds(List<Long> userIds) { + if(null == userIds && userIds.size() == 0){ + return new ArrayList<>(); + } + QueryWrapper<Shop> queryWrapper = new QueryWrapper<Shop>().eq("del_flag", 0).ne("shop_status", -1); + if(null != userIds && userIds.size() > 0){ + queryWrapper.in("belong_user_id", userIds); + } + List<Shop> list = this.list(queryWrapper); + return list; + } } -- Gitblit v1.7.1