jiaosong
2023-10-10 cac8f41a47915de2a30a8784fe1fc35c364e86df
#pgsql 运营监控
已添加5个文件
已修改9个文件
375 ■■■■ 文件已修改
server/platform/src/main/java/com/doumee/api/business/BikeRepairController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/core/constants/Constants.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/SitesMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/join/BikeRepairJoinMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/Multifile.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/Sites.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/web/request/BikeRepairDTO.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/web/request/BikeRepairProblemDTO.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/web/request/BikeRepairQuery.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/web/request/SitesMonitorDTO.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/BikeRepairService.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/BikeRepairServiceImpl.java 143 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/BikeRepairController.java
@@ -7,6 +7,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.BikeRepair;
import com.doumee.dao.business.web.request.BikeRepairDTO;
import com.doumee.dao.business.web.request.BikeRepairQuery;
import com.doumee.service.business.BikeRepairService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -70,15 +72,15 @@
    @ApiOperation("分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:bikerepair:query")
    public ApiResponse<PageData<BikeRepair>> findPage (@RequestBody PageWrap<BikeRepair> pageWrap) {
    public ApiResponse<PageData<BikeRepairDTO>> findPage (@RequestBody PageWrap<BikeRepairQuery> pageWrap) {
        return ApiResponse.success(bikeRepairService.findPage(pageWrap));
    }
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:bikerepair:exportExcel")
    public void exportExcel (@RequestBody PageWrap<BikeRepair> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(BikeRepair.class).export(bikeRepairService.findPage(pageWrap).getRecords(), "车辆问题上报信息表", response);
    public void exportExcel (@RequestBody PageWrap<BikeRepairQuery> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(BikeRepairDTO.class).export(bikeRepairService.findPage(pageWrap).getRecords(), "车辆问题上报信息表", response);
    }
    @ApiOperation("根据ID查询")
server/services/src/main/java/com/doumee/core/constants/Constants.java
@@ -27,6 +27,7 @@
    public static final String IMG_DIR = "IMG_DIR";
    public static final String FILE_DIR ="FILE_DIR" ;
    public static final String PRIVATE_KEY = "PRIVATE_KEY";
    public static final String PROJECT_FILE = "PROJECT_FILE";
    public static String REDIS_DEBUG_STR="test_";
    public  interface MqttTopic{
        //开锁
server/services/src/main/java/com/doumee/dao/business/SitesMapper.java
@@ -2,6 +2,8 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.Sites;
import com.doumee.dao.business.web.request.SitesMonitorDTO;
import org.apache.ibatis.annotations.Select;
/**
 * @author æ±Ÿè¹„蹄
@@ -9,4 +11,20 @@
 */
public interface SitesMapper extends BaseMapper<Sites> {
    /**
     * @return
     */
    @Select("SELECT \n" +
            "sites.id,\n" +
            "sites.name as name,\n" +
            "sites.code as code,\n" +
            "count(l.id) as lid,\n" +
            "count(l.bike_code ) as lbikeCount\n" +
            "from \n" +
            "sites sites\n" +
            "LEFT JOIN locks l on sites.id = l.site_id\n" +
            "GROUP BY sites.id ")
    SitesMonitorDTO getSitesMonitorDTO();
}
server/services/src/main/java/com/doumee/dao/business/join/BikeRepairJoinMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
package com.doumee.dao.business.join;
import com.doumee.dao.business.model.BikeRepair;
import com.github.yulichang.base.mapper.MPJJoinMapper;
import org.springframework.stereotype.Repository;
/**
 * @author T14
 */
@Repository
public interface BikeRepairJoinMapper extends MPJJoinMapper<BikeRepair> {
}
server/services/src/main/java/com/doumee/dao/business/model/Multifile.java
@@ -72,6 +72,11 @@
    @ExcelColumn(name="文件地址")
    private String fileurl;
    @ApiModelProperty(value = "文件地址")
    @ExcelColumn(name="文件地址")
    @TableField(exist = false)
    private String fileurlfull;
    @ApiModelProperty(value = "排序码")
    @ExcelColumn(name="排序码")
    private Integer sortnum;
server/services/src/main/java/com/doumee/dao/business/model/Sites.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -44,6 +45,7 @@
    @ApiModelProperty(value = "是否已删除 0未删除 1已删除", example = "1")
    @ExcelColumn(name="是否已删除 0未删除 1已删除")
    @TableLogic
    private Integer isdeleted;
    @ApiModelProperty(value = "备注")
server/services/src/main/java/com/doumee/dao/business/web/request/BikeRepairDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
package com.doumee.dao.business.web.request;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author T14
 */
@Data
@ApiModel("车辆问题上报信息列表")
public class BikeRepairDTO {
    @ApiModelProperty(value = "用户")
    private String openid;
    @ApiModelProperty(value = "车辆类型")
    private String bikeTypeName;
    @ApiModelProperty(value = "车辆编号")
    private String bikeCode;
    @ApiModelProperty(value = "联系人")
    private String linkname;
    @ApiModelProperty(value = "联系电话")
    private String linkphone;
    @ApiModelProperty(value = "问题类型")
    private String  problemName;
    @ApiModelProperty(value = "是否处理")
    private Integer status;
    @ApiModelProperty(value = "创建时间开始")
    private Date createDate;
}
server/services/src/main/java/com/doumee/dao/business/web/request/BikeRepairProblemDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
package com.doumee.dao.business.web.request;
import com.doumee.dao.business.model.Multifile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @author T14
 */
@Data
@ApiModel("车辆问题上报问题描述")
public class BikeRepairProblemDTO {
    @ApiModelProperty(value = "用户上报问题")
    private String param;
    @ApiModelProperty(value = "附件信息")
    private List<Multifile> list;
}
server/services/src/main/java/com/doumee/dao/business/web/request/BikeRepairQuery.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
package com.doumee.dao.business.web.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author T14
 */
@Data
@ApiModel("自行车上报查询")
public class BikeRepairQuery {
    @ApiModelProperty(value = "用户")
    private String openid;
    @ApiModelProperty(value = "车辆编号")
    private String bikeId;
    @ApiModelProperty(value = "是否处理")
    private Integer status;
    @ApiModelProperty(value = "创建时间开始")
    private Date createDateStart;
    @ApiModelProperty(value = "创建时间结束")
    private Date createDateEnd;
}
server/services/src/main/java/com/doumee/dao/business/web/request/SitesMonitorDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
package com.doumee.dao.business.web.request;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
 * @author T14
 */
@Data
@ApiModel("站点统计")
public class SitesMonitorDTO {
    @ApiModelProperty(value = "名称")
    private String name;
    @ApiModelProperty(value = "编号")
    private String code;
    @ApiModelProperty(value = "锁止器数")
    private Integer localCount;
    @ApiModelProperty(value = "在架车辆数")
    private Integer bikeCount;
    @ApiModelProperty(value = "满架率")
    private BigDecimal rate;
}
server/services/src/main/java/com/doumee/service/business/BikeRepairService.java
@@ -3,6 +3,9 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.BikeRepair;
import com.doumee.dao.business.web.request.BikeRepairDTO;
import com.doumee.dao.business.web.request.BikeRepairProblemDTO;
import com.doumee.dao.business.web.request.BikeRepairQuery;
import com.doumee.dao.business.web.request.RepairRequest;
import java.util.List;
@@ -16,7 +19,7 @@
    /**
     * åˆ›å»º
     *
     *
     * @param bikeRepair å®žä½“对象
     * @return String
     */
@@ -80,14 +83,21 @@
     * @return List<BikeRepair>
     */
    List<BikeRepair> findList(BikeRepair bikeRepair);
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param pageWrap åˆ†é¡µå¯¹è±¡
     * @return PageData<BikeRepair>
     */
    PageData<BikeRepair> findPage(PageWrap<BikeRepair> pageWrap);
    PageData<BikeRepairDTO> findPage(PageWrap<BikeRepairQuery> pageWrap);
    /**
     *
     * èŽ·å–ä¸ŠæŠ¥äººçš„ä¿ä¿®ä¿¡æ¯
     * @return BikeRepairProblemDTO
     */
    BikeRepairProblemDTO getBikeRepairProblemDTO(String id);
    /**
     * æ¡ä»¶ç»Ÿè®¡
server/services/src/main/java/com/doumee/service/business/impl/BikeRepairServiceImpl.java
@@ -1,4 +1,6 @@
package com.doumee.service.business.impl;
import com.doumee.biz.system.SystemDictDataBiz;
import com.google.common.collect.Lists;
import com.doumee.core.constants.Constants;
import com.doumee.core.model.PageData;
@@ -6,18 +8,23 @@
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.BikeRepairMapper;
import com.doumee.dao.business.MultifileMapper;
import com.doumee.dao.business.model.BikeRepair;
import com.doumee.dao.business.model.Multifile;
import com.doumee.dao.business.join.BikeRepairJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.business.web.request.BikeRepairDTO;
import com.doumee.dao.business.web.request.BikeRepairProblemDTO;
import com.doumee.dao.business.web.request.BikeRepairQuery;
import com.doumee.dao.business.web.request.RepairRequest;
import com.doumee.service.business.BikeRepairService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.Date;
import java.util.List;
@@ -33,6 +40,12 @@
    @Autowired
    private BikeRepairMapper bikeRepairMapper;
    @Autowired
    private BikeRepairJoinMapper bikeRepairJoinMapper;
    @Autowired
    SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private MultifileMapper multifileMapper;
@@ -93,83 +106,69 @@
        QueryWrapper<BikeRepair> wrapper = new QueryWrapper<>(bikeRepair);
        return bikeRepairMapper.selectList(wrapper);
    }
    @Override
    public PageData<BikeRepair> findPage(PageWrap<BikeRepair> pageWrap) {
    public PageData<BikeRepairDTO> findPage(PageWrap<BikeRepairQuery> pageWrap) {
        IPage<BikeRepair> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<BikeRepair> queryWrapper = new QueryWrapper<>();
        MPJLambdaWrapper<BikeRepair> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(BikeRepair::getId, pageWrap.getModel().getId());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(BikeRepair::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(BikeRepair::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(BikeRepair::getCreator, pageWrap.getModel().getCreator());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(BikeRepair::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(BikeRepair::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getEditor() != null) {
            queryWrapper.lambda().eq(BikeRepair::getEditor, pageWrap.getModel().getEditor());
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(BikeRepair::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getBinkeId() != null) {
            queryWrapper.lambda().eq(BikeRepair::getBinkeId, pageWrap.getModel().getBinkeId());
        }
        if (pageWrap.getModel().getLongitude() != null) {
            queryWrapper.lambda().eq(BikeRepair::getLongitude, pageWrap.getModel().getLongitude());
        }
        if (pageWrap.getModel().getLatitude() != null) {
            queryWrapper.lambda().eq(BikeRepair::getLatitude, pageWrap.getModel().getLatitude());
        }
        if (pageWrap.getModel().getAddr() != null) {
            queryWrapper.lambda().eq(BikeRepair::getAddr, pageWrap.getModel().getAddr());
        }
        if (pageWrap.getModel().getParamId() != null) {
            queryWrapper.lambda().eq(BikeRepair::getParamId, pageWrap.getModel().getParamId());
        }
        if (pageWrap.getModel().getParam() != null) {
            queryWrapper.lambda().eq(BikeRepair::getParam, pageWrap.getModel().getParam());
        if (pageWrap.getModel().getCreateDateStart() != null
                && pageWrap.getModel().getCreateDateEnd() != null) {
            queryWrapper.ge(BikeRepair::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDateStart()));
            queryWrapper.le(BikeRepair::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDateEnd()));
        }
        if (pageWrap.getModel().getStatus() != null) {
            queryWrapper.lambda().eq(BikeRepair::getStatus, pageWrap.getModel().getStatus());
            queryWrapper.eq(BikeRepair::getStatus, pageWrap.getModel().getStatus());
        }
        if (pageWrap.getModel().getInfo() != null) {
            queryWrapper.lambda().eq(BikeRepair::getInfo, pageWrap.getModel().getInfo());
        queryWrapper.leftJoin(Member.class,Member::getId,BikeRepair::getMemberId)
                    .leftJoin(Bikes.class,Bikes::getId,BikeRepair::getBinkeId)
                    .leftJoin(BaseParam.class,BaseParam::getId,Bikes::getParamId)
                    .leftJoin("base_param bpp on b.param_id = bp.id and bp.type = 1");
        queryWrapper.selectAs(Member::getOpenid,BikeRepairDTO::getOpenid)
                    .selectAs(BikeRepair::getLinkname,BikeRepairDTO::getLinkname)
                    .selectAs(BikeRepair::getLinkphone,BikeRepairDTO::getLinkphone)
                    .selectAs(Bikes::getCode,BikeRepairDTO::getBikeCode)
                    .selectAs(BikeRepair::getCreateDate,BikeRepairDTO::getCreateDate)
                    .selectAs(BikeRepair::getStatus,BikeRepairDTO::getStatus)
                    .selectAs(BaseParam::getName,BikeRepairDTO::getBikeTypeName)
                    .select("bpp.name as problemName");
        queryWrapper.like(!StringUtils.isEmpty(pageWrap.getModel().getOpenid()),Member::getOpenid,pageWrap.getModel().getOpenid())
                    .like(!StringUtils.isEmpty(pageWrap.getModel().getBikeId()),Bikes::getId,pageWrap.getModel().getBikeId())
                    .eq(!StringUtils.isEmpty(pageWrap.getModel().getStatus()),BikeRepair::getStatus,pageWrap.getModel().getStatus())
                    .ge(Objects.nonNull(pageWrap.getModel().getCreateDateStart()),
                            BikeRepair::getCreateDate,
                            Utils.Date.getStart(pageWrap.getModel().getCreateDateStart()))
                    .le(Objects.nonNull(pageWrap.getModel().getCreateDateEnd()),
                            BikeRepair::getCreateDate,
                            Utils.Date.getStart(pageWrap.getModel().getCreateDateEnd()));
        return PageData.from(bikeRepairJoinMapper.selectJoinPage(page, BikeRepairDTO.class,queryWrapper));
    }
    @Override
    public BikeRepairProblemDTO getBikeRepairProblemDTO(String id) {
        BikeRepairProblemDTO bikeRepairProblemDTO = new BikeRepairProblemDTO();
        BikeRepair bikeRepair = bikeRepairMapper.selectById(id);
        bikeRepairProblemDTO.setParam(bikeRepair.getParam());
//        multifileMapper.multifile);
        QueryWrapper<Multifile> wrapper = new QueryWrapper<>();
        wrapper.lambda()
                .eq(Multifile::getObjId,id)
                .eq(Multifile::getObjType,Constants.ZERO)
                .eq(Multifile::getIsdeleted,Constants.ZERO);
        List<Multifile> multifiles = multifileMapper.selectList(wrapper);
        //TODO éœ€è¦ä¿®æ”¹
        String path =systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode();
        String projectFile = systemDictDataBiz.queryByCode(Constants.OSS, Constants.PROJECT_FILE).getCode();
        if (!CollectionUtils.isEmpty(multifiles)){
            multifiles.forEach(s->{
                s.setFileurlfull(path+projectFile+s.getFileurl());
            });
            bikeRepairProblemDTO.setList(multifiles);
        }
        if (pageWrap.getModel().getLinkname() != null) {
            queryWrapper.lambda().eq(BikeRepair::getLinkname, pageWrap.getModel().getLinkname());
        }
        if (pageWrap.getModel().getLinkphone() != null) {
            queryWrapper.lambda().eq(BikeRepair::getLinkphone, pageWrap.getModel().getLinkphone());
        }
        if (pageWrap.getModel().getDealUser() != null) {
            queryWrapper.lambda().eq(BikeRepair::getDealUser, pageWrap.getModel().getDealUser());
        }
        if (pageWrap.getModel().getDealDate() != null) {
            queryWrapper.lambda().ge(BikeRepair::getDealDate, Utils.Date.getStart(pageWrap.getModel().getDealDate()));
            queryWrapper.lambda().le(BikeRepair::getDealDate, Utils.Date.getEnd(pageWrap.getModel().getDealDate()));
        }
        if (pageWrap.getModel().getDealInfo() != null) {
            queryWrapper.lambda().eq(BikeRepair::getDealInfo, pageWrap.getModel().getDealInfo());
        }
        if (pageWrap.getModel().getContent() != null) {
            queryWrapper.lambda().eq(BikeRepair::getContent, pageWrap.getModel().getContent());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(bikeRepairMapper.selectPage(page, queryWrapper));
        return null;
    }
    @Override
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -593,6 +593,7 @@
            Integer durationSum = memberRides.stream().filter(s -> s.getDuration() > 0).mapToInt(s -> s.getDuration()).sum();
            if (durationSum > pricingRule.getMemberRides().getBaseTime()){
                BigDecimal basePrice = pricingRule.getMemberRides().getBasePrice();
                //TODO å–证
                BigDecimal multiply = pricingRule.getMemberRides().getUnitPrice().multiply(new BigDecimal((durationSum - pricingRule.getMemberRides().getBaseTime())).divide(new BigDecimal(pricingRule.getMemberRides().getUnitTime())).setScale(0,BigDecimal.ROUND_CEILING));
                ridesDetailResponse.setAmount(basePrice.add(multiply));
            }else {
server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java
@@ -1,5 +1,9 @@
package com.doumee.service.business.impl;
import com.doumee.core.constants.Constants;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
@@ -10,10 +14,12 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
/**
@@ -29,6 +35,27 @@
    @Override
    public String create(Sites sites) {
        LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        QueryWrapper<Sites> wrapper = new QueryWrapper<>();
        wrapper.lambda()
                .eq(Sites::getCode,sites.getCode());
        Integer count = sitesMapper.selectCount(wrapper);
        if (count > 0){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"站点编号已存在");
        }
        Sites insert = new Sites();
        insert.setCreateDate(new Date());
        insert.setCreator(principal.getId());
        insert.setEditDate(new Date());
        insert.setEditor(principal.getId());
        insert.setIsdeleted(Constants.ZERO);
        insert.setInfo(sites.getInfo());
        insert.setName(sites.getName());
        insert.setCode(sites.getCode());
        insert.setStatus(sites.getStatus());
        insert.setLockNum(sites.getLockNum());
        insert.setIp(sites.getIp());
        sitesMapper.insert(sites);
        return sites.getId();
    }
@@ -54,7 +81,14 @@
    @Override
    public void updateById(Sites sites) {
        sitesMapper.updateById(sites);
        LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        Sites update = new Sites();
        update.setCreateDate(new Date());
        update.setEditor(principal.getId());
        update.setName(sites.getName());
        update.setLockNum(sites.getLockNum());
        update.setIp(sites.getIp());
        sitesMapper.updateById(update);
    }
    @Override
@@ -83,7 +117,7 @@
        QueryWrapper<Sites> wrapper = new QueryWrapper<>(sites);
        return sitesMapper.selectList(wrapper);
    }
    @Override
    public PageData<Sites> findPage(PageWrap<Sites> pageWrap) {
        IPage<Sites> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());