diff --git a/chushang-common/chushang-common-log/src/main/java/com/chushang/common/log/enums/BusinessType.java b/chushang-common/chushang-common-log/src/main/java/com/chushang/common/log/enums/BusinessType.java index c27efb5..5eb91f4 100644 --- a/chushang-common/chushang-common-log/src/main/java/com/chushang/common/log/enums/BusinessType.java +++ b/chushang-common/chushang-common-log/src/main/java/com/chushang/common/log/enums/BusinessType.java @@ -65,6 +65,10 @@ public enum BusinessType * 异常日志 */ ERROR(11, "异常日志"), + /** + * 查询日志 + */ + QUERY(12, "查询"), ; private final Integer code; private final String desc; diff --git a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/po/Store.java b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/po/Store.java index 99e8088..8ebd7dd 100644 --- a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/po/Store.java +++ b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/po/Store.java @@ -155,4 +155,9 @@ public class Store extends BaseEntity { */ @TableField(value = "is_enter") private Integer isEnter; + /** + * 商户状态 + */ + @TableField(value = "state") + private Integer state; } diff --git a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/po/Terminal.java b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/po/Terminal.java index 8719966..15d5c51 100644 --- a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/po/Terminal.java +++ b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/po/Terminal.java @@ -122,13 +122,6 @@ public class Terminal extends BaseEntity { */ @TableField(value = "terminal_status") private Integer terminalStatus; - - /** - * 状态 - */ - @TableField(value = "`state`") - private Integer state; - /** * 备注 */ diff --git a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/query/StoreQuery.java b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/query/StoreQuery.java new file mode 100644 index 0000000..16fa59b --- /dev/null +++ b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/query/StoreQuery.java @@ -0,0 +1,142 @@ +package com.chushang.inspection.terminal.query; + +import com.chushang.common.mybatis.annotation.Condition; +import com.chushang.common.mybatis.page.CommonParam; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.*; +import org.hibernate.validator.constraints.Range; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.time.LocalDateTime; +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class StoreQuery extends CommonParam { + + /** + * 商户id + */ + @Condition(name = "store_id") + private Long storeId; + + /** + * 商户id列表 + */ + @Condition(name = "store_id", type = Condition.ConditionType.in) + private List storeIds; + + /** + * 商户编号 + */ + @Condition(name = "store_no") + @Size(max = 64, message = "商户编号不能超过64个字符") + private String storeNo; + + /** + * 终端编号 + */ + @Size(max = 30, message = "终端sn号不能超过30个字符") + private String terminalNo; + + /** + * 任务id + */ + @Condition(name = "task_id") + @NotNull(message = "任务id不能为空") + private Long taskId; + + /** + * 下级任务id + */ + @Condition(name = "lower_task_id", type = Condition.ConditionType.in) + private List lowerTaskIds; + + /** + * 商户状态 + */ + @Condition(name = "state") + @Range(min = 0, max = 10, message = "商户状态格式错误") + private Integer state; + + /** + * 是否占用 + */ + @Range(min = 0, max = 1, message = "占用状态格式错误") + private Integer occupy; + + /** + * 终端sn号 + */ + @Size(max = 100, message = "终端sn号不能超过100个字符") + private String terminalSn; + + /** + * 商户名称 + */ + @Condition(name = "store_name", type = Condition.ConditionType.like) + @Size(max = 128, message = "商户名称不能超过128个字符") + private String storeName; + + /** + * 商户联系人 + */ + @Condition(name = "store_contact", type = Condition.ConditionType.like) + @Size(max = 128, message = "商户联系人不能超过128个字符") + private String storeContact; + + /** + * 商户联系方式 + */ + @Condition(name = "store_phone", type = Condition.ConditionType.like) + @Size(max = 50, message = "商户联系方式不能超过50个字符") + private String storePhone; + + /** + * 商户地址 + */ + @Condition(name = "store_address", type = Condition.ConditionType.like) + @Size(max = 300, message = "商户地址不能超过300个字符") + private String storeAddress; + + /** + * 特殊商户编号 + */ + @Condition(name = "special_num", type = Condition.ConditionType.like) + @Size(max = 30, message = "特殊商户编号不能超过30个字符") + private String specialNum; + + /** + * 创建时间 + */ + @Condition(name = "create_time", type = Condition.ConditionType.between) + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private List createTime; + + /** + * 创建时间 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime startTime; + + /** + * 创建时间 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime endTime; + + /** + * 门店名称 + */ + @Condition(name = "shop_name", type = Condition.ConditionType.like) + @Size(max = 128, message = "门店名称不能超过128个字符") + private String shopName; + +} + + + diff --git a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/query/TerminalAppQuery.java b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/query/TerminalAppQuery.java new file mode 100644 index 0000000..e7e4a34 --- /dev/null +++ b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/query/TerminalAppQuery.java @@ -0,0 +1,95 @@ +package com.chushang.inspection.terminal.query; + +import com.chushang.common.mybatis.annotation.Condition; +import com.chushang.common.mybatis.page.CommonParam; +import lombok.*; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class TerminalAppQuery extends CommonParam { + + /** + * 任务id + */ + @Condition(name = "task_id") + @NotNull(message = "任务id不能为空") + private Long taskId; + + /** + * 商户编号 + */ + @Condition(name = "no") + @Size(max = 64, message = "商户编号不能超过64个字符") + private String storeNo; + + /** + * 终端编号 + */ + @Condition(name = "terminal_no") + @Size(max = 30, message = "终端编号不能超过30个字符") + private String terminalNo; + + /** + * 终端编号 + */ + @Condition(name = "terminal_sn") + @Size(max = 100, message = "终端sn号不能超过100个字符") + private String terminalSn; + + /** + * 终端地址 + */ + @Condition(name = "terminal_address", type = Condition.ConditionType.like) + @Size(max = 300, message = "终端地址号不能超过300个字符") + private String terminalAddress; + + /** + * 是否占用(内部使用 不需要传) + */ + @Builder.Default + @Condition(name = "occupy") + private Integer occupy = 0; + + /** + * 状态(内部使用 不需要传) + */ + @Builder.Default + @Condition(name = "state") + private Integer storeState = 1; + + /** + * 门店名称 + */ + @Size(max = 128, message = "门店名称不能超过128个字符") + private String shopName; + + /** + * 下级任务名称 + */ + @Size(max = 64, message = "下级任务名称不能超过64个字符") + private String lowerTaskName; + + /** + * 商户名称 + */ + @Size(max = 128, message = "商户名称不能超过128个字符") + private String storeName; + + /** + * 商户联系人 + */ + @Size(max = 128, message = "商户联系人不能超过128个字符") + private String storeContact; + + /** + * 商戶地址 + */ + @Size(max = 300, message = "商戶地址不能超过300个字符") + private String storeAddress; +} diff --git a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/query/TerminalQuery.java b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/query/TerminalQuery.java new file mode 100644 index 0000000..de9ac30 --- /dev/null +++ b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/query/TerminalQuery.java @@ -0,0 +1,110 @@ +package com.chushang.inspection.terminal.query; + +import cn.hutool.core.date.DatePattern; +import com.chushang.common.mybatis.annotation.Condition; +import com.chushang.common.mybatis.page.CommonParam; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.*; +import org.hibernate.validator.constraints.Range; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.time.LocalDateTime; +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class TerminalQuery extends CommonParam { + + /** + * 任务id + */ + @NotNull(message = "任务id不能为空") + private Long taskId; + + /** + * 商户编号 + */ + @Size(max = 64, message = "商户编号不能超过64个字符") + private String storeNo; + + /** + * 终端编号 + */ + @Size(max = 30, message = "终端编号不能超过30个字符") + private String terminalNo; + + /** + * 终端sn号 + */ + @Size(max = 100, message = "终端sn号不能超过100个字符") + private String terminalSn; + + /** + * 终端类型 + */ + @Range(min = 1, max = 10, message = "终端类型输入错误") + private Integer terminalType; + + /** + * 终端来源 + */ + @Range(min = 1, max = 10, message = "终端来源输入错误") + private Integer terminalSource; + + /** + * 终端版本号 + */ + @Size(max = 64, message = "终端版本号不能超过64个字符") + private String terminalVersion; + + /** + * 终端地址 + */ + @Size(max = 300, message = "终端版本号不能超过300个字符") + private String terminalAddress; + + /** + * 终端型号 + */ + @Size(max = 64, message = "终端型号不能超过64个字符") + private String terminalModel; + + /** + * 下级任务id + */ + private List lowerTaskIds; + + /** + * 商户名称 + */ + @Size(max = 128, message = "商户名称不能超过128个字符") + private String storeName; + + /** + * 商户状态 + */ + @Range(min = 1, max = 3, message = "商户状态输入错误") + private Integer storeState; + + /** + * 巡检状态 1 以巡检 2未巡检 + */ + @Range(min = 1, max = 2, message = "巡检状态输入错误") + private Integer inspectionStatus; + + /** + * 巡检时间 + */ + @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN) + private List inspectionTime; + + /** + * 创建时间 + */ + @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN) + private List createTimes; +} diff --git a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/vo/StoreVO.java b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/vo/StoreVO.java new file mode 100644 index 0000000..a6fb451 --- /dev/null +++ b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/vo/StoreVO.java @@ -0,0 +1,136 @@ +package com.chushang.inspection.terminal.vo; + +import com.chushang.common.dict.annotation.DictFormat; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class StoreVO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * id + */ + private Long storeId; + + /** + * 商户编号 + */ + private String storeNo; + + /** + * 商户名称 + */ + private String storeName; + + /** + * 商户联系人 + */ + private String storeContact; + + /** + * 门店名称 + */ + private String shopName; + + /** + * 特殊商户编号 + */ + private String specialNum; + + /** + * 商户联系方式 + */ + private String storePhone; + + /** + * 商户地址 + */ + private String storeAddress; + + + private Long lowerTaskId; + + /** + * 当前任务名称 + * lower_task_id + */ + private String taskName; + + /** + * 商户类型 + */ + @DictFormat(dictType = "store_type") + private Integer type; + + /** + * 现有其他收单产品 + */ + private String products; + + /** + * 商户提示工具 + */ + private String tipTool; + + /** + * 建档日期 + */ + private LocalDate registerTime; + + /** + * 巡检频次 + */ + @DictFormat(dictType = "ins_fre") + private Integer insFre; + + /** + * 客户经理 + */ + private String accountManager; + + /** + * 经理电话 + */ + private String accountPhone; + + private Long taskId; + /** + * 总任务名 + * -- taskId + */ + private String totalTaskName; + + /** + * 注册地址 + */ + private String registerAddress; + + /** + * 法人/负责人 + */ + private String legalName; + + /** + * 创建者 + * -- 创建人 + */ + protected String createBy; + + /** + * 创建日期 + */ + protected LocalDateTime createTime; +} diff --git a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/vo/TerminalVO.java b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/vo/TerminalVO.java new file mode 100644 index 0000000..28fba05 --- /dev/null +++ b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/terminal/vo/TerminalVO.java @@ -0,0 +1,137 @@ +package com.chushang.inspection.terminal.vo; + +import com.chushang.common.dict.annotation.DictFormat; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDateTime; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TerminalVO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 终端 主键 + */ + private Long terminalId; + + /** + * 商户id + */ + private Long storeId; + + /** + * 下级任务id + */ + private Long lowerTaskId; + + /** + * 商户编号 + */ + private String storeNo; + + /** + * 商户名称 + * 查询商户表 + */ + private String storeName; + /** + * 商户状态 + */ + @DictFormat(dictType = "mer_status") + private Integer storeState; + + /** + * 终端sn号 + */ + private String terminalSn; + + /** + * 终端编号 + */ + private String terminalNo; + + /** + * 终端类型 + */ + @DictFormat(dictType = "terminal_type") + private Integer terminalType; + + /** + * 终端型号 + */ + private String terminalModel; + + /** + * 终端版本号 + */ + private String terminalVersion; + + /** + * 终端地址 + */ + private String terminalAddress; + + /** + * 终端来源 + */ + @DictFormat(dictType = "terminal_source") + private Integer terminalSource; + + /** + * 是否占用 + */ + private Integer occupy; + + /** + * 状态 + */ + @DictFormat(dictType = "terminal_status") + private Integer terminalStatus; + + /** + * 终端--状态 + */ + @DictFormat(dictType = "mer_status") + private Integer state; + + /** + * 偏差(直线距离 米) + */ + private Long deviation; + + /** + * 所属任务 + * 查询任务表 + */ + private String lowerTaskName; + + /** + * 操作人 + */ + private String operatorId; + + /** + * 巡检状态 1 以巡检 2未巡检 + */ + private Integer inspectionStatus; + + /** + * 巡检时间 + */ + private LocalDateTime inspectionTime; + + /** + * 巡检时间 + */ + private LocalDateTime createTime; +} diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/controller/StoreController.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/controller/StoreController.java index b65d223..67c7e66 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/controller/StoreController.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/controller/StoreController.java @@ -1,6 +1,22 @@ package com.chushang.inspection.terminal.controller; +import cn.hutool.core.bean.BeanUtil; +import com.chushang.common.core.web.AjaxResult; +import com.chushang.common.log.annotation.SysLog; +import com.chushang.common.log.enums.BusinessType; +import com.chushang.inspection.project.dto.Delete; +import com.chushang.inspection.terminal.po.Store; +import com.chushang.inspection.terminal.query.StoreQuery; +import com.chushang.inspection.terminal.service.StoreService; +import com.chushang.inspection.terminal.vo.StoreVO; +import com.chushang.security.annotation.RequiresPermissions; +import lombok.extern.java.Log; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.validation.constraints.NotNull; /** * 商户信息表(st_store)表控制层 @@ -10,4 +26,66 @@ import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/store") public class StoreController { + + @Resource + StoreService storeService; + + /** + * 查询商户 + * + * @param query 条件 + */ + @SysLog(value = "查询商户", businessType = BusinessType.QUERY) + @PostMapping("/page") + @RequiresPermissions("ins:store:page") + public AjaxResult pageList(@RequestBody @Validated StoreQuery query) { + return AjaxResult.success(storeService.pageList(query)); + } + + /** + * 修改商户(内部使用) + */ + @PostMapping("/update") + @RequiresPermissions("ins:store:update") + @SysLog(value = "商户", businessType = BusinessType.UPDATE) + public AjaxResult update(@RequestBody @Validated Store store) { + storeService.updateById(store); + return AjaxResult.success(); + } + + + /** + * 查询商户 + */ + @SysLog(value = "查询商户", businessType = BusinessType.QUERY) + @PostMapping("/info") + @RequiresPermissions("ins:store:info") + public AjaxResult update(@RequestBody @NotNull(message = "商户id不能为空") Long id) { + Store store = storeService.getById(id); + return AjaxResult.success(BeanUtil.copyProperties(store, StoreVO.class)); + } + + + /** + * 删除商户(内部使用) + */ + @PostMapping("/delete") + @RequiresPermissions("ins:store:delete") + @SysLog(value = "商户", businessType = BusinessType.DELETE) + public AjaxResult delete(@RequestBody @Validated Delete delete) { + storeService.removeByIds(delete.getIds()); + return AjaxResult.success(); + } + + /** + * TODO 上传 商户门头信息 + */ + @SysLog(value = "商户门头信息", businessType = BusinessType.IMPORT) + @PostMapping("/upload") + @RequiresPermissions("ins:store:upload") + public AjaxResult upload(@RequestParam("file") MultipartFile file , @RequestParam("taskId")Long taskId) throws Exception{ + storeService.upload(file,taskId); + return AjaxResult.success(); + } + } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/controller/TerminalController.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/controller/TerminalController.java index da856c2..85b3f99 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/controller/TerminalController.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/controller/TerminalController.java @@ -1,7 +1,18 @@ package com.chushang.inspection.terminal.controller; +import com.chushang.common.core.web.AjaxResult; +import com.chushang.common.log.annotation.SysLog; +import com.chushang.common.log.enums.BusinessType; +import com.chushang.inspection.terminal.query.TerminalAppQuery; +import com.chushang.inspection.terminal.query.TerminalQuery; +import com.chushang.inspection.terminal.service.TerminalService; +import com.chushang.security.annotation.RequiresPermissions; +import lombok.extern.java.Log; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; + /** * 终端信息表(st_terminal)表控制层 * @@ -10,4 +21,33 @@ import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/terminal") public class TerminalController { + + @Resource + TerminalService terminalService; + + /** + * 查询终端 + * + * @param query 条件 + */ + @SysLog(value = "终端", businessType = BusinessType.QUERY) + @PostMapping("/page") + @RequiresPermissions("ins:terminal:page") + public AjaxResult pageList(@RequestBody @Validated TerminalQuery query) { + return AjaxResult.success(terminalService.pageList(query)); + } + + /** + * 查询终端app + * + * @param query 条件 + */ + @SysLog(value = "终端app", businessType = BusinessType.QUERY) + @PostMapping("/page/app") + @RequiresPermissions("terminal:page:app") + public AjaxResult queryPageApp(@RequestBody @Validated TerminalAppQuery query) { + return AjaxResult.success(terminalService.queryPageApp(query)); + } + + } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/mapper/StoreMapper.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/mapper/StoreMapper.java index 2460f16..9664f77 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/mapper/StoreMapper.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/mapper/StoreMapper.java @@ -1,11 +1,19 @@ package com.chushang.inspection.terminal.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chushang.inspection.terminal.po.Store; +import com.chushang.inspection.terminal.query.StoreQuery; +import com.chushang.inspection.terminal.vo.StoreVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @auther: zhao * @date: 2024/6/21 16:39 */ public interface StoreMapper extends BaseMapper { + List pageList(@Param("query") StoreQuery query, + Page page); } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/mapper/TerminalMapper.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/mapper/TerminalMapper.java index 6c0c7be..4032103 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/mapper/TerminalMapper.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/mapper/TerminalMapper.java @@ -1,11 +1,22 @@ package com.chushang.inspection.terminal.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chushang.datascope.annotation.DataScope; +import com.chushang.inspection.terminal.po.Store; import com.chushang.inspection.terminal.po.Terminal; +import com.chushang.inspection.terminal.query.TerminalQuery; +import com.chushang.inspection.terminal.vo.TerminalVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @auther: zhao * @date: 2024/6/21 16:39 */ public interface TerminalMapper extends BaseMapper { + + List pageList(@Param("query") TerminalQuery query, + Page page); } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/StoreService.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/StoreService.java index d6aafa5..650a361 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/StoreService.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/StoreService.java @@ -1,7 +1,10 @@ package com.chushang.inspection.terminal.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.chushang.common.mybatis.utils.PageResult; import com.chushang.inspection.terminal.po.Store; +import com.chushang.inspection.terminal.query.StoreQuery; +import org.springframework.web.multipart.MultipartFile; /** * @auther: zhao @@ -10,4 +13,7 @@ import com.chushang.inspection.terminal.po.Store; public interface StoreService extends IService{ + PageResult pageList(StoreQuery query); + + void upload(MultipartFile file, Long taskId); } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/TerminalService.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/TerminalService.java index 9bfcd52..c85fae5 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/TerminalService.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/TerminalService.java @@ -1,7 +1,13 @@ package com.chushang.inspection.terminal.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.chushang.common.mybatis.utils.PageResult; import com.chushang.inspection.terminal.po.Terminal; +import com.chushang.inspection.terminal.query.TerminalAppQuery; +import com.chushang.inspection.terminal.query.TerminalQuery; +import com.chushang.inspection.terminal.vo.TerminalVO; + +import java.util.List; /** * @auther: zhao @@ -9,5 +15,13 @@ import com.chushang.inspection.terminal.po.Terminal; */ public interface TerminalService extends IService{ + /** + * 终端列表 + */ + PageResult pageList(TerminalQuery query); + /** + * 查询终端app + */ + PageResult queryPageApp(TerminalAppQuery query); } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/FiveStoreServiceImpl.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/FiveStoreServiceImpl.java index 9249501..5321844 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/FiveStoreServiceImpl.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/FiveStoreServiceImpl.java @@ -1,17 +1,13 @@ package com.chushang.inspection.terminal.service.impl; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.URLUtil; import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chushang.common.core.constant.SecurityConstants; -import com.chushang.common.core.util.FileUtils; import com.chushang.common.core.web.Result; import com.chushang.common.excel.utils.ExcelUtils; import com.chushang.common.mybatis.utils.PageResult; -import com.chushang.datascope.annotation.DataScope; import com.chushang.inspection.project.po.PollingTask; import com.chushang.inspection.project.service.PollingTaskService; import com.chushang.inspection.terminal.po.FiveStore; @@ -20,7 +16,6 @@ import com.chushang.inspection.terminal.query.FiveUnifiedStoreDetailsQuery; import com.chushang.inspection.terminal.service.FiveStoreService; import com.chushang.inspection.terminal.service.StoreService; import com.chushang.inspection.terminal.vo.FiveStoreVO; -import com.chushang.oss.config.UploadConfig; import com.chushang.oss.entity.vo.FileSourceVo; import com.chushang.oss.feign.RemoteOssService; import com.chushang.security.utils.SecurityUtils; @@ -36,7 +31,6 @@ import com.chushang.inspection.terminal.mapper.FiveStoreMapper; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.ByteArrayOutputStream; -import java.io.File; import java.io.IOException; import java.util.*; import java.util.stream.Collectors; diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/StoreServiceImpl.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/StoreServiceImpl.java index 7e6e78c..c0c80fd 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/StoreServiceImpl.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/StoreServiceImpl.java @@ -1,10 +1,29 @@ package com.chushang.inspection.terminal.service.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chushang.common.core.util.StringUtils; +import com.chushang.common.mybatis.page.CommonParam; +import com.chushang.common.mybatis.utils.PageResult; +import com.chushang.common.mybatis.utils.WrapperUtils; +import com.chushang.datascope.annotation.DataScope; +import com.chushang.inspection.project.po.PollingTask; +import com.chushang.inspection.project.service.PollingTaskService; import com.chushang.inspection.terminal.po.Store; +import com.chushang.inspection.terminal.query.StoreQuery; import com.chushang.inspection.terminal.service.StoreService; +import com.chushang.inspection.terminal.vo.StoreVO; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chushang.inspection.terminal.mapper.StoreMapper; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; /** * @auther: zhao @@ -13,4 +32,61 @@ import com.chushang.inspection.terminal.mapper.StoreMapper; @Service public class StoreServiceImpl extends ServiceImpl implements StoreService { + @Resource + PollingTaskService taskService; + + + @Override + @DataScope(deptAlias = "s") + public PageResult pageList(StoreQuery query) { + CommonParam commonParam = CommonParam.buildPageRequest(); + LambdaQueryWrapper storeSql = WrapperUtils.builder(query, commonParam); + Page page = new Page<>(commonParam.getPage(), commonParam.getLimit()); + String terminalSn = query.getTerminalSn(); + String terminalNo = query.getTerminalNo(); + if (StringUtils.isNotEmpty(terminalNo) || StringUtils.isNotEmpty(terminalSn)){ + List storeVOS = baseMapper.pageList(query, page); + return new PageResult(storeVOS, page); + }else { + Page storePage = page(page, storeSql); + List records = storePage.getRecords(); + if (CollectionUtil.isNotEmpty(records)){ + List convert = convert(records); + return new PageResult(convert, page); + } + } + return new PageResult(new ArrayList<>(), page); + } + + @Override + public void upload(MultipartFile file, Long taskId) { + + } + + private List convert(List records){ + List storeVOS = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(records)){ + storeVOS = BeanUtil.copyToList(records, StoreVO.class); + Set taskIds = records.stream().map(Store::getTaskId).collect(Collectors.toSet()); + Set lowerTaskIds = records.stream().map(Store::getLowerTaskId).collect(Collectors.toSet()); + Set ids = new HashSet<>(); + ids.addAll(taskIds); + ids.addAll(lowerTaskIds); + Map taskMap = new HashMap<>(); + if (CollectionUtil.isNotEmpty(ids)){ + List pollingTasks = taskService.listByIds(ids); + taskMap = pollingTasks.stream().collect(Collectors.toMap(PollingTask::getId, pollingTask -> pollingTask)); + } + for (StoreVO record : storeVOS) { + PollingTask pollingTask = taskMap.get(record.getTaskId()); + PollingTask lowedPollingTask = taskMap.get(record.getLowerTaskId()); + if (ObjectUtil.isNotEmpty(lowedPollingTask)) + record.setTaskName(lowedPollingTask.getName()); + if (ObjectUtil.isNotEmpty(pollingTask)) + record.setTotalTaskName(pollingTask.getName()); + } + } + return storeVOS; + } + } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/TerminalServiceImpl.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/TerminalServiceImpl.java index 292e602..5dd4967 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/TerminalServiceImpl.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/terminal/service/impl/TerminalServiceImpl.java @@ -1,11 +1,23 @@ package com.chushang.inspection.terminal.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chushang.common.mybatis.page.CommonParam; +import com.chushang.common.mybatis.utils.PageResult; +import com.chushang.common.mybatis.utils.WrapperUtils; +import com.chushang.datascope.annotation.DataScope; +import com.chushang.inspection.terminal.po.Store; import com.chushang.inspection.terminal.po.Terminal; +import com.chushang.inspection.terminal.query.TerminalAppQuery; +import com.chushang.inspection.terminal.query.TerminalQuery; import com.chushang.inspection.terminal.service.TerminalService; +import com.chushang.inspection.terminal.vo.TerminalVO; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chushang.inspection.terminal.mapper.TerminalMapper; +import java.util.List; + /** * @auther: zhao * @date: 2024/6/21 16:39 @@ -13,4 +25,17 @@ import com.chushang.inspection.terminal.mapper.TerminalMapper; @Service public class TerminalServiceImpl extends ServiceImpl implements TerminalService { + @Override + @DataScope(deptAlias = "t") + public PageResult pageList(TerminalQuery query) { + CommonParam commonParam = CommonParam.buildPageRequest(); + Page page = new Page<>(commonParam.getPage(), commonParam.getLimit()); + List terminalVOS = baseMapper.pageList(query, page); + return new PageResult(terminalVOS, page); + } + + @Override + public PageResult queryPageApp(TerminalAppQuery query) { + return null; + } } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/StoreMapper.xml b/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/StoreMapper.xml index 3442c2c..73b1f03 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/StoreMapper.xml +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/StoreMapper.xml @@ -32,12 +32,109 @@ + store_id, task_id, lower_task_id, store_no, store_name, store_contact, store_phone, store_address, special_num, shop_name, register_time, store_type, products, tip_tool, admin_id, ins_fre, account_manager, account_phone, register_address, dept_id, legal_name, - is_enter, version, del_state, create_by, create_time, update_by, update_time + is_enter, version, del_state, create_by, create_time, update_by, update_time,state + + diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/TerminalMapper.xml b/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/TerminalMapper.xml index 1cafece..6ac6820 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/TerminalMapper.xml +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/resources/mapper/TerminalMapper.xml @@ -1,58 +1,169 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - terminal_id, dept_id, task_id, lower_task_id, store_id, store_no, terminal_sn, terminal_no, - terminal_type, terminal_model, terminal_version, terminal_address, terminal_source, - terminal_property, occupy, terminal_status, `state`, remark, management_code, geographic_location, - geographic_address, work_location, work_adderss, deviation, storage_time, delivery_time, - reason_for_shipment, operator_id, precode_encoding, is_enter, service_result, times_pass, - inspection_status, inspection_time, version, del_state, create_by, create_time, update_by, - update_time - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + terminal_id, + dept_id, + task_id, + lower_task_id, + store_id, + store_no, + terminal_sn, + terminal_no, + terminal_type, + terminal_model, + terminal_version, + terminal_address, + terminal_source, + terminal_property, + occupy, + terminal_status, + remark, + management_code, + geographic_location, + geographic_address, + work_location, + work_adderss, + deviation, + storage_time, + delivery_time, + reason_for_shipment, + operator_id, + precode_encoding, + is_enter, + service_result, + times_pass, + inspection_status, + inspection_time, + version, + del_state, + create_by, + create_time, + update_by, + update_time + + + diff --git a/chushang-modules/chushang-module-system/system-service/src/main/resources/bootstrap.yml b/chushang-modules/chushang-module-system/system-service/src/main/resources/bootstrap.yml index 5a40295..a493a4d 100644 --- a/chushang-modules/chushang-module-system/system-service/src/main/resources/bootstrap.yml +++ b/chushang-modules/chushang-module-system/system-service/src/main/resources/bootstrap.yml @@ -13,7 +13,7 @@ spring: discovery: server-addr: ${spring.cloud.nacos.server-addr} namespace: ${nacos.namespace} - group: ${nacos.group} + group: local service: ${spring.application.name} config: server-addr: ${spring.cloud.nacos.server-addr}