master:编辑商品工艺信息功能完善;
parent
eac89b3d11
commit
75c3ce60ed
|
|
@ -1,8 +1,22 @@
|
|||
package com.ruoyi.web.controller.xkt;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.XktBaseController;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.web.controller.xkt.vo.storeProdProcess.StoreProdProcessResVO;
|
||||
import com.ruoyi.web.controller.xkt.vo.storeProdProcess.StoreProdProcessUpdateVO;
|
||||
import com.ruoyi.xkt.dto.storeProdProcess.StoreProdProcessUpdateDTO;
|
||||
import com.ruoyi.xkt.service.IStoreProductProcessService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* 档口商品工艺信息Controller
|
||||
|
|
@ -12,6 +26,26 @@ import org.springframework.web.bind.annotation.RestController;
|
|||
*/
|
||||
@RestController
|
||||
@RequestMapping("/rest/v1/prod-processes")
|
||||
@RequiredArgsConstructor
|
||||
@Api(tags = "档口商品工艺")
|
||||
public class StoreProductProcessController extends XktBaseController {
|
||||
|
||||
final IStoreProductProcessService prodProcessService;
|
||||
|
||||
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
|
||||
@ApiOperation(value = "获取档口商品工艺详细信息", httpMethod = "GET", response = R.class)
|
||||
@GetMapping(value = "/{storeProdId}")
|
||||
public R<StoreProdProcessResVO> getProcess(@PathVariable("storeProdId") Long storeProdId) {
|
||||
return R.ok(BeanUtil.toBean(prodProcessService.getProcess(storeProdId), StoreProdProcessResVO.class));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
|
||||
@ApiOperation(value = "更新商品工艺信息", httpMethod = "PUT", response = R.class)
|
||||
@Log(title = "更新商品工艺信息", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/{storeProdId}")
|
||||
public R<Integer> update(@PathVariable Long storeProdId, @Validated @RequestBody StoreProdProcessUpdateVO processUpdateVO) throws IOException {
|
||||
return R.ok(prodProcessService.update(storeProdId, BeanUtil.toBean(processUpdateVO, StoreProdProcessUpdateDTO.class)));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -196,7 +196,7 @@ public class StoreProdCreateVO {
|
|||
@ApiModelProperty(value = "颜色名称", required = true)
|
||||
private String colorName;
|
||||
@NotBlank(message = "内里材质不可为空!")
|
||||
@ApiModelProperty(value = "内里材质" , required = true)
|
||||
@ApiModelProperty(value = "内里材质", required = true)
|
||||
private String shoeUpperLiningMaterial;
|
||||
@ApiModelProperty(value = "商品尺码", required = true)
|
||||
@NotNull(message = "档口商品定价不能为空!")
|
||||
|
|
@ -226,6 +226,10 @@ public class StoreProdCreateVO {
|
|||
@Data
|
||||
@ApiModel
|
||||
public static class StoreProdProcessVO {
|
||||
@ApiModelProperty(value = "客户")
|
||||
private String partnerName;
|
||||
@ApiModelProperty(value = "商标")
|
||||
private String trademark;
|
||||
@ApiModelProperty(value = "鞋型")
|
||||
private String shoeType;
|
||||
@ApiModelProperty(value = "楦号")
|
||||
|
|
|
|||
|
|
@ -166,6 +166,10 @@ public class StoreProdResVO {
|
|||
|
||||
@Data
|
||||
public static class StoreProdProcessVO {
|
||||
@ApiModelProperty(value = "客户")
|
||||
private String partnerName;
|
||||
@ApiModelProperty(value = "商标")
|
||||
private String trademark;
|
||||
@ApiModelProperty(value = "鞋型")
|
||||
private String shoeType;
|
||||
@ApiModelProperty(value = "楦号")
|
||||
|
|
|
|||
|
|
@ -0,0 +1,63 @@
|
|||
package com.ruoyi.web.controller.xkt.vo.storeProdProcess;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author liujiang
|
||||
* @version v1.0
|
||||
* @date 2025/3/27 15:12
|
||||
*/
|
||||
@Data
|
||||
@ApiModel
|
||||
public class StoreProdProcessResVO {
|
||||
|
||||
@ApiModelProperty(value = "客户")
|
||||
private String partnerName;
|
||||
@ApiModelProperty(value = "商标")
|
||||
private String trademark;
|
||||
@ApiModelProperty(value = "鞋型")
|
||||
private String shoeType;
|
||||
@ApiModelProperty(value = "楦号")
|
||||
private String shoeSize;
|
||||
@ApiModelProperty(value = "主皮")
|
||||
private String mainSkin;
|
||||
@ApiModelProperty(value = "主皮用量")
|
||||
private String mainSkinUsage;
|
||||
@ApiModelProperty(value = "配皮")
|
||||
private String matchSkin;
|
||||
@ApiModelProperty(value = "配皮用量")
|
||||
private String matchSkinUsage;
|
||||
@ApiModelProperty(value = "领口")
|
||||
private String neckline;
|
||||
@ApiModelProperty(value = "膛底")
|
||||
private String insole;
|
||||
@ApiModelProperty(value = "扣件/拉头")
|
||||
private String fastener;
|
||||
@ApiModelProperty(value = "辅料")
|
||||
private String shoeAccessories;
|
||||
@ApiModelProperty(value = "包头")
|
||||
private String toeCap;
|
||||
@ApiModelProperty(value = "包边")
|
||||
private String edgeBinding;
|
||||
@ApiModelProperty(value = "中大底")
|
||||
private String midOutsole;
|
||||
@ApiModelProperty(value = "防水台")
|
||||
private String platformSole;
|
||||
@ApiModelProperty(value = "中底厂家编码")
|
||||
private String midsoleFactoryCode;
|
||||
@ApiModelProperty(value = "外底厂家编码")
|
||||
private String outsoleFactoryCode;
|
||||
@ApiModelProperty(value = "跟厂编码")
|
||||
private String heelFactoryCode;
|
||||
@ApiModelProperty(value = "配料")
|
||||
private String components;
|
||||
@ApiModelProperty(value = "第二底料")
|
||||
private String secondSoleMaterial;
|
||||
@ApiModelProperty(value = "第二配料")
|
||||
private String secondUpperMaterial;
|
||||
@ApiModelProperty(value = "自定义")
|
||||
private String customAttr;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
package com.ruoyi.web.controller.xkt.vo.storeProdProcess;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* @author liujiang
|
||||
* @version v1.0
|
||||
* @date 2025/3/27 15:12
|
||||
*/
|
||||
@Data
|
||||
@ApiModel
|
||||
public class StoreProdProcessUpdateVO {
|
||||
|
||||
@ApiModelProperty(value = "客户")
|
||||
private String partnerName;
|
||||
@ApiModelProperty(value = "商标")
|
||||
private String trademark;
|
||||
@ApiModelProperty(value = "鞋型")
|
||||
private String shoeType;
|
||||
@ApiModelProperty(value = "楦号")
|
||||
private String shoeSize;
|
||||
@ApiModelProperty(value = "主皮")
|
||||
private String mainSkin;
|
||||
@ApiModelProperty(value = "主皮用量")
|
||||
private String mainSkinUsage;
|
||||
@ApiModelProperty(value = "配皮")
|
||||
private String matchSkin;
|
||||
@ApiModelProperty(value = "配皮用量")
|
||||
private String matchSkinUsage;
|
||||
@ApiModelProperty(value = "领口")
|
||||
private String neckline;
|
||||
@ApiModelProperty(value = "膛底")
|
||||
private String insole;
|
||||
@ApiModelProperty(value = "扣件/拉头")
|
||||
private String fastener;
|
||||
@ApiModelProperty(value = "辅料")
|
||||
private String shoeAccessories;
|
||||
@ApiModelProperty(value = "包头")
|
||||
private String toeCap;
|
||||
@ApiModelProperty(value = "包边")
|
||||
private String edgeBinding;
|
||||
@ApiModelProperty(value = "中大底")
|
||||
private String midOutsole;
|
||||
@ApiModelProperty(value = "防水台")
|
||||
private String platformSole;
|
||||
@ApiModelProperty(value = "中底厂家编码")
|
||||
private String midsoleFactoryCode;
|
||||
@ApiModelProperty(value = "外底厂家编码")
|
||||
private String outsoleFactoryCode;
|
||||
@ApiModelProperty(value = "跟厂编码")
|
||||
private String heelFactoryCode;
|
||||
@ApiModelProperty(value = "配料")
|
||||
private String components;
|
||||
@ApiModelProperty(value = "第二底料")
|
||||
private String secondSoleMaterial;
|
||||
@ApiModelProperty(value = "第二配料")
|
||||
private String secondUpperMaterial;
|
||||
@ApiModelProperty(value = "自定义")
|
||||
private String customAttr;
|
||||
|
||||
}
|
||||
|
|
@ -13,6 +13,10 @@ public class StoreProdProcessDTO {
|
|||
|
||||
@ApiModelProperty(value = "档口商品ID")
|
||||
private Long storeProdId;
|
||||
@ApiModelProperty(value = "客户")
|
||||
private String partnerName;
|
||||
@ApiModelProperty(value = "商标")
|
||||
private String trademark;
|
||||
@ApiModelProperty(value = "鞋型")
|
||||
private String shoeType;
|
||||
@ApiModelProperty(value = "楦号")
|
||||
|
|
|
|||
|
|
@ -0,0 +1,63 @@
|
|||
package com.ruoyi.xkt.dto.storeProdProcess;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author liujiang
|
||||
* @version v1.0
|
||||
* @date 2025/3/27 15:12
|
||||
*/
|
||||
@Data
|
||||
@ApiModel
|
||||
public class StoreProdProcessUpdateDTO {
|
||||
|
||||
@ApiModelProperty(value = "客户")
|
||||
private String partnerName;
|
||||
@ApiModelProperty(value = "商标")
|
||||
private String trademark;
|
||||
@ApiModelProperty(value = "鞋型")
|
||||
private String shoeType;
|
||||
@ApiModelProperty(value = "楦号")
|
||||
private String shoeSize;
|
||||
@ApiModelProperty(value = "主皮")
|
||||
private String mainSkin;
|
||||
@ApiModelProperty(value = "主皮用量")
|
||||
private String mainSkinUsage;
|
||||
@ApiModelProperty(value = "配皮")
|
||||
private String matchSkin;
|
||||
@ApiModelProperty(value = "配皮用量")
|
||||
private String matchSkinUsage;
|
||||
@ApiModelProperty(value = "领口")
|
||||
private String neckline;
|
||||
@ApiModelProperty(value = "膛底")
|
||||
private String insole;
|
||||
@ApiModelProperty(value = "扣件/拉头")
|
||||
private String fastener;
|
||||
@ApiModelProperty(value = "辅料")
|
||||
private String shoeAccessories;
|
||||
@ApiModelProperty(value = "包头")
|
||||
private String toeCap;
|
||||
@ApiModelProperty(value = "包边")
|
||||
private String edgeBinding;
|
||||
@ApiModelProperty(value = "中大底")
|
||||
private String midOutsole;
|
||||
@ApiModelProperty(value = "防水台")
|
||||
private String platformSole;
|
||||
@ApiModelProperty(value = "中底厂家编码")
|
||||
private String midsoleFactoryCode;
|
||||
@ApiModelProperty(value = "外底厂家编码")
|
||||
private String outsoleFactoryCode;
|
||||
@ApiModelProperty(value = "跟厂编码")
|
||||
private String heelFactoryCode;
|
||||
@ApiModelProperty(value = "配料")
|
||||
private String components;
|
||||
@ApiModelProperty(value = "第二底料")
|
||||
private String secondSoleMaterial;
|
||||
@ApiModelProperty(value = "第二配料")
|
||||
private String secondUpperMaterial;
|
||||
@ApiModelProperty(value = "自定义")
|
||||
private String customAttr;
|
||||
|
||||
}
|
||||
|
|
@ -1,5 +1,8 @@
|
|||
package com.ruoyi.xkt.service;
|
||||
|
||||
import com.ruoyi.xkt.dto.storeProdProcess.StoreProdProcessDTO;
|
||||
import com.ruoyi.xkt.dto.storeProdProcess.StoreProdProcessUpdateDTO;
|
||||
|
||||
/**
|
||||
* 档口商品工艺信息Service接口
|
||||
*
|
||||
|
|
@ -8,4 +11,21 @@ package com.ruoyi.xkt.service;
|
|||
*/
|
||||
public interface IStoreProductProcessService {
|
||||
|
||||
/**
|
||||
* 获取档口商品工艺信息
|
||||
*
|
||||
* @param storeProdId 档口商品ID
|
||||
* @return 档口商品工艺信息
|
||||
*/
|
||||
StoreProdProcessDTO getProcess(Long storeProdId);
|
||||
|
||||
/**
|
||||
* 更新档口工艺 信息
|
||||
*
|
||||
* @param storeProdId 档口商品ID
|
||||
* @param updateDTO 更新入参
|
||||
* @return Integer
|
||||
*/
|
||||
Integer update(Long storeProdId, StoreProdProcessUpdateDTO updateDTO);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,21 @@
|
|||
package com.ruoyi.xkt.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.ruoyi.common.constant.Constants;
|
||||
import com.ruoyi.common.constant.HttpStatus;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.xkt.domain.StoreProductProcess;
|
||||
import com.ruoyi.xkt.dto.storeProdProcess.StoreProdProcessDTO;
|
||||
import com.ruoyi.xkt.dto.storeProdProcess.StoreProdProcessUpdateDTO;
|
||||
import com.ruoyi.xkt.mapper.StoreProductProcessMapper;
|
||||
import com.ruoyi.xkt.service.IStoreProductProcessService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* 档口商品工艺信息Service业务层处理
|
||||
|
|
@ -9,7 +23,44 @@ import org.springframework.stereotype.Service;
|
|||
* @author ruoyi
|
||||
* @date 2025-03-26
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class StoreProductProcessServiceImpl implements IStoreProductProcessService {
|
||||
|
||||
final StoreProductProcessMapper prodProcessMapper;
|
||||
|
||||
/**
|
||||
* 获取档口商品工艺信息
|
||||
*
|
||||
* @param storeProdId 档口商品ID
|
||||
* @return 档口商品工艺信息
|
||||
*/
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public StoreProdProcessDTO getProcess(Long storeProdId) {
|
||||
StoreProductProcess process = Optional.ofNullable(this.prodProcessMapper.selectOne(new LambdaQueryWrapper<StoreProductProcess>()
|
||||
.eq(StoreProductProcess::getStoreProdId, storeProdId).eq(StoreProductProcess::getDelFlag, Constants.UNDELETED)))
|
||||
.orElseThrow(() -> new ServiceException("档口商品工艺不存在!", HttpStatus.ERROR));
|
||||
return BeanUtil.toBean(process, StoreProdProcessDTO.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新档口工艺 信息
|
||||
*
|
||||
* @param storeProdId 档口商品ID
|
||||
* @param updateDTO 更新入参
|
||||
* @return Integer
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public Integer update(Long storeProdId, StoreProdProcessUpdateDTO updateDTO) {
|
||||
StoreProductProcess process = Optional.ofNullable(this.prodProcessMapper.selectOne(new LambdaQueryWrapper<StoreProductProcess>()
|
||||
.eq(StoreProductProcess::getStoreProdId, storeProdId).eq(StoreProductProcess::getDelFlag, Constants.UNDELETED)))
|
||||
.orElseThrow(() -> new ServiceException("档口商品工艺不存在!", HttpStatus.ERROR));
|
||||
BeanUtil.copyProperties(updateDTO, process);
|
||||
return this.prodProcessMapper.updateById(process);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue