B端 部分接口3

This commit is contained in:
苏竹红
2023-06-14 19:38:38 +08:00
parent df2f2e307d
commit c0cf731ac3
21 changed files with 762 additions and 50 deletions

View File

@@ -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<ZoneVO> 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<ZoneCheckVO> checkZone(IntentAreaSettingRequest intentAreaSettingRequest);
}

View File

@@ -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());

View File

@@ -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<Long> openAreaIdList = intentAreaSettingRequest.getOpenAreaIdList();
List<HyIntendDevelopementMappingDO> 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<Long> openAreaIdList = intentAreaSettingRequest.getOpenAreaIdList();
List<HyIntendDevelopementMappingDO> 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<ZoneVO> getZoneList(String type, Integer pageSize, Integer pageNum) {
PageHelper.startPage(pageNum,pageSize);
PageInfo hyIntendDevZoneInfoList = hyIntendDevZoneInfoDAO.getHyIntendDevZoneInfoList(type);
List<ZoneVO> result = new ArrayList<>();
List<HyIntendDevZoneInfoDO> list = hyIntendDevZoneInfoList.getList();
if (CollectionUtils.isEmpty(list)){
return hyIntendDevZoneInfoList;
}
List<String> updateUserIdList = list.stream().map(HyIntendDevZoneInfoDO::getUpdateUserId).collect(Collectors.toList());
List<EnterpriseUserDO> updateUserList = enterpriseUserDAO.getUserInfoByUserIds(updateUserIdList);
Map<String, String> 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<ZoneCheckVO> checkZone(IntentAreaSettingRequest intentAreaSettingRequest) {
if (CollectionUtils.isEmpty(intentAreaSettingRequest.getOpenAreaIdList())){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
}
//查询已经绑定战区的 意向区域
List<ZoneCheckDTO> list = hyIntendDevMappingDAO.selectByMappingIdList(intentAreaSettingRequest.getOpenAreaIdList());
List<Long> openAreaIdList = list.stream().map(ZoneCheckDTO::getOpenAreaMappingId).collect(Collectors.toList());
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOList = openAreaInfoDAO.selectByIds(openAreaIdList);
Map<Long, String> areaNameMap = hyOpenAreaInfoDOList.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, HyOpenAreaInfoDO::getAreaName));
List<ZoneCheckVO> 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;
}
}

View File

@@ -284,45 +284,11 @@ public class DeskController {
@ApiOperation("变更开放区域状态")
public ResponseResult<Boolean> changeOpenAreaStatus(@RequestBody OpenAreaRequest openAreaRequest){
return ResponseResult.success();
String userId = "";
return ResponseResult.success(openAreaService.batchUpdate( userId, openAreaRequest));
}
@PostMapping(path = "/addZone")
@ApiOperation("新建意向战区/开发战区")
public ResponseResult<Boolean> addZone(@RequestBody IntentAreaSettingRequest intentAreaSettingRequest){
return ResponseResult.success();
}
@PostMapping(path = "/updateZone")
@ApiOperation("编辑意向战区/开发战区")
public ResponseResult<Boolean> updateZone(@RequestBody IntentAreaSettingRequest intentAreaSettingRequest){
return ResponseResult.success();
}
@GetMapping(path = "/getZoneList")
@ApiOperation("战区列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "type", value = "意向区域-intent 开发区域=dev", required = false),
})
public ResponseResult<PageInfo<ZoneVO>> 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<Boolean> deletedZoneList(@RequestParam(value = "id",required = false)Long id){
return ResponseResult.success();
}
@GetMapping(path = "/getAdvanceSetting")
@ApiOperation("查询企业高级设置")

View File

@@ -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<Boolean> addZone(@RequestBody IntentAreaSettingRequest intentAreaSettingRequest){
return ResponseResult.success();
}
@PostMapping(path = "/updateZone")
@ApiOperation("编辑意向战区/开发战区")
public ResponseResult<Boolean> updateZone(@RequestBody IntentAreaSettingRequest intentAreaSettingRequest){
return ResponseResult.success();
}
@GetMapping(path = "/getZoneList")
@ApiOperation("战区列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "type", value = "意向区域-intent 开发区域=dev", required = false),
})
public ResponseResult<PageInfo<ZoneVO>> 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<Boolean> deletedZoneList(@RequestParam(value = "id",required = false)Long id){
return ResponseResult.success();
}
}