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

Merge remote-tracking branch 'origin/dev' into dev

czh 2 лет назад
Родитель
Сommit
22ced1e057

+ 0 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/bannerDistrictEnum.java → sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/BannerDistrictEnum.java


+ 32 - 0
sckw-common/sckw-common-stream/src/main/java/com/sckw/stream/enums/MessageEnum.java

@@ -294,8 +294,40 @@ public enum MessageEnum {
             "【${company}】发起了对贵司的付款操作,请及时联系付款方进行确认;结算单号:${number}", "terminal,ios,android",""),
     SETTLEMENT_START_SHIPPER("BUSINESS", "SETTLEMENT_START_SHIPPER", "发起托运付款",
             "贵司已发起了对【${company}】的付款操作,请及时确认并联系收款单位;结算单号:${number}", "terminal,ios,android",""),
+
+    /**
+     * 合同-销售合同、托运合同
+     */
+    SAELCONTRACT_SUBMIT_DATA("BUSINESS", "SAELCONTRACT_SUBMIT_DATA", "发起补充合同签约",
+            "贵司新建了补充合同并发起与【${entName}】的合同签约流程,请留意电话短信;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
+
+    SAELCONTRACT_COMPLETE_CONTRACT("BUSINESS", "SAELCONTRACT_COMPLETE_CONTRACT", "完结合同",
+            "贵司已完结了与【${entName}】间的签约合同,请及时通知合作单位;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
+
+    SAELCONTRACT_SEND_CONTRACT("BUSINESS", "SAELCONTRACT_SEND_CONTRACT", "发起合同签约",
+            "贵司新建了合同并发起与【${entName}】的合同签约流程,请留意电话短信;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
+    SAELCONTRACT_SUCCESS_CONTRACT("BUSINESS", "SAELCONTRACT_SUCCESS_CONTRACT", "合同签约成功",
+            "贵司已成功与【${entName}】签约合同;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
+    /**
+     * 合同-采购合同、承运合同
+     */
+    BUYCONTRACT_PROCESS_SEND("BUSINESS", "SAELCONTRACT_SUBMIT_DATA", "合同签约流程已发起",
+            "【${entName}】新建合同并发起签约流程,请留意电话短信;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
+    BUYCONTRACT_SUPPLYPROCESS_SEND("BUSINESS", "BUYCONTRACT_SUPPLYPROCESS_SEND", "补充合同签约流程已发起",
+            "【${entName}】新建补充合同并发起签约流程,请留意电话短信;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
+    BUYCONTRACT_SUCCESS_CONTRACT("BUSINESS", "BUYCONTRACT_SUCCESS_CONTRACT", "合同签约成功",
+            "贵司已成功与【${entName}】签约合同;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
+    BUYCONTRACT_COMPLETE_CONTRACT("BUSINESS", "BUYCONTRACT_COMPLETE_CONTRACT", "合同被完结",
+            "【${entName}】完结了与贵司签约的合同,请及时联系确认;;合同编号:${contract_no},合同名称:${name}", "terminal,ios,android", ""),
+
+
+
     ;
 
+
+
+
+
     /**
      * 消息分类:BUSINESS业务消息,SYSTEM系统消息
      */

+ 14 - 0
sckw-modules/sckw-operation/src/main/java/com/sckw/operation/controller/KwoBannerController.java

@@ -97,6 +97,20 @@ public class KwoBannerController {
         return HttpResult.ok(bannerService.getCategory());
     }
 
+    /**
+     * @param reqVo 上架下架
+     * @return HttpResult
+     * @desc: 上架下架
+     * @author: sky
+     * @date: 2023/8/28
+     */
+    @PostMapping("/updateStatus")
+    public HttpResult updateStatus(@Valid @RequestBody BannerUpdateStatusReqVo reqVo) throws SystemException {
+        bannerService.updateStatusServer(reqVo);
+        return HttpResult.ok(HttpStatus.MSG_005);
+    }
+
+
 
 
 

+ 5 - 0
sckw-modules/sckw-operation/src/main/java/com/sckw/operation/model/entity/KwoBanner.java

@@ -20,6 +20,11 @@ public class KwoBanner implements Serializable {
     @TableId
     private Long id;
 
+    /**
+     * 名称
+     */
+    private String name;
+
     /**
      * 展示图片
      */

+ 4 - 2
sckw-modules/sckw-operation/src/main/java/com/sckw/operation/model/vo/req/BannerAddReqVo.java

@@ -24,6 +24,10 @@ public class BannerAddReqVo extends PageRequest implements Serializable {
     private static final long serialVersionUID = 5677297006062954377L;
 
     private Long id;
+
+    @NotBlank(message = "名称不能为空")
+    @Size(max = 40, message = "名称内容超长")
+    private String name;
     /**
      * 展示图片
      */
@@ -33,7 +37,6 @@ public class BannerAddReqVo extends PageRequest implements Serializable {
     /**
      * 跳转地址
      */
-    @NotBlank(message = "跳转地址不能为空")
     @Size(max = 100, message = "跳转地址超长")
     private String jumpUrl;
 
@@ -56,7 +59,6 @@ public class BannerAddReqVo extends PageRequest implements Serializable {
      */
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @NotNull(message = "结束时间不能为空")
     private Date endTime;
 
     /**

+ 32 - 0
sckw-modules/sckw-operation/src/main/java/com/sckw/operation/model/vo/req/BannerUpdateStatusReqVo.java

@@ -0,0 +1,32 @@
+package com.sckw.operation.model.vo.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.model.page.PageRequest;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author sky
+ * @desc 上架下架
+ * @date 2023/7/10
+ */
+@Data
+public class BannerUpdateStatusReqVo extends PageRequest implements Serializable {
+    private Long id;
+
+
+    /**
+     * 状态(0 草稿 1已发布 2取消发布)
+     */
+    @NotNull(message = "状态不能为空")
+    private Integer status;
+
+
+}

+ 5 - 0
sckw-modules/sckw-operation/src/main/java/com/sckw/operation/model/vo/res/BannerDetailResVo.java

@@ -25,6 +25,11 @@ public class BannerDetailResVo extends PageRequest implements Serializable {
      */
     private Long id;
 
+    /**
+     * 名称
+     */
+    private String name;
+
     /**
      * 展示图片
      */

+ 5 - 0
sckw-modules/sckw-operation/src/main/java/com/sckw/operation/model/vo/res/BannerQueryResVo.java

@@ -24,6 +24,11 @@ public class BannerQueryResVo implements Serializable {
     @JsonSerialize(using = LongToStringUtils.class)
     private Long id;
 
+    /**
+     * 名字
+     */
+    private String name;
+
     /**
      * 展示图片
      */

+ 24 - 0
sckw-modules/sckw-operation/src/main/java/com/sckw/operation/service/BannerService.java

@@ -20,6 +20,7 @@ import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.operation.model.vo.req.BannerAddReqVo;
+import com.sckw.operation.model.vo.req.BannerUpdateStatusReqVo;
 import com.sckw.operation.model.vo.res.*;
 import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import com.sckw.operation.dao.KwoBannerMapper;
@@ -237,4 +238,27 @@ public class BannerService {
         return list;
     }
 
+    /**
+     * @param reqVo 上架下架入参
+     * @desc: 更新banner
+     * @author: sky
+     * @date: 2023/8/29
+     */
+    @Transactional(rollbackFor = {})
+    public void updateStatusServer(BannerUpdateStatusReqVo reqVo) {
+        KwoBanner kwobanner = kwoBannerMapper.selectById(reqVo.getId());
+        if (Objects.isNull(kwobanner)) {
+            throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.BANNER_NOT_EXISTS);
+        }
+        //BeanUtils.copyProperties(reqVo, kwobanner);
+        Date date = new Date();
+        Long userId = LoginUserHolder.getUserId();
+        kwobanner.setUpdateTime(date);
+        kwobanner.setUpdateBy(userId);
+        kwobanner.setStatus(reqVo.getStatus());
+        if (kwoBannerMapper.updateById(kwobanner) <= 0) {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
+        }
+    }
+
 }

+ 3 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java

@@ -670,6 +670,9 @@ public class KwpGoodsService {
         if (Objects.equals(GoodsStatusEnum.PUT_ON_SHELVES.getCode(), goods.getStatus())) {
             throw new BusinessException("上架操作仅针对“已下架”“草稿”状态的单据!");
         }
+        if (goods.getAmount().compareTo(BigDecimal.ZERO) <= 0) {
+            throw new BusinessException("商品上架必须库存大于零!");
+        }
         if (Objects.equals(GoodsStatusEnum.SAVED.getCode(), goods.getStatus())) {
             UpdateGoodsParam updateParam = BeanUtils.copyProperties(goods, UpdateGoodsParam.class);
             updateParam.setAttributes(BeanUtils.copyToList(kwpGoodsAttributeService.getByGoodsId(id), GoodsAttributes.class));