package com.sandu.ximon.admin.pay.alipay; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; import com.sandu.common.execption.BusinessException; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.ximon.admin.param.AlipayConfigParam; import com.sandu.ximon.admin.security.SecurityUtils; import com.sandu.ximon.admin.service.ClientService; import com.sandu.ximon.admin.service.PoleService; import com.sandu.ximon.admin.utils.SpringContextUtil; import com.sandu.ximon.dao.domain.AliConfigEntity; import com.sandu.ximon.dao.domain.Pole; import com.sandu.ximon.dao.domain.WxConfigEntity; import com.sandu.ximon.dao.mapper.UsrAlipayConfigMapper; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import java.util.List; /** * @Author liuhaonan * @Date 2022/3/15 * @Version 1.0 */ @Service @AllArgsConstructor public class UsrAlipayConfigService extends BaseServiceImpl { private final UsrAlipayConfigMapper usrAlipayConfigMapper; private final ClientService clientService; private final PoleService poleService; public AliConfigEntity getConfigByPoleId(Long poleId) { Pole pole = poleService.getById(poleId); if (pole == null) { throw new BusinessException("灯杆id错误或灯杆不存在"); } AliConfigEntity config; if (pole.getClientId() == null) { config = getById(0); } config = getOne(Wrappers.lambdaQuery(AliConfigEntity.class).eq(AliConfigEntity::getCreateUserId, SecurityUtils.getUserId())); if(config==null){ throw new BusinessException("用户未配置支付配置,请配置后重试"); } return config; } public static UsrAlipayConfigService getBean(){ return (UsrAlipayConfigService) SpringContextUtil.getBean("UsrAlipayConfigService"); } public boolean addAliPayConfig(AlipayConfigParam configParam){ AliConfigEntity config =new AliConfigEntity(); BeanUtil.copyProperties(configParam,config); if(SecurityUtils.getClientId()!=null){ config.setCreateUserId(SecurityUtils.getUserId()); if(clientService.findClientId()){ config.setClientId(clientService.getClientId()); } } return save(config); } public boolean updateAliPayConfig(Integer id,AlipayConfigParam configParam){ AliConfigEntity byId = getById(id); if(byId==null){ throw new BusinessException("配置id错误或配置不存在"); } AliConfigEntity config =new AliConfigEntity(); BeanUtil.copyProperties(configParam,config); config.setConfigId(id); return updateById(config); } public boolean deleteAliPayConfig(Integer id){ AliConfigEntity byId = getById(id); if(byId==null){ throw new BusinessException("配置id错误或配置不存在"); } return removeById(id); } public List configList(BaseConditionVO baseConditionVO,String keyword){ LambdaQueryWrapper wrapper =new LambdaQueryWrapper<>(); System.out.println("----------------------------"+clientService.findClientId()); PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); if(SecurityUtils.getClientId()!=null){//客户 if(clientService.findClientId()){//二级客户 PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); wrapper= Wrappers.lambdaQuery(AliConfigEntity.class).eq(AliConfigEntity::getCreateUserId,SecurityUtils.getUserId()); }else if(!clientService.findClientId()){//一级客户 PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); wrapper= Wrappers.lambdaQuery(AliConfigEntity.class).eq(AliConfigEntity::getClientId,SecurityUtils.getUserId()); } } else {//管理 PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); wrapper= Wrappers.lambdaQuery(AliConfigEntity.class); } if(!keyword.isEmpty()){ wrapper= wrapper.like(AliConfigEntity::getConfigId,keyword).or( getAppId->{ getAppId.like(AliConfigEntity::getAppId,keyword); } ).or( getPid->{ getPid.like(AliConfigEntity::getPid,keyword); } ).or( getPublicKey->{ getPublicKey.like(AliConfigEntity::getPublicKey,keyword); } ).or( getPrivateKey->{ getPrivateKey.like(AliConfigEntity::getPrivateKey,keyword); } ); } return list(wrapper); } }