| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | | |
| | | |
| | |
| | | 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(); |
| | |
| | | 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); |
| | |
| | | }else{ |
| | | shop.setCooperativeFlag(0); |
| | | } |
| | | shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag())); |
| | | shop.setShopStatus(handelShopStatus(null,shop.getCooperativeFlag(), null)); |
| | | shop.setUpdateTime(new Date()); |
| | | shop.setUpdateUserId(mgtTerminateCooperationDto.getUserId()); |
| | | this.saveOrUpdate(shop); |
| | |
| | | }else{ |
| | | shop.setFrozenFlag(0); |
| | | } |
| | | shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(),shop.getCooperativeFlag(),shop.getAuthFlag())); |
| | | shop.setShopStatus(handelShopStatus(shop.getFrozenFlag(), null, null)); |
| | | this.saveOrUpdate(shop); |
| | | } |
| | | |
| | |
| | | */ |
| | | private Integer handelShopStatus(Integer frozenFlag, Integer cooperativeFlag, Integer authFlag){ |
| | | Integer shopStatus = 1; |
| | | if(frozenFlag == 1){ |
| | | if(null != frozenFlag && frozenFlag == 1){ |
| | | shopStatus = 0; |
| | | return shopStatus; |
| | | } |
| | | if(authFlag == 0){ |
| | | shopStatus = 3; |
| | | if(null != cooperativeFlag && cooperativeFlag == 0){ |
| | | shopStatus = 2; |
| | | return shopStatus; |
| | | } |
| | | if(cooperativeFlag == 0){ |
| | | shopStatus = 2; |
| | | if(null != authFlag && authFlag == 0){ |
| | | shopStatus = 3; |
| | | return shopStatus; |
| | | } |
| | | return shopStatus; |
| | |
| | | * @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<Integer> associatedAccount = null; |
| | | if(StringUtils.isNotEmpty(mgtShopPageDto.getAssociatedAccount())){ |
| | | associatedAccount = Arrays.asList(mgtShopPageDto.getAssociatedAccount().split(",")).stream().map(Integer::valueOf).collect(Collectors.toList()); |
| | | } |
| | | // 分页查询商铺信息 |
| | | List<MgtShopPageVo> mgtShopPageVoList = shopMapper.pageMgtShop(page, mgtShopPageDto); |
| | | List<MgtShopPageVo> mgtShopPageVoList = shopMapper.pageMgtShop(page, mgtShopPageDto,scope, associatedAccount); |
| | | // 如果查询结果不为空 |
| | | if (!mgtShopPageVoList.isEmpty()) { |
| | | // 创建签约用户ID集合和所属用户ID集合 |
| | |
| | | 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()); |
| | | } |
| | | } |
| | | } |
| | |
| | | shopTransferRecord.setAfterUserId(mgtTransferShopDto.getTransferUserId()); |
| | | shopTransferRecord.setTransferRemark(mgtTransferShopDto.getTransferRemark()); |
| | | shopTransferRecordService.save(shopTransferRecord); |
| | | shopRelUserService.deleteByUserId(shop.getBelongUserId()); |
| | | } |
| | | shop.setBelongUserId(mgtTransferShopDto.getTransferUserId()); |
| | | this.saveOrUpdate(shop); |
| | |
| | | //获取绑定商户 |
| | | 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; |
| | | } |
| | |
| | | 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(); |
| | |
| | | } |
| | | userIds.add(userId); |
| | | } |
| | | }else { |
| | | //普通员工查询商户归属的shopId |
| | | } |
| | | if(dataScopeEmployee.equals("5")){ |
| | | List<Shop> shopList = this.getShopByBelongUserId(userId); |
| | | if(shopList!=null&&!shopList.isEmpty()){ |
| | | for(Shop shop : shopList){ |
| | |
| | | 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); |
| | |
| | | * @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); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @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); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @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; |
| | | } |
| | | |
| | |
| | | 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 |
| | |
| | | userIdList.add(mgtBasePlatformDto.getUserId()); |
| | | } else { |
| | | MgtUserIdByDept mgtUserIdByDept = new MgtUserIdByDept(); |
| | | mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getUserId()); |
| | | mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getDeptId()); |
| | | mgtUserIdByDept = configService.getUserIdByDept(mgtUserIdByDept).getData(); |
| | | userIdList = mgtUserIdByDept.getUserIdList(); |
| | | } |
| | |
| | | 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()) { |
| | |
| | | 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 |
| | |
| | | @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; |
| | | } |
| | | |
| | |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | private void applySuccessUpdateShopStatus(Long shopId){ |
| | | // 更新商户状态为正常 |
| | | Shop shop = this.getById(shopId); |
| | | Integer shopStatus = handelShopStatus(shop.getFrozenFlag(), shop.getCooperativeFlag(), 1); |
| | | Integer shopStatus = handelShopStatus(null, null, 1); |
| | | LambdaUpdateWrapper<Shop> updateWrapper = Wrappers.lambdaUpdate(); |
| | | updateWrapper.eq(Shop::getShopId, shopId) |
| | | .set(Shop::getShopStatus, shopStatus) |
| | | .set(Shop::getAuthFlag, 1); |
| | | this.update(updateWrapper); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * @description |
| | |
| | | |
| | | |
| | | /** |
| | | * @description |
| | | * @description 添加分账方 |
| | | * @author jqs |
| | | * @date 2023/8/23 9:44 |
| | | * @param |
| | |
| | | ProfitSharingReceiverResult result = wechatPayUtils.addProfitSharingReceiver(request); |
| | | if(StringUtils.isNotBlank(result.getAccount())){ |
| | | shop.setAccountFlag(1); |
| | | shop.setShopStatus(handelShopStatus(null , null,shop.getAuthFlag())); |
| | | this.saveOrUpdate(shop); |
| | | } |
| | | } |
| | |
| | | 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; |
| | | } |
| | | } |