From 9147ac833536f581c4ce8ff7504d7daf4a20cd9c Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Fri, 14 Jan 2022 14:02:40 +0800 Subject: [PATCH] 服务范围增删改查接口 --- screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java | 4 screen-manage/src/main/java/com/moral/api/service/ServicesScopeService.java | 60 +++++++ screen-manage/src/main/java/com/moral/api/mapper/ServicesScopeMapper.java | 16 ++ screen-manage/src/main/java/com/moral/api/service/impl/ServicesScopeServiceImpl.java | 148 ++++++++++++++++++ screen-manage/src/main/resources/mapper/ServicesScopeMapper.xml | 18 ++ screen-manage/src/main/java/com/moral/api/entity/ServicesScope.java | 79 +++++++++ screen-manage/src/main/java/com/moral/api/controller/ServicesScopeController.java | 112 ++++++++++++++ 7 files changed, 436 insertions(+), 1 deletions(-) diff --git a/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java b/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java index cd8d4ff..54dea75 100644 --- a/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java +++ b/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java @@ -62,7 +62,9 @@ TARGET_IS_NULL(-47, "���������������������"), VERSION_USED(-48, "������������������������������"), CANNOT_DELETE_ONESELF(-49, "���������������������������"), - EXPIRE_BEYOND_ADMIN(-50, "���������������������������������"); + EXPIRE_BEYOND_ADMIN(-50, "���������������������������������"), + SERVICES_SCOPE_IS_EXIST(-51, "���������������������"), + SERVICES_SCOPE_IS_NOT_EXIST(-52, "���������������������"); private final Integer code; private final String msg; diff --git a/screen-manage/src/main/java/com/moral/api/controller/ServicesScopeController.java b/screen-manage/src/main/java/com/moral/api/controller/ServicesScopeController.java new file mode 100644 index 0000000..639358e --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/controller/ServicesScopeController.java @@ -0,0 +1,112 @@ +package com.moral.api.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.moral.api.entity.Organization; +import com.moral.api.entity.ServicesScope; +import com.moral.api.mapper.OrganizationMapper; +import com.moral.api.service.OrganizationService; +import com.moral.api.service.ServicesScopeService; +import com.moral.constant.Constants; +import com.moral.constant.ResponseCodeEnum; +import com.moral.constant.ResultMessage; +import com.moral.util.WebUtils; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.Map; + +/** + * @program: screen + * @description: ������������ + * @author: lizijie + * @create: 2022-01-12 15:42 + **/ +@Slf4j +@Api(tags = {"������������"}) +@RestController +@RequestMapping("/servicesScope") +public class ServicesScopeController { + + @Resource + private OrganizationMapper organizationMapper; + + @Resource + private OrganizationService organizationService; + + @Resource + private ServicesScopeService servicesScopeService; + + @RequestMapping(value = "getDataByCondition", method = RequestMethod.GET) + @ResponseBody + public ResultMessage getDataByCondition(HttpServletRequest request){ + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request,null); + Object size = parameters.get("size"); + Object current = parameters.get("current"); + if (ObjectUtils.isEmpty(size) || ObjectUtils.isEmpty(current)){ + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + Map<String, Object> resultMap = servicesScopeService.getDataByCondition(parameters); + return ResultMessage.ok(resultMap); + } + + @RequestMapping(value = "insert",method = RequestMethod.POST) + @ResponseBody + public ResultMessage insert(@RequestBody ServicesScope servicesScope){ + if (ObjectUtils.isEmpty(servicesScope.getName()) || ObjectUtils.isEmpty(servicesScope.getOrganizationId())){ + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + QueryWrapper<Organization> organizationQueryWrapper = new QueryWrapper<>(); + organizationQueryWrapper.eq("id",servicesScope.getOrganizationId()).eq("is_delete",Constants.NOT_DELETE); + Organization organization = organizationService.getOne(organizationQueryWrapper); + if (ObjectUtils.isEmpty(organization)){ + return ResultMessage.fail(ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getCode(), ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getMsg()); + } + servicesScopeService.insert(servicesScope); + return ResultMessage.ok(); + } + + @RequestMapping(value = "update",method = RequestMethod.POST) + @ResponseBody + public ResultMessage update(@RequestBody ServicesScope servicesScope){ + if (ObjectUtils.isEmpty(servicesScope.getId())){ + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + QueryWrapper<ServicesScope> servicesScopeQueryWrapper = new QueryWrapper<>(); + servicesScopeQueryWrapper.eq("id",servicesScope.getId()).eq("is_delete",Constants.NOT_DELETE); + ServicesScope servicesScopeRes = servicesScopeService.getOne(servicesScopeQueryWrapper); + if (ObjectUtils.isEmpty(servicesScopeRes)){ + return ResultMessage.fail(ResponseCodeEnum.SERVICES_SCOPE_IS_NOT_EXIST.getCode(), ResponseCodeEnum.SERVICES_SCOPE_IS_NOT_EXIST.getMsg()); + } + if (!ObjectUtils.isEmpty(servicesScope.getOrganizationId())){ + QueryWrapper<Organization> organizationQueryWrapper = new QueryWrapper<>(); + organizationQueryWrapper.eq("id",servicesScope.getOrganizationId()).eq("is_delete",Constants.NOT_DELETE); + Organization organization = organizationService.getOne(organizationQueryWrapper); + if (ObjectUtils.isEmpty(organization)){ + return ResultMessage.fail(ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getCode(), ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getMsg()); + } + } + servicesScopeService.update(servicesScope); + return ResultMessage.ok(); + } + + @RequestMapping(value = "delete",method = RequestMethod.POST) + @ResponseBody + public ResultMessage delete(@RequestBody Map map){ + if (ObjectUtils.isEmpty(map.get("id"))){ + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + QueryWrapper<ServicesScope> servicesScopeQueryWrapper = new QueryWrapper<>(); + servicesScopeQueryWrapper.eq("id",Integer.parseInt(map.get("id").toString())).eq("is_delete",Constants.NOT_DELETE); + ServicesScope servicesScopeRes = servicesScopeService.getOne(servicesScopeQueryWrapper); + if (ObjectUtils.isEmpty(servicesScopeRes)){ + return ResultMessage.fail(ResponseCodeEnum.SERVICES_SCOPE_IS_NOT_EXIST.getCode(), ResponseCodeEnum.SERVICES_SCOPE_IS_NOT_EXIST.getMsg()); + } + servicesScopeService.delete(Integer.parseInt(map.get("id").toString())); + return ResultMessage.ok(); + } + +} diff --git a/screen-manage/src/main/java/com/moral/api/entity/ServicesScope.java b/screen-manage/src/main/java/com/moral/api/entity/ServicesScope.java new file mode 100644 index 0000000..e72fba1 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/entity/ServicesScope.java @@ -0,0 +1,79 @@ +package com.moral.api.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import java.io.Serializable; +import java.util.Date; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * <p> + * + * </p> + * + * @author moral + * @since 2022-01-12 + */ +@Data +@EqualsAndHashCode(callSuper = false) +public class ServicesScope extends Model<ServicesScope> { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * ������ + */ + private String name; + + /** + * ������id + */ + private Integer organizationId; + + /** + * ������������ + */ + private Double centerLongitude; + + /** + * ������������ + */ + private Double centerLatitude; + + /** + * ������ + */ + private String boundary; + + /** + * ������������ + */ + private Date createTime; + + /** + * ������������ + */ + private Date updateTime; + + /** + * ������������ + */ + private String isDelete; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/screen-manage/src/main/java/com/moral/api/mapper/ServicesScopeMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/ServicesScopeMapper.java new file mode 100644 index 0000000..caab296 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/mapper/ServicesScopeMapper.java @@ -0,0 +1,16 @@ +package com.moral.api.mapper; + +import com.moral.api.entity.ServicesScope; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * Mapper ������ + * </p> + * + * @author moral + * @since 2022-01-12 + */ +public interface ServicesScopeMapper extends BaseMapper<ServicesScope> { + +} diff --git a/screen-manage/src/main/java/com/moral/api/service/ServicesScopeService.java b/screen-manage/src/main/java/com/moral/api/service/ServicesScopeService.java new file mode 100644 index 0000000..5905297 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/service/ServicesScopeService.java @@ -0,0 +1,60 @@ +package com.moral.api.service; + +import com.moral.api.entity.ServicesScope; +import com.baomidou.mybatisplus.extension.service.IService; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Map; + +/** + * <p> + * ��������� + * </p> + * + * @author moral + * @since 2022-01-12 + */ +@Transactional +public interface ServicesScopeService extends IService<ServicesScope> { + + /** + *@Description: ��������������������������������� + *@Param: [map] + *@return: java.util.List<java.util.Map<java.lang.String,java.lang.Object>> + *@Author: lizijie + *@Date: 2022/1/12 16:35 + **/ + Map<String, Object> getDataByCondition(Map<String, Object> map); + + /** + *@Description: ������������������ + *@Param: [servicesScope] + *@return: void + *@Author: lizijie + *@Date: 2022/1/13 9:45 + **/ + @Transactional + void insert(ServicesScope servicesScope); + + /** + *@Description: ������ + *@Param: [servicesScope] + *@return: void + *@Author: lizijie + *@Date: 2022/1/13 14:54 + **/ + @Transactional + void update(ServicesScope servicesScope); + + /** + *@Description: ������id������ + *@Param: [id] + *@return: void + *@Author: lizijie + *@Date: 2022/1/13 17:30 + **/ + @Transactional + void delete(int id); + +} diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ServicesScopeServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ServicesScopeServiceImpl.java new file mode 100644 index 0000000..43f3da5 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/service/impl/ServicesScopeServiceImpl.java @@ -0,0 +1,148 @@ +package com.moral.api.service.impl; + +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.moral.api.entity.Organization; +import com.moral.api.entity.ServicesScope; +import com.moral.api.mapper.OrganizationMapper; +import com.moral.api.mapper.ServicesScopeMapper; +import com.moral.api.service.ServicesScopeService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.util.LogUtils; +import com.moral.constant.Constants; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * <p> + * ��������������� + * </p> + * + * @author moral + * @since 2022-01-12 + */ +@Service +public class ServicesScopeServiceImpl extends ServiceImpl<ServicesScopeMapper, ServicesScope> implements ServicesScopeService { + + @Autowired + private ServicesScopeMapper servicesScopeMapper; + + @Autowired + private OrganizationMapper organizationMapper; + + @Override + public Map<String, Object> getDataByCondition(Map<String, Object> map) { + Map<String,Object> resultMap = new HashMap<>(); + int current = Integer.parseInt(map.get("current").toString()); + int size = Integer.parseInt(map.get("size").toString()); + Page<ServicesScope> page = new Page<>(current, size); + QueryWrapper<ServicesScope> servicesScopeWrapper = new QueryWrapper<>(); + servicesScopeWrapper.eq("is_delete",Constants.NOT_DELETE); + if (!ObjectUtils.isEmpty(map.get("orgId"))){ + servicesScopeWrapper.eq("organization_id",Integer.parseInt(map.get("orgId").toString())); + } + if (!ObjectUtils.isEmpty(map.get("name"))){ + if (map.get("name") != ""){ + servicesScopeWrapper.like("name",map.get("name").toString()); + } + } + Page<ServicesScope> resultPage = servicesScopeMapper.selectPage(page, servicesScopeWrapper); + List<ServicesScope> servicesScopes = resultPage.getRecords(); + SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + List<Map<String,Object>> servicesScopesList = new ArrayList<>(); + for (ServicesScope servicesScope:servicesScopes) { + Map servicesScopeMap = JSON.parseObject(JSON.toJSONString(servicesScope),Map.class); + if (ObjectUtils.isEmpty(servicesScopeMap.get("centerLongitude"))){ + servicesScopeMap.put("centerLongitude",null); + } + if (ObjectUtils.isEmpty(servicesScopeMap.get("centerLatitude"))){ + servicesScopeMap.put("centerLatitude",null); + } + if (ObjectUtils.isEmpty(servicesScopeMap.get("boundary"))){ + servicesScopeMap.put("boundary",null); + } + String createTime = SDF.format(servicesScope.getCreateTime()); + String updateTime = SDF.format(servicesScope.getUpdateTime()); + servicesScopeMap.put("createTime",createTime); + servicesScopeMap.put("updateTime",updateTime); + int organization_id = servicesScope.getOrganizationId(); + Organization organization = organizationMapper.selectById(organization_id); + servicesScopeMap.put("organization_name",organization.getName()); + servicesScopesList.add(servicesScopeMap); + } + resultMap.put("servicesScopes",servicesScopesList); + int totalNumber = servicesScopeMapper.selectCount(servicesScopeWrapper); + resultMap.put("totalNumber",totalNumber); + resultMap.put("current",current); + int totalPageNumber = totalNumber/size; + if(totalNumber%size != 0){ + totalPageNumber += 1; + } + resultMap.put("totalPageNumber",totalPageNumber); + return resultMap; + } + + @Transactional + @Override + public void insert(ServicesScope servicesScope) { + int count = servicesScopeMapper.insert(servicesScope); + if (count > 0) { + //������������������ + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + StringBuilder content = new StringBuilder(); + content.append("������������������������").append("id:").append(servicesScope.getId() + ";").append("name:").append(servicesScope.getName() + ";").append(":").append("organization_id���").append(servicesScope.getOrganizationId() + ";"); + LogUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE); + } + } + + @Override + @Transactional + public void update(ServicesScope servicesScope) { + ServicesScope oldServicesScope = servicesScopeMapper.selectById(servicesScope.getId()); + servicesScopeMapper.updateById(servicesScope); + ServicesScope newServicesScope = servicesScopeMapper.selectById(servicesScope.getId()); + //������������������ + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + StringBuilder content = new StringBuilder(); + content.append("������������������������").append("id:").append(servicesScope.getId() + ";"); + if (!com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(servicesScope.getOrganizationId())) { + content.append("organization_id:").append(oldServicesScope.getOrganizationId()).append("->").append(newServicesScope.getOrganizationId()).append(";"); + } + if (!com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(servicesScope.getName())) { + content.append("name:").append(oldServicesScope.getName()).append("->").append(newServicesScope.getName()).append(";"); + } + if (!com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(servicesScope.getCenterLongitude())) { + content.append("center_longitude:").append(oldServicesScope.getCenterLongitude()).append("->").append(newServicesScope.getCenterLongitude()).append(";"); + } + if (!com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(servicesScope.getCenterLatitude())) { + content.append("center_latitude:").append(oldServicesScope.getCenterLatitude()).append("->").append(newServicesScope.getCenterLatitude()).append(";"); + } + if (!com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(servicesScope.getBoundary())) { + content.append("boundary:").append("������������").append(";"); + } + LogUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE); + } + + @Override + @Transactional + public void delete(int id) { + ServicesScope servicesScope = new ServicesScope(); + servicesScope.setId(id); + servicesScope.setIsDelete(Constants.DELETE); + servicesScopeMapper.updateById(servicesScope); + //������������������ + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + StringBuilder content = new StringBuilder(); + content.append("������������������������").append("id:").append(id).append(";"); + LogUtils.saveOperationForManage(request, content.toString(), Constants.DELETE_OPERATE_TYPE); + } +} diff --git a/screen-manage/src/main/resources/mapper/ServicesScopeMapper.xml b/screen-manage/src/main/resources/mapper/ServicesScopeMapper.xml new file mode 100644 index 0000000..5719ffe --- /dev/null +++ b/screen-manage/src/main/resources/mapper/ServicesScopeMapper.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.moral.api.mapper.ServicesScopeMapper"> + + <!-- ������������������������ --> + <resultMap id="BaseResultMap" type="com.moral.api.entity.ServicesScope"> + <id column="id" property="id" /> + <result column="name" property="name" /> + <result column="organization__id" property="organizationId" /> + <result column="center_longitude" property="centerLongitude" /> + <result column="center_latitude" property="centerLatitude" /> + <result column="boundary" property="boundary" /> + <result column="create_time" property="createTime" /> + <result column="update_time" property="updateTime" /> + <result column="is_delete" property="isDelete" /> + </resultMap> + +</mapper> \ No newline at end of file -- Gitblit v1.8.0