Przeglądaj źródła

循环机具已扣款录入

mac 2 lat temu
rodzic
commit
c028a1fc7b

+ 59 - 14
drone/.drone-prod.yml

@@ -143,7 +143,7 @@ trigger:
 ---
 kind: pipeline
 type: docker
-name: kxs-transfer
+name: kxs-transfer-prod
 
 volumes: # 声明数据卷
   - name: mvn_repo # 数据卷名称
@@ -188,11 +188,11 @@ steps:
         path: /kxs-transfer # 容器内目录 绝对路径
     settings:
       host:
-        from_secret: host
+        from_secret: kxs-transfer-a-host
       username:
         from_secret: username
       password:
-        from_secret: userpwd
+        from_secret: kxs-transfer-pwd
       port: 22
       command_timeout: 2m
       target: /home/ABServer/deploy-ready/
@@ -205,18 +205,17 @@ steps:
       when:
         status:
           - success # 当前步骤成功时执行
-
   - name: deploy-project
     image: appleboy/drone-ssh
     pull: if-not-exists
-    depends_on: [scp-project] # 依赖的步骤
+    depends_on: [ scp-project ] # 依赖的步骤
     settings:
       host:
-        from_secret: host
+        from_secret: kxs-transfer-a-host
       username:
         from_secret: username
       password:
-        from_secret: userpwd
+        from_secret: kxs-transfer-pwd
       port: 22
       command_timeout: 2m
       script:
@@ -226,7 +225,6 @@ steps:
         - docker stop kxs-transfer && docker rm kxs-transfer && docker-compose up -d kxs-transfer
         # - docker restart nodeServer1
         - echo ====部署成功=======
-
 trigger:
   branch:
     include:
@@ -238,7 +236,7 @@ trigger:
 ---
 kind: pipeline
 type: docker
-name: kxs-system
+name: kxs-system-prod
 
 volumes: # 声明数据卷
   - name: mvn_repo # 数据卷名称
@@ -283,11 +281,11 @@ steps:
         path: /kxs-system # 容器内目录 绝对路径
     settings:
       host:
-        from_secret: host
+        from_secret: kxs-system-a-host
       username:
         from_secret: username
       password:
-        from_secret: userpwd
+        from_secret: kxs-system-pwd
       port: 22
       command_timeout: 2m
       target: /home/ABServer/deploy-ready/
@@ -307,11 +305,58 @@ steps:
     depends_on: [scp-project] # 依赖的步骤
     settings:
       host:
-        from_secret: host
+        from_secret: kxs-system-a-host
       username:
         from_secret: username
       password:
-        from_secret: userpwd
+        from_secret: kxs-system-pwd
+      port: 22
+      command_timeout: 2m
+      script:
+        - echo ====开始部署=======
+        - cd /home/ABServer/
+        - cp -r /home/ABServer/deploy-ready/kxs-system /home/ABServer/webroot/
+        - docker stop kxs-system && docker rm kxs-system && docker-compose up -d kxs-system
+        # - docker restart nodeServer1
+        - echo ====部署成功=======
+  - name: scp-project
+    image: appleboy/drone-scp
+    pull: if-not-exists
+    depends_on: [build-project] # 依赖的步骤
+    volumes: # 挂载数据卷
+      - name: targetDir # 数据卷名称
+        path: /kxs-system # 容器内目录 绝对路径
+    settings:
+      host:
+        from_secret: kxs-system-b-host
+      username:
+        from_secret: username
+      password:
+        from_secret: kxs-system-pwd
+      port: 22
+      command_timeout: 2m
+      target: /home/ABServer/deploy-ready/
+      source:
+        - echo ====开始拷贝=======
+        - /kxs-system/*.jar
+        - /kxs-system/lib
+        - /kxs-system/config
+        - echo ====结束拷贝=======
+      when:
+        status:
+          - success # 当前步骤成功时执行
+
+  - name: deploy-project
+    image: appleboy/drone-ssh
+    pull: if-not-exists
+    depends_on: [scp-project] # 依赖的步骤
+    settings:
+      host:
+        from_secret: kxs-system-b-host
+      username:
+        from_secret: username
+      password:
+        from_secret: kxs-system-pwd
       port: 22
       command_timeout: 2m
       script:
@@ -334,7 +379,7 @@ trigger:
 ---
 kind: pipeline
 type: docker
-name: kxs-user
+name: kxs-user-prod
 
 volumes: # 声明数据卷
   - name: mvn_repo # 数据卷名称

+ 2 - 2
kxs-gateway/src/main/resources/application-prod.yml

@@ -2,8 +2,8 @@
 spring:
   cloud:
     nacos:
-      username: @nacos.username@
-      password: @nacos.password@
+#      username: @nacos.username@
+#      password: @nacos.password@
       discovery:
         server-addr: ${NACOS_HOST:mse-78d0edb13-nacos-ans.mse.aliyuncs.com}:${NACOS_PORT:9848}
         watch:

+ 5 - 0
kxs-product/kxs-product-api/pom.xml

@@ -50,5 +50,10 @@
             <groupId>com.kxs</groupId>
             <artifactId>kxs-common-seata</artifactId>
         </dependency>
+        <!-- excel 导入导出 https://github.com/sky-mesh/excel-spring-boot-starter -->
+        <dependency>
+            <groupId>com.pig4cloud.excel</groupId>
+            <artifactId>excel-spring-boot-starter</artifactId>
+        </dependency>
     </dependencies>
 </project>

+ 87 - 0
kxs-product/kxs-product-api/src/main/java/com/kxs/product/api/model/KxsMachineDeduct.java

@@ -0,0 +1,87 @@
+package com.kxs.product.api.model;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 机具循环过期已扣款记录表(KxsMachineDeduct)表实体类
+ *
+ * @author 系统
+ * @since 2024-03-07 15:29:06
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class KxsMachineDeduct extends Model<KxsMachineDeduct> implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    
+    
+    /**
+     * 主键ID
+     */
+    @Schema(description = "主键ID")
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+
+    /**
+     * 新增时间
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Schema(description = "新增时间")
+    private LocalDateTime createTime;
+
+
+    /**
+     * 更新时间
+     */
+    @TableField(fill = FieldFill.UPDATE)
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+
+    /**
+     * 删除标记,0未删除,1已删除
+     */
+    @Schema(description = "删除标记,0未删除,1已删除")
+    private Integer delFlag;
+
+
+    /**
+     * 版本
+     */
+    @Schema(description = "版本")
+    private Integer version;
+
+
+    /**
+     * 机具号
+     */
+    @Schema(description = "机具号")
+    private String posSn;
+
+
+    /**
+     * 备注
+     */
+    @Schema(description = "备注")
+    private String remark;
+
+
+
+
+}
+

+ 41 - 0
kxs-product/kxs-product-api/src/main/java/com/kxs/product/api/vo/kxsapp/excel/MachineDeductExcelVo.java

@@ -0,0 +1,41 @@
+package com.kxs.product.api.vo.kxsapp.excel;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.pig4cloud.plugin.excel.annotation.ExcelLine;
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 机具循环过期已扣款表
+ *
+ * @author 没秃顶的码农
+ * @date 2024-03-07
+ */
+@Data
+public class MachineDeductExcelVo implements Serializable {
+
+	/**
+	 * 导入时候回显行号
+	 */
+	@ExcelLine
+	@ExcelIgnore
+	private Long lineNum;
+
+	/**
+	 * 机具号
+	 */
+	@NotBlank(message = "机具号不能为空")
+	@ExcelProperty("机具号")
+	private String posSn;
+
+	/**
+	 * 备注
+	 */
+	@ExcelProperty("备注")
+	private String remark;
+
+
+}

+ 81 - 0
kxs-product/kxs-product-biz/src/main/java/com/kxs/product/biz/controller/admin/SysMachineDeductController.java

@@ -0,0 +1,81 @@
+package com.kxs.product.biz.controller.admin;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kxs.common.core.util.R;
+import com.kxs.product.api.model.KxsMachineDeduct;
+import com.kxs.product.api.vo.kxsapp.excel.MachineDeductExcelVo;
+import com.kxs.product.biz.service.KxsMachineDeductService;
+import com.pig4cloud.plugin.excel.annotation.RequestExcel;
+import io.swagger.v3.oas.annotations.security.SecurityRequirement;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.HttpHeaders;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 产品模块(SysMachineDeduct)控制层
+ *
+ * @author 系统
+ * @since 2024-03-07 15:29:10
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("sysMachineDeduct")
+@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
+public class SysMachineDeductController {
+
+    /**
+     * 服务对象
+     */
+    private final KxsMachineDeductService kxsMachineDeductService;
+
+
+
+    /**
+     * 机具管理-循环机已扣款-列表
+     *
+     * @param page 分页对象
+     * @param param 查询实体
+     * @return 机具管理-循环机已扣款-列表
+     */
+    @GetMapping("/list")
+    public R list(Page<KxsMachineDeduct> page, KxsMachineDeduct param) {
+        return R.ok(kxsMachineDeductService.page(page, new QueryWrapper<>(param)));
+    }
+
+
+    /**
+     * 机具管理-循环机已扣款-导入
+     *
+     * @param machineDeductExcelVos 实体对象
+     * @return 机具管理-循环机已扣款-导入
+     */
+    @PostMapping("/import")
+//    @PreAuthorize("@pms.hasPermission('sys_machine_deduct_import')")
+    public R importData(@RequestExcel List<MachineDeductExcelVo> machineDeductExcelVos, BindingResult bindingResult) {
+        return R.ok(kxsMachineDeductService.importData(machineDeductExcelVos, bindingResult));
+    }
+
+
+    /**
+     * 机具管理-循环机已扣款-删除
+     *
+     * @param idsList 实体对象
+     * @return 机具管理-循环机已扣款-删除
+     */
+    @PostMapping("/remove")
+//    @PreAuthorize("@pms.hasPermission('sys_machine_deduct_del')")
+    public R remove(@RequestBody List<Integer> idsList) {
+        return R.ok(kxsMachineDeductService.removeBatchByIds(idsList));
+    }
+
+
+
+
+
+}
+

+ 17 - 0
kxs-product/kxs-product-biz/src/main/java/com/kxs/product/biz/mapper/KxsMachineDeductMapper.java

@@ -0,0 +1,17 @@
+package com.kxs.product.biz.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kxs.product.api.model.KxsMachineDeduct;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 机具循环过期已扣款记录表(KxsMachineDeduct)表数据库访问层
+ *
+ * @author 系统
+ * @since 2024-03-07 15:29:06
+ */
+@Mapper
+public interface KxsMachineDeductMapper extends BaseMapper<KxsMachineDeduct> {
+
+}
+

+ 29 - 0
kxs-product/kxs-product-biz/src/main/java/com/kxs/product/biz/service/KxsMachineDeductService.java

@@ -0,0 +1,29 @@
+package com.kxs.product.biz.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.kxs.common.core.util.R;
+import com.kxs.product.api.model.KxsMachineDeduct;
+import com.kxs.product.api.vo.kxsapp.excel.MachineDeductExcelVo;
+import org.springframework.validation.BindingResult;
+
+import java.util.List;
+
+/**
+ * 机具循环过期已扣款记录表(KxsMachineDeduct)表服务接口
+ *
+ * @author 系统
+ * @since 2024-03-07 15:29:06
+ */
+public interface KxsMachineDeductService extends IService<KxsMachineDeduct> {
+
+    /**
+     * 导入数据
+     *
+     * @param machineDeductExcelVos 机器扣excel vos
+     * @param bindingResult         绑定结果
+     * @return {@link R}
+     */
+    R importData(List<MachineDeductExcelVo> machineDeductExcelVos, BindingResult bindingResult);
+
+}
+

+ 54 - 0
kxs-product/kxs-product-biz/src/main/java/com/kxs/product/biz/service/impl/KxsMachineDeductServiceImpl.java

