diff --git a/ad-platform-pojo/src/main/java/com/baiye/model/base/BaseEntity.java b/ad-platform-pojo/src/main/java/com/baiye/model/base/BaseEntity.java index 464fd459..328f278b 100644 --- a/ad-platform-pojo/src/main/java/com/baiye/model/base/BaseEntity.java +++ b/ad-platform-pojo/src/main/java/com/baiye/model/base/BaseEntity.java @@ -27,7 +27,6 @@ import javax.persistence.Column; import javax.persistence.EntityListeners; import javax.persistence.MappedSuperclass; import java.io.Serializable; -import java.lang.reflect.Field; import java.sql.Timestamp; /** diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/dao/NidLocationRepository.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/dao/NidLocationRepository.java new file mode 100644 index 00000000..bb49913e --- /dev/null +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/dao/NidLocationRepository.java @@ -0,0 +1,23 @@ +package com.baiye.module.dao; + +import com.baiye.module.entity.NidLocation; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.stereotype.Repository; + +/** + * @author Enzo + * @date 2023-7-4 + */ +@Repository +public interface NidLocationRepository extends JpaRepository, JpaSpecificationExecutor { + + /** + * 代理商名称查找 + * + * @param phone + * @return + */ + NidLocation findByPhone(String phone); + +} diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/Clue.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/Clue.java index 450178cc..36b19d97 100644 --- a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/Clue.java +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/Clue.java @@ -6,11 +6,10 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import javax.persistence.*; -import lombok.Data; - /** * Clue diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/ClueBackups.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/ClueBackups.java index 3e589ce0..21f1affe 100644 --- a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/ClueBackups.java +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/ClueBackups.java @@ -2,9 +2,6 @@ package com.baiye.module.entity; import com.baiye.util.JpaConverterAes; import com.baiye.util.JpaConverterListJson; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/ClueRecord.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/ClueRecord.java index 41ee3fce..98b1c70c 100644 --- a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/ClueRecord.java +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/ClueRecord.java @@ -2,15 +2,14 @@ package com.baiye.module.entity; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; - -import javax.persistence.*; - -import lombok.*; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; import org.hibernate.annotations.CreationTimestamp; import org.springframework.data.jpa.domain.support.AuditingEntityListener; +import javax.persistence.*; import java.io.Serializable; import java.util.Date; diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/ClueTalk.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/ClueTalk.java index 2cd7154b..b8357533 100644 --- a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/ClueTalk.java +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/ClueTalk.java @@ -3,7 +3,6 @@ package com.baiye.module.entity; import com.baiye.model.entity.BaseClueMiddle; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import lombok.Data; import lombok.Getter; import lombok.Setter; diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/NidLocation.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/NidLocation.java new file mode 100644 index 00000000..d6ebc65c --- /dev/null +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/NidLocation.java @@ -0,0 +1,73 @@ +package com.baiye.module.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.springframework.data.jpa.domain.support.AuditingEntityListener; + +import javax.persistence.*; +import java.io.Serializable; + +/** + * @author Enzo + * @date : 2022/1/24 + */ +@Getter +@Setter +@Entity +@Table(name = "tb_nid_location") +@EntityListeners(AuditingEntityListener.class) +public class NidLocation implements Serializable { + + private static final long serialVersionUID = 7829398714372705588L; + + @Id + @Column(name = "id") + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @ApiModelProperty("前缀") + @Column(name = "pref") + private String pref; + + @ApiModelProperty("号码") + @Column(name = "phone") + private String phone; + + @ApiModelProperty("所属省份") + @Column(name = "province") + private String province; + + @ApiModelProperty("简称") + @Column(name = "city") + private String city; + + @ApiModelProperty("区号") + @Column(name = "city_code") + private String cityCode; + + @ApiModelProperty("原始运营商") + @Column(name = "isp") + private String isp; + + @ApiModelProperty("邮政编码") + @Column(name = "post_code") + private String postCode; + + + @ApiModelProperty("邮政编码") + @Column(name = "area_code") + private String areaCode; + + @ApiModelProperty("邮政编码") + @Column(name = "pro_id") + private Integer proId; + + @ApiModelProperty("城市id") + @Column(name = "city_id") + private Integer cityId; + + + + +} diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/OceanEngineClueId.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/OceanEngineClueId.java index f5bea6ac..40731973 100644 --- a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/OceanEngineClueId.java +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/OceanEngineClueId.java @@ -4,7 +4,10 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; -import javax.persistence.*; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; /** * @author jt diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/PublicCluePool.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/PublicCluePool.java index 53357696..bea8d2c2 100644 --- a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/PublicCluePool.java +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/PublicCluePool.java @@ -2,7 +2,6 @@ package com.baiye.module.entity; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/ReportTokerCall.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/ReportTokerCall.java index bd8fef9b..233648ed 100644 --- a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/ReportTokerCall.java +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/ReportTokerCall.java @@ -1,14 +1,12 @@ package com.baiye.module.entity; import cn.hutool.core.date.DateUtil; -import com.baiye.model.dto.HomePageReportDTO; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; -import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import javax.persistence.*; diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/Task.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/Task.java index b1d000da..01b8875d 100644 --- a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/Task.java +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/Task.java @@ -5,7 +5,10 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import javax.persistence.*; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; @Data @Entity diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/TurnCrmLog.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/TurnCrmLog.java index 49b34099..fd5c7cab 100644 --- a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/TurnCrmLog.java +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/entity/TurnCrmLog.java @@ -4,7 +4,10 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import javax.persistence.*; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; import java.io.Serializable; /** diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/service/NidLocationService.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/service/NidLocationService.java new file mode 100644 index 00000000..a589493e --- /dev/null +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/service/NidLocationService.java @@ -0,0 +1,21 @@ +package com.baiye.module.service; + + +import com.baiye.module.entity.NidLocation; + +/** + * @author Enzo + * @date 2023-7-4 + */ +public interface NidLocationService { + + + + /** + * 城市编码查询 + * @param phone + * @return + */ + NidLocation findByPhone(String phone); + +} diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java index 46551277..ac6b692b 100644 --- a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java @@ -2,6 +2,7 @@ package com.baiye.module.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; @@ -19,6 +20,7 @@ import com.baiye.module.entity.*; import com.baiye.module.listener.dto.BaseExcelListenerDto; import com.baiye.module.request.ReqOceanEngineApi; import com.baiye.module.service.ClueService; +import com.baiye.module.service.NidLocationService; import com.baiye.module.service.dto.ClueRecordCriteria; import com.baiye.task.ClueBackupsTask; import com.baiye.util.*; @@ -46,6 +48,7 @@ public class ClueServiceImpl implements ClueService { private final ClueRepository clueRepository; private final ClueRecordRepository clueRecordRepository; private final ClueMiddleRepository clueMiddleRepository; + private final NidLocationService nidLocationService; private final ClueTalkRepository clueTalkRepository; private final ClueJpa clueJpa; private final OrganizeClient organizeClient; @@ -1104,11 +1107,14 @@ public class ClueServiceImpl implements ClueService { continue; } Clue clue = new Clue(); - clue.setNid(phone); - clue.setCreateBy(userId); + NidLocation byPhone = nidLocationService.findByPhone(phone.substring(DefaultNumberConstants.ZERO_NUMBER, DefaultNumberConstants.SEVEN_NUMBER)); + clue.setAddress(ObjectUtil.isNotNull(byPhone) && StringUtils.isNotBlank(byPhone.getProvince()) + && StringUtils.isNotBlank(byPhone.getCity()) ? byPhone.getProvince().concat(byPhone.getCity()) : CharSequenceUtil.EMPTY); + clue.setIsEncryption(DefaultNumberConstants.ONE_NUMBER); clue.setCastInfo(tagList.get(i)); + clue.setCreateBy(userId); clue.setRouteId(0L); - clue.setIsEncryption(DefaultNumberConstants.ONE_NUMBER); + clue.setNid(phone); Clue save = clueRepository.save(clue); ClueTalk clueTalk = new ClueTalk(save.getId(), taskId, memberStatus, 0, 0, 0, num, new Date(), memberId); clueTalkRepository.save(clueTalk); diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/service/impl/NidLocationServiceImpl.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/service/impl/NidLocationServiceImpl.java new file mode 100644 index 00000000..4005b4ee --- /dev/null +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/service/impl/NidLocationServiceImpl.java @@ -0,0 +1,26 @@ +package com.baiye.module.service.impl; + +import com.baiye.module.dao.NidLocationRepository; +import com.baiye.module.entity.NidLocation; +import com.baiye.module.service.NidLocationService; +import lombok.RequiredArgsConstructor; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.stereotype.Service; + +/** + * @author Enzo + * @date : 2023-7-4 + */ +@Service +@RequiredArgsConstructor +public class NidLocationServiceImpl implements NidLocationService { + + private final NidLocationRepository nidLocationRepository; + + @Override + @Cacheable(cacheNames = "locationCache", key = "#phone") + public NidLocation findByPhone(String phone) { + return nidLocationRepository.findByPhone(phone); + } + +} diff --git a/ad-platform-services/ad-platform-source/src/test/java/CustomTest.java b/ad-platform-services/ad-platform-source/src/test/java/CustomTest.java index 777de074..024cc186 100644 --- a/ad-platform-services/ad-platform-source/src/test/java/CustomTest.java +++ b/ad-platform-services/ad-platform-source/src/test/java/CustomTest.java @@ -1,6 +1,10 @@ +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.baiye.AdPlatformSourceApplication; import com.baiye.constant.SecurityConstants; import com.baiye.feign.DeliveryRecordClient; +import com.baiye.module.entity.NidLocation; +import com.baiye.module.service.NidLocationService; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; @@ -24,10 +28,22 @@ public class CustomTest { private DeliveryRecordClient deliveryRecordClient; + @Resource + private NidLocationService nidLocationService; + + + @Test public void getSetting() { deliveryRecordClient.updateQuantity(622L, 4, SecurityConstants.FROM_IN); } + @Test + public void getProvince() { + NidLocation byPhone = nidLocationService.findByPhone("13586541001".substring(0, 10)); + String s = ObjectUtil.isNotNull(byPhone) ? byPhone.getProvince().concat(byPhone.getCity()) : StrUtil.EMPTY; + System.out.println(s); + } + }