Commit 64a273d0 authored by shiyu's avatar shiyu

盲盒

parent 326120bb
...@@ -43,7 +43,17 @@ ...@@ -43,7 +43,17 @@
<artifactId>qcloudsms</artifactId> <artifactId>qcloudsms</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>com.qcloud</groupId> <groupId>com.qcloud</groupId>
<artifactId>cos_api</artifactId> <artifactId>cos_api</artifactId>
<exclusions> <exclusions>
......
...@@ -58,6 +58,7 @@ public class DistributionEnum { ...@@ -58,6 +58,7 @@ public class DistributionEnum {
AUCTION_PERFORMANCE(5, "竞拍专场"), AUCTION_PERFORMANCE(5, "竞拍专场"),
GROUP_PURCHASE(6, "团购"), GROUP_PURCHASE(6, "团购"),
EXCHANGE(7, "交换"), EXCHANGE(7, "交换"),
BLACK(8, "盲盒"),
; ;
private int code; private int code;
......
...@@ -64,6 +64,8 @@ public enum ResultCode { ...@@ -64,6 +64,8 @@ public enum ResultCode {
NOT_CONFIRM_PRICE_FOR_SEND(30005, "请先确认是否满意货品的初步估价"), NOT_CONFIRM_PRICE_FOR_SEND(30005, "请先确认是否满意货品的初步估价"),
PAY_FAILED(30010, "支付失败"), PAY_FAILED(30010, "支付失败"),
ITEM_UPLOADED(41000, "商品已经上架过"),
; ;
int code; int code;
......
package com.wwdz.ch.core.util;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import sun.misc.BASE64Encoder;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.swing.filechooser.FileSystemView;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
public class QRCodeUtil {
private static final Logger logger = LoggerFactory.getLogger(QRCodeUtil.class);
//CODE_WIDTH:二维码宽度,单位像素
private static final int CODE_WIDTH = 400;
//CODE_HEIGHT:二维码高度,单位像素
private static final int CODE_HEIGHT = 400;
//FRONT_COLOR:二维码前景色,0x000000 表示黑色
private static final int FRONT_COLOR = 0x000000;
//BACKGROUND_COLOR:二维码背景色,0xFFFFFF 表示白色
//演示用 16 进制表示,和前端页面 CSS 的取色是一样的,注意前后景颜色应该对比明显,如常见的黑白
private static final int BACKGROUND_COLOR = 0xFFFFFF;
// 中间图片的路径
private static final String imagePath = "resources/images/**.png";
public static void createCodeToFile(String content, File codeImgFileSaveDir, String fileName) {
try {
if (StringUtils.isBlank(content) || StringUtils.isBlank(fileName)) {
return;
}
content = content.trim();
if (codeImgFileSaveDir==null || codeImgFileSaveDir.isFile()) {
//二维码图片存在目录为空,默认放在桌面...
codeImgFileSaveDir = FileSystemView.getFileSystemView().getHomeDirectory();
}
if (!codeImgFileSaveDir.exists()) {
//二维码图片存在目录不存在,开始创建...
codeImgFileSaveDir.mkdirs();
}
//核心代码-生成二维码
BufferedImage bufferedImage = getBufferedImage(content);
File codeImgFile = new File(codeImgFileSaveDir, fileName);
ImageIO.write(bufferedImage, "png", codeImgFile);
logger.info("二维码图片生成成功:" + codeImgFile.getPath());
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 生成二维码并输出到输出流, 通常用于输出到网页上进行显示,输出到网页与输出到磁盘上的文件中,区别在于最后一句 ImageIO.write
* write(RenderedImage im,String formatName,File output):写到文件中
* write(RenderedImage im,String formatName,OutputStream output):输出到输出流中
* @param content :二维码内容
* @param outputStream :输出流,比如 HttpServletResponse 的 getOutputStream
*/
public static void createCodeToBase64(String content, OutputStream outputStream) {
try {
if (StringUtils.isBlank(content)) {
return;
}
content = content.trim();
//核心代码-生成二维码
BufferedImage bufferedImage = getBufferedImage(content);
//区别就是这一句,输出到输出流中,如果第三个参数是 File,则输出到文件中
ImageIO.write(bufferedImage, "png", outputStream);
logger.info("二维码图片生成到输出流成功...");
} catch (Exception e) {
e.printStackTrace();
}
}
//这里是发到前端一个base64的字符串,
//前端 this.base64Data = "data:img/jpg;base64," + get_to_url.data.fxORCode 这样接受即可
public static String createCodeToBase64(String content) {
String encode = null;
try {
if (StringUtils.isBlank(content)) {
return null;
}
content = content.trim();
//核心代码-生成二维码
BufferedImage bufferedImage = getBufferedImage(content);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
//区别就是这一句,输出到输出流中,如果第三个参数是 File,则输出到文件中
ImageIO.write(bufferedImage, "png", byteArrayOutputStream);
BASE64Encoder base64Encoder = new BASE64Encoder();
encode = base64Encoder.encode(byteArrayOutputStream.toByteArray());
logger.info("二维码图片生成到输出流成功.");
} catch (Exception e) {
e.printStackTrace();
}
return encode;
}
//核心代码-生成二维码
public static BufferedImage getBufferedImage(String content) throws WriterException {
//com.google.zxing.EncodeHintType:编码提示类型,枚举类型
Map<EncodeHintType, Object> hints = new HashMap();
//EncodeHintType.CHARACTER_SET:设置字符编码类型
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
//EncodeHintType.ERROR_CORRECTION:设置误差校正
//ErrorCorrectionLevel:误差校正等级,L = ~7% correction、M = ~15% correction、Q = ~25% correction、H = ~30% correction
//不设置时,默认为 L 等级,等级不一样,生成的图案不同,但扫描的结果是一样的
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
//EncodeHintType.MARGIN:设置二维码边距,单位像素,值越小,二维码距离四周越近
hints.put(EncodeHintType.MARGIN, 1);
MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
BitMatrix bitMatrix = multiFormatWriter.encode(content, BarcodeFormat.QR_CODE, CODE_WIDTH, CODE_HEIGHT, hints);
BufferedImage bufferedImage = new BufferedImage(CODE_WIDTH, CODE_HEIGHT, BufferedImage.TYPE_INT_BGR);
for (int x = 0; x < CODE_WIDTH; x++) {
for (int y = 0; y < CODE_HEIGHT; y++) {
bufferedImage.setRGB(x, y, bitMatrix.get(x, y) ? FRONT_COLOR : BACKGROUND_COLOR);
}
}
//QRImgCenter(bufferedImage);//如果需要添加中间小图标,这里放开即可
return bufferedImage;
}
//创建中间图片
private static BufferedImage QRImgCenter(BufferedImage bufferedImage) throws IOException {
ServletRequestAttributes attr = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attr.getRequest();
// 得到一个Graphics2D对象,并将其设置为输出图像
Graphics2D graphics2D = bufferedImage.createGraphics();
graphics2D.drawImage(bufferedImage, 0, 0, null);
// 设置中间图片
BufferedImage watermarkImage = ImageIO.read(new File(request.getServletContext().getRealPath("/") + imagePath));
int watermarkWidth = watermarkImage.getWidth();
int watermarkHeight = watermarkImage.getHeight();
int x = (bufferedImage.getWidth() - watermarkWidth) / 2;
int y = (bufferedImage.getHeight() - watermarkHeight) / 2;
graphics2D.drawImage(watermarkImage, x, y, null);
graphics2D.drawString("", x, y);
return bufferedImage;
}
}
package com.wwdz.ch.db.dao;
import com.wwdz.ch.db.domain.ItemTagOperateRecord;
import com.wwdz.ch.db.dto.request.ItemTagOperateRecordRequestDto;
import java.util.List;
public interface ItemTagOperateRecordDao {
/**
* 保存制作标签的记录
* @param itemTagOperateRecord
* @return
*/
int insert(ItemTagOperateRecord itemTagOperateRecord);
/**
* 查询制作记录
* @param dto
* @return
*/
List<ItemTagOperateRecord> findByPage(ItemTagOperateRecordRequestDto dto);
}
package com.wwdz.ch.db.domain;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import com.xxdxxs.entity.Entity;
import lombok.Data;
/**
* @author shiyu
* @date 2024/10/16
*/
@Data
public class ItemTagOperateRecord implements Entity {
private Long id;
/**
* 商品id
*/
private Long itemId;
/**
* 类目id
*/
private Integer categoryId;
/**
* 类目名称
*/
private String categoryName;
/**
* 创建时间
*/
private Date createTime;
/**
* 操作人id
*/
private Long operatorId;
/**
* 图片
*/
private String images;
private static final long serialVersionUID = 1L;
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", itemId=").append(itemId);
sb.append(", categoryId=").append(categoryId);
sb.append(", categoryName=").append(categoryName);
sb.append(", createTime=").append(createTime);
sb.append(", operatorId=").append(operatorId);
sb.append(", images=").append(images);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
}
@Override
public boolean equals(Object that) {
if (this == that) {
return true;
}
if (that == null) {
return false;
}
if (getClass() != that.getClass()) {
return false;
}
ItemTagOperateRecord other = (ItemTagOperateRecord) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getItemId() == null ? other.getItemId() == null : this.getItemId().equals(other.getItemId()))
&& (this.getCategoryId() == null ? other.getCategoryId() == null : this.getCategoryId().equals(other.getCategoryId()))
&& (this.getCategoryName() == null ? other.getCategoryName() == null : this.getCategoryName().equals(other.getCategoryName()))
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
&& (this.getOperatorId() == null ? other.getOperatorId() == null : this.getOperatorId().equals(other.getOperatorId()))
&& (this.getImages() == null ? other.getImages() == null : this.getImages().equals(other.getImages()));
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
result = prime * result + ((getItemId() == null) ? 0 : getItemId().hashCode());
result = prime * result + ((getCategoryId() == null) ? 0 : getCategoryId().hashCode());
result = prime * result + ((getCategoryName() == null) ? 0 : getCategoryName().hashCode());
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
result = prime * result + ((getOperatorId() == null) ? 0 : getOperatorId().hashCode());
result = prime * result + ((getImages() == null) ? 0 : getImages().hashCode());
return result;
}
/**
* This enum was generated by MyBatis Generator.
* This enum corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public enum Column {
id("id", "id", "BIGINT", false),
itemId("item_id", "itemId", "BIGINT", false),
categoryId("category_id", "categoryId", "INTEGER", false),
categoryName("category_name", "categoryName", "VARCHAR", false),
createTime("create_time", "createTime", "TIMESTAMP", false),
operatorId("operator_id", "operatorId", "BIGINT", false),
images("images", "images", "LONGVARCHAR", false);
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
private static final String BEGINNING_DELIMITER = "`";
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
private static final String ENDING_DELIMITER = "`";
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
private final String column;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
private final boolean isColumnNameDelimited;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
private final String javaProperty;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
private final String jdbcType;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public String value() {
return this.column;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public String getValue() {
return this.column;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public String getJavaProperty() {
return this.javaProperty;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public String getJdbcType() {
return this.jdbcType;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
Column(String column, String javaProperty, String jdbcType, boolean isColumnNameDelimited) {
this.column = column;
this.javaProperty = javaProperty;
this.jdbcType = jdbcType;
this.isColumnNameDelimited = isColumnNameDelimited;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public String desc() {
return this.getEscapedColumnName() + " DESC";
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public String asc() {
return this.getEscapedColumnName() + " ASC";
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public static Column[] excludes(Column ... excludes) {
ArrayList<Column> columns = new ArrayList<>(Arrays.asList(Column.values()));
if (excludes != null && excludes.length > 0) {
columns.removeAll(new ArrayList<>(Arrays.asList(excludes)));
}
return columns.toArray(new Column[]{});
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public String getEscapedColumnName() {
if (this.isColumnNameDelimited) {
return new StringBuilder().append(BEGINNING_DELIMITER).append(this.column).append(ENDING_DELIMITER).toString();
} else {
return this.column;
}
}
}
}
\ No newline at end of file
package com.wwdz.ch.db.domain;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class ItemTagOperateRecordExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public ItemTagOperateRecordExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public ItemTagOperateRecordExample orderBy(String orderByClause) {
this.setOrderByClause(orderByClause);
return this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public ItemTagOperateRecordExample orderBy(String ... orderByClauses) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < orderByClauses.length; i++) {
sb.append(orderByClauses[i]);
if (i < orderByClauses.length - 1) {
sb.append(" , ");
}
}
this.setOrderByClause(sb.toString());
return this;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria(this);
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public static Criteria newAndCreateCriteria() {
ItemTagOperateRecordExample example = new ItemTagOperateRecordExample();
return example.createCriteria();
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andIdEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("id = ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andIdNotEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("id <> ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andIdGreaterThanColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("id > ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andIdGreaterThanOrEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("id >= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andIdLessThanColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("id < ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andIdLessThanOrEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("id <= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andItemIdIsNull() {
addCriterion("item_id is null");
return (Criteria) this;
}
public Criteria andItemIdIsNotNull() {
addCriterion("item_id is not null");
return (Criteria) this;
}
public Criteria andItemIdEqualTo(Long value) {
addCriterion("item_id =", value, "itemId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andItemIdEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("item_id = ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andItemIdNotEqualTo(Long value) {
addCriterion("item_id <>", value, "itemId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andItemIdNotEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("item_id <> ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andItemIdGreaterThan(Long value) {
addCriterion("item_id >", value, "itemId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andItemIdGreaterThanColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("item_id > ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andItemIdGreaterThanOrEqualTo(Long value) {
addCriterion("item_id >=", value, "itemId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andItemIdGreaterThanOrEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("item_id >= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andItemIdLessThan(Long value) {
addCriterion("item_id <", value, "itemId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andItemIdLessThanColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("item_id < ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andItemIdLessThanOrEqualTo(Long value) {
addCriterion("item_id <=", value, "itemId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andItemIdLessThanOrEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("item_id <= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andItemIdIn(List<Long> values) {
addCriterion("item_id in", values, "itemId");
return (Criteria) this;
}
public Criteria andItemIdNotIn(List<Long> values) {
addCriterion("item_id not in", values, "itemId");
return (Criteria) this;
}
public Criteria andItemIdBetween(Long value1, Long value2) {
addCriterion("item_id between", value1, value2, "itemId");
return (Criteria) this;
}
public Criteria andItemIdNotBetween(Long value1, Long value2) {
addCriterion("item_id not between", value1, value2, "itemId");
return (Criteria) this;
}
public Criteria andCategoryIdIsNull() {
addCriterion("category_id is null");
return (Criteria) this;
}
public Criteria andCategoryIdIsNotNull() {
addCriterion("category_id is not null");
return (Criteria) this;
}
public Criteria andCategoryIdEqualTo(Integer value) {
addCriterion("category_id =", value, "categoryId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andCategoryIdEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("category_id = ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andCategoryIdNotEqualTo(Integer value) {
addCriterion("category_id <>", value, "categoryId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andCategoryIdNotEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("category_id <> ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andCategoryIdGreaterThan(Integer value) {
addCriterion("category_id >", value, "categoryId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andCategoryIdGreaterThanColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("category_id > ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andCategoryIdGreaterThanOrEqualTo(Integer value) {
addCriterion("category_id >=", value, "categoryId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andCategoryIdGreaterThanOrEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("category_id >= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andCategoryIdLessThan(Integer value) {
addCriterion("category_id <", value, "categoryId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andCategoryIdLessThanColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("category_id < ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andCategoryIdLessThanOrEqualTo(Integer value) {
addCriterion("category_id <=", value, "categoryId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andCategoryIdLessThanOrEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("category_id <= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andCategoryIdIn(List<Integer> values) {
addCriterion("category_id in", values, "categoryId");
return (Criteria) this;
}
public Criteria andCategoryIdNotIn(List<Integer> values) {
addCriterion("category_id not in", values, "categoryId");
return (Criteria) this;
}
public Criteria andCategoryIdBetween(Integer value1, Integer value2) {
addCriterion("category_id between", value1, value2, "categoryId");
return (Criteria) this;
}
public Criteria andCategoryIdNotBetween(Integer value1, Integer value2) {
addCriterion("category_id not between", value1, value2, "categoryId");
return (Criteria) this;
}
public Criteria andCategoryNameIsNull() {
addCriterion("category_name is null");
return (Criteria) this;
}
public Criteria andCategoryNameIsNotNull() {
addCriterion("category_name is not null");
return (Criteria) this;
}
public Criteria andCategoryNameEqualTo(String value) {
addCriterion("category_name =", value, "categoryName");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andCategoryNameEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("category_name = ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andCategoryNameNotEqualTo(String value) {
addCriterion("category_name <>", value, "categoryName");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andCategoryNameNotEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("category_name <> ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andCategoryNameGreaterThan(String value) {
addCriterion("category_name >", value, "categoryName");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andCategoryNameGreaterThanColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("category_name > ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andCategoryNameGreaterThanOrEqualTo(String value) {
addCriterion("category_name >=", value, "categoryName");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andCategoryNameGreaterThanOrEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("category_name >= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andCategoryNameLessThan(String value) {
addCriterion("category_name <", value, "categoryName");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andCategoryNameLessThanColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("category_name < ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andCategoryNameLessThanOrEqualTo(String value) {
addCriterion("category_name <=", value, "categoryName");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andCategoryNameLessThanOrEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("category_name <= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andCategoryNameLike(String value) {
addCriterion("category_name like", value, "categoryName");
return (Criteria) this;
}
public Criteria andCategoryNameNotLike(String value) {
addCriterion("category_name not like", value, "categoryName");
return (Criteria) this;
}
public Criteria andCategoryNameIn(List<String> values) {
addCriterion("category_name in", values, "categoryName");
return (Criteria) this;
}
public Criteria andCategoryNameNotIn(List<String> values) {
addCriterion("category_name not in", values, "categoryName");
return (Criteria) this;
}
public Criteria andCategoryNameBetween(String value1, String value2) {
addCriterion("category_name between", value1, value2, "categoryName");
return (Criteria) this;
}
public Criteria andCategoryNameNotBetween(String value1, String value2) {
addCriterion("category_name not between", value1, value2, "categoryName");
return (Criteria) this;
}
public Criteria andCreateTimeIsNull() {
addCriterion("create_time is null");
return (Criteria) this;
}
public Criteria andCreateTimeIsNotNull() {
addCriterion("create_time is not null");
return (Criteria) this;
}
public Criteria andCreateTimeEqualTo(Date value) {
addCriterion("create_time =", value, "createTime");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andCreateTimeEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("create_time = ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andCreateTimeNotEqualTo(Date value) {
addCriterion("create_time <>", value, "createTime");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andCreateTimeNotEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("create_time <> ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThan(Date value) {
addCriterion("create_time >", value, "createTime");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andCreateTimeGreaterThanColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("create_time > ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("create_time >=", value, "createTime");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andCreateTimeGreaterThanOrEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("create_time >= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andCreateTimeLessThan(Date value) {
addCriterion("create_time <", value, "createTime");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andCreateTimeLessThanColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("create_time < ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
addCriterion("create_time <=", value, "createTime");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andCreateTimeLessThanOrEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("create_time <= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andCreateTimeIn(List<Date> values) {
addCriterion("create_time in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotIn(List<Date> values) {
addCriterion("create_time not in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeBetween(Date value1, Date value2) {
addCriterion("create_time between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
addCriterion("create_time not between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andOperatorIdIsNull() {
addCriterion("operator_id is null");
return (Criteria) this;
}
public Criteria andOperatorIdIsNotNull() {
addCriterion("operator_id is not null");
return (Criteria) this;
}
public Criteria andOperatorIdEqualTo(Long value) {
addCriterion("operator_id =", value, "operatorId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andOperatorIdEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("operator_id = ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andOperatorIdNotEqualTo(Long value) {
addCriterion("operator_id <>", value, "operatorId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andOperatorIdNotEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("operator_id <> ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andOperatorIdGreaterThan(Long value) {
addCriterion("operator_id >", value, "operatorId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andOperatorIdGreaterThanColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("operator_id > ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andOperatorIdGreaterThanOrEqualTo(Long value) {
addCriterion("operator_id >=", value, "operatorId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andOperatorIdGreaterThanOrEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("operator_id >= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andOperatorIdLessThan(Long value) {
addCriterion("operator_id <", value, "operatorId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andOperatorIdLessThanColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("operator_id < ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andOperatorIdLessThanOrEqualTo(Long value) {
addCriterion("operator_id <=", value, "operatorId");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andOperatorIdLessThanOrEqualToColumn(ItemTagOperateRecord.Column column) {
addCriterion(new StringBuilder("operator_id <= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andOperatorIdIn(List<Long> values) {
addCriterion("operator_id in", values, "operatorId");
return (Criteria) this;
}
public Criteria andOperatorIdNotIn(List<Long> values) {
addCriterion("operator_id not in", values, "operatorId");
return (Criteria) this;
}
public Criteria andOperatorIdBetween(Long value1, Long value2) {
addCriterion("operator_id between", value1, value2, "operatorId");
return (Criteria) this;
}
public Criteria andOperatorIdNotBetween(Long value1, Long value2) {
addCriterion("operator_id not between", value1, value2, "operatorId");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
private ItemTagOperateRecordExample example;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
protected Criteria(ItemTagOperateRecordExample example) {
super();
this.example = example;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public ItemTagOperateRecordExample example() {
return this.example;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andIf(boolean ifAdd, ICriteriaAdd add) {
if (ifAdd) {
add.add(this);
}
return this;
}
/**
* This interface was generated by MyBatis Generator.
* This interface corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public interface ICriteriaAdd {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
Criteria add(Criteria add);
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}
\ No newline at end of file
package com.wwdz.ch.db.dto.request;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
@Data
public class ItemTagOperateRecordRequestDto extends BaseRequestDto implements Entity {
private Long id;
/**
* 商品id
*/
private Long itemId;
/**
* 类目id
*/
private Integer categoryId;
/**
* 类目名称
*/
private String categoryName;
/**
* 创建时间
*/
private Date createTime;
/**
* 操作人id
*/
private Long operatorId;
/**
* 图片
*/
private String images;
}
package com.wwdz.ch.db.impl;
import com.github.pagehelper.PageHelper;
import com.wwdz.ch.db.dao.ItemTagOperateRecordDao;
import com.wwdz.ch.db.domain.ItemTagOperateRecord;
import com.wwdz.ch.db.domain.ItemTagOperateRecordExample;
import com.wwdz.ch.db.domain.distribution.DistributionOrderExample;
import com.wwdz.ch.db.dto.request.ItemTagOperateRecordRequestDto;
import com.wwdz.ch.db.mapper.ItemTagOperateRecordMapper;
import com.xxdxxs.db.component.JdbcHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class ItemTagOperateRecordDaoImpl implements ItemTagOperateRecordDao {
@Autowired
ItemTagOperateRecordMapper itemTagOperateRecordMapper;
@Override
public int insert(ItemTagOperateRecord itemTagOperateRecord) {
return itemTagOperateRecordMapper.insert(itemTagOperateRecord);
}
@Override
public List<ItemTagOperateRecord> findByPage(ItemTagOperateRecordRequestDto dto) {
ItemTagOperateRecordExample example = new ItemTagOperateRecordExample();
ItemTagOperateRecordExample.Criteria criteria = example.createCriteria();
criteria.andOperatorIdEqualTo(dto.getOperatorId());
example.setOrderByClause("create_time desc");
PageHelper.startPage(dto.getPage(), dto.getLimit());
return itemTagOperateRecordMapper.selectByExampleWithBLOBs(example);
}
}
package com.wwdz.ch.db.mapper;
import com.wwdz.ch.db.domain.ItemTagOperateRecord;
import com.wwdz.ch.db.domain.ItemTagOperateRecordExample;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface ItemTagOperateRecordMapper {
long countByExample(ItemTagOperateRecordExample example);
int deleteByExample(ItemTagOperateRecordExample example);
int deleteByPrimaryKey(Long id);
int insert(ItemTagOperateRecord record);
int insertSelective(ItemTagOperateRecord record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
ItemTagOperateRecord selectOneByExample(ItemTagOperateRecordExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
ItemTagOperateRecord selectOneByExampleSelective(@Param("example") ItemTagOperateRecordExample example, @Param("selective") ItemTagOperateRecord.Column ... selective);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
ItemTagOperateRecord selectOneByExampleWithBLOBs(ItemTagOperateRecordExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
List<ItemTagOperateRecord> selectByExampleSelective(@Param("example") ItemTagOperateRecordExample example, @Param("selective") ItemTagOperateRecord.Column ... selective);
List<ItemTagOperateRecord> selectByExampleWithBLOBs(ItemTagOperateRecordExample example);
List<ItemTagOperateRecord> selectByExample(ItemTagOperateRecordExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table item_tag_operate_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
ItemTagOperateRecord selectByPrimaryKeySelective(@Param("id") Long id, @Param("selective") ItemTagOperateRecord.Column ... selective);
ItemTagOperateRecord selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") ItemTagOperateRecord record, @Param("example") ItemTagOperateRecordExample example);
int updateByExampleWithBLOBs(@Param("record") ItemTagOperateRecord record, @Param("example") ItemTagOperateRecordExample example);
int updateByExample(@Param("record") ItemTagOperateRecord record, @Param("example") ItemTagOperateRecordExample example);
int updateByPrimaryKeySelective(ItemTagOperateRecord record);
int updateByPrimaryKeyWithBLOBs(ItemTagOperateRecord record);
int updateByPrimaryKey(ItemTagOperateRecord record);
}
\ No newline at end of file
...@@ -51,6 +51,7 @@ public class WebMvcConfiguration implements WebMvcConfigurer { ...@@ -51,6 +51,7 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
"/wx/exchange/findExchangeItem", "/wx/specialPerformance/findInfos", "/wx/specialPerformance/findItemList", "/wx/exchange/findExchangeItem", "/wx/specialPerformance/findInfos", "/wx/specialPerformance/findItemList",
"/wx/groupPurchase/findList", "/wx/groupPurchase/findItemDetail", "/wx/exchangeApplyOrder/handleApplyOrder", "/wx/supplierItem/findDiscountList" "/wx/groupPurchase/findList", "/wx/groupPurchase/findItemDetail", "/wx/exchangeApplyOrder/handleApplyOrder", "/wx/supplierItem/findDiscountList"
//下列路径上线注释 //下列路径上线注释
,"/wx/itemTagOperate/**"
/* ,"/wx/specialPerformance/**" /* ,"/wx/specialPerformance/**"
, "/wx/supplierItem/**", "/wx/shareRecord/**", "/wx/distributionOrder/**", "/wx/selfPage/**", "/wx/auctionRecord/**", , "/wx/supplierItem/**", "/wx/shareRecord/**", "/wx/distributionOrder/**", "/wx/selfPage/**", "/wx/auctionRecord/**",
"/wx/shareRecord/**","/wx/collectionBook/**", "/wx/collectedRecord/**", "/wx/collectionItemsRelation/**","/wx/collectionShareRecord/**" "/wx/shareRecord/**","/wx/collectionBook/**", "/wx/collectedRecord/**", "/wx/collectionItemsRelation/**","/wx/collectionShareRecord/**"
......
package com.wwdz.ch.wx.entity.request;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class ItemTagOperateRequestDto implements Entity {
/**
* 类目id
*/
private Integer categoryId;
/**
* 类目名称
*/
private String categoryName;
/**
* 创建时间
*/
private Date createTime;
/**
* 操作人id
*/
private Long operatorId;
/**
* 图片
*/
private List<String> images;
}
package com.wwdz.ch.wx.entity.vo;
import com.xxdxxs.entity.Entity;
import lombok.Data;
@Data
public class ItemTagOperateRecordVo implements Entity {
}
package com.wwdz.ch.wx.entity.vo;
import com.xxdxxs.entity.Entity;
import lombok.Data;
@Data
public class ItemTagPrintInfo implements Entity {
private String qrCode;
private String itemName;
private String tip = "扫描微信二维码了解钱币详情";
private String logo = "https://cdn.wanwudezhi.com/static/web-static/image/32cd96a80a166444b3e472a5bf2a2274_425x176.png";
}
package com.wwdz.ch.wx.impl;
import com.github.pagehelper.PageInfo;
import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.core.consts.DistributionEnum;
import com.wwdz.ch.core.consts.SupplierItemEnum;
import com.wwdz.ch.core.type.PageSearchResult;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.QRCodeUtil;
import com.wwdz.ch.db.dao.CategoryDao;
import com.wwdz.ch.db.dao.ItemTagOperateRecordDao;
import com.wwdz.ch.db.dao.distribution.SupplierItemDao;
import com.wwdz.ch.db.domain.Category;
import com.wwdz.ch.db.domain.ItemTagOperateRecord;
import com.wwdz.ch.db.domain.distribution.SupplierItem;
import com.wwdz.ch.db.dto.request.ItemTagOperateRecordRequestDto;
import com.wwdz.ch.wx.entity.request.ItemTagOperateRequestDto;
import com.wwdz.ch.wx.entity.vo.ItemTagPrintInfo;
import com.wwdz.ch.wx.service.ItemTagOperateService;
import com.xxdxxs.utils.EntityMapper;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.concurrent.TimeUnit;
@Service
public class ItemTagOperateServiceImpl implements ItemTagOperateService {
private static final Logger logger = LoggerFactory.getLogger(ItemTagOperateServiceImpl.class);
@Autowired
SupplierItemDao supplierItemDao;
@Autowired
ItemTagOperateRecordDao itemTagOperateRecordDao;
@Autowired
RedissonClient redissonClient;
@Autowired
CategoryDao categoryDao;
@Autowired
WxAppletApi wxAppletApi;
@Override
public Result printItemTag(ItemTagOperateRequestDto dto) {
try {
//先上传商品
SupplierItem supplierItem = new SupplierItem();
//查询类目信息
Category category = categoryDao.findById(dto.getCategoryId());
EntityMapper.copyAttribute(dto, supplierItem);
supplierItem.setName(category.getName());
supplierItem.setDescription(category.getIntroduction());
supplierItem.setSupplyPrice(0L);
supplierItem.setRebate(new BigDecimal("0"));
if (!CollectionUtils.isEmpty(dto.getImages())) {
supplierItem.setImages(String.join(";", dto.getImages()));
}
supplierItem.setSort(1);
supplierItem.setBuyLimitNum(-1);
supplierItem.setIsAbleSale(false);
supplierItem.setIsOnSale(false);
supplierItem.setStock(1);
supplierItem.setIsOnSale(false);
Date now = new Date();
supplierItem.setCreateTime(now);
supplierItem.setUpdateTime(now);
supplierItem.setIsDeleted(true);
supplierItem.setType(DistributionEnum.DistributionTypeEnum.BLACK.getCode());
supplierItem.setStatus(SupplierItemEnum.StatusEnum.COMMON.getCode());
long itemId = supplierItemDao.insert(supplierItem);
//记录制作标签的记录
ItemTagOperateRecord itemTagOperateRecord = new ItemTagOperateRecord();
itemTagOperateRecord.setItemId(itemId);
itemTagOperateRecord.setImages(String.join(";", dto.getImages()));
itemTagOperateRecord.setCategoryId(dto.getCategoryId());
itemTagOperateRecord.setCategoryName(category.getName());
itemTagOperateRecord.setOperatorId(dto.getOperatorId());
itemTagOperateRecord.setCreateTime(now);
itemTagOperateRecordDao.insert(itemTagOperateRecord);
//打印标签的信息
ItemTagPrintInfo itemTagPrintInfo = new ItemTagPrintInfo();
itemTagPrintInfo.setItemName(category.getName());
//获取页面短链
String url = wxAppletApi.getUrlLink("/pages/detail/index","itemId=" + itemId);
String qrCode = QRCodeUtil.createCodeToBase64(url);
itemTagPrintInfo.setQrCode(qrCode);
return Result.success(itemTagPrintInfo);
} catch (Exception e) {
logger.error("打印标签失败", e);
}
return Result.failed("打印标签失败");
}
@Override
public Result findList(ItemTagOperateRecordRequestDto dto) {
try {
List<ItemTagOperateRecord> list = itemTagOperateRecordDao.findByPage(dto);
PageInfo pageInfo = new PageInfo<>(list);
for (ItemTagOperateRecord itemTagOperateRecord : list) {
String images = itemTagOperateRecord.getImages();
itemTagOperateRecord.setImages(images.split(";")[0]);
}
return Result.success(PageSearchResult.of(pageInfo, list));
} catch (Exception e) {
logger.error("查询制作标签记录失败error: {}", e);
}
return Result.failed("查询制作标签记录失败");
}
}
...@@ -22,6 +22,7 @@ import com.wwdz.ch.core.entity.SupplierItemVo; ...@@ -22,6 +22,7 @@ import com.wwdz.ch.core.entity.SupplierItemVo;
import com.wwdz.ch.wx.aspect.AddBrowseLog; import com.wwdz.ch.wx.aspect.AddBrowseLog;
import com.wwdz.ch.wx.constant.CollectionBookConstants; import com.wwdz.ch.wx.constant.CollectionBookConstants;
import com.wwdz.ch.wx.entity.GroupPurchaseInfo; import com.wwdz.ch.wx.entity.GroupPurchaseInfo;
import com.wwdz.ch.wx.entity.request.ItemTagOperateRequestDto;
import com.wwdz.ch.wx.entity.vo.distribution.AuctionDetailVo; import com.wwdz.ch.wx.entity.vo.distribution.AuctionDetailVo;
import com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordRowVo; import com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordRowVo;
import com.wwdz.ch.wx.service.FollowFansRecordService; import com.wwdz.ch.wx.service.FollowFansRecordService;
...@@ -1345,9 +1346,52 @@ public class SupplierItemServiceImpl implements SupplierItemService { ...@@ -1345,9 +1346,52 @@ public class SupplierItemServiceImpl implements SupplierItemService {
} }
private String getVideosImage(String vedios) { @Override
public Result scanCodeToFindItemDetail(SupplierItemRequestDto dto) {
try {
//判断是否已经上架过
SupplierItem supplierItem = supplierItemDao.findById(dto.getItemId());
if (supplierItem.getCreatorId() != null && !supplierItem.getIsDeleted()) {
return Result.failed(ResultCode.ITEM_UPLOADED);
}
SupplierItemVo supplierItemVo = new SupplierItemVo();
EntityMapper.copyAttribute(supplierItem, supplierItemVo);
supplierItemVo.setItemId(supplierItem.getId());
supplierItemVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos()));
return Result.success(supplierItemVo);
} catch (Exception e) {
logger.error("用户扫码跳转小程序页面查询商品详情 error : {}", dto.getType(), e);
}
return Result.failed();
}
@Override
public Result uploadItemToSelf(SupplierItemRequestDto dto) {
try {
SupplierItem sourceItem = supplierItemDao.findById(dto.getItemId());
if (sourceItem.getCreatorId() != null && !sourceItem.getIsDeleted()) {
return Result.failed(ResultCode.ITEM_UPLOADED);
}
long itemId = dto.getItemId();
SupplierItem supplierItem = new SupplierItem();
supplierItem.setSupplyPrice(0L);
supplierItem.setRebate(new BigDecimal("0"));
supplierItem.setIsDeleted(false);
supplierItem.setCreatorId(dto.getUserId());
supplierItem.setType(dto.getType() == null ? DistributionEnum.DistributionTypeEnum.COLLECT.getCode() : dto.getType());
supplierItem.setStatus(SupplierItemEnum.StatusEnum.COMMON.getCode());
supplierItemDao.update(supplierItem);
return Result.success(new HashMap(){{put("id", itemId);}});
} catch (Exception e) {
logger.error("上架商品到藏馆 error : {}", dto.getType(), e);
}
return Result.failed();
}
private String getVideosImage(String videos) {
String video = ""; String video = "";
String[] images = vedios.split(";"); String[] images = videos.split(";");
StringBuffer stringBuffer = new StringBuffer(); StringBuffer stringBuffer = new StringBuffer();
Arrays.stream(images).forEach(image -> { Arrays.stream(images).forEach(image -> {
if (stringBuffer.length() != 0) { if (stringBuffer.length() != 0) {
......
package com.wwdz.ch.wx.service;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.ItemTagOperateRecordRequestDto;
import com.wwdz.ch.wx.entity.request.ItemTagOperateRequestDto;
public interface ItemTagOperateService {
/**
* 打印标签
* @param dto
* @return
*/
Result printItemTag(ItemTagOperateRequestDto dto);
/**
* 查询制作标签记录
* @param dto
* @return
*/
Result findList(ItemTagOperateRecordRequestDto dto);
}
...@@ -2,6 +2,7 @@ package com.wwdz.ch.wx.service.distribution; ...@@ -2,6 +2,7 @@ package com.wwdz.ch.wx.service.distribution;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto; import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
import com.wwdz.ch.wx.entity.request.ItemTagOperateRequestDto;
public interface SupplierItemService { public interface SupplierItemService {
...@@ -121,4 +122,19 @@ public interface SupplierItemService { ...@@ -121,4 +122,19 @@ public interface SupplierItemService {
*/ */
Result findHomePage(SupplierItemRequestDto dto); Result findHomePage(SupplierItemRequestDto dto);
/**
* 用户扫码跳转小程序页面查询商品详情
* @param dto
* @return
*/
Result scanCodeToFindItemDetail(SupplierItemRequestDto dto);
/**
* 上传商品到自己的藏馆
* @param dto
* @return
*/
Result uploadItemToSelf(SupplierItemRequestDto dto);
} }
package com.wwdz.ch.wx.web.distribution;
import com.alibaba.fastjson.JSON;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.ItemTagOperateRecordRequestDto;
import com.wwdz.ch.wx.entity.request.ItemTagOperateRequestDto;
import com.wwdz.ch.wx.service.ItemTagOperateService;
import com.xxdxxs.service.FormHandler;
import com.xxdxxs.validation.Validator;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
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;
@RestController
@RequestMapping("/wx/itemTagOperate")
public class ItemTagOperateController {
private static final Logger logger = LoggerFactory.getLogger(LogisticsController.class);
@Autowired
ItemTagOperateService itemTagOperateService;
@ApiOperation(value = "打印标签")
@PostMapping("/printItemTag")
public Result printItemTag(@RequestBody ItemTagOperateRequestDto dto) {
logger.info("打印标签,请求参数:{}", JSON.toJSONString(dto));
Validator validator = new Validator(FormHandler.ofEntity(dto));
validator.set("categoryId", "分类id").must().number()
.set("operatorId", "操作人id").must().number()
.end();
if (!validator.isValid()) {
return Result.failed(validator.getErrorInfo());
}
return itemTagOperateService.printItemTag(dto);
}
@ApiOperation(value = "查询制作标签记录")
@PostMapping("/findList")
public Result findList(@RequestBody ItemTagOperateRecordRequestDto dto) {
logger.info("查询制作标签记录,请求参数:{}", JSON.toJSONString(dto));
Validator validator = new Validator(FormHandler.ofEntity(dto));
validator.set("operatorId", "操作人id").must().number()
.end();
if (!validator.isValid()) {
return Result.failed(validator.getErrorInfo());
}
return itemTagOperateService.findList(dto);
}
}
...@@ -195,4 +195,26 @@ public class SupplierItemController { ...@@ -195,4 +195,26 @@ public class SupplierItemController {
} }
return supplierItemService.findItemCommission(dto); return supplierItemService.findItemCommission(dto);
} }
@ApiOperation(value = "用户扫码跳转小程序页面查询商品详情")
@PostMapping("/scanCodeToFindItemDetail")
public Result scanCodeToFindItemDetail(@RequestBody SupplierItemRequestDto dto) {
logger.info("用户扫码跳转小程序页面查询商品详情,请求参数:{}", JSON.toJSONString(dto));
if (dto.getItemId() == null) {
return Result.failed(ResultCode.PARAM_ERROR);
}
return supplierItemService.scanCodeToFindItemDetail(dto);
}
@ApiOperation(value = "上传商品到自己的藏馆")
@PostMapping("/uploadItemToSelf")
public Result uploadItemToSelf(@RequestBody SupplierItemRequestDto dto) {
logger.info("上传商品到自己的藏馆,请求参数:{}", JSON.toJSONString(dto));
if (dto.getItemId() == null || dto.getUserId() == null) {
return Result.failed(ResultCode.PARAM_ERROR);
}
return supplierItemService.uploadItemToSelf(dto);
}
} }
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