maven
2 天以前 23e4d027e282bf5d16e4da35349d4567b2f63f4e
yys  修改能源bug,新增售后服务模块
已修改2个文件
已添加6个文件
338 ■■■■■ 文件已修改
src/main/java/com/ruoyi/aftersalesservice/controller/AfterSalesServiceController.java 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/aftersalesservice/mapper/AfterSalesServiceMapper.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/aftersalesservice/pojo/AfterSalesService.java 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/aftersalesservice/service/AfterSalesServiceService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/aftersalesservice/service/impl/AfterSalesServiceServiceImpl.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/equipmentenergyconsumption/controller/EquipmentEnergyConsumptionController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/EquipmentEnergyConsumption.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/aftersalesservice/AfterSalesServiceMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/aftersalesservice/controller/AfterSalesServiceController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,93 @@
package com.ruoyi.aftersalesservice.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.aftersalesservice.pojo.AfterSalesService;
import com.ruoyi.aftersalesservice.service.AfterSalesServiceService;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.equipmentenergyconsumption.pojo.EquipmentEnergyConsumption;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * @author :yys
 * @date : 2025/7/30 9:27
 */
@RestController
@Api(tags = "售后服务")
@RequestMapping("/afterSalesService")
public class AfterSalesServiceController extends BaseController {
    @Autowired
    private AfterSalesServiceService afterSalesServiceService;
    @Autowired
    private SysUserMapper sysUserMapper;
    @GetMapping("/listPage")
    @ApiOperation("售后服务-分页查询")
    @Log(title = "售后服务-分页查询", businessType = BusinessType.OTHER)
    public AjaxResult listPage(Page page, AfterSalesService afterSalesService) {
        IPage<AfterSalesService> listPage = afterSalesServiceService.listPage(page, afterSalesService);
        return AjaxResult.success(listPage);
    }
    @PostMapping("/add")
    @ApiOperation("售后服务-新增")
    @Log(title = "售后服务-新增", businessType = BusinessType.INSERT)
    public AjaxResult add(@RequestBody AfterSalesService afterSalesService) {
        afterSalesService.setStatus(1);
        SysUser sysUser = sysUserMapper.selectUserById(afterSalesService.getCheckUserId());
        if(sysUser == null) throw new RuntimeException("审核人不存在");
        afterSalesService.setCheckNickName(sysUser.getNickName());
        boolean save = afterSalesServiceService.save(afterSalesService);
        return save ? AjaxResult.success() : AjaxResult.error();
    }
    @PostMapping("/update")
    @ApiOperation("售后服务-修改")
    @Log(title = "售后服务-修改", businessType = BusinessType.UPDATE)
    public AjaxResult update(@RequestBody AfterSalesService afterSalesService) {
        boolean update = afterSalesServiceService.updateById(afterSalesService);
        return update ? AjaxResult.success() : AjaxResult.error();
    }
    @DeleteMapping("/delete")
    @ApiOperation("售后服务-删除")
    @Log(title = "售后服务-删除", businessType = BusinessType.DELETE)
    public AjaxResult delete(@RequestBody List<Long> ids) {
        if (CollectionUtils.isEmpty(ids)) {
            return AjaxResult.error("请传入要删除的ID");
        }
        boolean delete = afterSalesServiceService.removeByIds(ids);
        return delete ? AjaxResult.success() : AjaxResult.error();
    }
    @PostMapping("/dispose")
    @ApiOperation("售后服务-处理")
    @Log(title = "售后服务-处理", businessType = BusinessType.UPDATE)
    public AjaxResult dispose(@RequestBody AfterSalesService afterSalesService) {
        AfterSalesService byId = afterSalesServiceService.getById(afterSalesService.getId());
        if(byId == null) throw new RuntimeException("未找到该数据");
        if(byId.getStatus().equals(2)) throw new RuntimeException("该数据已处理");
        SysUser sysUser = sysUserMapper.selectUserById(afterSalesService.getDisposeUserId());
        if(sysUser == null) throw new RuntimeException("处理人不存在");
        afterSalesService.setDisposeNickName(sysUser.getNickName());
        boolean update = afterSalesServiceService.updateById(afterSalesService);
        return update ? AjaxResult.success() : AjaxResult.error();
    }
}
src/main/java/com/ruoyi/aftersalesservice/mapper/AfterSalesServiceMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
package com.ruoyi.aftersalesservice.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.aftersalesservice.pojo.AfterSalesService;
import org.apache.ibatis.annotations.Param;
/**
 * @author :yys
 * @date : 2025/7/30 9:24
 */
