Commit 3a614891 by huluobin

自带款式

parent e4439848
......@@ -2,10 +2,12 @@ package com.gogirl.application.order.serve;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gogirl.domain.order.serve.OwnProduce;
import com.gogirl.shared.order.OrderServeOwnProduceCommand;
import com.gogirl.shared.order.ScheduleServeOwnProduceCommand;
/**
* <p>
* 服务类
* 服务类
* </p>
*
* @author robbendev
......@@ -13,4 +15,17 @@ import com.gogirl.domain.order.serve.OwnProduce;
*/
public interface IOwnProduceService extends IService<OwnProduce> {
/**
* 新增或者更新预约自带款式技法
*
* @param command
*/
void saveOrUpdateScheduleOwnProduce(ScheduleServeOwnProduceCommand command);
/**
* 新增或者更新订单自带款式技法
*
* @param command
*/
void saveOrUpdateOrderOwnProduce(OrderServeOwnProduceCommand command);
}
package com.gogirl.application.order.serve;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gogirl.domain.order.serve.OwnProduceTechniqueSku;
/**
* <p>
* 款式的 技法映射 服务类
* </p>
*
* @author robbendev
* @since 2020-05-27
*/
public interface IOwnProduceTechniqueSkuService extends IService<OwnProduceTechniqueSku> {
}
......@@ -231,7 +231,7 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
}
OrderServe orderServe = builder.build();
//自带款式
//新增订单详情时校验自带款式是否设置
if (orderServe.getServeName().trim().equals(ScheduleServe.OWN_PRODUCE_KEY)) {
orderServe.setIsOwnProduce(1);
if (orderServe.getOwnProduceId() == null) {
......@@ -344,7 +344,7 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
//订单服务备注
orderServe.setRemark(orderServeParam.getRemark());
//自带款式
//更新订单详情时校验自带款式是否设置
if (orderServe.getServeName().trim().equals(ScheduleServe.OWN_PRODUCE_KEY)) {
orderServe.setIsOwnProduce(1);
if (orderServe.getOwnProduceId() == null) {
......@@ -354,7 +354,7 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
orderServe.setIsOwnProduce(2);
orderServe.setOwnProduceId(null);
}
orderServe.calcPrice();
orderServeMapper.updateById(orderServe);
}
......
package com.gogirl.application.order.serve.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.order.serve.IOwnProduceService;
import com.gogirl.application.order.serve.IOwnProduceTechniqueSkuService;
import com.gogirl.domain.order.serve.OrderServe;
import com.gogirl.domain.order.serve.OwnProduce;
import com.gogirl.domain.order.serve.OwnProduceTechniqueSku;
import com.gogirl.domain.order.serve.ScheduleServe;
import com.gogirl.domain.product.serve.TechniqueSku;
import com.gogirl.infrastructure.common.exception.RRException;
import com.gogirl.infrastructure.mapper.order.serve.OrderServeMapper;
import com.gogirl.infrastructure.mapper.order.serve.OwnProduceMapper;
import com.gogirl.infrastructure.mapper.order.serve.ScheduleServeMapper;
import com.gogirl.infrastructure.mapper.product.serve.TechniqueSkuMapper;
import com.gogirl.shared.order.OrderServeOwnProduceCommand;
import com.gogirl.shared.order.OwnProduceTechniqueSkuCommand;
import com.gogirl.shared.order.ScheduleServeOwnProduceCommand;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.List;
import java.util.stream.Collectors;
/**
* <p>
* 服务实现类
* 服务实现类
* </p>
*
* @author robbendev
* @since 2020-05-27
*/
@Slf4j
@Service
public class OwnProduceServiceImpl extends ServiceImpl<OwnProduceMapper, OwnProduce> implements IOwnProduceService {
@Resource
IOwnProduceTechniqueSkuService ownProduceTechniqueSkuService;
@Resource
TechniqueSkuMapper techniqueSkuMapper;
@Resource
ScheduleServeMapper scheduleServeMapper;
@Resource
OrderServeMapper orderServeMapper;
@Transactional(rollbackFor = Exception.class)
@Override
public void saveOrUpdateScheduleOwnProduce(ScheduleServeOwnProduceCommand command) {
OwnProduce ownProduce = this.saveOrUpdateOwnProduce(command.getOwnProduceId(), command.getOwnProduceTechniqueSkuCommandList());
ScheduleServe scheduleServe = scheduleServeMapper.selectById(command.getScheduleServeId());
if (scheduleServe.getServeName().trim().equals(ScheduleServe.OWN_PRODUCE_KEY)) {
throw new RRException("非自带款式不需要选择款式技法");
}
scheduleServe.setOwnProduceId(ownProduce.getId());
scheduleServeMapper.updateById(scheduleServe);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void saveOrUpdateOrderOwnProduce(OrderServeOwnProduceCommand command) {
OwnProduce ownProduce = this.saveOrUpdateOwnProduce(command.getOwnProduceId(), command.getOwnProduceTechniqueSkuCommandList());
OrderServe orderServe = orderServeMapper.selectById(command.getOrderServeId());
if (orderServe.getServeName().trim().equals(ScheduleServe.OWN_PRODUCE_KEY)) {
throw new RRException("非自带款式不需要选择款式技法");
}
orderServe.setOwnProduceId(ownProduce.getId());
orderServeMapper.updateById(orderServe);
}
private OwnProduce saveOrUpdateOwnProduce(Integer ownProduceId, List<OwnProduceTechniqueSkuCommand> ownProduceTechniqueSkuCommandList) {
OwnProduce ownProduce;
if (ownProduceId == null) {
ownProduce = new OwnProduce();
this.save(ownProduce);
} else {
ownProduce = this.getById(ownProduceId);
ownProduceTechniqueSkuService.remove(new LambdaQueryWrapper<OwnProduceTechniqueSku>().eq(OwnProduceTechniqueSku::getOwnProduceId, ownProduce.getId()));
}
List<OwnProduceTechniqueSku> ownProduceTechniqueSkuList = ownProduceTechniqueSkuCommandList.stream()
.map(ownProduceTechniqueSkuCommand -> {
OwnProduceTechniqueSku ownProduceTechniqueSku = new OwnProduceTechniqueSku();
ownProduceTechniqueSku.setQuantity(ownProduceTechniqueSkuCommand.getQuantity());
ownProduceTechniqueSku.setTechniqueSkuId(ownProduceTechniqueSkuCommand.getTechniqueSkuId());
ownProduceTechniqueSku.setOwnProduceId(ownProduce.getId());
return ownProduceTechniqueSku;
})
.collect(Collectors.toList());
ownProduceTechniqueSkuService.saveBatch(ownProduceTechniqueSkuList);
ownProduce.setDuration(ownProduceTechniqueSkuList
.stream()
.mapToInt(ownProduceTechniqueSku -> {
TechniqueSku techniqueSku = techniqueSkuMapper.selectById(ownProduceTechniqueSku.getTechniqueSkuId());
return ownProduceTechniqueSku.getQuantity().intValue() * techniqueSku.getDuration();
})
.sum());
ownProduce.setPrice(ownProduceTechniqueSkuList
.stream()
.map(ownProduceTechniqueSku -> {
TechniqueSku techniqueSku = techniqueSkuMapper.selectById(ownProduceTechniqueSku.getTechniqueSkuId());
return ownProduceTechniqueSku.getQuantity().multiply(techniqueSku.getPrice());
})
.reduce(BigDecimal.ZERO, BigDecimal::add));
ownProduce.setName(ownProduceTechniqueSkuList
.stream()
.map(ownProduceTechniqueSku -> {
TechniqueSku techniqueSku = techniqueSkuMapper.selectById(ownProduceTechniqueSku.getTechniqueSkuId());
return techniqueSku.getName() + "x" + ownProduceTechniqueSku.getQuantity();
})
.collect(Collectors.joining(",")));
return ownProduce;
}
}
package com.gogirl.application.order.serve.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.order.serve.IOwnProduceTechniqueSkuService;
import com.gogirl.domain.order.serve.OwnProduceTechniqueSku;
import com.gogirl.infrastructure.mapper.order.serve.OwnProduceTechniqueSkuMapper;
import org.springframework.stereotype.Service;
/**
* <p>
* 款式的 技法映射 服务实现类
* </p>
*
* @author robbendev
* @since 2020-05-27
*/
@Service
public class OwnProduceTechniqueSkuServiceImpl extends ServiceImpl<OwnProduceTechniqueSkuMapper, OwnProduceTechniqueSku> implements IOwnProduceTechniqueSkuService {
}
......@@ -604,10 +604,7 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
throw new RRException("不能对辅助服务开单");
}
//如果是自带款式 但是没有设置
if (scheduleServe.getIsOwnProduce() == 1 && scheduleServe.getOwnProduceId() == null) {
throw new RRException("请补全自带款式");
}
//所有需要更新的服务
List<ScheduleServe> updateList = scheduleServeMapper.selectUpdateStatusList(scheduleServe.getSchId(), scheduleServe.getServeId());
......@@ -616,6 +613,12 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
//更新某一个服务状态已完成
if (status == 3) {
//结束服务时校验自带款式是否设置
if (scheduleServe.getIsOwnProduce() == 1 && scheduleServe.getOwnProduceId() == null) {
throw new RRException("请补全自带款式");
}
if (scheduleServe.getStatus() != 2) {
throw new RRException("预约服务状态异常");
}
......@@ -821,6 +824,7 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
}
}
//新增预约 修改预约时 校验自带款式是否设置
if (SessionUtils.isSourceFromTechnician()) {
scheduleManage.getListScheduleServer().forEach(
scheduleServe -> {
......@@ -1168,6 +1172,7 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
List<ScheduleServeCommand> scheduleServeCommandList = cmd.getScheduleServeDTOList();
//如果defaultNodeList不为空 根据defaultNodeList的参数设置服务开始时间,服务结束时间,服务美甲师
if (ListUtil.isNotEmpty(defaultNodeList)) {
defaultNodeList.forEach(defaultNode -> {
......@@ -1343,10 +1348,12 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
//自带款式
if (scheduleServe.getServeName().trim().equals(ScheduleServe.OWN_PRODUCE_KEY)) {
scheduleServe.setIsOwnProduce(1);
scheduleServe.setOwnProduceId(scheduleServeCommand.getOwnProduceId());
} else {
scheduleServe.setIsOwnProduce(2);
scheduleServe.setOwnProduceId(null);
}
//款式做法
scheduleServe.setExplain(baseServe.getExplain());
//计算价格
......@@ -1499,6 +1506,8 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
.payPrice(orderServePrice)
//预约时间
.scheduledTime(scheduleManage.getScheduledTime())
//自带款式
.ownProduceId(scheduleServeVar.getOwnProduceId())
.build();
......
package com.gogirl.application.product.serve;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gogirl.domain.product.serve.TechniqueCategory;
/**
* <p>
* 技法类目 服务类
* </p>
*
* @author robbendev
* @since 2020-05-27
*/
public interface ITechniqueCategoryService extends IService<TechniqueCategory> {
}
package com.gogirl.application.product.serve;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gogirl.domain.product.serve.TechniqueSku;
import java.util.List;
/**
* <p>
* 技法sku 服务类
* </p>
*
* @author robbendev
* @since 2020-05-27
*/
public interface ITechniqueSkuService extends IService<TechniqueSku> {
/**
* 查询所哟款式技法
* @return
*/
List<TechniqueSku> queryAll();
}
package com.gogirl.application.product.serve.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.product.serve.ITechniqueCategoryService;
import com.gogirl.domain.product.serve.TechniqueCategory;
import com.gogirl.infrastructure.mapper.product.serve.TechniqueCategoryMapper;
import org.springframework.stereotype.Service;
/**
* <p>
* 技法类目 服务实现类
* </p>
*
* @author robbendev
* @since 2020-05-27
*/
@Service
public class TechniqueCategoryServiceImpl extends ServiceImpl<TechniqueCategoryMapper, TechniqueCategory> implements ITechniqueCategoryService {
}
package com.gogirl.application.product.serve.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.product.serve.ITechniqueSkuService;
import com.gogirl.domain.product.serve.TechniqueSku;
import com.gogirl.infrastructure.mapper.product.serve.TechniqueSkuMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* <p>
* 技法sku 服务实现类
* </p>
*
* @author robbendev
* @since 2020-05-27
*/
@Service
public class TechniqueSkuServiceImpl extends ServiceImpl<TechniqueSkuMapper, TechniqueSku> implements ITechniqueSkuService {
@Resource
TechniqueSkuMapper techniqueSkuMapper;
@Override
public List<TechniqueSku> queryAll() {
return techniqueSkuMapper.queryAll();
}
}
package com.gogirl.domain.order.serve;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -25,6 +27,9 @@ public class OwnProduce implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "自带款式名字")
private String name;
......
package com.gogirl.domain.order.serve;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* <p>
* 款式的 技法映射
* </p>
*
* @author robbendev
* @since 2020-05-27
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="OwnProduceTechniqueSku对象", description="款式的 技法映射")
public class OwnProduceTechniqueSku implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "base_produce.id")
private Integer ownProduceId;
@ApiModelProperty(value = "technique_sku.id")
private Integer techniqueSkuId;
@ApiModelProperty(value = "数量")
private BigDecimal quantity;
@TableField(exist = false)
private Integer duration;
}
package com.gogirl.domain.product.serve;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* <p>
* 技法类目
* </p>
*
* @author robbendev
* @since 2020-05-27
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="TechniqueCategory对象", description="技法类目")
public class TechniqueCategory implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
private Integer id;
private String name;
@ApiModelProperty(value = "base_type 的 id")
private Integer serviceTypeId;
}
package com.gogirl.domain.product.serve;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* <p>
* 技法sku
* </p>
*
* @author robbendev
* @since 2020-05-27
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="TechniqueSku对象", description="技法sku")
public class TechniqueSku implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "技法名称")
private String name;
@ApiModelProperty(value = "技法分类id")
private Integer techniqueCategoryId;
private String sku;
@ApiModelProperty(value = "技术级别")
private String level;
@ApiModelProperty(value = "技法简述")
private String operationalGuidelines;
@ApiModelProperty(value = "教程视屏链接")
private String videoPath;
@ApiModelProperty(value = "话术")
private String talkingSkill;
@ApiModelProperty(value = "限定操作时长(分钟)")
private Integer duration;
@ApiModelProperty(value = "课程定价")
private BigDecimal price;
private Integer createUserId;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createDate;
@ApiModelProperty(value = "是否删除")
private Boolean isDelete;
@ApiModelProperty(value = "1:全手 2:单指 3:单颗 4:根/颗 5:颗 6:全脚")
private Integer unit;
@TableField(exist = false)
private String techniqueCategoryName;
}
package com.gogirl.infrastructure.mapper.order.serve;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gogirl.domain.order.serve.OwnProduceTechniqueSku;
/**
* <p>
* 款式的 技法映射 Mapper 接口
* </p>
*
* @author robbendev
* @since 2020-05-27
*/
public interface OwnProduceTechniqueSkuMapper extends BaseMapper<OwnProduceTechniqueSku> {
}
package com.gogirl.infrastructure.mapper.product.serve;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gogirl.domain.product.serve.TechniqueCategory;
/**
* <p>
* 技法类目 Mapper 接口
* </p>
*
* @author robbendev
* @since 2020-05-27
*/
public interface TechniqueCategoryMapper extends BaseMapper<TechniqueCategory> {
}
package com.gogirl.infrastructure.mapper.product.serve;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gogirl.domain.product.serve.TechniqueSku;
import java.util.List;
/**
* <p>
* 技法sku Mapper 接口
* </p>
*
* @author robbendev
* @since 2020-05-27
*/
public interface TechniqueSkuMapper extends BaseMapper<TechniqueSku> {
/**
* 查询所有款式技法 冗余款式分类名称
* @return
*/
List<TechniqueSku> queryAll();
}
package com.gogirl.interfaces.order.serve;
import com.gogirl.application.order.serve.IOwnProduceService;
import com.gogirl.infrastructure.common.base.JsonResult;
import com.gogirl.shared.order.OrderServeOwnProduceCommand;
import com.gogirl.shared.order.ScheduleServeOwnProduceCommand;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* <p>
* 前端控制器
* 前端控制器
* </p>
*
* @author robbendev
* @since 2020-05-27
*/
@Api(tags = "'自带款式接口")
@RestController
@RequestMapping("/own-produce")
@RequestMapping("/ownProduce")
public class OwnProduceController {
@Resource
IOwnProduceService ownProduceService;
@ApiOperation("新增或者更新预约自带款式技法")
@PostMapping("/saveOrUpdateScheduleOwnProduce")
public JsonResult<Void> saveOrUpdateScheduleOwnProduce(@RequestBody ScheduleServeOwnProduceCommand command) {
ownProduceService.saveOrUpdateScheduleOwnProduce(command);
return JsonResult.success();
}
@ApiOperation("新增或者更新订单自带款式技法")
@PostMapping("/saveOrUpdateOrderOwnProduce")
public JsonResult<Void> saveOrUpdateOrderOwnProduce(@RequestBody OrderServeOwnProduceCommand command) {
ownProduceService.saveOrUpdateOrderOwnProduce(command);
return JsonResult.success();
}
}
package com.gogirl.interfaces.order.serve;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 款式的 技法映射 前端控制器
* </p>
*
* @author robbendev
* @since 2020-05-27
*/
@RestController
@RequestMapping("/own-produce-technique-sku")
public class OwnProduceTechniqueSkuController {
}
package com.gogirl.interfaces.product.serve;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 技法类目 前端控制器
* </p>
*
* @author robbendev
* @since 2020-05-27
*/
@RestController
@RequestMapping("/technique-category")
public class TechniqueCategoryController {
}
package com.gogirl.interfaces.product.serve;
import com.gogirl.application.product.serve.ITechniqueSkuService;
import com.gogirl.domain.product.serve.TechniqueSku;
import com.gogirl.infrastructure.common.base.JsonResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* <p>
* 技法sku 前端控制器
* </p>
*
* @author robbendev
* @since 2020-05-27
*/
@Api(tags = "款式技法接口")
@RestController
@RequestMapping("/techniqueSku")
public class TechniqueSkuController {
@Resource
ITechniqueSkuService techniqueSkuService;
@ApiOperation("查询所有款式技法")
@GetMapping("queryTp")
JsonResult<List<TechniqueSku>> queryAll() {
List<TechniqueSku> techniqueSkuList = techniqueSkuService.queryAll();
return JsonResult.success(techniqueSkuList);
}
}
......@@ -27,8 +27,8 @@ public class FileController {
public JsonResult<String> upload(MultipartFile file) throws Exception {
if (file == null) {
throw new RRException("上传内容为空");
}
public JsonResult<String> upload(MultipartFile file) throws Exception {
log.info("图片上传");
String imgUrl = fileService.saveImage(file);
return JsonResult.success(imgUrl);
......@@ -45,4 +45,5 @@ public class FileController {
String imgUrl = fileService.saveImage(multipartFile);
return JsonResult.success(imgUrl);
}
}
package com.gogirl.shared.order;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/5/27 11:59 上午
*/
@Data
public class OrderServeOwnProduceCommand {
private Integer ownProduceId;
@ApiModelProperty("订单详情id")
private Integer orderServeId;
@ApiModelProperty("款式")
private List<OwnProduceTechniqueSkuCommand> ownProduceTechniqueSkuCommandList;
}
package com.gogirl.shared.order;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/5/27 12:46 下午
*/
@Data
public class OwnProduceTechniqueSkuCommand {
@ApiModelProperty(value = "base_produce.id")
private Integer ownProduceId;
@ApiModelProperty(value = "technique_sku.id")
private Integer techniqueSkuId;
@ApiModelProperty(value = "数量")
private BigDecimal quantity;
}
......@@ -91,4 +91,6 @@ public class ScheduleServeCommand implements Serializable {
private Boolean isCustomerPick;
private Integer leisureDiscountConfigId;
private Integer ownProduceId;
}
package com.gogirl.shared.order;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/5/27 11:59 上午
*/
@Data
public class ScheduleServeOwnProduceCommand {
private Integer ownProduceId;
@ApiModelProperty("预约详情id")
private Integer scheduleServeId;
@ApiModelProperty("款式")
private List<OwnProduceTechniqueSkuCommand> ownProduceTechniqueSkuCommandList;
}
<?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.gogirl.infrastructure.mapper.order.serve.OwnProduceTechniqueSkuMapper">
</mapper>
<?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.gogirl.infrastructure.mapper.product.serve.TechniqueCategoryMapper">
</mapper>
<?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.gogirl.infrastructure.mapper.product.serve.TechniqueSkuMapper">
<select id="queryAll" resultType="com.gogirl.domain.product.serve.TechniqueSku">
select t1.*, t2.name technique_category_name
from technique_sku t1
left join technique_category t2 on t1.technique_category_id = t2.id;
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment