diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/goodsAttribute/GoodsAttribute.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/goodsAttribute/GoodsAttribute.java new file mode 100644 index 0000000..377c462 --- /dev/null +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/goodsAttribute/GoodsAttribute.java @@ -0,0 +1,91 @@ +package com.xinelu.manage.domain.goodsAttribute; + +import com.xinelu.common.annotation.Excel; +import com.xinelu.common.core.domain.BaseDomain; +import com.xinelu.common.custominterface.Insert; +import com.xinelu.common.custominterface.Update; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 商品属性对象 goods_attribute + * + * @author xinyilu + * @date 2022-10-17 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "商品属性对象", description = "goods_attribute") +public class GoodsAttribute extends BaseDomain implements Serializable { + private static final long serialVersionUID = -1783047698554409597L; + /** + * 主键id + */ + private Long id; + + /** + * 商品id + */ + @ApiModelProperty(value = "商品id") + @Excel(name = "商品id") + private Long goodsId; + + /** + * 商品属性名称 + */ + @ApiModelProperty(value = "商品属性名称") + @Excel(name = "商品属性名称") + @NotBlank(message = "商品属性名称不能为空", groups = {Insert.class, Update.class}) + @Length(max = 50, message = "商品属性名称不能超过50位", groups = {Insert.class, Update.class}) + private String attributeName; + + /** + * 商品属性编码 + */ + @ApiModelProperty(value = "商品属性编码") + @Excel(name = "商品属性编码") + private String attributeCode; + + /** + * 商品属性概述 + */ + @ApiModelProperty(value = "商品属性概述") + @Excel(name = "商品属性概述") + private String attributeRemark; + + /** + * 显示顺序 + */ + @ApiModelProperty(value = "显示顺序") + @Excel(name = "显示顺序") + private Integer sort; + + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("goodsId", getGoodsId()) + .append("attributeName", getAttributeName()) + .append("attributeCode", getAttributeCode()) + .append("attributeRemark", getAttributeRemark()) + .append("sort", getSort()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/goodsAttributeDetails/GoodsAttributeDetails.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/goodsAttributeDetails/GoodsAttributeDetails.java new file mode 100644 index 0000000..aafa518 --- /dev/null +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/goodsAttributeDetails/GoodsAttributeDetails.java @@ -0,0 +1,125 @@ +package com.xinelu.manage.domain.goodsAttributeDetails; + +import com.xinelu.common.annotation.Excel; +import com.xinelu.common.core.domain.BaseDomain; +import com.xinelu.common.custominterface.Insert; +import com.xinelu.common.custominterface.Update; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * 商品属性明细对象 goods_attribute_details + * + * @author xinyilu + * @date 2022-10-17 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "商品属性明细对象", description = "goods_attribute_details") +public class GoodsAttributeDetails extends BaseDomain implements Serializable { + private static final long serialVersionUID = -1338498896375073750L; + /** + * 主键id + */ + private Long id; + + /** + * 商品属性id + */ + @ApiModelProperty(value = "商品属性id") + @Excel(name = "商品属性id") + private Long goodsAttributeId; + + /** + * 商品属性明细名称 + */ + @ApiModelProperty(value = "商品属性明细名称") + @Excel(name = "商品属性明细名称") + @NotBlank(message = "商品属性明细名称不能为空", groups = {Insert.class, Update.class}) + @Length(max = 100, message = "商品属性明细名称不能超过100位", groups = {Insert.class, Update.class}) + private String attributeDetailsName; + + /** + * 库存数量 + */ + @ApiModelProperty(value = "库存数量") + @Excel(name = "库存数量") + @NotNull(message = "库存数量不能为空", groups = {Insert.class, Update.class}) + private Integer goodsStock; + + /** + * 商品单价,保留到小数点后两位 + */ + @ApiModelProperty(value = "商品单价,保留到小数点后两位") + @Excel(name = "商品单价,保留到小数点后两位") + @NotNull(message = "商品单价不能为空", groups = {Insert.class, Update.class}) + private BigDecimal goodsPrice; + + /** + * 商品属性图片地址 + */ + @ApiModelProperty(value = "商品属性图片地址") + @Excel(name = "商品属性图片地址") + @Length(max = 200, message = "商品属性图片地址不能超过200位", groups = {Insert.class, Update.class}) + private String attributePitureUrl; + + /** + * 显示顺序 + */ + @ApiModelProperty(value = "显示顺序") + @Excel(name = "显示顺序") + private Integer sort; + + /** + * 积分兑换标识,0:否,1:是 + */ + @ApiModelProperty(value = "积分兑换标识,0:否,1:是") + @Excel(name = "积分兑换标识,0:否,1:是") + private Integer integralExchangeFlag; + + /** + * 积分兑换门槛值 + */ + @ApiModelProperty(value = "积分兑换门槛值") + @Excel(name = "积分兑换门槛值") + private Integer integralExchangeSill; + + /** + * 积分兑换商品数量 + */ + @ApiModelProperty(value = "积分兑换商品数量") + @Excel(name = "积分兑换商品数量") + private Integer integralExchangeCount; + + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("goodsAttributeId", getGoodsAttributeId()) + .append("attributeDetailsName", getAttributeDetailsName()) + .append("goodsStock", getGoodsStock()) + .append("goodsPrice", getGoodsPrice()) + .append("attributePitureUrl", getAttributePitureUrl()) + .append("sort", getSort()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/goodsInfo/GoodsInfo.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/goodsInfo/GoodsInfo.java new file mode 100644 index 0000000..c9fbd9b --- /dev/null +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/goodsInfo/GoodsInfo.java @@ -0,0 +1,155 @@ +package com.xinelu.manage.domain.goodsInfo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.xinelu.common.annotation.Excel; +import com.xinelu.common.core.domain.BaseDomain; +import com.xinelu.common.custominterface.Insert; +import com.xinelu.common.custominterface.Update; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; + + +/** + * 商品基本信息对象 goods_info + * + * @author xinyilu + * @date 2022-10-17 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "商品基本信息对象", description = "goods_info") +public class GoodsInfo extends BaseDomain implements Serializable { + private static final long serialVersionUID = 5311374556313294992L; + /** + * 主键id + */ + @NotNull(message = "商品id不能为空!", groups = {Update.class}) + private Long id; + + /** + * 店铺表id + */ + @ApiModelProperty(value = "店铺表id") + @Excel(name = "店铺表id") + private Long storeInfoId; + + /** + * 护理站id,冗余字段 + */ + @ApiModelProperty(value = "护理站id,冗余字段") + @Excel(name = "护理站id,冗余字段") + private Long nurseStationId; + + /** + * 商品分类id + */ + @ApiModelProperty(value = "商品分类id") + @Excel(name = "商品分类id") + @NotNull(message = "商品分类信息不能为空!", groups = {Insert.class, Update.class}) + private Long goodsCategoryId; + + /** + * 商品名称 + */ + @ApiModelProperty(value = "商品名称") + @Excel(name = "商品名称") + @NotBlank(message = "商品名称信息不能为空!", groups = {Insert.class, Update.class}) + private String goodsName; + + /** + * 商品编码 + */ + @ApiModelProperty(value = "商品编码") + @Excel(name = "商品编码") + private String goodsCode; + + /** + * 是否上架,0:否,1:是 + */ + @ApiModelProperty(value = "是否上架,0:否,1:是") + @Excel(name = "是否上架,0:否,1:是") + private Integer whetherShelf; + + /** + * 上架时间,yyyy-MM-dd HH:mm:ss + */ + @ApiModelProperty(value = "上架时间,yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "上架时间,yyyy-MM-dd HH:mm:ss", width = 30, dateFormat = "yyyy-MM-dd") + private LocalDateTime shelfTime; + + /** + * 商品图片路径 + */ + @ApiModelProperty(value = "商品图片路径") + @Excel(name = "商品图片路径") + @NotBlank(message = "商品图片路径不能为空!", groups = {Insert.class, Update.class}) + private String goodsPictureUrl; + + /** + * 商品概述 + */ + @ApiModelProperty(value = "商品概述") + @Excel(name = "商品概述") + private String goodsRemark; + + /** + * 商品度量单位 + */ + @ApiModelProperty(value = "商品度量单位") + @Excel(name = "商品度量单位") + @NotBlank(message = "商品度量单位不能为空!", groups = {Insert.class, Update.class}) + private String goodsUnit; + + /** + * 商品用途,买卖:BUSINESS,租赁:LEASE + */ + @ApiModelProperty(value = "商品用途,买卖:BUSINESS,租赁:LEASE") + @Excel(name = "商品用途,买卖:BUSINESS,租赁:LEASE") + @NotBlank(message = "商品用途不能为空!", groups = {Insert.class, Update.class}) + private String goodsPurpose; + + /** + * 显示顺序 + */ + @ApiModelProperty(value = "显示顺序") + @Excel(name = "显示顺序") + @NotNull(message = "商品显示顺序不能为空!", groups = {Insert.class, Update.class}) + private Integer sort; + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("storeInfoId", getStoreInfoId()) + .append("nurseStationId", getNurseStationId()) + .append("goodsCategoryId", getGoodsCategoryId()) + .append("goodsName", getGoodsName()) + .append("goodsCode", getGoodsCode()) + .append("whetherShelf", getWhetherShelf()) + .append("shelfTime", getShelfTime()) + .append("goodsPictureUrl", getGoodsPictureUrl()) + .append("goodsRemark", getGoodsRemark()) + .append("goodsUnit", getGoodsUnit()) + .append("goodsPurpose", getGoodsPurpose()) + .append("sort", getSort()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/storeInfo/StoreInfo.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/storeInfo/StoreInfo.java new file mode 100644 index 0000000..46603c9 --- /dev/null +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/storeInfo/StoreInfo.java @@ -0,0 +1,146 @@ +package com.xinelu.manage.domain.storeInfo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.xinelu.common.annotation.Excel; +import com.xinelu.common.core.domain.BaseDomain; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 店铺信息对象 store_info + * + * @author xinyilu + * @date 2022-10-18 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "店铺信息对象", description = "store_info") +public class StoreInfo extends BaseDomain implements Serializable { + private static final long serialVersionUID = -4924160218005137736L; + /** + * 主键id + */ + private Long id; + + /** + * 所属护理站id + */ + @ApiModelProperty(value = "所属护理站id") + @Excel(name = "所属护理站id") + private Long nurseStationId; + + /** + * 店铺名称 + */ + @ApiModelProperty(value = "店铺名称") + @Excel(name = "店铺名称") + private String storeName; + + /** + * 店铺编号 + */ + @ApiModelProperty(value = "店铺编号") + @Excel(name = "店铺编号") + private String storeCode; + + /** + * 店铺地址 + */ + @ApiModelProperty(value = "店铺地址") + @Excel(name = "店铺地址") + private String storeAddress; + + /** + * 联系电话 + */ + @ApiModelProperty(value = "联系电话") + @Excel(name = "联系电话") + private String phone; + + /** + * 店铺背景图片地址 + */ + @ApiModelProperty(value = "店铺背景图片地址") + @Excel(name = "店铺背景图片地址") + private String storeLogoUrl; + + /** + * 店铺经营者,即所属人 + */ + @ApiModelProperty(value = "店铺经营者,即所属人") + @Excel(name = "店铺经营者,即所属人") + private String storeOperator; + + /** + * 店铺开业状态,待开业:NOT_OPENED,已开业:OPENED,已关闭:CLOSED + */ + @ApiModelProperty(value = "店铺开业状态,待开业:NOT_OPENED,已开业:OPENED,已关闭:CLOSED") + @Excel(name = "店铺开业状态,待开业:NOT_OPENED,已开业:OPENED,已关闭:CLOSED") + private String openingStatus; + + /** + * 开业时间,yyyy-MM-dd HH:mm:ss + */ + @ApiModelProperty(value = "开业时间,yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "开业时间,yyyy-MM-dd HH:mm:ss", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime openingTime; + + /** + * 营业开始时间,yyyy-MM-dd HH:mm:ss + */ + @ApiModelProperty(value = "营业开始时间,yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "营业开始时间,yyyy-MM-dd HH:mm:ss", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime occupationStartTime; + + /** + * 营业结束时间,yyyy-MM-dd HH:mm:ss + */ + @ApiModelProperty(value = "营业结束时间,yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "营业结束时间,yyyy-MM-dd HH:mm:ss", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime occupationEndTime; + + /** + * 店铺显示顺序 + */ + @ApiModelProperty(value = "店铺显示顺序") + @Excel(name = "店铺显示顺序") + private Integer sort; + + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("nurseStationId", getNurseStationId()) + .append("storeName", getStoreName()) + .append("storeCode", getStoreCode()) + .append("storeAddress", getStoreAddress()) + .append("phone", getPhone()) + .append("storeLogoUrl", getStoreLogoUrl()) + .append("storeOperator", getStoreOperator()) + .append("openingStatus", getOpeningStatus()) + .append("openingTime", getOpeningTime()) + .append("occupationStartTime", getOccupationStartTime()) + .append("occupationEndTime", getOccupationEndTime()) + .append("sort", getSort()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/dto/goodsInfo/GoodsAttributeDTO.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/dto/goodsInfo/GoodsAttributeDTO.java new file mode 100644 index 0000000..127de7c --- /dev/null +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/dto/goodsInfo/GoodsAttributeDTO.java @@ -0,0 +1,149 @@ +package com.xinelu.manage.dto.goodsInfo; + +import com.xinelu.common.annotation.Excel; +import com.xinelu.common.core.domain.BaseDomain; +import com.xinelu.common.custominterface.Insert; +import com.xinelu.common.custominterface.Update; +import com.xinelu.manage.domain.goodsAttributeDetails.GoodsAttributeDetails; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.hibernate.validator.constraints.Length; + +import javax.validation.Valid; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * @author ljh + * @version 1.0 + * Create by 2022/10/21 9:19 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class GoodsAttributeDTO extends BaseDomain implements Serializable { + private static final long serialVersionUID = -188353299573627882L; + /** + * 商品id + */ + @ApiModelProperty(value = "商品id") + @Excel(name = "商品id") + private Long goodsId; + + /** + * 商品id + */ + @ApiModelProperty(value = "商品id") + @Excel(name = "商品id") + private Long id; + + /** + * 商品属性名称 + */ + @ApiModelProperty(value = "商品属性名称") + @Excel(name = "商品属性名称") + @NotBlank(message = "商品属性名称不能为空", groups = {Insert.class, Update.class}) + @Length(max = 50, message = "商品属性名称不能超过50位", groups = {Insert.class, Update.class}) + private String attributeName; + + /** + * 商品属性编码 + */ + @ApiModelProperty(value = "商品属性编码") + @Excel(name = "商品属性编码") + private String attributeCode; + + /** + * 商品属性概述 + */ + @ApiModelProperty(value = "商品属性概述") + @Excel(name = "商品属性概述") + private String attributeRemark; + + /** + * 显示顺序 + */ + @ApiModelProperty(value = "显示顺序") + @Excel(name = "显示顺序") + @NotNull(message = "商品属性顺序不能为空!", groups = {Insert.class, Update.class}) + private Integer attributeDetailsSort; + + /** + * 显示顺序 + */ + @ApiModelProperty(value = "显示顺序") + @Excel(name = "显示顺序") + private Integer sort; + + /** + * 批量新增商品属性明细 + */ + @Valid + private List goodAttributeDetailsLists; + + /** + * 主键id + */ + private Long goodAttributeDetailsId; + + /** + * 主键id + */ + private Long attributeDetailsId; + + /** + * 商品属性id + */ + private Long goodsAttributeId; + + /** + * 商品属性明细名称 + */ + private String attributeDetailsName; + + /** + * 库存数量 + */ + @NotNull(message = "库存数量不能为空", groups = {Insert.class, Update.class}) + private Integer goodsStock; + + /** + * 商品单价,保留到小数点后两位 + */ + @NotNull(message = "商品单价不能为空", groups = {Insert.class, Update.class}) + private BigDecimal goodsPrice; + + /** + * 商品属性图片地址 + */ + @NotBlank(message = "商品属性图片地址不能为空", groups = {Insert.class, Update.class}) + private String attributePitureUrl; + + /** + * 商品图片地址 + */ + private String goodsPictureUrl; + + /** + * 商品概述 + */ + private String goodsRemark; + + /** + * 积分兑换标识,0:否,1:是 + */ + private Integer integralExchangeFlag; + + /** + * 积分兑换门槛值 + */ + private Integer integralExchangeSill; + + /** + * 积分兑换商品数量 + */ + private Integer integralExchangeCount; +} diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/dto/goodsInfo/GoodsInfoDTO.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/dto/goodsInfo/GoodsInfoDTO.java new file mode 100644 index 0000000..aa54282 --- /dev/null +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/dto/goodsInfo/GoodsInfoDTO.java @@ -0,0 +1,26 @@ +package com.xinelu.manage.dto.goodsInfo; + +import com.xinelu.manage.domain.goodsInfo.GoodsInfo; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.Valid; +import java.io.Serializable; +import java.util.List; + +/** + * @author ljh + * @version 1.0 + * Create by 2022/10/20 14:59 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class GoodsInfoDTO extends GoodsInfo implements Serializable { + private static final long serialVersionUID = 7361219514871900274L; + + /** + * 批量新增商品属性 + */ + @Valid + private List goodDetailsLists; +} diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/mapper/goodsAttribute/GoodsAttributeMapper.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/mapper/goodsAttribute/GoodsAttributeMapper.java new file mode 100644 index 0000000..7c696b4 --- /dev/null +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/mapper/goodsAttribute/GoodsAttributeMapper.java @@ -0,0 +1,98 @@ +package com.xinelu.manage.mapper.goodsAttribute; + +import com.xinelu.manage.domain.goodsAttribute.GoodsAttribute; +import com.xinelu.manage.dto.goodsInfo.GoodsAttributeDTO; +import org.apache.ibatis.annotations.Param; +import java.util.List; + + +/** + * 商品属性Mapper接口 + * + * @author xinyilu + * @date 2022-10-17 + */ +public interface GoodsAttributeMapper { + /** + * 查询商品属性 + * + * @param id 商品属性主键 + * @return 商品属性 + */ + GoodsAttribute selectGoodsAttributeById(Long id); + + /** + * 查询商品属性列表 + * + * @param goodsAttribute 商品属性 + * @return 商品属性集合 + */ + List selectGoodsAttributeList(GoodsAttribute goodsAttribute); + + /** + * 新增商品属性 + * + * @param goodsAttribute 商品属性 + * @return 结果 + */ + int insertGoodsAttribute(GoodsAttribute goodsAttribute); + + /** + * 修改商品属性 + * + * @param goodsAttribute 商品属性 + * @return 结果 + */ + int updateGoodsAttribute(GoodsAttribute goodsAttribute); + + /** + * 删除商品属性 + * + * @param id 商品属性主键 + * @return 结果 + */ + int deleteGoodsAttributeById(Long id); + + /** + * 批量删除商品属性 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + int deleteGoodsAttributeByIds(Long[] ids); + + + /** + * 批量新增商品属性 + * + * @param goodDetailsLists 商品属性 + * @return int + **/ + int insertGoodsAttributeList(@Param("goodDetailsLists") List goodDetailsLists); + + /** + * 新增商品属性 + * + * @param goodsAttribute 商品属性 + * @return 结果 + */ + int insertGoodsAttributes(GoodsAttributeDTO goodsAttribute); + + + /** + * 修改商品属性 + * + * @param goodsAttribute 商品属性 + * @return 结果 + */ + int updateGoodsAttributes(GoodsAttributeDTO goodsAttribute); + + /** + * 查询商品属性列表 + * + * @param goodsId 商品id + * @return 商品属性集合 + */ + Long[] selectGoodsAttributeByIdList(Long[] goodsId); + +} diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/mapper/goodsAttributeDetails/GoodsAttributeDetailsMapper.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/mapper/goodsAttributeDetails/GoodsAttributeDetailsMapper.java new file mode 100644 index 0000000..4a41107 --- /dev/null +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/mapper/goodsAttributeDetails/GoodsAttributeDetailsMapper.java @@ -0,0 +1,115 @@ +package com.xinelu.manage.mapper.goodsAttributeDetails; + +import com.xinelu.manage.domain.goodsAttributeDetails.GoodsAttributeDetails; +import com.xinelu.manage.dto.goodsInfo.GoodsAttributeDTO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 商品属性明细Mapper接口 + * + * @author xinyilu + * @date 2022-10-17 + */ +public interface GoodsAttributeDetailsMapper { + /** + * 查询商品属性明细 + * + * @param id 商品属性明细主键 + * @return 商品属性明细 + */ + GoodsAttributeDetails selectGoodsAttributeDetailsById(Long id); + + /** + * 查询商品属性明细列表 + * + * @param goodsAttributeDetails 商品属性明细 + * @return 商品属性明细集合 + */ + List selectGoodsAttributeDetailsList(GoodsAttributeDetails goodsAttributeDetails); + + /** + * 新增商品属性明细 + * + * @param goodsAttributeDetails 商品属性明细 + * @return 结果 + */ + int insertGoodsAttributeDetails(GoodsAttributeDetails goodsAttributeDetails); + + /** + * 修改商品属性明细 + * + * @param goodsAttributeDetails 商品属性明细 + * @return 结果 + */ + int updateGoodsAttributeDetails(GoodsAttributeDetails goodsAttributeDetails); + + /** + * 删除商品属性明细 + * + * @param id 商品属性明细主键 + * @return 结果 + */ + int deleteGoodsAttributeDetailsById(Long id); + + /** + * 批量删除商品属性明细 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + int deleteGoodsAttributeDetailsByIds(Long[] ids); + + + /** + * 批量新增商品属性明细 + * + * @param goodAttributeDetailsLists 新增商品属性明细 + * @return int + **/ + int insertGoodsAttributeDetailsList(@Param("goodAttributeDetailsLists") List goodAttributeDetailsLists); + + /** + * 查询商品属性明细列表 + * + * @param goodsAttributeId 商品属性明细 + * @return 商品属性明细集合 + */ + Long[] selectGoodsAttributeDetailsByIdList(Long goodsAttributeId); + + /** + * 新增商品属性明细 + * + * @param goodsAttributeDetails 商品属性明细 + * @return 结果 + */ + int addGoodsAttributeDetails(GoodsAttributeDTO goodsAttributeDetails); + + /** + * 修改商品属性明细 + * + * @param goodsAttributeDetails 商品属性明细 + * @return 结果 + */ + int updateGoodsAttributeDetailss(GoodsAttributeDTO goodsAttributeDetails); + + + /** + * 增加库存数量 + * + * @param id 主键id + * @param goodsCount 库存数量 + * @return 影响数量 + */ + int addGoodsStockCount(@Param("id") Long id, @Param("goodsCount") Integer goodsCount); + + /** + * 减少库存数量 + * + * @param id 主键id + * @param goodsCount 库存数量 + * @return 影响数量 + */ + int reduceGoodsStockCount(@Param("id") Long id, @Param("goodsCount") Integer goodsCount); +} diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/mapper/goodsAttributeDetails/GoodsAttributeDetailsMapper.xml b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/mapper/goodsAttributeDetails/GoodsAttributeDetailsMapper.xml new file mode 100644 index 0000000..1db0132 --- /dev/null +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/mapper/goodsAttributeDetails/GoodsAttributeDetailsMapper.xml @@ -0,0 +1,354 @@ + + + + + + + + + + + + + + + + + + + + + + + select id, + goods_attribute_id, + attribute_details_name, + goods_stock, + goods_price, + attribute_piture_url, + sort, + create_by, + create_time, + update_by, + update_time, + integral_exchange_flag, + integral_exchange_sill, + integral_exchange_count + from goods_attribute_details + + + + + + + + insert into goods_attribute_details + + goods_attribute_id, + + attribute_details_name, + + goods_stock, + + goods_price, + + attribute_piture_url, + + sort, + + create_by, + + create_time, + + update_by, + + update_time, + + integral_exchange_flag, + + integral_exchange_sill, + + integral_exchange_count, + + + + #{goodsAttributeId}, + + #{attributeDetailsName}, + + #{goodsStock}, + + #{goodsPrice}, + + #{attributePitureUrl}, + + #{sort}, + + #{createBy}, + + #{createTime}, + + #{updateBy}, + + #{updateTime}, + + #{integralExchangeFlag}, + + #{integralExchangeSill}, + + #{integralExchangeCount}, + + + + + + update goods_attribute_details + + goods_attribute_id = + #{goodsAttributeId}, + + attribute_details_name = + #{attributeDetailsName}, + + goods_stock = + #{goodsStock}, + + goods_price = + #{goodsPrice}, + + attribute_piture_url = + #{attributePitureUrl}, + + sort = + #{sort}, + + create_by = + #{createBy}, + + create_time = + #{createTime}, + + update_by = + #{updateBy}, + + update_time = + #{updateTime}, + + integral_exchange_flag = + #{integralExchangeFlag}, + + integral_exchange_sill = + #{integralExchangeSill}, + + integral_exchange_count = + #{integralExchangeCount}, + + + where id = #{id} + + + + delete + from goods_attribute_details + where id = #{id} + + + + delete from goods_attribute_details where id in + + #{id} + + + + + + insert into goods_attribute_details( + goods_attribute_id, + attribute_details_name, + goods_stock, + goods_price, + attribute_piture_url, + sort, + create_by, + create_time, + update_by, + update_time + ) values + + ( + #{goodAttributeDetailsLists.goodsAttributeId}, + #{goodAttributeDetailsLists.attributeDetailsName}, + #{goodAttributeDetailsLists.goodsStock}, + #{goodAttributeDetailsLists.goodsPrice}, + #{goodAttributeDetailsLists.attributePitureUrl}, + #{goodAttributeDetailsLists.sort}, + #{goodAttributeDetailsLists.createBy}, + #{goodAttributeDetailsLists.createTime}, + #{goodAttributeDetailsLists.updateBy}, + #{goodAttributeDetailsLists.updateTime} + ) + + + + + + + + + insert into goods_attribute_details + + goods_attribute_id, + + attribute_details_name, + + goods_stock, + + goods_price, + + attribute_piture_url, + + sort, + + create_by, + + create_time, + + update_by, + + update_time, + + integral_exchange_flag, + + integral_exchange_sill, + + integral_exchange_count, + + + + #{goodsAttributeId}, + + #{attributeDetailsName}, + + #{goodsStock}, + + #{goodsPrice}, + + #{attributePitureUrl}, + + #{attributeDetailsSort}, + + #{createBy}, + + #{createTime}, + + #{updateBy}, + + #{updateTime}, + + #{integralExchangeFlag}, + + #{integralExchangeSill}, + + #{integralExchangeCount}, + + + + + + update goods_attribute_details + + goods_attribute_id = + #{goodsAttributeId}, + + attribute_details_name = + #{attributeDetailsName}, + + goods_stock = + #{goodsStock}, + + goods_price = + #{goodsPrice}, + + attribute_piture_url = + #{attributePitureUrl}, + + sort = + #{attributeDetailsSort}, + + create_by = + #{createBy}, + + create_time = + #{createTime}, + + update_by = + #{updateBy}, + + update_time = + #{updateTime}, + + integral_exchange_flag = #{integralExchangeFlag}, + integral_exchange_sill = #{integralExchangeSill}, + integral_exchange_count = #{integralExchangeCount} + + where id = #{attributeDetailsId} + + + + update goods_attribute_details set goods_stock = goods_stock + #{goodsCount}, update_time = now() where id = #{id} + + + + update goods_attribute_details set goods_stock = goods_stock - #{goodsCount}, update_time = now() where id = #{id} and goods_stock > 0 + + diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/mapper/goodsInfo/GoodsInfoMapper.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/mapper/goodsInfo/GoodsInfoMapper.java new file mode 100644 index 0000000..75cd8e9 --- /dev/null +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/mapper/goodsInfo/GoodsInfoMapper.java @@ -0,0 +1,139 @@ +package com.xinelu.manage.mapper.goodsInfo; + +import com.xinelu.manage.domain.goodsInfo.GoodsInfo; +import com.xinelu.manage.domain.nursestation.NurseStation; +import com.xinelu.manage.domain.storeInfo.StoreInfo; +import com.xinelu.manage.dto.goodsInfo.GoodsAttributeDTO; +import com.xinelu.manage.vo.goodsInfo.GetGoodDetails; +import com.xinelu.manage.vo.goodsInfo.GoodsInfoVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 商品基本信息Mapper接口 + * + * @author xinyilu + * @date 2022-10-17 + */ +public interface GoodsInfoMapper { + /** + * 查询商品基本信息 + * + * @param id 商品基本信息主键 + * @return 商品基本信息 + */ + GoodsInfo selectGoodsInfoById(Long id); + + /** + * 查询商品基本信息列表 + * + * @param goodsInfo 商品基本信息 + * @return 商品基本信息集合 + */ + List selectGoodsInfoList(GoodsInfo goodsInfo); + + /** + * 新增商品基本信息 + * + * @param goodsInfo 商品基本信息 + * @return 结果 + */ + int insertGoodsInfo(GoodsInfo goodsInfo); + + /** + * 修改商品基本信息 + * + * @param goodsInfo 商品基本信息 + * @return 结果 + */ + int updateGoodsInfo(GoodsInfo goodsInfo); + + /** + * 删除商品基本信息 + * + * @param id 商品基本信息主键 + * @return 结果 + */ + int deleteGoodsInfoById(Long id); + + /** + * 批量删除商品基本信息 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + int deleteGoodsInfoByIds(Long[] ids); + + /** + * 查询商品基本信息 + * + * @param goodsInfoVO 商品基本信息 + * @return java.util.List + **/ + List getGoodsInfoList(GoodsInfoVO goodsInfoVO); + + /** + * 商品属性信息 + * + * @param goodsInfoId 商品详细id + * @return java.util.List + **/ + GetGoodDetails getGoodsDetailsList(Long goodsInfoId); + + /** + * 修改商品上架状态基本信息 + * + * @param goodsInfo 商品基本信息 + * @return 结果 + */ + int updateGoodsWhetherShelf(GoodsInfo goodsInfo); + + /** + * 查询店铺信息 + * + * @param nurseStationId 店铺信息主键 + * @return 店铺信息 + */ + StoreInfo getStoreInfoById(Long nurseStationId); + + /** + * 新增店铺信息 + * + * @param storeInfo 店铺信息 + * @return 结果 + */ + int insertStoreInfo(StoreInfo storeInfo); + + /** + * 查询护理站信息 + * + * @param id 护理站信息主键 + * @return 护理站信息 + */ + NurseStation getNurseStationById(Long id); + + /** + * 查询商品基本信息id + * + * @param id 商品基本信息id + * @return java.util.List + **/ + List getGoodsByIdList(Long id); + + /** + * 查询商品基本信息id + * + * @param goodsInfoIdList 商品基本信息id + * @return java.util.List + **/ + List getGoodsByIdLists(@Param("goodsInfoIdList") List goodsInfoIdList); + + /** + * 查询店铺信息 + * + * @param storeName 店铺名称 + * @return 店铺信息 + */ + StoreInfo getStoreInfoByName(@Param("storeName") String storeName); +} diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/vo/goodsInfo/GetGoodAttributeDetailsList.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/vo/goodsInfo/GetGoodAttributeDetailsList.java new file mode 100644 index 0000000..0b3ce0b --- /dev/null +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/vo/goodsInfo/GetGoodAttributeDetailsList.java @@ -0,0 +1,71 @@ +package com.xinelu.manage.vo.goodsInfo; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @author ljh + * @version 1.0 + * Create by 2022/10/19 10:08 + */ +@Data +public class GetGoodAttributeDetailsList implements Serializable { + private static final long serialVersionUID = 1235925767957012159L; + + /** + * 商品属性明细表id + **/ + public Long attributeDetailsId; + + /** + * 商品属性明细名称 + */ + private String attributeDetailsName; + + /** + * 商品属性图片地址 + */ + private String attributePitureUrl; + + /** + * 商品单价,保留到小数点后两位 + */ + private BigDecimal goodsPrice; + + /** + * 商品库存 + */ + private Long goodsStock; + + /** + * 商品排序 + */ + private Integer attributeDetailsSort; + + /** + * 商品属性id + */ + private Long goodsAttributeId; + + /** + * 商品属性名称 + */ + private String attributeName; + + /** + * 积分兑换标识,0:否,1:是 + */ + private Integer integralExchangeFlag; + + /** + * 积分兑换门槛值 + */ + private Integer integralExchangeSill; + + /** + * 积分兑换商品数量 + */ + private Integer integralExchangeCount; +} diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/vo/goodsInfo/GetGoodDetails.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/vo/goodsInfo/GetGoodDetails.java new file mode 100644 index 0000000..2de0791 --- /dev/null +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/vo/goodsInfo/GetGoodDetails.java @@ -0,0 +1,87 @@ +package com.xinelu.manage.vo.goodsInfo; + +import com.xinelu.common.core.domain.BaseDomain; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.List; + +/** + * @author ljh + * @version 1.0 + * Create by 2022/10/17 15:58 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class GetGoodDetails extends BaseDomain implements Serializable { + private static final long serialVersionUID = 8087476368916081295L; + + /** + * 商品id + */ + private Long goodsInfoId; + /** + * 商品分类id + */ + private Long goodsCategoryId; + + /** + * 商品分类名称 + */ + private String goodsCategoryName; + + /** + * 商品名称 + */ + private String goodsName; + + + /** + * 商品图片路径 + */ + private String goodsPictureUrl; + + + /** + * 商品度量单位 + */ + private String goodsUnit; + + /** + * 显示顺序 + */ + private Integer sort; + + /** + * 商品概述 + */ + private String goodsRemark; + + /** + * 商品用途 + */ + private String goodsPurpose; + + /** + * 护理站id + */ + private Long nurseStationId; + + /** + * 店铺表id + */ + private Long storeInfoId; + + + /** + * 商品信息属性 + */ + List goodDetailsLists; + + /** + * 商品信息属性 + */ + List goodAttributeDetailsLists; + +} diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/vo/goodsInfo/GetGoodDetailsList.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/vo/goodsInfo/GetGoodDetailsList.java new file mode 100644 index 0000000..a01ba1c --- /dev/null +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/vo/goodsInfo/GetGoodDetailsList.java @@ -0,0 +1,38 @@ +package com.xinelu.manage.vo.goodsInfo; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author ljh + * @version 1.0 + * Create by 2022/10/17 16:15 + */ +@Data +public class GetGoodDetailsList implements Serializable { + private static final long serialVersionUID = 6468704416946946009L; + + /** + * 商品属性id + */ + private Long goodsAttributeId; + + + /** + * 商品属性名称 + */ + private String attributeName; + + /** + * 商品属性概述 + */ + private String attributeRemark; + + /** + * 显示顺序 + */ + private Integer goodsAttributeSort; + + +} diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/vo/goodsInfo/GoodsInfoVO.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/vo/goodsInfo/GoodsInfoVO.java new file mode 100644 index 0000000..3fde3c7 --- /dev/null +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/vo/goodsInfo/GoodsInfoVO.java @@ -0,0 +1,40 @@ +package com.xinelu.manage.vo.goodsInfo; + +import com.xinelu.common.annotation.Excel; +import com.xinelu.manage.domain.goodsInfo.GoodsInfo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * @author ljh + * @version 1.0 + * Create by 2022/10/20 14:29 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class GoodsInfoVO extends GoodsInfo implements Serializable { + private static final long serialVersionUID = 4834341804811917899L; + + /** + * 主键id + */ + private Long goodsInfoId; + + /** + * 护理站名称 + */ + @ApiModelProperty(value = "护理站名称") + @Excel(name = "护理站名称") + private String nurseStationName; + + /** + * 商品分类名称 + */ + @ApiModelProperty(value = "商品分类名称") + @Excel(name = "商品分类名称") + private String goodsCategoryName; + +} diff --git a/xinelu-nurse-manage/src/main/resources/mapper/manage/goodsAttribute/GoodsAttributeMapper.xml b/xinelu-nurse-manage/src/main/resources/mapper/manage/goodsAttribute/GoodsAttributeMapper.xml new file mode 100644 index 0000000..5a9ea28 --- /dev/null +++ b/xinelu-nurse-manage/src/main/resources/mapper/manage/goodsAttribute/GoodsAttributeMapper.xml @@ -0,0 +1,273 @@ + + + + + + + + + + + + + + + + + + + select id, + goods_id, + attribute_name, + attribute_code, + attribute_remark, + sort, + create_by, + create_time, + update_by, + update_time + from goods_attribute + + + + + + + + insert into goods_attribute + + goods_id, + + attribute_name, + + attribute_code, + + attribute_remark, + + sort, + + create_by, + + create_time, + + update_by, + + update_time, + + + + #{goodsId}, + + #{attributeName}, + + #{attributeCode}, + + #{attributeRemark}, + + #{sort}, + + #{createBy}, + + #{createTime}, + + #{updateBy}, + + #{updateTime}, + + + + + + update goods_attribute + + goods_id = + #{goodsId}, + + attribute_name = + #{attributeName}, + + attribute_code = + #{attributeCode}, + + attribute_remark = + #{attributeRemark}, + + sort = + #{sort}, + + create_by = + #{createBy}, + + create_time = + #{createTime}, + + update_by = + #{updateBy}, + + update_time = + #{updateTime}, + + + where id = #{id} + + + + delete + from goods_attribute + where id = #{id} + + + + delete from goods_attribute where id in + + #{id} + + + + + + insert into goods_attribute( + goods_id, + attribute_name, + attribute_code, + attribute_remark, + sort, + create_by, + create_time, + update_by, + update_time + ) values + + ( + #{goodDetailsLists.goodsId}, + #{goodDetailsLists.attributeName}, + #{goodDetailsLists.attributeCode}, + #{goodDetailsLists.attributeRemark}, + #{goodDetailsLists.sort}, + #{goodDetailsLists.createBy}, + #{goodDetailsLists.createTime}, + #{goodDetailsLists.updateBy}, + #{goodDetailsLists.updateTime} + ) + + + + + + insert into goods_attribute + + goods_id, + + attribute_name, + + attribute_code, + + attribute_remark, + + sort, + + create_by, + + create_time, + + update_by, + + update_time, + + + + #{goodsId}, + + #{attributeName}, + + #{attributeCode}, + + #{attributeRemark}, + + #{attributeDetailsSort}, + + #{createBy}, + + #{createTime}, + + #{updateBy}, + + #{updateTime}, + + + + + + update goods_attribute + + goods_id = + #{goodsId}, + + attribute_name = + #{attributeName}, + + attribute_code = + #{attributeCode}, + + attribute_remark = + #{attributeRemark}, + + sort = + #{attributeDetailsSort}, + + create_by = + #{createBy}, + + create_time = + #{createTime}, + + update_by = + #{updateBy}, + + update_time = + #{updateTime}, + + + where id = #{goodsAttributeId} + + + + + + diff --git a/xinelu-nurse-manage/src/main/resources/mapper/manage/goodsInfo/GoodsInfoMapper.xml b/xinelu-nurse-manage/src/main/resources/mapper/manage/goodsInfo/GoodsInfoMapper.xml new file mode 100644 index 0000000..c40aaae --- /dev/null +++ b/xinelu-nurse-manage/src/main/resources/mapper/manage/goodsInfo/GoodsInfoMapper.xml @@ -0,0 +1,595 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, + store_info_id, + nurse_station_id, + goods_category_id, + goods_name, + goods_code, + whether_shelf, + shelf_time, + goods_picture_url, + goods_remark, + goods_unit, + goods_purpose, + sort, + create_by, + create_time, + update_by, + update_time + from goods_info + + + + + + + + insert into goods_info + + store_info_id, + + nurse_station_id, + + goods_category_id, + + goods_name, + + goods_code, + + whether_shelf, + + shelf_time, + + goods_picture_url, + + goods_remark, + + goods_unit, + + goods_purpose, + + sort, + + create_by, + + create_time, + + update_by, + + update_time, + + + + #{storeInfoId}, + + #{nurseStationId}, + + #{goodsCategoryId}, + + #{goodsName}, + + #{goodsCode}, + + #{whetherShelf}, + + #{shelfTime}, + + #{goodsPictureUrl}, + + #{goodsRemark}, + + #{goodsUnit}, + + #{goodsPurpose}, + + #{sort}, + + #{createBy}, + + #{createTime}, + + #{updateBy}, + + #{updateTime}, + + + + + + update goods_info + + store_info_id = + #{storeInfoId}, + + nurse_station_id = + #{nurseStationId}, + + goods_category_id = + #{goodsCategoryId}, + + goods_name = + #{goodsName}, + + goods_code = + #{goodsCode}, + + whether_shelf = + #{whetherShelf}, + + shelf_time = + #{shelfTime}, + + goods_picture_url = + #{goodsPictureUrl}, + + goods_remark = + #{goodsRemark}, + + goods_unit = + #{goodsUnit}, + + goods_purpose = + #{goodsPurpose}, + + sort = + #{sort}, + + create_by = + #{createBy}, + + create_time = + #{createTime}, + + update_by = + #{updateBy}, + + update_time = + #{updateTime}, + + + where id = #{id} + + + + delete + from goods_info + where id = #{id} + + + + delete from goods_info where id in + + #{id} + + + + + + + + + + + update goods_info + + store_info_id = + #{storeInfoId}, + + nurse_station_id = + #{nurseStationId}, + + goods_category_id = + #{goodsCategoryId}, + + goods_name = + #{goodsName}, + + goods_code = + #{goodsCode}, + + whether_shelf = + #{whetherShelf}, + + shelf_time = + #{shelfTime}, + + goods_picture_url = + #{goodsPictureUrl}, + + goods_remark = + #{goodsRemark}, + + goods_unit = + #{goodsUnit}, + + goods_purpose = + #{goodsPurpose}, + + sort = + #{sort}, + + create_by = + #{createBy}, + + create_time = + #{createTime}, + + update_by = + #{updateBy}, + + update_time = + #{updateTime}, + + + where id = #{id} + + + + + + insert into store_info + + nurse_station_id, + + store_name, + + store_code, + + store_address, + + phone, + + store_logo_url, + + store_operator, + + opening_status, + + opening_time, + + occupation_start_time, + + occupation_end_time, + + sort, + + create_by, + + create_time, + + update_by, + + update_time, + + + + #{nurseStationId}, + + #{storeName}, + + #{storeCode}, + + #{storeAddress}, + + #{phone}, + + #{storeLogoUrl}, + + #{storeOperator}, + + #{openingStatus}, + + #{openingTime}, + + #{occupationStartTime}, + + #{occupationEndTime}, + + #{sort}, + + #{createBy}, + + #{createTime}, + + #{updateBy}, + + #{updateTime}, + + + + + + + + + + + + + +