public interface AfterSalesServiceMapper extends BaseMapper<AfterSalesService> {
    /**
     * åˆ†é¡µæŸ¥è¯¢
     * @param page
     * @param afterSalesService
     * @return
     */
    IPage<AfterSalesService> listPage(Page page,@Param("req") AfterSalesService afterSalesService);
}
src/main/java/com/ruoyi/aftersalesservice/pojo/AfterSalesService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,123 @@
package com.ruoyi.aftersalesservice.pojo;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
 * @author :yys
 * @date : 2025/7/30 9:19
 */
@Data
@TableName("after_sales_service")
@ApiModel
public class AfterSalesService {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * çŠ¶æ€ 1-待处理 2-已处理
     */
    @ApiModelProperty("状态 1-待处理 2-已处理")
    private Integer status;
    /**
     * ç™»è®°äºº
     */
    @ApiModelProperty("登记人")
    private Long checkUserId;
    /**
     * ç™»è®°äººåç§°
     */
    @ApiModelProperty("登记人名称")
    private String checkNickName;
    /**
     * å¤„理人
     */
    @ApiModelProperty("处理人")
    private Long disposeUserId;
    /**
     * å¤„理人名称
     */
    @ApiModelProperty("处理人名称")
    private String disposeNickName;
    /**
     * å®¢æˆ·åç§°
     */
    @ApiModelProperty("客户名称")
    private String customerName;
    /**
     * é—®é¢˜æè¿°
     */
    @ApiModelProperty("问题描述")
    private String proDesc;
    /**
     * å¤„理结果
     */
    @ApiModelProperty("处理结果")
    private String disRes;
    /**
     * åé¦ˆæ—¥æœŸ
     */
    @ApiModelProperty("反馈日期")
    private LocalDate feedbackDate;
    /**
     * å¤„理日期
     */
    @ApiModelProperty("处理日期")
    private LocalDate disDate;
    /**
     * åˆ›å»ºè€…
     */
    @TableField(fill = FieldFill.INSERT)
    private Integer createUser;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    /**
     * ä¿®æ”¹è€…
     */
    @TableField(fill = FieldFill.UPDATE)
    private Integer updateUser;
    /**
     * ä¿®æ”¹æ—¶é—´
     */
    @TableField(fill = FieldFill.UPDATE)
    private LocalDateTime updateTime;
    /**
     * ç§Ÿæˆ·ID
     */
    @TableField(fill = FieldFill.INSERT)
    private Long tenantId;
    @TableField(exist = false)
    @ApiModelProperty("部门名称")
    private String deptName;
}
src/main/java/com/ruoyi/aftersalesservice/service/AfterSalesServiceService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
package com.ruoyi.aftersalesservice.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.aftersalesservice.pojo.AfterSalesService;
/**
 * @author :yys
 * @date : 2025/7/30 9:25
 */
public interface AfterSalesServiceService extends IService<AfterSalesService> {
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param page
     * @param afterSalesService
     * @return
     */
    IPage<AfterSalesService> listPage(Page page, AfterSalesService afterSalesService);
}
src/main/java/com/ruoyi/aftersalesservice/service/impl/AfterSalesServiceServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
package com.ruoyi.aftersalesservice.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.aftersalesservice.mapper.AfterSalesServiceMapper;
import com.ruoyi.aftersalesservice.pojo.AfterSalesService;
import com.ruoyi.aftersalesservice.service.AfterSalesServiceService;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.project.system.domain.SysDept;
import com.ruoyi.project.system.mapper.SysDeptMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * @author :yys
 * @date : 2025/7/30 9:26
 */
