Просмотр исходного кода

Merge branch '新购SIM卡' into test

hechunping 1 год назад
Родитель
Сommit
6228172969

+ 19 - 0
device-api-cloud/src/main/java/com/xy/feign/DeviceSimGoodsFeign.java

@@ -0,0 +1,19 @@
+package com.xy.feign;
+
+import com.xy.service.DeviceSimGoodsService;
+import com.xy.FeignInterceptor;
+import com.xy.consts.ServiceConsts;
+import org.springframework.cloud.openfeign.FeignClient;
+
+/**
+ * <p>
+ * sim卡商品 feign
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-03
+ */
+@FeignClient(value = ServiceConsts.SERVICE_NAME, configuration = FeignInterceptor.class)
+public interface DeviceSimGoodsFeign extends DeviceSimGoodsService {
+
+}

+ 19 - 0
device-api-cloud/src/main/java/com/xy/feign/DeviceSimOrdersFeign.java

@@ -0,0 +1,19 @@
+package com.xy.feign;
+
+import com.xy.service.DeviceSimOrdersService;
+import com.xy.FeignInterceptor;
+import com.xy.consts.ServiceConsts;
+import org.springframework.cloud.openfeign.FeignClient;
+
+/**
+ * <p>
+ * 新购SIM卡订单 feign
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-03
+ */
+@FeignClient(value = ServiceConsts.SERVICE_NAME, configuration = FeignInterceptor.class)
+public interface DeviceSimOrdersFeign extends DeviceSimOrdersService {
+
+}

+ 59 - 0
device-api-service/src/main/java/com/xy/entity/DeviceSimGoods.java

@@ -0,0 +1,59 @@
+package com.xy.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * sim卡商品
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-03
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="DeviceSimGoods对象", description="sim卡商品")
+public class DeviceSimGoods implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "ID")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    @ApiModelProperty(value = "卡名称")
+    private String name;
+
+    @ApiModelProperty(value = "流量")
+    private String flow;
+
+    @ApiModelProperty(value = "运营商")
+    private String type;
+
+    @ApiModelProperty(value = "价格")
+    private Integer price;
+
+    @ApiModelProperty(value = "介绍")
+    private String intro;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime updateTime;
+
+
+}

+ 16 - 0
device-api-service/src/main/java/com/xy/mapper/DeviceSimGoodsMapper.java

@@ -0,0 +1,16 @@
+package com.xy.mapper;
+
+import com.xy.entity.DeviceSimGoods;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * sim卡商品 Mapper 接口
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-03
+ */
+public interface DeviceSimGoodsMapper extends BaseMapper<DeviceSimGoods> {
+
+}

+ 17 - 0
device-api-service/src/main/java/com/xy/mapper/mapper/DeviceSimGoodsMapper.xml

@@ -0,0 +1,17 @@
+<?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.xy.mapper.DeviceSimGoodsMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.xy.entity.DeviceSimGoods">
+        <id column="id" property="id" />
+        <result column="name" property="name" />
+        <result column="flow" property="flow" />
+        <result column="type" property="type" />
+        <result column="price" property="price" />
+        <result column="intro" property="intro" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+    </resultMap>
+
+</mapper>

+ 7 - 9
device-api-service/src/main/java/com/xy/service/DeviceFaultInfoServiceImpl.java

@@ -2,7 +2,6 @@ package com.xy.service;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.map.MapUtil;
-import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -13,8 +12,6 @@ import com.xy.consts.CommConsts;
 import com.xy.dto.DeviceFaultInfoDto;
 import com.xy.dto.DeviceFaultInfoFlowDto;
 import com.xy.dto.SysCodeConfigureDto;
-import com.xy.dto.SysWorkUser.ListDto;
-import com.xy.dto.SysWorkUser.SysWorkVo;
 import com.xy.dto.be.MercDto;
 import com.xy.entity.DeviceFaultInfo;
 import com.xy.entity.DeviceFaultLog;
@@ -68,7 +65,8 @@ public class DeviceFaultInfoServiceImpl extends ServiceImpl<DeviceFaultInfoMappe
     @PostMapping("countToDo")
     @ApiOperation("待处理设备故障统计")
     public R<Long> countToDo() {
-        long count = count(Wrappers.<DeviceFaultInfo>lambdaQuery().eq(DeviceFaultInfo::getState, 0));
+        // 只统计严重 紧急
+        long count = count(Wrappers.<DeviceFaultInfo>lambdaQuery().eq(DeviceFaultInfo::getState, 0).in(DeviceFaultInfo::getFaultLevel, CollUtil.newArrayList(3, 4)));
         return R.ok(count);
     }
 
