From c0cf731ac36ae5d637f67062627a1cb6e963871c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Wed, 14 Jun 2023 19:38:38 +0800 Subject: [PATCH] =?UTF-8?q?B=E7=AB=AF=20=E9=83=A8=E5=88=86=E6=8E=A5?= =?UTF-8?q?=E5=8F=A33?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/enums/ErrorCodeEnum.java | 3 +- .../com/cool/store/dao/EnterpriseUserDAO.java | 8 + .../cool/store/dao/HyIntendDevMappingDAO.java | 71 +++++++ .../store/dao/HyIntendDevZoneInfoDAO.java | 50 +++++ .../store/mapper/EnterpriseUserMapper.java | 9 +- .../mapper/HyIntendDevZoneInfoMapper.java | 17 +- .../HyIntendDevelopementMappingMapper.java | 34 +++- .../store/mapper/HyOpenAreaInfoMapper.java | 37 +++- .../resources/mapper/EnterpriseUserMapper.xml | 25 ++- .../mapper/HyIntendDevZoneInfoMapper.xml | 17 +- .../HyIntendDevelopementMappingMapper.xml | 60 ++++++ .../resources/mapper/HyOpenAreaInfoMapper.xml | 68 ++++++- .../cool/store/dto/partner/ZoneCheckDTO.java | 20 ++ .../com/cool/store/vo/OpenAreaSingleVO.java | 25 +++ .../vo/PartnerLineInfoAndBaseInfoVO.java | 2 + .../java/com/cool/store/vo/ZoneCheckVO.java | 17 ++ .../com/cool/store/Service/ZoneService.java | 67 +++++++ .../Service/impl/OpenAreaServiceImpl.java | 11 ++ .../store/Service/impl/ZoneServiceImpl.java | 176 ++++++++++++++++++ .../cool/store/controller/DeskController.java | 38 +--- .../cool/store/controller/ZoneController.java | 57 ++++++ 21 files changed, 762 insertions(+), 50 deletions(-) create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevMappingDAO.java create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevZoneInfoDAO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/partner/ZoneCheckDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/vo/OpenAreaSingleVO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/vo/ZoneCheckVO.java create mode 100644 coolstore-partner-webb/src/main/java/com/cool/store/Service/ZoneService.java create mode 100644 coolstore-partner-webb/src/main/java/com/cool/store/Service/impl/ZoneServiceImpl.java create mode 100644 coolstore-partner-webb/src/main/java/com/cool/store/controller/ZoneController.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index af6104e6a..81350a0e3 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -53,7 +53,8 @@ public enum ErrorCodeEnum { LINE_ID_IS_NOT_EXIST(500001, "线索ID不存在!", null), WORK_FLOW_STAGE_PASS_ERROR(500002, "通过错误,非对应阶段!", null), - PARTNER_USER_NOT_EXIST(500002, "加盟商用户信息不存在!", null), + PARTNER_USER_NOT_EXIST(500003, "加盟商用户信息不存在!", null), + ZONE_NOT_EXIST(500004, "战区不存在!", null), INTERVIEW_ENTER_FAIL(1021101, "进入面试间失败", null), ; diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java index f66a3ae21..ed94a86b5 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/EnterpriseUserDAO.java @@ -2,6 +2,7 @@ package com.cool.store.dao; import com.cool.store.entity.EnterpriseUserDO; import com.cool.store.mapper.EnterpriseUserMapper; +import com.google.common.collect.Lists; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Repository; @@ -27,6 +28,13 @@ public class EnterpriseUserDAO { return enterpriseUserMapper.getUserInfoById(userId); } + public List getUserInfoByUserIds(List userIdList){ + if(CollectionUtils.isEmpty(userIdList)){ + return Lists.newArrayList(); + } + return enterpriseUserMapper.getUserInfoByUserIds(userIdList); + } + public void batchInsertOrUpdate(List insertOrUpdateList) { if(CollectionUtils.isEmpty(insertOrUpdateList)){ return; diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevMappingDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevMappingDAO.java new file mode 100644 index 000000000..bbd32f119 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevMappingDAO.java @@ -0,0 +1,71 @@ +package com.cool.store.dao; + +import com.cool.store.dto.partner.ZoneCheckDTO; +import com.cool.store.entity.HyIntendDevelopementMappingDO; +import com.cool.store.mapper.HyIntendDevelopementMappingMapper; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2023/6/14 14:42 + * @Version 1.0 + */ +@Repository +public class HyIntendDevMappingDAO { + + @Resource + HyIntendDevelopementMappingMapper hyIntendDevelopementMappingMapper; + + + public int insertSelective(HyIntendDevelopementMappingDO record){ + return hyIntendDevelopementMappingMapper.insertSelective(record); + } + + public int updateByPrimaryKeySelective(HyIntendDevelopementMappingDO record){ + return hyIntendDevelopementMappingMapper.updateByPrimaryKeySelective(record); + } + + public int deleteByOpenAreaIds(List openAreaIds,String type){ + if (CollectionUtils.isEmpty(openAreaIds)){ + return 0; + } + return hyIntendDevelopementMappingMapper.deleteByOpenAreaIds(openAreaIds,type); + } + + public int deleteByMappingIds(List mappingIds,String type){ + if (CollectionUtils.isEmpty(mappingIds)){ + return 0; + } + return hyIntendDevelopementMappingMapper.deleteByMappingIds(mappingIds,type); + } + + public List selectByMappingIdList(List idList){ + if (CollectionUtils.isEmpty(idList)){ + return new ArrayList<>(); + } + return hyIntendDevelopementMappingMapper.selectByMappingIdList(idList); + } + + + public int batchInsert(List recordList){ + if (CollectionUtils.isEmpty(recordList)){ + return 0; + } + return hyIntendDevelopementMappingMapper.batchInsert(recordList); + } + + + + + + + + + +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevZoneInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevZoneInfoDAO.java new file mode 100644 index 000000000..89d265abe --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyIntendDevZoneInfoDAO.java @@ -0,0 +1,50 @@ +package com.cool.store.dao; + +import com.cool.store.entity.HyIntendDevZoneInfoDO; +import com.cool.store.mapper.HyIntendDevZoneInfoMapper; +import com.github.pagehelper.PageInfo; +import org.apache.commons.lang3.StringUtils; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; + +/** + * @Author suzhuhong + * @Date 2023/6/14 14:40 + * @Version 1.0 + */ +@Repository +public class HyIntendDevZoneInfoDAO { + + @Resource + HyIntendDevZoneInfoMapper hyIntendDevZoneInfoMapper; + + public int insertSelective( HyIntendDevZoneInfoDO record){ + return hyIntendDevZoneInfoMapper.insertSelective(record); + } + + + public int updateByPrimaryKeySelective(HyIntendDevZoneInfoDO record){ + return hyIntendDevZoneInfoMapper.updateByPrimaryKeySelective(record); + } + + public HyIntendDevZoneInfoDO selectById(Long id){ + if (id==null){ + return null; + } + return hyIntendDevZoneInfoMapper.selectById(id); + } + + + public PageInfo getHyIntendDevZoneInfoList(String type){ + if (StringUtils.isEmpty(type)){ + return new PageInfo<>(); + } + return hyIntendDevZoneInfoMapper.getHyIntendDevZoneInfoList(type); + } + + + + +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java index 8dff9cfcb..e8e129cd1 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/EnterpriseUserMapper.java @@ -13,7 +13,7 @@ public interface EnterpriseUserMapper { /** * * 默认插入方法,只会给有值的字段赋值 - * 会对传进来的字段做判空处理,如果字段为空,则使用数据库默认字段或者null + * 会对传进来的字段做判空处理,如果字段为空,则使用数据库默认字段或者null * dateTime:2023-06-06 02:29 */ int batchInsertOrUpdate(@Param("recordList") List recordList); @@ -32,6 +32,13 @@ public interface EnterpriseUserMapper { */ EnterpriseUserDO getUserInfoById(@Param("userId") String userId); + /** + * 批量获取用户信息 + * @param userIdList + * @return + */ + List getUserInfoByUserIds(@Param("userIdList") List userIdList); + /** * 删除用户 * @param excludeUserIds diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevZoneInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevZoneInfoMapper.java index 080548d01..9c9009b21 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevZoneInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevZoneInfoMapper.java @@ -1,6 +1,7 @@ package com.cool.store.mapper; import com.cool.store.entity.HyIntendDevZoneInfoDO; +import com.github.pagehelper.PageInfo; import org.apache.ibatis.annotations.Param; /** @@ -11,7 +12,7 @@ public interface HyIntendDevZoneInfoMapper { /** * * 默认插入方法,只会给有值的字段赋值 - * 会对传进来的字段做判空处理,如果字段为空,则使用数据库默认字段或者null + * 会对传进来的字段做判空处理,如果字段为空,则使用数据库默认字段或者null * dateTime:2023-05-29 03:50 */ int insertSelective(@Param("record") HyIntendDevZoneInfoDO record); @@ -22,4 +23,18 @@ public interface HyIntendDevZoneInfoMapper { * dateTime:2023-05-29 03:50 */ int updateByPrimaryKeySelective(@Param("record") HyIntendDevZoneInfoDO record); + + /** + * 根据ID查询 + * @param id + * @return + */ + HyIntendDevZoneInfoDO selectById(@Param("id") Long id); + + /** + * 查询战区列表 + * @param type + * @return + */ + PageInfo getHyIntendDevZoneInfoList(String type); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevelopementMappingMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevelopementMappingMapper.java index 01196264d..11e58073d 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevelopementMappingMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyIntendDevelopementMappingMapper.java @@ -1,8 +1,11 @@ package com.cool.store.mapper; +import com.cool.store.dto.partner.ZoneCheckDTO; import com.cool.store.entity.HyIntendDevelopementMappingDO; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @author zhangchenbiao * @date 2023-05-29 03:50 @@ -11,7 +14,7 @@ public interface HyIntendDevelopementMappingMapper { /** * * 默认插入方法,只会给有值的字段赋值 - * 会对传进来的字段做判空处理,如果字段为空,则使用数据库默认字段或者null + * 会对传进来的字段做判空处理,如果字段为空,则使用数据库默认字段或者null * dateTime:2023-05-29 03:50 */ int insertSelective(@Param("record") HyIntendDevelopementMappingDO record); @@ -22,4 +25,33 @@ public interface HyIntendDevelopementMappingMapper { * dateTime:2023-05-29 03:50 */ int updateByPrimaryKeySelective(@Param("record") HyIntendDevelopementMappingDO record); + + /** + * 批量删除数据 + * @param idList + * @return + */ + int deleteByOpenAreaIds(@Param("openAreaIdList") List idList, @Param("type") String type); + + + /** + * 删除战区对应的关联意向区域 + * @param idList + * @param type + * @return + */ + int deleteByMappingIds(@Param("mappingIds") List idList, @Param("type") String type); + /** + * + * @param recordList + * @return + */ + int batchInsert(@Param("recordList") List recordList); + + /** + * 查询根据selectByMappingIdList集合 + * @param mappingIdList + * @return + */ + List selectByMappingIdList(@Param("mappingIdList") List mappingIdList); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyOpenAreaInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyOpenAreaInfoMapper.java index f3467e480..46c1710be 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyOpenAreaInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyOpenAreaInfoMapper.java @@ -16,7 +16,7 @@ public interface HyOpenAreaInfoMapper { /** * * 默认插入方法,只会给有值的字段赋值 - * 会对传进来的字段做判空处理,如果字段为空,则使用数据库默认字段或者null + * 会对传进来的字段做判空处理,如果字段为空,则使用数据库默认字段或者null * dateTime:2023-05-29 03:51 */ int insertSelective(@Param("record") HyOpenAreaInfoDO record); @@ -39,7 +39,8 @@ public interface HyOpenAreaInfoMapper { * 查询所有 * @return */ - List queryByKeyword(@Param("keyword") String keyword, @Param("filterData") Boolean filterData); + List queryByKeyword(@Param("keyword") String keyword, + @Param("filterData") Boolean filterData); /** * 查询所有一级城市 (所有省份+直辖市) @@ -64,7 +65,37 @@ public interface HyOpenAreaInfoMapper { * 查询子列表 * @return */ - List getChildrenList(@Param("type") String type , @Param("parentId") Long parentId); + List getChildrenList(@Param("type") String type , + @Param("parentId") Long parentId); + + + /** + * 更新城市昨天 + * @param backgroundBanner + * @param detailBanner + * @param areaStatus + * @param updateUserId + * @param ids + * @return + */ + int batchUpdateById(@Param("backgroundBanner") String backgroundBanner, + @Param("detailBanner") String detailBanner, + @Param("areaStatus") String areaStatus, + @Param("updateUserId") String updateUserId, + @Param("ids") List ids); + + int batchUpdateByParentId(@Param("backgroundBanner") String backgroundBanner, + @Param("detailBanner") String detailBanner, + @Param("areaStatus") String areaStatus, + @Param("updateUserId") String updateUserId, + @Param("parentIdList") List parentIdList); + + /** + * 根据idList查询数据 + * @param idList + * @return + */ + List selectByIds(@Param("idList") List idList); diff --git a/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml index 2ca162f89..25a4918fc 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/EnterpriseUserMapper.xml @@ -231,14 +231,29 @@ - + + + update enterprise_user set deleted = 1 where user_id not in #{userId} diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevZoneInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevZoneInfoMapper.xml index e9e56b812..8d23b304c 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevZoneInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevZoneInfoMapper.xml @@ -14,9 +14,17 @@ - id, zone_name, associated_region_id, type, last_allot_user_id, deleted, create_time, + id, zone_name, associated_region_id, type, last_allot_user_id, deleted, create_time, update_time, create_user_id, update_user_id + + + insert into hy_intend_dev_zone_info @@ -111,4 +119,11 @@ where id = #{record.id} + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml index c3ad3a277..3b3cbfc51 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml @@ -70,4 +70,64 @@ where id = #{record.id} + + + delete from hy_intend_developement_mapping + + + and type = #{type} + + + + #{openAreaId} + + + + + + + delete from hy_intend_developement_mapping + + + and type = #{type} + + + + #{mappingId} + + + + + + + + insert into + hy_intend_developement_mapping + ( + mapping_id, + open_area_mapping_id, + type + ) + values + + (#{record.mappingId}, + #{record.openAreaMappingId}, + #{record.type} + + + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml index db657a9df..5701dd529 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyOpenAreaInfoMapper.xml @@ -15,7 +15,7 @@ - id, parent_id, area_name, area_path, background_banner, detail_banner, area_status, + id, parent_id, area_name, area_path, background_banner, detail_banner, area_status, deleted, create_time, update_time, update_user_id @@ -123,6 +123,59 @@ + + + update hy_open_area_info + + + background_banner = #{backgroundBanner}, + + + detail_banner = #{detailBanner}, + + + area_status = #{areaStatus}, + + + update_user_id = #{updateUserId}, + + + + + + #{id} + + + + + + + + + update hy_open_area_info + + + background_banner = #{backgroundBanner}, + + + detail_banner = #{detailBanner}, + + + area_status = #{areaStatus}, + + + update_user_id = #{updateUserId}, + + + + + + #{parentId} + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/ZoneCheckDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/ZoneCheckDTO.java new file mode 100644 index 000000000..07df8a40d --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/ZoneCheckDTO.java @@ -0,0 +1,20 @@ +package com.cool.store.dto.partner; + +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2023/6/14 16:35 + * @Version 1.0 + */ +@Data +public class ZoneCheckDTO { + + private Long openAreaMappingId; + + private String areaName; + + private String zoneName; + + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/OpenAreaSingleVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/OpenAreaSingleVO.java new file mode 100644 index 000000000..38c592ef7 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/OpenAreaSingleVO.java @@ -0,0 +1,25 @@ +package com.cool.store.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2023/6/14 11:28 + * @Version 1.0 + */ +@Data +@ApiModel +public class OpenAreaSingleVO { + + @ApiModelProperty("ID") + private Long id; + + @ApiModelProperty("parent.id") + private Long parentId; + + @ApiModelProperty("区域名称") + private String areaName; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineInfoAndBaseInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineInfoAndBaseInfoVO.java index 11f2c51ef..7826b27ea 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineInfoAndBaseInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerLineInfoAndBaseInfoVO.java @@ -48,4 +48,6 @@ public class PartnerLineInfoAndBaseInfoVO { private String investmentManagerPhone; @ApiModelProperty("用户画像") private String userPortrait; + @ApiModelProperty("线索状态") + private Integer lineStatus; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/ZoneCheckVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/ZoneCheckVO.java new file mode 100644 index 000000000..c6a6cc2b9 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/ZoneCheckVO.java @@ -0,0 +1,17 @@ +package com.cool.store.vo; + +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2023/6/14 16:27 + * @Version 1.0 + */ +@Data +public class ZoneCheckVO { + + private String areaName; + + private String zoneName; + +} diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/Service/ZoneService.java b/coolstore-partner-webb/src/main/java/com/cool/store/Service/ZoneService.java new file mode 100644 index 000000000..c83a1c205 --- /dev/null +++ b/coolstore-partner-webb/src/main/java/com/cool/store/Service/ZoneService.java @@ -0,0 +1,67 @@ +package com.cool.store.Service; + +import com.cool.store.request.IntentAreaSettingRequest; +import com.cool.store.vo.ZoneCheckVO; +import com.cool.store.vo.ZoneVO; +import com.github.pagehelper.PageInfo; +import io.swagger.models.auth.In; + +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2023/6/14 14:26 + * @Version 1.0 + */ +public interface ZoneService { + + + /** + * 新增战区 + * @param userId + * @param intentAreaSettingRequest + * @return + */ + Boolean addZone(String userId,IntentAreaSettingRequest intentAreaSettingRequest); + + /** + * 编辑战区 + * @param userId + * @param intentAreaSettingRequest + * @return + */ + Boolean updateZone(String userId,IntentAreaSettingRequest intentAreaSettingRequest); + + /** + * 战区列表 + * @param type + * @param pageSize + * @param pageNum + * @return + */ + PageInfo getZoneList(String type, Integer pageSize ,Integer pageNum); + + /** + * 战区详情 + * @param zoneId + * @return + */ + ZoneVO zoneDetail(Long zoneId); + + /** + * 删除战区 + * @param id + * @return + */ + Boolean deletedZone(Long id); + + /** + * 校验是否绑定其他战区 + * @param intentAreaSettingRequest + * @return + */ + List checkZone(IntentAreaSettingRequest intentAreaSettingRequest); + + + +} diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/Service/impl/OpenAreaServiceImpl.java b/coolstore-partner-webb/src/main/java/com/cool/store/Service/impl/OpenAreaServiceImpl.java index 11a814a60..736956e48 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/Service/impl/OpenAreaServiceImpl.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/Service/impl/OpenAreaServiceImpl.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.cool.store.Service.OpenAreaService; import com.cool.store.dao.HyOpenAreaInfoDAO; import com.cool.store.entity.HyOpenAreaInfoDO; +import com.cool.store.request.OpenAreaRequest; import com.cool.store.vo.OpenAreaTreeVO; import com.cool.store.vo.OpenAreaVO; import org.apache.commons.collections4.CollectionUtils; @@ -63,6 +64,16 @@ public class OpenAreaServiceImpl implements OpenAreaService { return result; } + @Override + public Boolean batchUpdate(String userId, OpenAreaRequest request) { + //修改选择的区域 + hyOpenAreaInfoDAO.batchUpdateById(request.getBackgroundBanner(),request.getDetailBanner(),request.getStatus(),userId,request.getIdList()); + //修改选择区域的子区域 + hyOpenAreaInfoDAO.batchUpdateByParentId(request.getBackgroundBanner(),request.getDetailBanner(),request.getStatus(),userId,request.getIdList()); + + return Boolean.TRUE; + } + private OpenAreaVO convertDoToVo(HyOpenAreaInfoDO hyOpenAreaInfoDO){ OpenAreaVO openAreaVO = new OpenAreaVO(); openAreaVO.setId(hyOpenAreaInfoDO.getId()); diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/Service/impl/ZoneServiceImpl.java b/coolstore-partner-webb/src/main/java/com/cool/store/Service/impl/ZoneServiceImpl.java new file mode 100644 index 000000000..75a130652 --- /dev/null +++ b/coolstore-partner-webb/src/main/java/com/cool/store/Service/impl/ZoneServiceImpl.java @@ -0,0 +1,176 @@ +package com.cool.store.Service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.cool.store.Service.ZoneService; +import com.cool.store.dao.EnterpriseUserDAO; +import com.cool.store.dao.HyIntendDevMappingDAO; +import com.cool.store.dao.HyIntendDevZoneInfoDAO; +import com.cool.store.dao.HyOpenAreaInfoDAO; +import com.cool.store.dto.partner.ZoneCheckDTO; +import com.cool.store.entity.EnterpriseUserDO; +import com.cool.store.entity.HyIntendDevZoneInfoDO; +import com.cool.store.entity.HyIntendDevelopementMappingDO; +import com.cool.store.entity.HyOpenAreaInfoDO; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.exception.ServiceException; +import com.cool.store.mapper.HyIntendDevelopementMappingMapper; +import com.cool.store.request.IntentAreaSettingRequest; +import com.cool.store.vo.ZoneCheckVO; +import com.cool.store.vo.ZoneVO; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.google.common.collect.Lists; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.lang.reflect.Array; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @Author suzhuhong + * @Date 2023/6/14 14:26 + * @Version 1.0 + */ +@Service +public class ZoneServiceImpl implements ZoneService { + + + @Resource + HyIntendDevZoneInfoDAO hyIntendDevZoneInfoDAO; + + @Resource + HyIntendDevMappingDAO hyIntendDevMappingDAO; + + @Resource + HyOpenAreaInfoDAO openAreaInfoDAO; + @Resource + EnterpriseUserDAO enterpriseUserDAO; + + + + @Override + public Boolean addZone(String userId, IntentAreaSettingRequest intentAreaSettingRequest) { + if (CollectionUtils.isEmpty(intentAreaSettingRequest.getOpenAreaIdList())){ + throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); + } + HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = new HyIntendDevZoneInfoDO(); + hyIntendDevZoneInfoDO.setZoneName(intentAreaSettingRequest.getZoneName()); + if (CollectionUtils.isNotEmpty(intentAreaSettingRequest.getOrgIdList())){ + hyIntendDevZoneInfoDO.setAssociatedRegionId(JSONObject.toJSONString(intentAreaSettingRequest.getOrgIdList())); + } + hyIntendDevZoneInfoDO.setCreateUserId(userId); + hyIntendDevZoneInfoDO.setType(intentAreaSettingRequest.getType()); + hyIntendDevZoneInfoDAO.insertSelective(hyIntendDevZoneInfoDO); + //添加战区映射的意向区域 + hyIntendDevMappingDAO.deleteByOpenAreaIds(intentAreaSettingRequest.getOpenAreaIdList(),hyIntendDevZoneInfoDO.getType()); + List openAreaIdList = intentAreaSettingRequest.getOpenAreaIdList(); + List list = new ArrayList<>(); + openAreaIdList.stream().forEach(x->{ + HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = new HyIntendDevelopementMappingDO(); + hyIntendDevelopementMappingDO.setType(intentAreaSettingRequest.getType()); + hyIntendDevelopementMappingDO.setOpenAreaMappingId(String.valueOf(x)); + hyIntendDevelopementMappingDO.setMappingId(String.valueOf(hyIntendDevZoneInfoDO.getId())); + list.add(hyIntendDevelopementMappingDO); + }); + hyIntendDevMappingDAO.batchInsert(list); + return Boolean.TRUE; + } + + @Override + public Boolean updateZone(String userId, IntentAreaSettingRequest intentAreaSettingRequest) { + if (CollectionUtils.isEmpty(intentAreaSettingRequest.getOpenAreaIdList())){ + throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); + } + HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = new HyIntendDevZoneInfoDO(); + hyIntendDevZoneInfoDO.setId(intentAreaSettingRequest.getId()); + hyIntendDevZoneInfoDO.setZoneName(intentAreaSettingRequest.getZoneName()); + hyIntendDevZoneInfoDO.setAssociatedRegionId(CollectionUtils.isNotEmpty(intentAreaSettingRequest.getOrgIdList())?JSONObject.toJSONString(intentAreaSettingRequest.getOrgIdList()):""); + hyIntendDevZoneInfoDAO.updateByPrimaryKeySelective(hyIntendDevZoneInfoDO); + //添加战区映射的意向区域 + hyIntendDevMappingDAO.deleteByOpenAreaIds(intentAreaSettingRequest.getOpenAreaIdList(),intentAreaSettingRequest.getType()); + List openAreaIdList = intentAreaSettingRequest.getOpenAreaIdList(); + List list = new ArrayList<>(); + openAreaIdList.stream().forEach(x->{ + HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = new HyIntendDevelopementMappingDO(); + hyIntendDevelopementMappingDO.setType(intentAreaSettingRequest.getType()); + hyIntendDevelopementMappingDO.setOpenAreaMappingId(String.valueOf(x)); + hyIntendDevelopementMappingDO.setMappingId(String.valueOf(hyIntendDevZoneInfoDO.getId())); + list.add(hyIntendDevelopementMappingDO); + }); + hyIntendDevMappingDAO.batchInsert(list); + return Boolean.TRUE; + } + + + @Override + public PageInfo getZoneList(String type, Integer pageSize, Integer pageNum) { + PageHelper.startPage(pageNum,pageSize); + PageInfo hyIntendDevZoneInfoList = hyIntendDevZoneInfoDAO.getHyIntendDevZoneInfoList(type); + List result = new ArrayList<>(); + List list = hyIntendDevZoneInfoList.getList(); + if (CollectionUtils.isEmpty(list)){ + return hyIntendDevZoneInfoList; + } + List updateUserIdList = list.stream().map(HyIntendDevZoneInfoDO::getUpdateUserId).collect(Collectors.toList()); + List updateUserList = enterpriseUserDAO.getUserInfoByUserIds(updateUserIdList); + Map updateUserNameMap = updateUserList.stream().collect(Collectors.toMap(EnterpriseUserDO::getUserId, EnterpriseUserDO::getName)); + list.forEach(x->{ + ZoneVO zoneVO = new ZoneVO(); + zoneVO.setZoneName(x.getZoneName()); + zoneVO.setId(x.getId()); + zoneVO.setUpdateTime(x.getUpdateTime()); + + zoneVO.setUpdateUserId(x.getUpdateUserId()); + zoneVO.setUpdateUserName(updateUserNameMap.get(x.getUpdateUserId())); + }); + hyIntendDevZoneInfoList.setList(result); + return hyIntendDevZoneInfoList; + } + + @Override + public ZoneVO zoneDetail(Long zoneId) { + HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(zoneId); + if (hyIntendDevZoneInfoDO==null){ + throw new ServiceException(ErrorCodeEnum.ZONE_NOT_EXIST); + } + + return null; + } + + @Override + public Boolean deletedZone(Long id) { + HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(id); + if (hyIntendDevZoneInfoDO==null){ + throw new ServiceException(ErrorCodeEnum.ZONE_NOT_EXIST); + } + hyIntendDevZoneInfoDO.setDeleted(1); + hyIntendDevZoneInfoDAO.updateByPrimaryKeySelective(hyIntendDevZoneInfoDO); + hyIntendDevMappingDAO.deleteByMappingIds(Arrays.asList(id),hyIntendDevZoneInfoDO.getType()); + return Boolean.TRUE; + } + + @Override + public List checkZone(IntentAreaSettingRequest intentAreaSettingRequest) { + if (CollectionUtils.isEmpty(intentAreaSettingRequest.getOpenAreaIdList())){ + throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); + } + //查询已经绑定战区的 意向区域 + List list = hyIntendDevMappingDAO.selectByMappingIdList(intentAreaSettingRequest.getOpenAreaIdList()); + List openAreaIdList = list.stream().map(ZoneCheckDTO::getOpenAreaMappingId).collect(Collectors.toList()); + List hyOpenAreaInfoDOList = openAreaInfoDAO.selectByIds(openAreaIdList); + Map areaNameMap = hyOpenAreaInfoDOList.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, HyOpenAreaInfoDO::getAreaName)); + List reslut = new ArrayList<>(); + list.forEach(x->{ + ZoneCheckVO zoneCheckVO = new ZoneCheckVO(); + zoneCheckVO.setZoneName(x.getZoneName()); + String areaName = areaNameMap.get(x.getOpenAreaMappingId()); + zoneCheckVO.setAreaName(areaName); + }); + return reslut; + } +} diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java index 086568d65..d44b67456 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/DeskController.java @@ -284,45 +284,11 @@ public class DeskController { @ApiOperation("变更开放区域状态") public ResponseResult changeOpenAreaStatus(@RequestBody OpenAreaRequest openAreaRequest){ - return ResponseResult.success(); + String userId = ""; + return ResponseResult.success(openAreaService.batchUpdate( userId, openAreaRequest)); } - @PostMapping(path = "/addZone") - @ApiOperation("新建意向战区/开发战区") - public ResponseResult addZone(@RequestBody IntentAreaSettingRequest intentAreaSettingRequest){ - - return ResponseResult.success(); - } - - @PostMapping(path = "/updateZone") - @ApiOperation("编辑意向战区/开发战区") - public ResponseResult updateZone(@RequestBody IntentAreaSettingRequest intentAreaSettingRequest){ - - return ResponseResult.success(); - } - - @GetMapping(path = "/getZoneList") - @ApiOperation("战区列表") - @ApiImplicitParams({ - @ApiImplicitParam(name = "type", value = "意向区域-intent 开发区域=dev", required = false), - }) - public ResponseResult> getZoneList(@RequestParam(value = "type",required = false)String type, - @RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber, - @RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){ - return ResponseResult.success(); - } - - - @GetMapping(path = "/deletedZoneList") - @ApiOperation("删除战区") - @ApiImplicitParams({ - @ApiImplicitParam(name = "type", value = "意向区域-intent 开发区域=dev", required = false), - }) - public ResponseResult deletedZoneList(@RequestParam(value = "id",required = false)Long id){ - return ResponseResult.success(); - } - @GetMapping(path = "/getAdvanceSetting") @ApiOperation("查询企业高级设置") diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/ZoneController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/ZoneController.java new file mode 100644 index 000000000..642f215c6 --- /dev/null +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/ZoneController.java @@ -0,0 +1,57 @@ +package com.cool.store.controller; + +import com.cool.store.request.IntentAreaSettingRequest; +import com.cool.store.response.ResponseResult; +import com.cool.store.vo.ZoneVO; +import com.github.pagehelper.PageInfo; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +/** + * @Author suzhuhong + * @Date 2023/6/14 11:40 + * @Version 1.0 + */ +@RestController +@Slf4j +public class ZoneController { + + + @PostMapping(path = "/addZone") + @ApiOperation("新建意向战区/开发战区") + public ResponseResult addZone(@RequestBody IntentAreaSettingRequest intentAreaSettingRequest){ + + return ResponseResult.success(); + } + + @PostMapping(path = "/updateZone") + @ApiOperation("编辑意向战区/开发战区") + public ResponseResult updateZone(@RequestBody IntentAreaSettingRequest intentAreaSettingRequest){ + + return ResponseResult.success(); + } + + @GetMapping(path = "/getZoneList") + @ApiOperation("战区列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "type", value = "意向区域-intent 开发区域=dev", required = false), + }) + public ResponseResult> getZoneList(@RequestParam(value = "type",required = false)String type, + @RequestParam(value = "pageNumber",required = false,defaultValue = "1")Integer pageNumber, + @RequestParam(value = "pageSize",required = false,defaultValue = "10")Integer pageSize){ + return ResponseResult.success(); + } + + + @GetMapping(path = "/deletedZoneList") + @ApiOperation("删除战区") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "id", required = false), + }) + public ResponseResult deletedZoneList(@RequestParam(value = "id",required = false)Long id){ + return ResponseResult.success(); + } +}