@Service
@Slf4j
public class AfterSalesServiceServiceImpl extends ServiceImpl<AfterSalesServiceMapper, AfterSalesService> implements AfterSalesServiceService {
    @Autowired
    private AfterSalesServiceMapper afterSalesServiceMapper;
    @Autowired
    private SysDeptMapper sysDeptMapper;
    @Override
    public IPage<AfterSalesService> listPage(Page page, AfterSalesService afterSalesService) {
        Long tenantId = SecurityUtils.getLoginUser().getTenantId();
        SysDept sysDept = sysDeptMapper.selectDeptById(tenantId);
        IPage<AfterSalesService> afterSalesServiceIPage = afterSalesServiceMapper.listPage(page, afterSalesService);
        afterSalesServiceIPage.getRecords().forEach(item -> {
            item.setDeptName(sysDept.getDeptName());
        });
        return afterSalesServiceIPage;
    }
}
src/main/java/com/ruoyi/equipmentenergyconsumption/controller/EquipmentEnergyConsumptionController.java
@@ -1,7 +1,10 @@
package com.ruoyi.equipmentenergyconsumption.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.pojo.Customer;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.device.pojo.DeviceLedger;
import com.ruoyi.equipmentenergyconsumption.pojo.EquipmentEnergyConsumption;
import com.ruoyi.equipmentenergyconsumption.service.EquipmentEnergyConsumptionService;
@@ -16,6 +19,7 @@
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
@@ -77,10 +81,22 @@
     */
    @Log(title = "导入设备能耗", businessType = BusinessType.IMPORT)
    @PostMapping("/importData")
    @ApiOperation("导入设备能耗")
    public AjaxResult importData(MultipartFile file) throws Exception {
        return equipmentEnergyConsumptionService.importData(file);
    }
    /**
     * å¯¼å‡ºè®¾å¤‡èƒ½è€—
     */
    @Log(title = "导出设备能耗", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    @ApiOperation("导出设备能耗")
    public void export(HttpServletResponse response) {
        ExcelUtil<EquipmentEnergyConsumption> util = new ExcelUtil<EquipmentEnergyConsumption>(EquipmentEnergyConsumption.class);
        util.exportExcel(response, null , "客户档案数据");
    }
    @GetMapping("/listPageByTrend")
    @ApiOperation("设备能耗-能源趋势-分页查询")
    @Log(title = "设备能耗-能源趋势-分页查询", businessType = BusinessType.OTHER)
src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/EquipmentEnergyConsumption.java
@@ -11,6 +11,7 @@
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
/**
 * @author :yys
@@ -96,7 +97,7 @@
    @ApiModelProperty("运行时间")
    @Excel(name = "运行时间" , width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate runDate;
    private Date runDate;
    /**
     * æ¯æ—¥é™åˆ¶ç”µé‡
src/main/resources/mapper/aftersalesservice/AfterSalesServiceMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
<?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.ruoyi.aftersalesservice.mapper.AfterSalesServiceMapper">
    <select id="listPage" resultType="com.ruoyi.aftersalesservice.pojo.AfterSalesService">
        select * from after_sales_service
        where 1 = 1
        <if test="req.feedbackDate != null and req.feedbackDate != ''">
            and feedback_date like concat('%', #{req.feedbackDate}, '%')
        </if>
        <if test="req.disDate != null and req.disDate != ''">
            and dis_date like concat('%', #{req.disDate}, '%')
        </if>
        <if test="req.tenantId != null and req.tenantId != ''">
            and tenant_id = #{req.tenantId}
        </if>
        order by update_time desc
    </select>
</mapper>