@@ -0,0 +1,54 @@
+package com.kxs.product.biz.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.common.core.util.R;
+import com.kxs.product.api.vo.kxsapp.excel.MachineDeductExcelVo;
+import com.kxs.product.biz.mapper.KxsMachineDeductMapper;
+import com.kxs.product.api.model.KxsMachineDeduct;
+import com.kxs.product.biz.service.KxsMachineDeductService;
+import com.pig4cloud.plugin.excel.vo.ErrorMessage;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.BindingResult;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * 机具循环过期已扣款记录表(KxsMachineDeduct)表服务实现类
+ *
+ * @author 系统
+ * @since 2024-03-07 15:29:06
+ */
+@Service("kxsMachineDeductService")
+public class KxsMachineDeductServiceImpl extends ServiceImpl<KxsMachineDeductMapper, KxsMachineDeduct> implements KxsMachineDeductService {
+
+    @Override
+    public R importData(List<MachineDeductExcelVo> machineDeductExcelVos, BindingResult bindingResult) {
+        // 通用校验获取失败的数据
+        List<ErrorMessage> errorMessageList = (List<ErrorMessage>) bindingResult.getTarget();
+        // 执行数据插入操作 组装 PostDto
+        for (MachineDeductExcelVo excel : machineDeductExcelVos) {
+            Set<String> errorMsg = new HashSet<>();
+
+            // 数据合法情况
+            if (CollUtil.isEmpty(errorMsg)) {
+                KxsMachineDeduct machineDeduct = new KxsMachineDeduct();
+                BeanUtil.copyProperties(excel, machineDeduct);
+                this.save(machineDeduct);
+            }
+            else {
+                // 数据不合法
+                assert errorMessageList != null;
+                errorMessageList.add(new ErrorMessage(excel.getLineNum(), errorMsg));
+            }
+        }
+        if (CollUtil.isNotEmpty(errorMessageList)) {
+            return R.failed(errorMessageList);
+        }
+        return R.ok();
+    }
+}
+

+ 16 - 0
kxs-product/kxs-product-biz/src/main/resources/mapper/KxsMachineDeductMapper.xml

@@ -0,0 +1,16 @@
+<?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.kxs.product.biz.mapper.KxsMachineDeductMapper">
+
+    <resultMap type="com.kxs.product.api.model.KxsMachineDeduct" id="KxsMachineDeductMap">
+        <result column="id" property="id" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="del_flag" property="delFlag" />
+        <result column="version" property="version" />
+        <result column="pos_sn" property="posSn" />
+        <result column="remark" property="remark" />
+
+    </resultMap>
+
+</mapper>

+ 5 - 3
kxs-transfer/src/main/resources/import.txt

@@ -135,16 +135,18 @@ where a.`Status` > 0
 
 //机具表
 select a.Id as id, a.UserId as user_id,a.CreateDate as create_time, a.UpdateDate as update_time,
-a.PosSn as pos_sn, a.StoreId as warehouse_id, a.BindMerchantId as merchant_id, a.BrandId as brand_id, a.PreUserId as pre_user_id,
-(case when a.IsPurchase = 0 && a.RecycEndDate > NOW() then 1 ELSE 0 end) as  recycle_status, a.RecycEndDate as recycle_end_time,
+a.PosSn as pos_sn, a.StoreId as warehouse_id, a.BindMerchantId as merchant_id, a.BrandId as brand_id, a.PreUserId as pre_user_id, a.BatchNo as batch_no,
+(case when a.IsPurchase = 0 && a.RecycEndDate > NOW() && a.ActivationState = 1 then 1 ELSE 0 end) as  recycle_status, a.RecycEndDate as recycle_end_time,
 a.PosSnType as machine_type, ifnull(a.PrizeParams, 299) as cash_pledge, case when a.SeoKeyword > 1000 then a.SeoKeyword / 100 ELSE a.SeoKeyword end as source_pledge,
 a.BindingTime as bind_time, a.ActivationTime as act_time, a.DownFee as machine_ratio, a.ActivationState as is_act, a.BindingState as bind_status,
 a.IsFirst as is_first, a.LeaderUserId as  leader_id, a.OpId as  partner_id, TransferTime as delivery_time, UpFeeFlag as up_fee_flag, DownFeeFlag as down_fee_flag,
-IsSupplement as is_supply, IsOpAct as is_op_act, case when a.UserId = 0 then 0  ELSE 1 end status, RecycStatus,
+IsSupplement as is_supply, IsOpAct as is_op_act, case when a.UserId = 0 then 0  ELSE 1 end status,
 a.RecycStatus as return_status,
 b.StoreName as warehouse_name
 FROM PosMachinesTwo a LEFT JOIN StoreHouse b on  a.StoreId = b.id
 
+
+
 //仓库表
 select a.Id as id, a.UserId as user_id,a.CreateDate as create_time, a.UpdateDate as update_time,
 StoreNo as warehouse_no, StoreName as warehouse_name, BrandId as brand_id, ProductName as brand_name,a.Address as warehouse_address,