@@ -101,7 +99,7 @@ public class DeviceFaultInfoServiceImpl extends ServiceImpl<DeviceFaultInfoMappe
         if (CollUtil.isEmpty(list)) {
             return R.ok(list);
         }
-        //最多只取5个
+        // 最多只取5个
         if (list.size() > 5) {
             list = CollUtil.sub(list, 0, 5);
         }
@@ -140,7 +138,7 @@ public class DeviceFaultInfoServiceImpl extends ServiceImpl<DeviceFaultInfoMappe
 
         Long sysId = AuthorizeUtils.getSysId();
         List<String> roleCodes = AuthorizeUtils.getRoleCodes(sysId);
-        //售后角色只看转售后的,其他角色看所有
+        // 售后角色只看转售后的,其他角色看所有
         if (roleCodes.contains(CommConsts.MERC_SH_ADMIN)) {
             lambdaQueryWrapper.eq(DeviceFaultInfo::getToAfterSale, true);
         }
@@ -166,7 +164,7 @@ public class DeviceFaultInfoServiceImpl extends ServiceImpl<DeviceFaultInfoMappe
                     r.setMercName(longVoJMap.get(mercId).getName());
                 }
                 SysCodeConfigureDto.Vo sysCodeInfo = sysCodeMap.get(r.getEventCode());
-                //故障说明与建议
+                // 故障说明与建议
                 if (sysCodeInfo != null) {
                     r.setMsg(sysCodeInfo.getMsg());
                     r.setPropose(sysCodeInfo.getPropose());
@@ -219,9 +217,9 @@ public class DeviceFaultInfoServiceImpl extends ServiceImpl<DeviceFaultInfoMappe
             save.setFaultId(faultId);
             save.setContent("故障已解决");
             deviceFaultInfoFlowService.save(save);
-            //清理日志 故障信息表标记已解决,清除日志表中对应设备事件在标记已解决时间之前所有事件。
+            // 清理日志 故障信息表标记已解决,清除日志表中对应设备事件在标记已解决时间之前所有事件。
             deviceFaultLogService.remove(Wrappers.<DeviceFaultLog>lambdaUpdate().le(DeviceFaultLog::getEventTime, LocalDateTime.now()));
-            //更新故障等级为正常
+            // 更新故障等级为正常
             deviceInfoService.updateById(new DeviceInfo().setDeviceId(deviceFaultInfo.getDeviceId()).setFaultLevel(-1));
         }
     }

+ 84 - 0
device-api-service/src/main/java/com/xy/service/DeviceSimGoodsServiceImpl.java

@@ -0,0 +1,84 @@
+package com.xy.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xy.dto.DeviceSimGoodsDto;
+import com.xy.entity.DeviceSimGoods;
+import com.xy.mapper.DeviceSimGoodsMapper;
+import com.xy.utils.Emptys;
+import com.xy.utils.MybatisPlusQuery;
+import com.xy.utils.PageBean;
+import com.xy.utils.R;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+import static com.xy.utils.Beans.copy;
+import static com.xy.utils.PlusBeans.toIPage;
+import static com.xy.utils.PlusBeans.toPageBean;
+
+
+/**
+* <p>
+* sim卡商品 服务实现类
+* </p>
+*
+* @author 谭斌
+* @since 2024-04-03
+*/
+@Service
+@AllArgsConstructor
+@Api(tags = "sim卡商品")
+public class DeviceSimGoodsServiceImpl extends ServiceImpl<DeviceSimGoodsMapper, DeviceSimGoods> implements DeviceSimGoodsService {
+
+    @Override
+    @ApiOperation("对象查询")
+    public R<DeviceSimGoodsDto.Vo> obj(@RequestBody DeviceSimGoodsDto.Vo vo) {
+        DeviceSimGoodsDto.SelectList selectList = copy(DeviceSimGoodsDto.SelectList.class, vo);
+        List<DeviceSimGoodsDto.Vo> list = list(selectList).getData();
+        if(Emptys.check(list)) {
+            return R.ok(list.get(0));
+        }
+        return R.ok();
+    }
+
+    @PostMapping("list")
+    @ApiOperation("集合查询")
+    public R<List<DeviceSimGoodsDto.Vo>> list(@RequestBody DeviceSimGoodsDto.SelectList selectList) {
+        LambdaQueryWrapper<DeviceSimGoods> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(selectList, DeviceSimGoods.class).build();
+        List<DeviceSimGoods> list = list(lambdaQueryWrapper);
+        return R.ok(copy(DeviceSimGoodsDto.Vo.class, list));
+    }
+
+    @PostMapping("page")
+    @ApiOperation("分页查询")
+    public R<PageBean<DeviceSimGoodsDto.Vo>> page(@RequestBody DeviceSimGoodsDto.Page page) {
+        PageBean pageBean = page.getPage();
+        LambdaQueryWrapper<DeviceSimGoods> lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(page, DeviceSimGoods.class).build();
+        IPage<DeviceSimGoods> iPage = page(toIPage(pageBean), lambdaQueryWrapper);
+        return R.ok(toPageBean(DeviceSimGoodsDto.Vo.class, iPage));
+    }
+
+    @PostMapping("save")
+    @ApiOperation("添加")
+    public R save(@RequestBody @Validated DeviceSimGoodsDto.Save save) {
+        DeviceSimGoods saveInfo = copy(DeviceSimGoods.class, save);
+        save(saveInfo);
+        return R.ok();
+    }
+
+    @PostMapping("update")
+    @ApiOperation("修改")
+    public R update(@RequestBody @Validated DeviceSimGoodsDto.Update update) {
+        DeviceSimGoods updateInfo = copy(DeviceSimGoods.class, update);
+        updateById(updateInfo);
+        return R.ok();
+    }
+}

