|  |  | 
 |  |  | import com.mzl.flower.dto.request.customer.ChangePartnerDTO; | 
 |  |  | import com.mzl.flower.dto.request.customer.QueryCustomerDTO; | 
 |  |  | import com.mzl.flower.dto.request.customer.UpdateCustomerDTO; | 
 |  |  | import com.mzl.flower.dto.request.menber.UserGrowthRecordDTO; | 
 |  |  | import com.mzl.flower.dto.response.customer.CustomerDTO; | 
 |  |  | import com.mzl.flower.dto.response.partner.PartnerDTO; | 
 |  |  | import com.mzl.flower.entity.customer.Customer; | 
 |  |  | import com.mzl.flower.entity.partner.Partner; | 
 |  |  | import com.mzl.flower.enums.TrueOrFalseEnum; | 
 |  |  | import com.mzl.flower.mapper.customer.CustomerMapper; | 
 |  |  | import com.mzl.flower.mapper.partner.PartnerMapper; | 
 |  |  | import com.mzl.flower.service.menber.MemberGrowthRecordService; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import com.mzl.flower.service.BaseService; | 
 |  |  | import org.apache.commons.lang3.StringUtils; | 
 |  |  | import org.springframework.beans.BeanUtils; | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  | import org.springframework.transaction.annotation.Transactional; | 
 |  |  | import org.springframework.util.ObjectUtils; | 
 |  |  |  | 
 |  |  | import javax.annotation.Resource; | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | @Service | 
 |  |  | 
 |  |  |     private final CustomerMapper customerMapper; | 
 |  |  |  | 
 |  |  |     private final PartnerMapper partnerMapper; | 
 |  |  |     @Resource | 
 |  |  |     private MemberGrowthRecordService memberGrowthRecordService; | 
 |  |  |  | 
 |  |  |     @Resource | 
 |  |  |     private BaseService baseService; | 
 |  |  |  | 
 |  |  |     public CustomerService(CustomerMapper customerMapper, PartnerMapper partnerMapper) { | 
 |  |  |         this.customerMapper = customerMapper; | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public CustomerDTO getCurrentCustomer() { | 
 |  |  |         return customerMapper.getCurrentCustomer(SecurityUtils.getUserId()); | 
 |  |  |         CustomerDTO currentCustomer = customerMapper.getCurrentCustomer(SecurityUtils.getUserId()); | 
 |  |  |         UserGrowthRecordDTO userGrowthRecordDTO = memberGrowthRecordService.getInfoByUserId(SecurityUtils.getUserId()); | 
 |  |  |         if(!ObjectUtils.isEmpty(userGrowthRecordDTO)){ | 
 |  |  |             currentCustomer.setUserGrowthRecord(userGrowthRecordDTO); | 
 |  |  |         } | 
 |  |  |         return currentCustomer; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public PartnerDTO getCurrentBindPartner() { | 
 |  |  | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             customer.create(SecurityUtils.getUserId()); | 
 |  |  |             customer.setIsEnabled(true); | 
 |  |  |             customer.setLevelId(Long.valueOf(Constants.DEFAULT_MEMBER_ID)); | 
 |  |  |             customerMapper.insert(customer); | 
 |  |  |         } else {//重新修改 | 
 |  |  |             customer = customerMapper.selectById(dto.getId()); | 
 |  |  | 
 |  |  |         if (StringUtils.isNotBlank(c.getPartnerId()) || StringUtils.isNotBlank(c.getPartnerUserId())) { | 
 |  |  |             throw new ValidationException("商户已绑定合伙人,请联系客服人员进行解绑后再进行绑定"); | 
 |  |  |         } | 
 |  |  | //        Partner partner = partnerMapper.selectOne(new QueryWrapper<Partner>() | 
 |  |  | //                .eq("user_id", dto.getPartnerUserId())); | 
 |  |  |         List<Partner> partners = partnerMapper.getByIdOrUserId(dto.getPartnerUserId()); //适配id和userId | 
 |  |  |         if(partners== null || partners.size() == 0){ | 
 |  |  |         Partner partner; | 
 |  |  |         try { | 
 |  |  |             long id = Long.parseLong(dto.getPartnerUserId()); | 
 |  |  |             partner = partnerMapper.selectById(id); | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             partner =partnerMapper.selectOne(new QueryWrapper<Partner>().eq("user_id", dto.getPartnerUserId())); | 
 |  |  |         } | 
 |  |  |         if (partner == null) { | 
 |  |  |             throw new ValidationException("合伙人不存在"); | 
 |  |  |         } | 
 |  |  |         if(partners.size() > 1){ | 
 |  |  |             log.error("合伙人信息重复,userId:{}", dto.getPartnerUserId()); | 
 |  |  |         } | 
 |  |  |         Partner partner = partners.get(0); | 
 |  |  |         if (!"P".equals(partner.getStatus())) { | 
 |  |  |             throw new ValidationException("合伙人信息未审核通过,请联系客服人员"); | 
 |  |  |         } | 
 |  |  | 
 |  |  |  | 
 |  |  |     public String getPartnerName(String partnerUserId) { | 
 |  |  |         if (StringUtils.isNotBlank(partnerUserId)) { | 
 |  |  |             List<Partner> partners = partnerMapper.getByIdOrUserId(partnerUserId); //适配id和userId | 
 |  |  |             if(partners== null || partners.size() == 0){ | 
 |  |  |                 throw new ValidationException("合伙人不存在"); | 
 |  |  |             Partner partner; | 
 |  |  |             try { | 
 |  |  |                 long id = Long.parseLong(partnerUserId); | 
 |  |  |                 partner = partnerMapper.selectById(id); | 
 |  |  |             } catch (Exception e) { | 
 |  |  |                 partner =partnerMapper.selectOne(new QueryWrapper<Partner>().eq("user_id", partnerUserId)); | 
 |  |  |             } | 
 |  |  |             if(partners.size() > 1){ | 
 |  |  |                 log.error("合伙人信息重复,userId:{}", partnerUserId); | 
 |  |  |             } | 
 |  |  |             Partner partner = partners.get(0); | 
 |  |  |             if (partner == null) { | 
 |  |  |                 throw new ValidationException("合伙人不存在"); | 
 |  |  |             } | 
 |  |  | 
 |  |  |         } | 
 |  |  |         return null; | 
 |  |  |     } | 
 |  |  |     public void isEnable(Long id) { | 
 |  |  |         Customer customer = customerMapper.selectById(id); | 
 |  |  |         if (customer == null) { | 
 |  |  |             throw new ValidationException("商户信息不存在"); | 
 |  |  |         } | 
 |  |  |         if (customer.getIsEnabled()) { | 
 |  |  |             customer.setIsEnabled(false); | 
 |  |  |             //强制下线 | 
 |  |  |             baseService.removeToken(customer.getUserId()); | 
 |  |  |         } else { | 
 |  |  |             customer.setIsEnabled(true); | 
 |  |  |         } | 
 |  |  |         customer.update(SecurityUtils.getUserId()); | 
 |  |  |         customerMapper.updateById(customer); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 根据会员等级获取等级下的customer信息 | 
 |  |  |      * @param levelId | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public List<Customer> getCustomerListByLevelId(Integer levelId){ | 
 |  |  |         if(null != levelId){ | 
 |  |  |             QueryWrapper<Customer> customerQueryWrapper=new QueryWrapper<>(); | 
 |  |  |             customerQueryWrapper.lambda() | 
 |  |  |                     .eq(Customer::getDeleted, TrueOrFalseEnum.FALSE.isFlag()) | 
 |  |  |                     .eq(Customer::getLevelId,levelId); | 
 |  |  |             return customerMapper.selectList(customerQueryWrapper); | 
 |  |  |         } | 
 |  |  |         return null; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |