diff --git a/src/main/java/com/qs/serve/common/model/dto/TargetDTO.java b/src/main/java/com/qs/serve/common/model/dto/TargetDTO.java index 15b38b96..b4821cb6 100644 --- a/src/main/java/com/qs/serve/common/model/dto/TargetDTO.java +++ b/src/main/java/com/qs/serve/common/model/dto/TargetDTO.java @@ -13,4 +13,17 @@ public class TargetDTO { String targetId; String targetCode; String targetName; + + public TargetDTO(String targetId, String targetCode, String targetName) { + this.targetId = targetId; + this.targetCode = targetCode; + this.targetName = targetName; + } + + //拜访相关业务 + String localX; + String localY; + String address; + String mapAddress; + } diff --git a/src/main/java/com/qs/serve/modules/baz/controller/BazVisitInstanceController.java b/src/main/java/com/qs/serve/modules/baz/controller/BazVisitInstanceController.java index 27bdfe56..ec80a73c 100644 --- a/src/main/java/com/qs/serve/modules/baz/controller/BazVisitInstanceController.java +++ b/src/main/java/com/qs/serve/modules/baz/controller/BazVisitInstanceController.java @@ -76,6 +76,8 @@ public class BazVisitInstanceController { @GetMapping("/getByFlowId/{id}") public R getByFlowId(@PathVariable("id") String id){ BazVisitInstanceFlow instanceFlow = bazVisitInstanceFlowService.getById(id); + BazVisitInstance visitInstance = bazVisitInstanceService.getById(instanceFlow.getVisitInstanceId()); + instanceFlow.setInstanceMainInfo(visitInstance); return R.ok(instanceFlow); } diff --git a/src/main/java/com/qs/serve/modules/baz/entity/BazVisitInfo.java b/src/main/java/com/qs/serve/modules/baz/entity/BazVisitInfo.java new file mode 100644 index 00000000..edc3429e --- /dev/null +++ b/src/main/java/com/qs/serve/modules/baz/entity/BazVisitInfo.java @@ -0,0 +1,117 @@ +package com.qs.serve.modules.baz.entity; + +import java.time.LocalDate; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 供应商拜访信息 实体类 + * @author YenHex + * @since 2023-04-10 + */ +@Data +@TableName("baz_visit_info") +public class BazVisitInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 访问id */ + @NotNull(message = "访问id不能为空") + private Long visitId; + + /** 目标类型 */ + @NotBlank(message = "目标类型不能为空") + @Length(max = 255,message = "目标类型长度不能超过255字") + private String targetType; + + /** 目标id */ + @NotNull(message = "目标id不能为空") + private String targetId; + + /** 拜访次数 */ + @NotNull(message = "拜访次数不能为空") + private Integer visitCount; + + /** 上次拜访时间 */ + @Length(max = 0,message = "上次拜访时间长度不能超过0字") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime lastVisitTime; + + /** 计划下一次拜访时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private LocalDate nextVisitDate; + + /** 备注 */ + @Length(max = 255,message = "备注长度不能超过255字") + private String remark; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 最后更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 所属租户 */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 逻辑删除标记(0:显示;1:隐藏) */ + @JsonIgnore + @JsonProperty + private String delFlag; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + + + public static BazVisitInfo toNewObject(BazVisitInfo source){ + BazVisitInfo visitInfo = new BazVisitInfo(); + visitInfo.setId(source.getId()); + visitInfo.setVisitId(source.getVisitId()); + visitInfo.setTargetType(source.getTargetType()); + visitInfo.setTargetId(source.getTargetId()); + visitInfo.setVisitCount(source.getVisitCount()); + visitInfo.setLastVisitTime(source.getLastVisitTime()); + visitInfo.setNextVisitDate(source.getNextVisitDate()); + visitInfo.setRemark(source.getRemark()); + visitInfo.setCreateTime(source.getCreateTime()); + visitInfo.setUpdateTime(source.getUpdateTime()); + visitInfo.setTenantId(source.getTenantId()); + visitInfo.setDelFlag(source.getDelFlag()); + visitInfo.setCreateBy(source.getCreateBy()); + visitInfo.setUpdateBy(source.getUpdateBy()); + return visitInfo; + } + +} + diff --git a/src/main/java/com/qs/serve/modules/baz/entity/BazVisitInstance.java b/src/main/java/com/qs/serve/modules/baz/entity/BazVisitInstance.java index 505986b9..21f179b4 100644 --- a/src/main/java/com/qs/serve/modules/baz/entity/BazVisitInstance.java +++ b/src/main/java/com/qs/serve/modules/baz/entity/BazVisitInstance.java @@ -80,6 +80,10 @@ public class BazVisitInstance implements Serializable { @NotBlank(message = "目标名称不能为空") @Length(max = 255,message = "目标名称长度不能超过255字") private String targetName; + private String targetLocalX; + private String targetLocalY; + private String targetAddress; + private String targetMapAddress; /** 备注 */ @Length(max = 255,message = "备注长度不能超过255字") diff --git a/src/main/java/com/qs/serve/modules/baz/entity/BazVisitInstanceFlow.java b/src/main/java/com/qs/serve/modules/baz/entity/BazVisitInstanceFlow.java index fa567591..cb039680 100644 --- a/src/main/java/com/qs/serve/modules/baz/entity/BazVisitInstanceFlow.java +++ b/src/main/java/com/qs/serve/modules/baz/entity/BazVisitInstanceFlow.java @@ -166,6 +166,8 @@ public class BazVisitInstanceFlow implements Serializable { @TableField(fill = FieldFill.UPDATE) private String updateBy; + @TableField(exist = false) + private Object instanceMainInfo; public static BazVisitInstanceFlow toNewObject(BazVisitFlow source, TargetDTO targetDTO, SysUser user){ BazVisitInstanceFlow visitInstanceFlow = new BazVisitInstanceFlow(); diff --git a/src/main/java/com/qs/serve/modules/baz/mapper/BazVisitInfoMapper.java b/src/main/java/com/qs/serve/modules/baz/mapper/BazVisitInfoMapper.java new file mode 100644 index 00000000..0e77b807 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/baz/mapper/BazVisitInfoMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.baz.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.baz.entity.BazVisitInfo; + +/** + * 供应商拜访信息 Mapper + * @author YenHex + * @date 2023-04-10 + */ +public interface BazVisitInfoMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/baz/service/BazVisitInfoService.java b/src/main/java/com/qs/serve/modules/baz/service/BazVisitInfoService.java new file mode 100644 index 00000000..c9b1211a --- /dev/null +++ b/src/main/java/com/qs/serve/modules/baz/service/BazVisitInfoService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.baz.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.baz.entity.BazVisitInfo; + +/** + * 供应商拜访信息 服务接口 + * @author YenHex + * @date 2023-04-10 + */ +public interface BazVisitInfoService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitInfoServiceImpl.java b/src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitInfoServiceImpl.java new file mode 100644 index 00000000..5d55cd20 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitInfoServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.baz.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.baz.entity.BazVisitInfo; +import com.qs.serve.modules.baz.service.BazVisitInfoService; +import com.qs.serve.modules.baz.mapper.BazVisitInfoMapper; + +/** + * 供应商拜访信息 服务实现类 + * @author YenHex + * @since 2023-04-10 + */ +@Slf4j +@Service +@AllArgsConstructor +public class BazVisitInfoServiceImpl extends ServiceImpl implements BazVisitInfoService { + +} + diff --git a/src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitInstanceServiceImpl.java b/src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitInstanceServiceImpl.java index 9b8a20d5..6eab2be7 100644 --- a/src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitInstanceServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/baz/service/impl/BazVisitInstanceServiceImpl.java @@ -16,12 +16,12 @@ import com.qs.serve.modules.baz.mapper.BazVisitFlowMapper; import com.qs.serve.modules.baz.mapper.BazVisitInstanceFlowMapper; import com.qs.serve.modules.baz.mapper.BazVisitMapper; import com.qs.serve.modules.baz.service.BazVisitInstanceFlowService; -import com.qs.serve.modules.bms.entity.BmsChannelPoint; -import com.qs.serve.modules.bms.entity.BmsSupplier; -import com.qs.serve.modules.bms.entity.BmsSupplierVisitForm; +import com.qs.serve.modules.bms.entity.*; import com.qs.serve.modules.bms.mapper.BmsChannelPointMapper; import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; +import com.qs.serve.modules.bms.mapper.BmsSupplierVisitAddressMapper; import com.qs.serve.modules.bms.mapper.BmsSupplierVisitFormMapper; +import com.qs.serve.modules.bms.service.BmsSupplierVisitAddressService; import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.mapper.SysUserMapper; import lombok.AllArgsConstructor; @@ -47,6 +47,7 @@ public class BazVisitInstanceServiceImpl extends ServiceImpl instanceFlowList = new ArrayList<>(); @@ -125,8 +140,8 @@ public class BazVisitInstanceServiceImpl extends ServiceImpl updateById(@RequestBody BmsChannelPointMapInfoBo param){ BmsChannelPoint channelPoint = CopierUtil.copy(param,new BmsChannelPoint()); bmsChannelPointService.updateById(channelPoint); + if(!StringUtils.hasText(param.getLocalX())||!StringUtils.hasText(param.getLocalY())){ + channelPointMapper.updateSetNullOfMapInfo(param.getId()); + } return R.ok(); } diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierVisitAddressController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierVisitAddressController.java index ca32e077..64f4f8d4 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierVisitAddressController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierVisitAddressController.java @@ -8,6 +8,9 @@ import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.*; +import com.qs.serve.modules.baz.common.BazTargetTypeConsts; +import com.qs.serve.modules.baz.entity.BazVisitInfo; +import com.qs.serve.modules.baz.service.BazVisitInfoService; import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.entity.BmsSupplierVisit; import com.qs.serve.modules.bms.entity.so.BmsSupplierVisitSo; @@ -41,8 +44,8 @@ import java.util.stream.Collectors; @RequestMapping("bms/supplierVisitAddress") public class BmsSupplierVisitAddressController { + private BazVisitInfoService bazVisitInfoService; private BmsSupplierVisitAddressService bmsSupplierVisitAddressService; - private BmsSupplierVisitService bmsSupplierVisitService; private BmsSupplierService bmsSupplierService; private HisUserSupplierService hisUserSupplierService; private HisUserSupplierMapper hisUserSupplierMapper; @@ -92,8 +95,12 @@ public class BmsSupplierVisitAddressController { addressVo.setSupplierCode(supplier.getCode()); addressVo.setSupplierName(supplier.getName()); BmsSupplierVisitAddress visitAddress = bmsSupplierVisitAddressService.getById(addressVo.getAddressId()); - BmsSupplierVisit visitInfo = bmsSupplierVisitService.getOne(new LambdaQueryWrapper().eq(BmsSupplierVisit::getSupplierId,supplier.getId()),false); + //BmsSupplierVisit visitInfo = bmsSupplierVisitService.getOne(new LambdaQueryWrapper().eq(BmsSupplierVisit::getSupplierId,supplier.getId()),false); addressVo.setAddressInfo(visitAddress); + LambdaQueryWrapper visitInfoLqw = new LambdaQueryWrapper<>(); + visitInfoLqw.eq(BazVisitInfo::getTargetType, BazTargetTypeConsts.CUSTOMER); + visitInfoLqw.eq(BazVisitInfo::getTargetId,supplier.getId()); + BazVisitInfo visitInfo = bazVisitInfoService.getOne(visitInfoLqw,false); addressVo.setVisitInfo(visitInfo); break; } diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsChannelPoint.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsChannelPoint.java index 8d571605..aae2f907 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsChannelPoint.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsChannelPoint.java @@ -7,7 +7,9 @@ import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; +import com.qs.serve.common.framework.mybatis.handler.meta.SplitStringTypeHandler; import lombok.Data; +import org.apache.ibatis.type.JdbcType; import org.hibernate.validator.constraints.Length; import org.springframework.format.annotation.DateTimeFormat; @@ -20,7 +22,7 @@ import javax.validation.constraints.NotBlank; * @since 2022-11-07 */ @Data -@TableName("bms_channel_point") +@TableName(value = "bms_channel_point",autoResultMap = true) public class BmsChannelPoint implements Serializable { private static final long serialVersionUID = 1L; @@ -106,6 +108,10 @@ public class BmsChannelPoint implements Serializable { @Length(max = 255,message = "备注长度不能超过255字") private String remark; + /** 图片多张用句号隔开 */ + @TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR) + private String[] photos; + /** 创建时间 */ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") diff --git a/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsChannelPointMapInfoBo.java b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsChannelPointMapInfoBo.java index ac96e83a..7e0eb7c5 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsChannelPointMapInfoBo.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsChannelPointMapInfoBo.java @@ -32,4 +32,8 @@ public class BmsChannelPointMapInfoBo { @Length(max = 255,message = "地图地址长度不能超过255字") private String mapAddress; + private String address; + + private String[] photos; + } diff --git a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsUserPoint4VisitVo.java b/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsUserPoint4VisitVo.java index 3c3ad40e..71f38a1a 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsUserPoint4VisitVo.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/vo/BmsUserPoint4VisitVo.java @@ -31,5 +31,8 @@ public class BmsUserPoint4VisitVo { /** 距离 */ Double distance; + String localX; + String localY; + } diff --git a/src/main/java/com/qs/serve/modules/bms/mapper/BmsChannelPointMapper.java b/src/main/java/com/qs/serve/modules/bms/mapper/BmsChannelPointMapper.java index d98111fb..c1c8942f 100644 --- a/src/main/java/com/qs/serve/modules/bms/mapper/BmsChannelPointMapper.java +++ b/src/main/java/com/qs/serve/modules/bms/mapper/BmsChannelPointMapper.java @@ -25,6 +25,10 @@ public interface BmsChannelPointMapper extends BaseMapper { @Update("update bms_channel_point set biz_region_path = #{bizRegionPath} where biz_region_id = #{bizRegionId}") int udpateBizRegionPathByBizRegionId(@Param("bizRegionPath") String bizRegionPath,String bizRegionId); + @InterceptorIgnore(tenantLine = "1") + @Update("update bms_channel_point set local_x = null,local_y=null where id = #{id}") + int updateSetNullOfMapInfo(@Param("id") Long id); + List selectChannelPointList(@Param("query") BmsChannelPoint channelPoint); diff --git a/src/main/resources/mapper/bms/BmsChannelPointMapper.xml b/src/main/resources/mapper/bms/BmsChannelPointMapper.xml index 890e4089..8dc0ddea 100644 --- a/src/main/resources/mapper/bms/BmsChannelPointMapper.xml +++ b/src/main/resources/mapper/bms/BmsChannelPointMapper.xml @@ -21,6 +21,9 @@ + + + @@ -52,6 +55,9 @@ bms_channel_point.`create_time`, bms_channel_point.`update_time`, bms_channel_point.`tenant_id`, + bms_channel_point.`local_x`, + bms_channel_point.`local_y`, + bms_channel_point.`map_address`, bms_channel_point.`del_flag`, bms_channel_point.`cost_flag`, bms_channel_point.`create_by`, @@ -102,6 +108,8 @@ + +