+ 7 - 13
device-api-service/src/main/resources/mapper/DeviceDataMapper.xml

@@ -6,23 +6,17 @@
         FROM device_data
         WHERE type = #{type}
           and merc_id = #{mercId}
-          and date_value BETWEEN #{beginDateInt} and #{endDateInt}
+          and date_value BETWEEN #{beginDateInt}
+          and #{endDateInt}
         GROUP BY date_value
     </select>
 
 
     <select id="deviceFaultInfoCount" resultType="com.xy.dto.DeviceFaultInfoDto$CountByDeviceVO">
-            SELECT
-            event_code eventCode,
-            sum( state = '0'  ) todoNum,
-            sum( state = '1'   ) doneNum
-        FROM
-            device_fault_info
-        GROUP BY
-            event_code
-
-
+        SELECT event_code,
+               COUNT(DISTINCT CASE WHEN state = '0' THEN device_id ELSE NULL END) AS todoNum,
+               COUNT(DISTINCT CASE WHEN state = '1' THEN device_id ELSE NULL END) AS doneNum
+        FROM device_fault_info
+        GROUP BY event_code
     </select>
-
-
 </mapper>

+ 83 - 0
device-api/src/main/java/com/xy/dto/DeviceSimGoodsDto.java

@@ -0,0 +1,83 @@
+package com.xy.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.xy.utils.PageBean;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDateTime;
+
+;
+
+/**
+ * <p>
+ * sim卡商品
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-03
+ */
+public class DeviceSimGoodsDto {
+
+    @Data
+    @Accessors(chain = true)
+    public static class SelectList extends Vo {
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Page extends Vo {
+
+        @ApiModelProperty(value = "分页对象", required = true)
+        private PageBean page;
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Save extends Vo {
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Update extends Vo {
+
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Vo {
+
+        @ApiModelProperty(value = "ID")
+        private Long id;
+
+        @ApiModelProperty(value = "卡名称")
+        private String name;
+
+        @ApiModelProperty(value = "流量")
+        private String flow;
+
+        @ApiModelProperty(value = "运营商")
+        private String type;
+
+        @ApiModelProperty(value = "价格")
+        private Integer price;
+
+        @ApiModelProperty(value = "介绍")
+        private String intro;
+
+        @ApiModelProperty(value = "创建时间")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime createTime;
+
+        @ApiModelProperty(value = "更新时间")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime updateTime;
+
+
+    }
+
+}

+ 21 - 0
device-api/src/main/java/com/xy/service/DeviceSimGoodsService.java

@@ -0,0 +1,21 @@
+package com.xy.service;
+
+import com.xy.annotate.RestMappingController;
+import com.xy.dto.DeviceSimGoodsDto;
+import com.xy.utils.R;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * <p>
+ * sim卡商品 服务类
+ * </p>
+ *
+ * @author 谭斌
+ * @since 2024-04-03
+ */
+@RestMappingController("/device-sim-goods")
+public interface DeviceSimGoodsService {
+    @PostMapping("obj")
+    R<DeviceSimGoodsDto.Vo> obj(@RequestBody DeviceSimGoodsDto.Vo vo);
+}