From 3369382c61a1553ca3864d42994fb6d364ab7bb2 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Wed, 2 Apr 2025 19:10:22 +0800 Subject: [PATCH] fix --- .../java/com/cool/store/enums/OpTypeEnum.java | 38 ++ .../java/com/cool/store/dao/PointInfoDAO.java | 20 +- .../cool/store/mapper/PointInfoMapper.java | 17 +- .../main/resources/mapper/PointInfoMapper.xml | 32 +- .../resources/mapper/PointRecommendMapper.xml | 370 +++++++++--------- .../java/com/cool/store/dto/MiniShopDTO.java | 19 + .../store/dto/point/MiniPointPageDTO.java | 11 + .../store/request/AddPointDetailRequest.java | 23 ++ .../request/AddSignFranchiseRequest.java | 5 + .../store/request/JoinIntentionRequest.java | 6 + .../store/request/MiniAddPointRequest.java | 3 + .../request/UpdatePointDetailRequest.java | 5 + .../request/oppty/BerthOperationRequest.java | 7 +- .../cool/store/vo/point/MiniPointPageVO.java | 3 + .../service/OpportunityPointService.java | 19 + .../com/cool/store/service/PointService.java | 5 +- .../impl/OpportunityPointServiceImpl.java | 39 ++ .../store/service/impl/PointServiceImpl.java | 59 ++- .../impl/SignFranchiseServiceImpl.java | 1 + .../controller/webb/PointController.java | 4 +- .../webc/MiniOpportunityPointController.java | 35 ++ 21 files changed, 521 insertions(+), 200 deletions(-) create mode 100644 coolstore-partner-common/src/main/java/com/cool/store/enums/OpTypeEnum.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/MiniShopDTO.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/OpportunityPointService.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpportunityPointServiceImpl.java create mode 100644 coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniOpportunityPointController.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/OpTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/OpTypeEnum.java new file mode 100644 index 000000000..8b6ff08fd --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/OpTypeEnum.java @@ -0,0 +1,38 @@ +package com.cool.store.enums; + +/** + * @Author: WangShuo + * @Date: 2025/04/02/16:44 + * @Version 1.0 + * @注释: + */ +public enum OpTypeEnum { + //操作类型: 1(新增), 2(更新), 3(删除) + INSERT(1, "新增"), + UPDATE(2, "更新"), + DELETE(3, "删除"); + + private Integer code; + private String name; + + OpTypeEnum(Integer code, String name) { + this.code = code; + this.name = name; + } + + public Integer getCode() { + return code; + } + + public void setCode(Integer code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointInfoDAO.java index 0ec63e783..b97a853d0 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/PointInfoDAO.java @@ -2,6 +2,7 @@ package com.cool.store.dao; import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; import com.cool.store.constants.CommonConstants; +import com.cool.store.dto.MiniShopDTO; import com.cool.store.dto.point.LineCountDTO; import com.cool.store.entity.PointInfoDO; import com.cool.store.mapper.PointInfoMapper; @@ -18,6 +19,7 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Repository; +import tk.mybatis.mapper.entity.Example; import javax.annotation.Resource; import java.util.List; @@ -120,12 +122,26 @@ public class PointInfoDAO { return pointInfoMapper.recyclePoint(pointId); } - public List getMiniPointPage(MiniPointPageRequest request ) { - List pointInfoDOPage = pointInfoMapper.MiniPointPageVO(request); + public List getMiniPointPage(String eid,MiniPointPageRequest request ) { + List pointInfoDOPage = pointInfoMapper.MiniPointPageVO(eid,request); if(CollectionUtils.isEmpty(pointInfoDOPage)){ return Lists.newArrayList(); } return pointInfoDOPage ; } + + public List getPointByOpportunityPointCode(String code){ + if (StringUtils.isBlank(code)){ + return null; + } + return pointInfoMapper.getPointByOpportunityPointCode(code); + } + + public List getShopByOpportunityPointCode(String eid,String code){ + if (StringUtils.isBlank(code)){ + return null; + } + return pointInfoMapper.getShopByOpportunityPointCode(eid,code); + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointInfoMapper.java index 884112e28..a614fd133 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/PointInfoMapper.java @@ -1,5 +1,6 @@ package com.cool.store.mapper; +import com.cool.store.dto.MiniShopDTO; import com.cool.store.dto.point.LineCountDTO; import com.cool.store.entity.PointInfoDO; import com.cool.store.request.AllPointPageRequest; @@ -96,5 +97,19 @@ public interface PointInfoMapper extends Mapper { * @Date: 2025/3/31 * @description:获取铺位部分数据 */ - List MiniPointPageVO(@Param("request") MiniPointPageRequest request); + List MiniPointPageVO(@Param("enterpriseId") String enterpriseId , @Param("request") MiniPointPageRequest request); + + /** + * @Auther: wangshuo + * @Date: 2025/4/2 + * @description:根据机会点code获取铺位信息 + */ + List getPointByOpportunityPointCode(@Param("code") String code); + + /** + * @Auther: wangshuo + * @Date: 2025/4/2 + * @description:根据机会点code获取门店信息 + */ + List getShopByOpportunityPointCode(@Param("enterpriseId") String enterpriseId, @Param("code") String code); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/PointInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/PointInfoMapper.xml index 8b2ec3158..578c32637 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/PointInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/PointInfoMapper.xml @@ -238,15 +238,43 @@ c.picture_obj as pictureObj, a.point_area as pointArea, c.landlord_mobile as landlordMobile, - c.month_rent as monthRent + c.month_rent as monthRent, + d.store_name as openShopName from xfsg_point_info a - left join xfsg_point_recommend b on a.id = b.point_id + left JOIN xfsg_shop_info b ON a.shop_id = b.id LEFT JOIN xfsg_point_detail_info c on a.id = c.point_id + left JOIN store_${enterpriseId} d ON b.shop_code = d.store_num and (a.province_code = #{request.areaCode} or a.city_code = #{request.areaCode} or a.district_code = #{request.areaCode}) + + update xfsg_point_info set line_id = null, shop_id = null, select_status = 0, update_time = now(), point_status diff --git a/coolstore-partner-dao/src/main/resources/mapper/PointRecommendMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/PointRecommendMapper.xml index c9942630a..e2a4498b1 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/PointRecommendMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/PointRecommendMapper.xml @@ -1,207 +1,211 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - id, line_id,shop_id, point_id, development_manager, status, reason, deleted, create_time, update_time - + + id, line_id,shop_id, point_id, development_manager, status, reason, deleted, create_time, update_time + - - update xfsg_point_recommend set status = #{status} where point_id = #{pointId} and deleted = 0 - - and status not in - - #{status} - - - + + update xfsg_point_recommend set status = #{status} where point_id = #{pointId} and deleted = 0 + + and status not in + + #{status} + + + - - update xfsg_point_recommend set status = #{status} where point_id = #{pointId} and deleted = 0 and status in - - #{status} - - + + update xfsg_point_recommend set status = #{status} where point_id = #{pointId} and deleted = 0 and status in + + #{status} + + - + - + - + - + - - - insert into xfsg_point_recommend (shop_id, point_id, development_manager, status) - values (#{item.shopId}, #{item.pointId}, #{item.developmentManager}, #{item.status}) - - + + + insert into xfsg_point_recommend (shop_id, point_id, development_manager, status) + values (#{item.shopId}, #{item.pointId}, #{item.developmentManager}, #{item.status}) + + - - update - xfsg_point_recommend - set - deleted = if(status = 1, 1, deleted), - development_manager = if(status in (2,4), #{developmentManager}, development_manager) - where - shop_id = #{shopId} - + + update + xfsg_point_recommend + set + deleted = if(status = 1, 1, deleted), + development_manager = if(status in (2,4), #{developmentManager}, development_manager) + where + shop_id = #{shopId} + - + select + p.id as pointId, + pr.line_id as lineId, + p.point_name as pointName, + p.point_code as pointCode, + p.region_id as regionId, + p.longitude as longitude, + p.latitude as latitude, + p.address as address, + p.point_score as pointScore, + p.point_area as pointArea, + p.point_status as pointStatus, + p.select_status as selectStatus, + p.create_time as createTime, + p.opportunity_point_code as opportunityPointCode, + p.opportunity_point_name as opportunityPointName, + c.picture_obj as pictureObj, + pr.status as recommendStatus, + e.store_name as shopName + from + xfsg_point_recommend pr inner join xfsg_point_info p on p.id = pr.point_id left join xfsg_point_detail_info c on p.id = c.point_id - where - p.deleted = 0 and pr.shop_id = #{request.shopId} and pr.deleted = 0 - - and pr.status = 1 and p.select_status = 0 - - - and pr.status = 2 and p.select_status = 1 and p.shop_id = #{request.shopId} - - - and pr.status in (5, 6) - - - and (p.province_code = #{request.areaCode} or p.city_code = #{request.areaCode} or p.district_code = #{request.areaCode}) - + left JOIN xfsg_shop_info d ON c.shop_id = d.id + left JOIN store_${enterpriseId} e ON d.shop_code = e.store_num + where + p.deleted = 0 and pr.shop_id = #{request.shopId} and pr.deleted = 0 + + and pr.status = 1 and p.select_status = 0 + + + and pr.status = 2 and p.select_status = 1 and p.shop_id = #{request.shopId} + + + and pr.status in (5, 6) + + + and (p.province_code = #{request.areaCode} or p.city_code = #{request.areaCode} or p.district_code = + #{request.areaCode}) + - + - - update - xfsg_point_recommend - set - status = if(shop_id = #{shopId}, 2, 3) - where point_id = #{pointId} and deleted = 0 and status = 1 - + + update + xfsg_point_recommend + set + status = if(shop_id = #{shopId}, 2, 3) + where point_id = #{pointId} and deleted = 0 and status = 1 + - - update - xfsg_point_recommend - set - status = 5, - reason = #{reason} - where point_id = #{pointId} and shop_id = #{shopId} and deleted = 0 and status = 1 - - - + + update + xfsg_point_recommend + set + status = 5, + reason = #{reason} + where point_id = #{pointId} and shop_id = #{shopId} and deleted = 0 and status = 1 + - + + + - - update xfsg_point_recommend - set - shop_id = case id - - when #{item.id} then #{item.shopId} - - end - where - id in - - #{entity.id} - - + + update xfsg_point_recommend + set + shop_id = case id + + when #{item.id} then #{item.shopId} + + end + where + id in + + #{entity.id} + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/MiniShopDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/MiniShopDTO.java new file mode 100644 index 000000000..a759a76f3 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/MiniShopDTO.java @@ -0,0 +1,19 @@ +package com.cool.store.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author: WangShuo + * @Date: 2025/04/02/18:20 + * @Version 1.0 + * @注释: + */ +@Data +public class MiniShopDTO { + + @ApiModelProperty("门店名称") + private String shopName; + @ApiModelProperty("地址") + private String address; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/point/MiniPointPageDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/point/MiniPointPageDTO.java index 06112fa25..a0900929b 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/point/MiniPointPageDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/point/MiniPointPageDTO.java @@ -3,6 +3,8 @@ package com.cool.store.dto.point; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.Date; + @Data public class MiniPointPageDTO { @@ -38,4 +40,13 @@ public class MiniPointPageDTO { @ApiModelProperty("1.待选择 2.已选择 3.已被他人选择 4.已签约 5.已拒绝 6.已失效") private Integer recommendStatus; + + @ApiModelProperty("机会点编号") + private String opportunityPointCode; + + @ApiModelProperty("机会点名称") + private String opportunityPointName; + + @ApiModelProperty("成功开店店名称") + private String openShopName; } \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/AddPointDetailRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AddPointDetailRequest.java index 47f6911e8..dbc0009f6 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/AddPointDetailRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AddPointDetailRequest.java @@ -227,6 +227,24 @@ public class AddPointDetailRequest { @ApiModelProperty("人流测算 1.>400人/时以上, 2.300~400人/时, 3.200~300人/时, 4.100~200人/时") private Integer flowRateCalculate; + @ApiModelProperty("机会点编号") + private String opportunityPointCode; + + @ApiModelProperty("机会点名称") + private String opportunityPointName; + + @ApiModelProperty("省编码") + private String provinceCode; + + @ApiModelProperty("市编码") + private String cityCode; + + @ApiModelProperty("区/县编码") + private String districtCode; + + @ApiModelProperty("铺位经纬度geohash") + @NotBlank(message = "铺位经纬度geohash不能为空") + private String location; public static PointDetailInfoDO convertDO(AddPointDetailRequest request) { PointDetailInfoDO result = new PointDetailInfoDO(); @@ -280,6 +298,11 @@ public class AddPointDetailRequest { public static PointInfoDO convertPointDO(AddPointDetailRequest request) { PointInfoDO result = new PointInfoDO(); + result.setOpportunityPointName(request.getOpportunityPointName()); + result.setOpportunityPointCode(request.getOpportunityPointCode()); + result.setProvinceCode(request.getProvinceCode()); + result.setCityCode(request.getCityCode()); + result.setDistrictCode(request.getDistrictCode()); result.setPointName(request.getPointName()); result.setRegionId(request.getRegionId()); result.setPointArea(request.getPointArea()); diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java index 654460031..e09dfe68f 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AddSignFranchiseRequest.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; @@ -22,6 +23,10 @@ public class AddSignFranchiseRequest { private String shopName; private String detailAddress; + + @ApiModelProperty("店铺编码") + @NotBlank(message = "shopCode不能为空") + private String shopCode; /** * SignTypeEnum */ diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/JoinIntentionRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/JoinIntentionRequest.java index 21052b687..e5e38bee0 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/JoinIntentionRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/JoinIntentionRequest.java @@ -5,6 +5,7 @@ import com.cool.store.entity.MemberQuestionDO; import com.cool.store.entity.QualificationsInfoDO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.apache.commons.lang3.StringUtils; import javax.validation.constraints.NotBlank; @@ -90,6 +91,8 @@ public class JoinIntentionRequest { private String businessLicense; @ApiModelProperty("统一社会信用代码") private String unifiedSocialCreditCode; + @ApiModelProperty("督导") + private String supervisor; public LineInfoDO toLineInfoDO() { LineInfoDO lineInfoDO = new LineInfoDO(); @@ -100,6 +103,9 @@ public class JoinIntentionRequest { lineInfoDO.setSex(String.valueOf(this.sex)); lineInfoDO.setWantShopAreaId(Long.valueOf(this.areaCode)); lineInfoDO.setId(this.lineId); + if (StringUtils.isNotBlank(this.supervisor)) { + lineInfoDO.setInvestmentManager(this.supervisor); + } return lineInfoDO; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/MiniAddPointRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/MiniAddPointRequest.java index 846feca35..2e9db35f6 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/MiniAddPointRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/MiniAddPointRequest.java @@ -101,6 +101,9 @@ public class MiniAddPointRequest { @ApiModelProperty("区/县编码") private String districtCode; + @ApiModelProperty("铺位经纬度geohash") + private String location; + public static PointDetailInfoDO convertDO(MiniAddPointRequest request) { PointDetailInfoDO result = new PointDetailInfoDO(); result.setBusinessStatus(request.getBusinessStatus()); diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/UpdatePointDetailRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/UpdatePointDetailRequest.java index be1400a2c..433cd6829 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/UpdatePointDetailRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/UpdatePointDetailRequest.java @@ -72,6 +72,11 @@ public class UpdatePointDetailRequest extends AddPointDetailRequest { public static PointInfoDO convertPointDO(UpdatePointDetailRequest request) { PointInfoDO result = new PointInfoDO(); + result.setOpportunityPointName(request.getOpportunityPointName()); + result.setOpportunityPointCode(request.getOpportunityPointCode()); + result.setProvinceCode(request.getProvinceCode()); + result.setCityCode(request.getCityCode()); + result.setDistrictCode(request.getDistrictCode()); result.setId(request.getPointId()); result.setPointName(request.getPointName()); result.setRegionId(request.getRegionId()); diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/BerthOperationRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/BerthOperationRequest.java index ce4d9acc4..0029a3f6c 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/BerthOperationRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/BerthOperationRequest.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; /** * @Author suzhuhong @@ -13,8 +14,8 @@ import javax.validation.constraints.NotBlank; @Data public class BerthOperationRequest { @ApiModelProperty(" 操作类型: 1(新增), 2(更新), 3(删除)") - @NotBlank(message = "操作类型不能为空") - private String opType; + @NotNull(message = "操作类型不能为空") + private Integer opType; @ApiModelProperty("机会点编号") @NotBlank(message = "机会点编号不能为空") @@ -33,7 +34,7 @@ public class BerthOperationRequest { private String userName; @ApiModelProperty("铺位ID") - @NotBlank(message = "铺位ID不能为空") + @NotNull(message = "铺位ID不能为空") private Integer berthId; @ApiModelProperty("铺位名称") diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/point/MiniPointPageVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/point/MiniPointPageVO.java index 5fa76ce4b..3ca3b1fcb 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/point/MiniPointPageVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/point/MiniPointPageVO.java @@ -66,6 +66,9 @@ public class MiniPointPageVO { @ApiModelProperty("纬度") private String latitude; + @ApiModelProperty("成功开店店名称") + private String openShopName; + public static List convertVO(List pointList, Map regionNameMap) { if(CollectionUtils.isEmpty(pointList)){ return Lists.newArrayList(); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/OpportunityPointService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/OpportunityPointService.java new file mode 100644 index 000000000..8742304aa --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/OpportunityPointService.java @@ -0,0 +1,19 @@ +package com.cool.store.service; + +import com.cool.store.dto.MiniShopDTO; +import com.cool.store.vo.point.MiniPointPageVO; + +import java.util.List; + +/** + * @Author: WangShuo + * @Date: 2025/04/02/18:17 + * @Version 1.0 + * @注释: + */ +public interface OpportunityPointService { + + List getPointByOpportunityPointCode(String code); + + List getShopByOpportunityPointCode(String code); +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/PointService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/PointService.java index 0498042ff..a73a2a17a 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/PointService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/PointService.java @@ -1,5 +1,6 @@ package com.cool.store.service; +import com.cool.store.context.LoginUserInfo; import com.cool.store.request.*; import com.cool.store.vo.LinePointBaseInfoVO; import com.cool.store.vo.point.*; @@ -23,7 +24,7 @@ public interface PointService { * @param userId * @return */ - Long addPointDetailInfo(AddPointDetailRequest shopPointDetailRequest, String userId); + Long addPointDetailInfo(AddPointDetailRequest shopPointDetailRequest, LoginUserInfo user); /** @@ -38,7 +39,7 @@ public interface PointService { * @param shopPointDetailRequest * @return */ - Long updatePointDetailInfo(UpdatePointDetailRequest shopPointDetailRequest); + Long updatePointDetailInfo(UpdatePointDetailRequest shopPointDetailRequest,LoginUserInfo user); /** * 生成铺位评估报告 diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpportunityPointServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpportunityPointServiceImpl.java new file mode 100644 index 000000000..b053409f7 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpportunityPointServiceImpl.java @@ -0,0 +1,39 @@ +package com.cool.store.service.impl; + +import com.cool.store.dao.PointInfoDAO; +import com.cool.store.dto.MiniShopDTO; +import com.cool.store.entity.PointInfoDO; +import com.cool.store.service.OpportunityPointService; +import com.cool.store.vo.point.MiniPointPageVO; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * @Author: WangShuo + * @Date: 2025/04/02/18:17 + * @Version 1.0 + * @注释: + */ +@Service +public class OpportunityPointServiceImpl implements OpportunityPointService { + + @Autowired + private PointInfoDAO pointInfoDAO; + @Value("${mybatis.configuration.variables.enterpriseId}") + private String enterpriseId; + @Override + public List getPointByOpportunityPointCode(String code) { + return pointInfoDAO.getPointByOpportunityPointCode(code); + } + + @Override + public List getShopByOpportunityPointCode(String code) { + return pointInfoDAO.getShopByOpportunityPointCode(enterpriseId,code); + } +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java index 3f0c8c02a..28f53bb51 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java @@ -3,6 +3,7 @@ package com.cool.store.service.impl; import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSONObject; import com.cool.store.constants.CommonConstants; +import com.cool.store.context.LoginUserInfo; import com.cool.store.dao.*; import com.cool.store.dto.point.AuditNodeDTO; import com.cool.store.dto.point.MiniPointPageDTO; @@ -12,6 +13,7 @@ import com.cool.store.enums.*; import com.cool.store.enums.point.*; import com.cool.store.exception.ServiceException; import com.cool.store.request.*; +import com.cool.store.request.oppty.BerthOperationRequest; import com.cool.store.service.*; import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.poi.DateUtils; @@ -52,6 +54,8 @@ import java.util.stream.Collectors; @Service public class PointServiceImpl implements PointService { + @Resource + private ThirdOpportunityService thirdOpportunityService; @Resource private ShopInfoDAO shopInfoDAO; @Resource @@ -98,7 +102,8 @@ public class PointServiceImpl implements PointService { @Override @Transactional(rollbackFor = Exception.class) - public Long addPointDetailInfo(AddPointDetailRequest shopPointDetailRequest, String userId) { + public Long addPointDetailInfo(AddPointDetailRequest shopPointDetailRequest, LoginUserInfo user) { + String userId = user.getUserId(); PointInfoDO pointInfo = AddPointDetailRequest.convertPointDO(shopPointDetailRequest); pointInfo.setPointCode(generateCode()); pointInfo.setDevelopmentManager(userId); @@ -107,6 +112,18 @@ public class PointServiceImpl implements PointService { PointDetailInfoDO shopPoint = AddPointDetailRequest.convertDO(shopPointDetailRequest); shopPoint.setPointId(pointId); pointDetailInfoDAO.addPointDetailInfo(shopPoint); + //推送铺位至三方平台 + BerthOperationRequest request1 = new BerthOperationRequest(); + request1.setOpType(OpTypeEnum.INSERT.getCode()); + request1.setCode(shopPointDetailRequest.getOpportunityPointCode()); + request1.setUserId(userId); + request1.setMobile(user.getMobile()); + request1.setUserName(user.getName()); + request1.setBerthId(Math.toIntExact(pointId)); + request1.setName(pointInfo.getPointName()); + request1.setAddress(pointInfo.getAddress()); + request1.setLocation(shopPointDetailRequest.getLocation()); + thirdOpportunityService.berthOperation(request1); return pointId; } @@ -140,7 +157,7 @@ public class PointServiceImpl implements PointService { @Override @Transactional(rollbackFor = Exception.class) - public Long updatePointDetailInfo(UpdatePointDetailRequest shopPointDetailRequest) { + public Long updatePointDetailInfo(UpdatePointDetailRequest shopPointDetailRequest, LoginUserInfo user) { PointInfoDO pointInfo = pointInfoDAO.getPointInfoById(shopPointDetailRequest.getPointId()); if (Objects.isNull(pointInfo)) { log.error("铺位基本信息不存在"); @@ -151,6 +168,25 @@ public class PointServiceImpl implements PointService { shopPointInfo.setPointScore(shopPoint.getTotalPointScore()); pointInfoDAO.perfectPointInfo(shopPointInfo); pointDetailInfoDAO.updatePartFieldPointDetail(shopPoint); + LineInfoDO lineInfoDO = lineInfoDAO.getLineInfo(pointInfo.getLineId()); + //推送铺位至三方平台 + BerthOperationRequest request1 = new BerthOperationRequest(); + request1.setCode(shopPointDetailRequest.getOpportunityPointCode()); + if (pointInfo.getPointSource().equals(PointSourceEnum.POINT_SOURCE_1.getCode())) { + request1.setUserId(user.getUserId()); + request1.setMobile(user.getMobile()); + request1.setUserName(user.getName()); + }else{ + request1.setUserId(lineInfoDO.getPartnerId()); + request1.setMobile(lineInfoDO.getMobile()); + request1.setUserName(lineInfoDO.getUsername()); + } + request1.setOpType(OpTypeEnum.UPDATE.getCode()); + request1.setBerthId(Math.toIntExact(shopPointInfo.getId())); + request1.setName(shopPointInfo.getPointName()); + request1.setAddress(shopPointInfo.getAddress()); + request1.setLocation(shopPointDetailRequest.getLocation()); + thirdOpportunityService.berthOperation(request1); return shopPointDetailRequest.getPointId(); } @@ -731,6 +767,7 @@ public class PointServiceImpl implements PointService { @Override public PageInfo getLineRecommendPointPage(MiniPointPageRequest request) { + //todo if (Objects.equals(request.getType(), PointListType.POINT_LIST_TYPE_1.getCode())) { Page pointPage = pointRecommendDAO.getLineRecommendPointPage(request); List resultList = new ArrayList<>(); @@ -742,7 +779,7 @@ public class PointServiceImpl implements PointService { List pointDetailList = pointDetailInfoDAO.getByPointIdList(pointList); Map map = pointDetailList.stream().collect(Collectors.toMap(PointDetailInfoDO::getPointId, Function.identity())); resultList.forEach(x -> { - PointDetailInfoDO pointDetailInfoDO = map.getOrDefault(x.getPointId(),new PointDetailInfoDO()); + PointDetailInfoDO pointDetailInfoDO = map.getOrDefault(x.getPointId(), new PointDetailInfoDO()); x.setMonthRent(pointDetailInfoDO.getMonthRent()); x.setLandlordMobile(pointDetailInfoDO.getLandlordMobile()); }); @@ -751,9 +788,9 @@ public class PointServiceImpl implements PointService { resultPage.setList(resultList); return resultPage; } - if (request.getType().equals(PointListType.POINT_LIST_TYPE_2.getCode())){ + if (request.getType().equals(PointListType.POINT_LIST_TYPE_2.getCode())) { PageHelper.startPage(request.getPageNum(), request.getPageSize()); - List miniPointPage = pointInfoDAO.getMiniPointPage(request); + List miniPointPage = pointInfoDAO.getMiniPointPage(enterpriseId,request); return new PageInfo<>(miniPointPage); } return new PageInfo<>(); @@ -885,6 +922,18 @@ public class PointServiceImpl implements PointService { updatePoint.setId(pointId); updatePoint.setShopId(shopInfo.getId()); pointInfoDAO.updatePointInfo(updatePoint); + //推送铺位至三方平台 + BerthOperationRequest request1 = new BerthOperationRequest(); + request1.setOpType(OpTypeEnum.INSERT.getCode()); + request1.setCode(request.getOpportunityPointCode()); + request1.setUserId(lineInfo.getPartnerId()); + request1.setMobile(lineInfo.getMobile()); + request1.setUserName(lineInfo.getUsername()); + request1.setBerthId(Math.toIntExact(pointId)); + request1.setName(pointInfo.getPointName()); + request1.setAddress(pointInfo.getAddress()); + request1.setLocation(request.getLocation()); + thirdOpportunityService.berthOperation(request1); HashMap map = new HashMap<>(); map.put("partnerUsername", lineInfo.getUsername()); map.put("partnerMobile", lineInfo.getMobile()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java index d35c48ddb..031fa79ca 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java @@ -205,6 +205,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu shopInfoDO.setRegionId(request.getRegionId()); shopInfoDO.setShopName(request.getShopName()); shopInfoDO.setDetailAddress(request.getDetailAddress()); + shopInfoDO.setShopCode(request.getShopCode()); shopInfoMapper.updateByPrimaryKeySelective(shopInfoDO); return new ResponseResult(200000, "提交成功"); diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PointController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PointController.java index 6a99eb3a2..7787e48fc 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PointController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PointController.java @@ -39,7 +39,7 @@ public class PointController { @PostMapping("/add") public ResponseResult addPointDetailInfo(@RequestBody @Validated AddPointDetailRequest shopPointDetailRequest) { log.info("新增铺位:{}", JSONObject.toJSONString(shopPointDetailRequest)); - return ResponseResult.success(pointService.addPointDetailInfo(shopPointDetailRequest, CurrentUserHolder.getUserId())); + return ResponseResult.success(pointService.addPointDetailInfo(shopPointDetailRequest, CurrentUserHolder.getUser())); } @ApiOperation("铺位详情") @@ -52,7 +52,7 @@ public class PointController { @ApiOperation("完善铺位") @PostMapping("/update") public ResponseResult updatePointDetailInfo(@RequestBody @Validated UpdatePointDetailRequest shopPointDetailRequest) { - return ResponseResult.success(pointService.updatePointDetailInfo(shopPointDetailRequest)); + return ResponseResult.success(pointService.updatePointDetailInfo(shopPointDetailRequest,CurrentUserHolder.getUser())); } @ApiOperation("生成评估报告") diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniOpportunityPointController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniOpportunityPointController.java new file mode 100644 index 000000000..7f9fc554d --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniOpportunityPointController.java @@ -0,0 +1,35 @@ +package com.cool.store.controller.webc; + +import com.cool.store.dto.MiniShopDTO; +import com.cool.store.response.ResponseResult; +import com.cool.store.service.OpportunityPointService; +import com.cool.store.vo.point.MiniPointPageVO; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @Author: WangShuo + * @Date: 2025/04/02/18:44 + * @Version 1.0 + * @注释: + */ +@RestController +@Api("机会点详情") +@RequestMapping("/mini/opportunityPoint") +public class MiniOpportunityPointController { + @Resource + private OpportunityPointService opportunityPointService; + @GetMapping("/getPoints") + public ResponseResult >getPointByOpportunityPointCode(String code) { + return ResponseResult.success(opportunityPointService.getPointByOpportunityPointCode(code)); + } + @GetMapping("/getShops") + public ResponseResult >getShopByOpportunityPointCode(String code) { + return ResponseResult.success(opportunityPointService.getShopByOpportunityPointCode(code)); + } +}