Commit 62751711 authored by shiyu's avatar shiyu

交换单

parent cff5b70a
...@@ -102,11 +102,11 @@ public class ItemController { ...@@ -102,11 +102,11 @@ public class ItemController {
return result; return result;
} }
/*
// @GetMapping("/updateUrl") // @GetMapping("/updateUrl")
public void syn() { // public void syn() {
synCoinJob.updateImageUrlOfsSize(); synCoinJob.updateImageUrlOfsSize();
} }*/
@GetMapping("/synToEs") @GetMapping("/synToEs")
......
...@@ -7,11 +7,14 @@ import com.wwdz.ch.core.util.RedisUtils; ...@@ -7,11 +7,14 @@ import com.wwdz.ch.core.util.RedisUtils;
import com.wwdz.ch.db.dao.CategoryDao; import com.wwdz.ch.db.dao.CategoryDao;
import com.wwdz.ch.db.dao.CoinsDao; import com.wwdz.ch.db.dao.CoinsDao;
import com.wwdz.ch.db.dao.ItemDao; import com.wwdz.ch.db.dao.ItemDao;
import com.wwdz.ch.db.dao.distribution.SupplierItemDao;
import com.wwdz.ch.db.domain.Category; import com.wwdz.ch.db.domain.Category;
import com.wwdz.ch.db.domain.Coins; import com.wwdz.ch.db.domain.Coins;
import com.wwdz.ch.db.domain.Item; import com.wwdz.ch.db.domain.Item;
import com.wwdz.ch.db.domain.distribution.SupplierItem;
import com.wwdz.ch.db.dto.request.CategorySearchRequestDto; import com.wwdz.ch.db.dto.request.CategorySearchRequestDto;
import com.wwdz.ch.db.dto.request.CoinRequestDto; import com.wwdz.ch.db.dto.request.CoinRequestDto;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
import com.wwdz.ch.db.es.ItemEsDao; import com.wwdz.ch.db.es.ItemEsDao;
import com.xxdxxs.utils.CommonUtils; import com.xxdxxs.utils.CommonUtils;
import com.xxdxxs.utils.StringUtils; import com.xxdxxs.utils.StringUtils;
...@@ -43,7 +46,7 @@ public class SynCoinJob { ...@@ -43,7 +46,7 @@ public class SynCoinJob {
private String SYN_NEPHRITE_TO_ES_TASK_KEY = "SYN_NEPHRITE_TO_ES_TASK_KEY"; private String SYN_NEPHRITE_TO_ES_TASK_KEY = "SYN_NEPHRITE_TO_ES_TASK_KEY";
@Autowired @Autowired
ItemDao itemDao; SupplierItemDao supplierItemDao;
@Autowired @Autowired
CoinsDao coinsDao; CoinsDao coinsDao;
...@@ -64,13 +67,13 @@ public class SynCoinJob { ...@@ -64,13 +67,13 @@ public class SynCoinJob {
CategoryDao categoryDao; CategoryDao categoryDao;
public void execute() { /*public void execute() {
logger.info(">>>>>>>>>>>>>>>>>>>>>>> 同步coins表数据到item表, 开始执行 <<<<<<<<<<<<<<<<<<<<<"); logger.info(">>>>>>>>>>>>>>>>>>>>>>> 同步coins表数据到item表, 开始执行 <<<<<<<<<<<<<<<<<<<<<");
try { try {
CoinRequestDto coinRequestDto = new CoinRequestDto(); CoinRequestDto coinRequestDto = new CoinRequestDto();
coinRequestDto.setPage(1); coinRequestDto.setPage(1);
coinRequestDto.setLimit(100); coinRequestDto.setLimit(100);
PageInfo<Item> pageInfo = itemDao.findPageExcludeFilter(coinRequestDto); PageInfo<Item> pageInfo = supplierItemDao.findPageExcludeFilter(coinRequestDto);
int totalPageNum = pageInfo.getPages(); int totalPageNum = pageInfo.getPages();
logger.info("total page : {}, total : {}", totalPageNum, pageInfo.getTotal()); logger.info("total page : {}, total : {}", totalPageNum, pageInfo.getTotal());
IntStream.rangeClosed(1, totalPageNum).parallel().forEach(i -> { IntStream.rangeClosed(1, totalPageNum).parallel().forEach(i -> {
...@@ -171,13 +174,13 @@ public class SynCoinJob { ...@@ -171,13 +174,13 @@ public class SynCoinJob {
} }
/** *//**
* 将BufferedImage转换为InputStream * 将BufferedImage转换为InputStream
* *
* @param image 数据源 * @param image 数据源
* @param type 图片格式 * @param type 图片格式
* @return * @return
*/ *//*
private static InputStream bufferedImageToInputStream(BufferedImage image, String type) { private static InputStream bufferedImageToInputStream(BufferedImage image, String type) {
try (ByteArrayOutputStream os = new ByteArrayOutputStream()) { try (ByteArrayOutputStream os = new ByteArrayOutputStream()) {
ImageIO.write(image, type, os); ImageIO.write(image, type, os);
...@@ -189,47 +192,12 @@ public class SynCoinJob { ...@@ -189,47 +192,12 @@ public class SynCoinJob {
} }
public void synItemToEs() {
RLock lock = redissonClient.getLock(SYN_NEPHRITE_TO_ES_TASK_KEY);
if (!lock.tryLock()) {
logger.warn("当前服务实例: {} 获取锁失败,锁被占用, 不允许执行同步和田玉数据到ES作业", Thread.currentThread().getId());
return;
}
try {
ExecutorService executorService = Executors.newFixedThreadPool(10);
CoinRequestDto coinRequestDto = new CoinRequestDto();
coinRequestDto.setPage(1);
coinRequestDto.setLimit(100);
// coinRequestDto.setKind(ItemKindEnum.NEPHRITE.getCode());
PageInfo<Item> pageInfo = itemDao.findPageExcludeFilter(coinRequestDto);
int totalPageNum = pageInfo.getPages();
logger.info("total page : {}, total : {}", totalPageNum, pageInfo.getTotal());
IntStream.rangeClosed(1, totalPageNum).forEach(i -> {
logger.info(">>>>>>>>>>>>>>>>> 当前同步数据的页码: {} 更新开始 <<<<<<<<<<<<<<<<<", i);
CoinRequestDto dto = new CoinRequestDto();
dto.setPage(i);
dto.setLimit(100);
List<Item> itemList = itemDao.findListByPage(dto);
executorService.submit(() -> {
itemEsDao.create(itemList);
});
logger.info(">>>>>>>>>>>>>>>>> 页码 = {}, 同步es 成功 ! <<<<<<<<<<<<<<<<<", i);
});
logger.info(">>>>>>>>>>>>>>>>>数据同步es 完成 SUCCESS!!!!! <<<<<<<<<<<<<<<<<");
} catch (Exception e) {
logger.error("同步数据到es error {}", e);
} finally {
if (lock != null && lock.isHeldByCurrentThread()) {
lock.unlock();
logger.info("======================== 线程id: {} , 同步和田玉数据到ES作业 释放锁成功 ========================", Thread.currentThread().getId());
}
}
}
/**
*//**
* 类目图片加上尺寸 * 类目图片加上尺寸
*/ *//*
public void addSizeForCategoryIcon() { public void addSizeForCategoryIcon() {
logger.info(">>>>>>>>>>>>>>>>>>>>>>> 更新类目图片尺寸, 开始执行 <<<<<<<<<<<<<<<<<<<<<"); logger.info(">>>>>>>>>>>>>>>>>>>>>>> 更新类目图片尺寸, 开始执行 <<<<<<<<<<<<<<<<<<<<<");
try { try {
...@@ -285,10 +253,45 @@ public class SynCoinJob { ...@@ -285,10 +253,45 @@ public class SynCoinJob {
} }
}*/
public void synItemToEs() {
RLock lock = redissonClient.getLock(SYN_NEPHRITE_TO_ES_TASK_KEY);
if (!lock.tryLock()) {
logger.warn("当前服务实例: {} 获取锁失败,锁被占用, 不允许执行同步和田玉数据到ES作业", Thread.currentThread().getId());
return;
}
try {
ExecutorService executorService = Executors.newFixedThreadPool(10);
SupplierItemRequestDto supplierItemRequestDto = new SupplierItemRequestDto();
supplierItemRequestDto.setPage(1);
supplierItemRequestDto.setLimit(100);
List<SupplierItem> list = supplierItemDao.findListByPage(supplierItemRequestDto);
PageInfo<SupplierItem> pageInfo = new PageInfo<>(list);
int totalPageNum = pageInfo.getPages();
logger.info("total page : {}, total : {}", totalPageNum, pageInfo.getTotal());
IntStream.rangeClosed(1, totalPageNum).forEach(i -> {
logger.info(">>>>>>>>>>>>>>>>> 当前同步数据的页码: {} 更新开始 <<<<<<<<<<<<<<<<<", i);
SupplierItemRequestDto dto = new SupplierItemRequestDto();
dto.setPage(i);
dto.setLimit(100);
List<SupplierItem> supplierItemList = supplierItemDao.findListByPage(dto);
executorService.submit(() -> {
itemEsDao.create(supplierItemList);
});
logger.info(">>>>>>>>>>>>>>>>> 页码 = {}, 同步es 成功 ! <<<<<<<<<<<<<<<<<", i);
});
logger.info(">>>>>>>>>>>>>>>>>数据同步es 完成 SUCCESS!!!!! <<<<<<<<<<<<<<<<<");
} catch (Exception e) {
logger.error("同步数据到es error {}", e);
} finally {
if (lock != null && lock.isHeldByCurrentThread()) {
lock.unlock();
logger.info("======================== 线程id: {} , 同步和田玉数据到ES作业 释放锁成功 ========================", Thread.currentThread().getId());
}
}
} }
public void syn(){ public void syn(){
/* RLock lock = redissonClient.getLock(SYN_NEPHRITE_TO_ES_TASK_KEY); /* RLock lock = redissonClient.getLock(SYN_NEPHRITE_TO_ES_TASK_KEY);
if (!lock.tryLock()) { if (!lock.tryLock()) {
......
...@@ -9,10 +9,13 @@ import com.wwdz.ch.core.util.RedisUtils; ...@@ -9,10 +9,13 @@ import com.wwdz.ch.core.util.RedisUtils;
import com.wwdz.ch.db.dao.CoinsDao; import com.wwdz.ch.db.dao.CoinsDao;
import com.wwdz.ch.db.dao.ItemDao; import com.wwdz.ch.db.dao.ItemDao;
import com.wwdz.ch.db.dao.SynDataRecordDao; import com.wwdz.ch.db.dao.SynDataRecordDao;
import com.wwdz.ch.db.dao.distribution.SupplierItemDao;
import com.wwdz.ch.db.domain.Coins; import com.wwdz.ch.db.domain.Coins;
import com.wwdz.ch.db.domain.Item; import com.wwdz.ch.db.domain.Item;
import com.wwdz.ch.db.domain.SynDataRecord; import com.wwdz.ch.db.domain.SynDataRecord;
import com.wwdz.ch.db.domain.distribution.SupplierItem;
import com.wwdz.ch.db.dto.request.CoinRequestDto; import com.wwdz.ch.db.dto.request.CoinRequestDto;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
import com.wwdz.ch.db.es.ItemEsDao; import com.wwdz.ch.db.es.ItemEsDao;
import com.xxdxxs.utils.CommonUtils; import com.xxdxxs.utils.CommonUtils;
import com.xxdxxs.utils.DateUtils; import com.xxdxxs.utils.DateUtils;
...@@ -53,7 +56,7 @@ public class SynItemToEsJob { ...@@ -53,7 +56,7 @@ public class SynItemToEsJob {
ExecutorService executorService = Executors.newFixedThreadPool(10); ExecutorService executorService = Executors.newFixedThreadPool(10);
@Autowired @Autowired
ItemDao itemDao; SupplierItemDao supplierItemDao;
@Autowired @Autowired
ItemEsDao itemEsDao; ItemEsDao itemEsDao;
...@@ -99,18 +102,18 @@ public class SynItemToEsJob { ...@@ -99,18 +102,18 @@ public class SynItemToEsJob {
logger.info("上次同步任务执行完毕,开始新一轮时间范围的数据同步, 时间范围 {} to {}", DateUtils.toString(startTime), DateUtils.toString(endTime)); logger.info("上次同步任务执行完毕,开始新一轮时间范围的数据同步, 时间范围 {} to {}", DateUtils.toString(startTime), DateUtils.toString(endTime));
} }
logger.info("es中最新数据时间为 {}", DateUtils.toString(startTime)); logger.info("es中最新数据时间为 {}", DateUtils.toString(startTime));
CoinRequestDto coinRequestDto = new CoinRequestDto(); SupplierItemRequestDto supplierItemRequestDto = new SupplierItemRequestDto();
coinRequestDto.setPage(page); supplierItemRequestDto.setPage(page);
coinRequestDto.setLimit(limit); supplierItemRequestDto.setLimit(limit);
coinRequestDto.setStartUpdateTime(startTime); supplierItemRequestDto.setStartUpdateTime(startTime);
coinRequestDto.setEndUpdateTime(endTime); supplierItemRequestDto.setEndUpdateTime(endTime);
coinRequestDto.setSortColumn("update_time"); supplierItemRequestDto.setSortColumn("update_time");
List<Item> itemList = itemDao.findListByPage(coinRequestDto); List<SupplierItem> supplierItemList = supplierItemDao.findListByPage(supplierItemRequestDto);
PageInfo<Item> pageInfo = new PageInfo<>(itemList); PageInfo<SupplierItem> pageInfo = new PageInfo<>(supplierItemList);
logger.info("待同步增量数据总量 : {}, 当前同步第 {} 页数据, 当前页共有 {} 条数据进行同步", pageInfo.getTotal(), page, itemList.size()); logger.info("待同步增量数据总量 : {}, 当前同步第 {} 页数据, 当前页共有 {} 条数据进行同步", pageInfo.getTotal(), page, supplierItemList.size());
for (Item item : itemList) { for (SupplierItem supplierItem : supplierItemList) {
executorService.submit(() -> { executorService.submit(() -> {
itemEsDao.upsert(item); itemEsDao.upsert(supplierItem);
}); });
} }
//如果有下一页则记录下来,下一次任务执行接着同步该更新时间范围的 //如果有下一页则记录下来,下一次任务执行接着同步该更新时间范围的
...@@ -147,20 +150,21 @@ public class SynItemToEsJob { ...@@ -147,20 +150,21 @@ public class SynItemToEsJob {
public void synItemToEs() { public void synItemToEs() {
try { try {
CoinRequestDto coinRequestDto = new CoinRequestDto(); SupplierItemRequestDto supplierItemRequestDto = new SupplierItemRequestDto();
coinRequestDto.setPage(1); supplierItemRequestDto.setPage(1);
coinRequestDto.setLimit(100); supplierItemRequestDto.setLimit(100);
PageInfo<Item> pageInfo = itemDao.findPageExcludeFilter(coinRequestDto); List<SupplierItem> list = supplierItemDao.findListByPage(supplierItemRequestDto);
PageInfo<SupplierItem> pageInfo = new PageInfo<>(list);
int totalPageNum = pageInfo.getPages(); int totalPageNum = pageInfo.getPages();
logger.info("total page : {}, total : {}", totalPageNum, pageInfo.getTotal()); logger.info("total page : {}, total : {}", totalPageNum, pageInfo.getTotal());
IntStream.rangeClosed(1, totalPageNum).forEach(i -> { IntStream.rangeClosed(1, totalPageNum).forEach(i -> {
logger.info(">>>>>>>>>>>>>>>>> 当前同步数据的页码: {} 更新开始 <<<<<<<<<<<<<<<<<", i); logger.info(">>>>>>>>>>>>>>>>> 当前同步数据的页码: {} 更新开始 <<<<<<<<<<<<<<<<<", i);
CoinRequestDto dto = new CoinRequestDto(); SupplierItemRequestDto dto = new SupplierItemRequestDto();
dto.setPage(i); dto.setPage(i);
dto.setLimit(100); dto.setLimit(100);
List<Item> itemList = itemDao.findListByPage(dto); List<SupplierItem> supplierItemList = supplierItemDao.findListByPage(dto);
executorService.submit(() -> { executorService.submit(() -> {
itemEsDao.create(itemList); itemEsDao.create(supplierItemList);
}); });
logger.info(">>>>>>>>>>>>>>>>> 页码 = {}, 同步es 成功 ! <<<<<<<<<<<<<<<<<", i); logger.info(">>>>>>>>>>>>>>>>> 页码 = {}, 同步es 成功 ! <<<<<<<<<<<<<<<<<", i);
}); });
......
...@@ -35,28 +35,12 @@ public class SynCoinJobTest { ...@@ -35,28 +35,12 @@ public class SynCoinJobTest {
@Autowired @Autowired
SynCategoryInfo synCategoryInfo; SynCategoryInfo synCategoryInfo;
@Test
public void execute() {
synCoinJob.execute();
}
@Test
public void updateImage() throws Exception {
synCoinJob.updateImageUrlOfsSize();
}
@Test @Test
public void createIndex() throws Exception { public void createIndex() throws Exception {
itemEsDao.createIndex(); itemEsDao.createIndex();
} }
@Test
public void upsert() throws Exception {
Item item = itemDao.findById(767537L);
itemEsDao.upsert(item);
}
@Test @Test
public void updateDocumnet() throws Exception { public void updateDocumnet() throws Exception {
...@@ -83,11 +67,6 @@ public class SynCoinJobTest { ...@@ -83,11 +67,6 @@ public class SynCoinJobTest {
} }
@Test
public void addSizeForCategoryIcon() throws Exception {
synCoinJob.addSizeForCategoryIcon();
}
@Test @Test
public void synCategoryInfo() throws Exception { public void synCategoryInfo() throws Exception {
synCategoryInfo.execute(123); synCategoryInfo.execute(123);
...@@ -98,4 +77,10 @@ public class SynCoinJobTest { ...@@ -98,4 +77,10 @@ public class SynCoinJobTest {
synCategoryInfo.repair(1003145); synCategoryInfo.repair(1003145);
}*/ }*/
@Test
public void synSupplierItem() throws Exception {
synItemToEsJob.synItemToEs();
}
} }
\ No newline at end of file
...@@ -65,7 +65,8 @@ public class ElasticSearchConfig { ...@@ -65,7 +65,8 @@ public class ElasticSearchConfig {
HttpHost httpHost; HttpHost httpHost;
for (int i = 0; i < hostArray.length; i++) { for (int i = 0; i < hostArray.length; i++) {
String[] strings = hostArray[i].split(":"); String[] strings = hostArray[i].split(":");
httpHost = new HttpHost(strings[0], Integer.parseInt(strings[1]), "https"); // httpHost = new HttpHost(strings[0], Integer.parseInt(strings[1]), "https");
httpHost = new HttpHost(strings[0]);
httpHosts[i] = httpHost; httpHosts[i] = httpHost;
} }
return httpHosts; return httpHosts;
......
...@@ -114,6 +114,11 @@ public interface CommConsts { ...@@ -114,6 +114,11 @@ public interface CommConsts {
*/ */
public final static String DISTRIBUTION_ORDER_PREFIX = "DA"; public final static String DISTRIBUTION_ORDER_PREFIX = "DA";
/**
* 交换申请订单号
*/
public final static String EXCHANGE_ORDER_PREFIX = "EX";
/** /**
* 平台收货地址 * 平台收货地址
*/ */
......
...@@ -8,8 +8,8 @@ public class DistributionEnum { ...@@ -8,8 +8,8 @@ public class DistributionEnum {
public enum DistributionOrderStateEnum { public enum DistributionOrderStateEnum {
PRE_PAY(1, "待付款"), PRE_PAY(1, "待付款"),
PRE_SALE(5, "众筹中"), PRE_SALE(5, "众筹中"),
PRE_EXCHANGE(6, "待换货"), PRE_EXCHANGE(6, "待寄至平台"),
PRE_INSPECTION(8, "待验货"), PRE_INSPECTION(8, "待平台验货"),
PRE_SEND(10, "待发货"), PRE_SEND(10, "待发货"),
PRE_SIGNED(20, "待收货"), PRE_SIGNED(20, "待收货"),
AFTER_SALE(30, "售后中"), AFTER_SALE(30, "售后中"),
......
package com.wwdz.ch.core.consts;
public class ExchangeApplyOrderEnum {
public enum StateEnum {
PRE_HANDLE(0, "待处理"),
AGREE(1, "同意"),
DISAGREE(2, "拒绝"),
;
private int code;
private String des;
StateEnum(int code, String des) {
this.code = code;
this.des = des;
}
public static String getNameByCode(int code) {
for (ExchangeApplyOrderEnum.StateEnum stateEnum : ExchangeApplyOrderEnum.StateEnum.values()) {
if (code == stateEnum.getCode()) {
return stateEnum.getDes();
}
}
return null;
}
public int getCode() {
return code;
}
public String getDes() {
return des;
}
}
public enum TypeEnum {
RECEIVE(1, "我收到的"),
COMMIT(2, "我提交的"),
;
private int code;
private String des;
TypeEnum(int code, String des) {
this.code = code;
this.des = des;
}
public static String getNameByCode(int code) {
for (ExchangeApplyOrderEnum.TypeEnum typeEnum : ExchangeApplyOrderEnum.TypeEnum.values()) {
if (code == typeEnum.getCode()) {
return typeEnum.getDes();
}
}
return null;
}
public int getCode() {
return code;
}
public String getDes() {
return des;
}
}
}
package com.wwdz.ch.core.entity.exchange;
import com.wwdz.ch.core.entity.SupplierItemVo;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class ExchangeApplyOrderVo implements Entity {
/**
* 申请交换单
*/
private String exchangeAppluOrderId;
/**
* 用户id
*/
private Long userId;
/**
* 用于交换的用户商品信息
*/
private List<SupplierItemVo> userItemList;
/**
* 想要换的目标商品id
*/
private SupplierItemVo targetItemInfo;
/**
* 目标用户id
*/
private Long targetUserId;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 状态0未处理1同意2拒绝
*/
private Integer state;
private String stateName;
/**
* 处理截止时间
*/
private Date expireTime;
/**
* 用户订单号
*/
private String userOrderId;
/**
* 目标用户订单号
*/
private String targetUserOrderId;
/**
* 我收到的,我提交的
*/
private String orderType;
}
...@@ -220,9 +220,9 @@ spring: ...@@ -220,9 +220,9 @@ spring:
elasticsearch: elasticsearch:
rest: rest:
uris: 172.16.190.247:9200 uris: es-cn-ot93wtaf300091bf7.elasticsearch.aliyuncs.com
username: elastic username: elastic
password: changeme password: hP9gB7aM0oS9oS6k
index: quanku_dev index: quanku_dev
jackson: jackson:
......
...@@ -214,9 +214,9 @@ spring: ...@@ -214,9 +214,9 @@ spring:
elasticsearch: elasticsearch:
rest: rest:
uris: 172.16.190.247:9200 uris: es-cn-ot93wtaf300091bf7.elasticsearch.aliyuncs.com
username: elastic username: elastic
password: changeme password: hP9gB7aM0oS9oS6k
index: quanku_prod index: quanku_prod
dubbo: dubbo:
......
...@@ -4,13 +4,13 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; ...@@ -4,13 +4,13 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
@Data @Data
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public class ItemOfEs implements Entity { public class ItemOfEs implements Entity {
private Long id; private Long id;
/** /**
...@@ -19,9 +19,9 @@ public class ItemOfEs implements Entity { ...@@ -19,9 +19,9 @@ public class ItemOfEs implements Entity {
private String name; private String name;
/** /**
* 商品所属类目ID * 供应商id
*/ */
private Integer cid; private Long supplierId;
/** /**
* 是否上架 * 是否上架
...@@ -29,39 +29,39 @@ public class ItemOfEs implements Entity { ...@@ -29,39 +29,39 @@ public class ItemOfEs implements Entity {
private Boolean isOnSale; private Boolean isOnSale;
/** /**
* 是否标准件 * 排序
*/ */
private Boolean isStd; private Integer sort;
/** /**
* 排序 * 置顶图片
*/ */
private Integer sort; private String topImage;
/** /**
* 商品分享朋友圈图片 * 分销价格,要除以100
*/ */
private String shareImage; private Long distributionPrice;
/** /**
* 置顶图片 * 进货价格,要除以100
*/ */
private String topImage; private Long supplyPrice;
/** /**
* 价格, 要除以100 * 官方预估价,要除以100
*/ */
private Long price; private Long officialEstimatedPrice;
/** /**
* 创建时间 * 库存
*/ */
private Date createTime; private Integer stock;
/** /**
* 来源类型(1系统2用户上传) * 创建时间
*/ */
private Integer sourceType; private Date createTime;
/** /**
* 更新时间 * 更新时间
...@@ -74,39 +74,34 @@ public class ItemOfEs implements Entity { ...@@ -74,39 +74,34 @@ public class ItemOfEs implements Entity {
private Boolean isDeleted; private Boolean isDeleted;
/** /**
* 成交时间 * 限购数量
*/
private Date bidTime;
/**
* 备注说明
*/ */
private String remark; private Integer buyLimitNum;
/** /**
* 商品状态 * 商品类型1一口价2竞拍3用户藏品
*/ */
private Integer state; private Integer type;
/** /**
* 原始的资源url * 返佣比例
*/ */
private String originalSourceUrl; private BigDecimal rebate;
/** /**
* 来源7(1,2,3,,8,10,11):中国的 * 用户id,非用户id的为系统账号
*/ */
private Integer source; private Long creatorId;
/** /**
* 商品种类1钱币 * 状态0正常1违规
*/ */
private Integer kind; private Integer status;
/** /**
* 商品额外信息 * 是否可以售卖
*/ */
private String extra; private Boolean isAbleSale;
/** /**
* 商品图片,分号分隔 * 商品图片,分号分隔
...@@ -114,22 +109,12 @@ public class ItemOfEs implements Entity { ...@@ -114,22 +109,12 @@ public class ItemOfEs implements Entity {
private String images; private String images;
/** /**
* 商品视频, 分号分隔 * 商品视频,分号分隔
*/ */
private String videos; private String videos;
/** /**
* 商品详细介绍,是富文本格式 * 商品详细介绍,是富文本格式
*/ */
private String detail; private String description;
/**
* 原始额外信息
*/
private String originalExtra;
/**
* 查看权限(0所有人,1仅自己可见)
*/
private Integer viewPermission;
} }
package com.wwdz.ch.db.dao.distribution;
import com.wwdz.ch.db.domain.distribution.DistributionOrderDetail;
import java.util.List;
public interface DistributionOrderDetailDao {
/**
* 插入新记录
*
* @param distributionOrderDetail
* @return
*/
int insert(DistributionOrderDetail distributionOrderDetail);
/**
* 根据订单id查询
* @param orderId
* @return
*/
List<DistributionOrderDetail> findByOrderId(String orderId);
}
package com.wwdz.ch.db.dao.distribution; package com.wwdz.ch.db.dao.distribution;
import com.github.pagehelper.PageHelper;
import com.wwdz.ch.db.domain.Item;
import com.wwdz.ch.db.domain.ItemExample;
import com.wwdz.ch.db.domain.distribution.SupplierItem; import com.wwdz.ch.db.domain.distribution.SupplierItem;
import com.wwdz.ch.db.dto.request.CoinRequestDto;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto; import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
import com.xxdxxs.db.component.JdbcHelper;
import java.util.List; import java.util.List;
/** /**
...@@ -117,4 +123,11 @@ public interface SupplierItemDao { ...@@ -117,4 +123,11 @@ public interface SupplierItemDao {
*/ */
List<SupplierItem> findAllItemId(SupplierItemRequestDto supplierItemRequestDto); List<SupplierItem> findAllItemId(SupplierItemRequestDto supplierItemRequestDto);
/**
* es同步数据查询
* @param dto
* @return
*/
List<SupplierItem> findListByPage(SupplierItemRequestDto dto);
} }
package com.wwdz.ch.db.dao.exchange;
import com.wwdz.ch.db.domain.distribution.ExchangeApplyOrder;
import com.wwdz.ch.db.dto.request.exchange.ExchangeApplyOrderRequestDto;
import java.util.List;
public interface ExchangeApplyOrderDao {
/**
* 创建交换申请单
*
* @param exchangeApplyOrder
* @return
*/
int insert(ExchangeApplyOrder exchangeApplyOrder);
List<ExchangeApplyOrder> findByPage(ExchangeApplyOrderRequestDto dto);
ExchangeApplyOrder findByOrderId(String orderId);
/**
* 更新记录
*
* @param exchangeApplyOrder
* @return
*/
int update(ExchangeApplyOrder exchangeApplyOrder);
int updateState(String orderId, int state);
/**
* 统计待处理的申请单数量
* 我提交的交换单数量
* @param userId
* @return
*/
long countPreHandleOrderOfCommit(long userId);
/**
* 统计待处理的申请单数量
* 我收到的交换数量
* @param targetUserId
* @return
*/
long countPreHandleOrderOfReceive(long targetUserId);
}
package com.wwdz.ch.db.dao.exchange;
import com.wwdz.ch.db.domain.distribution.ExchangeApplyOrderDetail;
import java.util.List;
public interface ExchangeApplyOrderDetailDao {
/**
* 交换申请单详情
*
* @param exchangeApplyOrderDetail
* @return
*/
int insert(ExchangeApplyOrderDetail exchangeApplyOrderDetail);
List<ExchangeApplyOrderDetail> findByOrderId(String orderId);
boolean updateInValid(String orderId);
}
...@@ -11,7 +11,7 @@ import lombok.Data; ...@@ -11,7 +11,7 @@ import lombok.Data;
/** /**
* @author shiyu * @author shiyu
* @date 2024/08/02 * @date 2024/09/11
*/ */
@Data @Data
public class DistributionOrder implements Entity { public class DistributionOrder implements Entity {
...@@ -177,7 +177,10 @@ public class DistributionOrder implements Entity { ...@@ -177,7 +177,10 @@ public class DistributionOrder implements Entity {
*/ */
private BigDecimal channelRebate; private BigDecimal channelRebate;
/**
* 是否多商品
*/
private Boolean isMultiple;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -220,6 +223,7 @@ public class DistributionOrder implements Entity { ...@@ -220,6 +223,7 @@ public class DistributionOrder implements Entity {
sb.append(", introducerId=").append(introducerId); sb.append(", introducerId=").append(introducerId);
sb.append(", channelAmount=").append(channelAmount); sb.append(", channelAmount=").append(channelAmount);
sb.append(", channelRebate=").append(channelRebate); sb.append(", channelRebate=").append(channelRebate);
sb.append(", isMultiple=").append(isMultiple);
sb.append(", serialVersionUID=").append(serialVersionUID); sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]"); sb.append("]");
return sb.toString(); return sb.toString();
...@@ -269,7 +273,8 @@ public class DistributionOrder implements Entity { ...@@ -269,7 +273,8 @@ public class DistributionOrder implements Entity {
&& (this.getIntroduceRebate() == null ? other.getIntroduceRebate() == null : this.getIntroduceRebate().equals(other.getIntroduceRebate())) && (this.getIntroduceRebate() == null ? other.getIntroduceRebate() == null : this.getIntroduceRebate().equals(other.getIntroduceRebate()))
&& (this.getIntroducerId() == null ? other.getIntroducerId() == null : this.getIntroducerId().equals(other.getIntroducerId())) && (this.getIntroducerId() == null ? other.getIntroducerId() == null : this.getIntroducerId().equals(other.getIntroducerId()))
&& (this.getChannelAmount() == null ? other.getChannelAmount() == null : this.getChannelAmount().equals(other.getChannelAmount())) && (this.getChannelAmount() == null ? other.getChannelAmount() == null : this.getChannelAmount().equals(other.getChannelAmount()))
&& (this.getChannelRebate() == null ? other.getChannelRebate() == null : this.getChannelRebate().equals(other.getChannelRebate())); && (this.getChannelRebate() == null ? other.getChannelRebate() == null : this.getChannelRebate().equals(other.getChannelRebate()))
&& (this.getIsMultiple() == null ? other.getIsMultiple() == null : this.getIsMultiple().equals(other.getIsMultiple()));
} }
@Override @Override
...@@ -309,6 +314,7 @@ public class DistributionOrder implements Entity { ...@@ -309,6 +314,7 @@ public class DistributionOrder implements Entity {
result = prime * result + ((getIntroducerId() == null) ? 0 : getIntroducerId().hashCode()); result = prime * result + ((getIntroducerId() == null) ? 0 : getIntroducerId().hashCode());
result = prime * result + ((getChannelAmount() == null) ? 0 : getChannelAmount().hashCode()); result = prime * result + ((getChannelAmount() == null) ? 0 : getChannelAmount().hashCode());
result = prime * result + ((getChannelRebate() == null) ? 0 : getChannelRebate().hashCode()); result = prime * result + ((getChannelRebate() == null) ? 0 : getChannelRebate().hashCode());
result = prime * result + ((getIsMultiple() == null) ? 0 : getIsMultiple().hashCode());
return result; return result;
} }
...@@ -352,7 +358,8 @@ public class DistributionOrder implements Entity { ...@@ -352,7 +358,8 @@ public class DistributionOrder implements Entity {
introduceRebate("introduce_rebate", "introduceRebate", "DECIMAL", false), introduceRebate("introduce_rebate", "introduceRebate", "DECIMAL", false),
introducerId("introducer_id", "introducerId", "BIGINT", false), introducerId("introducer_id", "introducerId", "BIGINT", false),
channelAmount("channel_amount", "channelAmount", "BIGINT", false), channelAmount("channel_amount", "channelAmount", "BIGINT", false),
channelRebate("channel_rebate", "channelRebate", "DECIMAL", false); channelRebate("channel_rebate", "channelRebate", "DECIMAL", false),
isMultiple("is_multiple", "isMultiple", "BIT", false);
/** /**
* This field was generated by MyBatis Generator. * This field was generated by MyBatis Generator.
......
...@@ -4604,6 +4604,138 @@ public class DistributionOrderExample { ...@@ -4604,6 +4604,138 @@ public class DistributionOrderExample {
addCriterion("channel_rebate not between", value1, value2, "channelRebate"); addCriterion("channel_rebate not between", value1, value2, "channelRebate");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIsMultipleIsNull() {
addCriterion("is_multiple is null");
return (Criteria) this;
}
public Criteria andIsMultipleIsNotNull() {
addCriterion("is_multiple is not null");
return (Criteria) this;
}
public Criteria andIsMultipleEqualTo(Boolean value) {
addCriterion("is_multiple =", value, "isMultiple");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table distribution_order
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andIsMultipleEqualToColumn(DistributionOrder.Column column) {
addCriterion(new StringBuilder("is_multiple = ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andIsMultipleNotEqualTo(Boolean value) {
addCriterion("is_multiple <>", value, "isMultiple");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table distribution_order
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andIsMultipleNotEqualToColumn(DistributionOrder.Column column) {
addCriterion(new StringBuilder("is_multiple <> ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andIsMultipleGreaterThan(Boolean value) {
addCriterion("is_multiple >", value, "isMultiple");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table distribution_order
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andIsMultipleGreaterThanColumn(DistributionOrder.Column column) {
addCriterion(new StringBuilder("is_multiple > ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andIsMultipleGreaterThanOrEqualTo(Boolean value) {
addCriterion("is_multiple >=", value, "isMultiple");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table distribution_order
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andIsMultipleGreaterThanOrEqualToColumn(DistributionOrder.Column column) {
addCriterion(new StringBuilder("is_multiple >= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andIsMultipleLessThan(Boolean value) {
addCriterion("is_multiple <", value, "isMultiple");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table distribution_order
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andIsMultipleLessThanColumn(DistributionOrder.Column column) {
addCriterion(new StringBuilder("is_multiple < ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andIsMultipleLessThanOrEqualTo(Boolean value) {
addCriterion("is_multiple <=", value, "isMultiple");
return (Criteria) this;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table distribution_order
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public Criteria andIsMultipleLessThanOrEqualToColumn(DistributionOrder.Column column) {
addCriterion(new StringBuilder("is_multiple <= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this;
}
public Criteria andIsMultipleIn(List<Boolean> values) {
addCriterion("is_multiple in", values, "isMultiple");
return (Criteria) this;
}
public Criteria andIsMultipleNotIn(List<Boolean> values) {
addCriterion("is_multiple not in", values, "isMultiple");
return (Criteria) this;
}
public Criteria andIsMultipleBetween(Boolean value1, Boolean value2) {
addCriterion("is_multiple between", value1, value2, "isMultiple");
return (Criteria) this;
}
public Criteria andIsMultipleNotBetween(Boolean value1, Boolean value2) {
addCriterion("is_multiple not between", value1, value2, "isMultiple");
return (Criteria) this;
}
} }
public static class Criteria extends GeneratedCriteria { public static class Criteria extends GeneratedCriteria {
......
package com.wwdz.ch.wx.entity.request; package com.wwdz.ch.db.dto.request;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
......
...@@ -230,6 +230,16 @@ public class SupplierItemRequestDto extends BaseRequestDto implements Entity { ...@@ -230,6 +230,16 @@ public class SupplierItemRequestDto extends BaseRequestDto implements Entity {
*/ */
private String estimatedPrice; private String estimatedPrice;
/**
* 用于同步数据到es
*/
private Date startUpdateTime;
/**
* 用于同步数据到es
*/
private Date endUpdateTime;
/** /**
* 收藏标签id * 收藏标签id
......
package com.wwdz.ch.db.dto.request.exchange;
import com.wwdz.ch.db.dto.request.BaseRequestDto;
import com.wwdz.ch.db.dto.request.ItemSimpleDto;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class ExchangeApplyOrderRequestDto extends BaseRequestDto implements Entity {
/**
* 申请交换单
*/
private String exchangeAppluOrderId;
/**
* 用户id
*/
private Long userId;
/**
* 用户用来交换的商品
*/
private List<ItemSimpleDto> itemList;
/**
* 目标用户id
*/
private Long targetUserId;
/**
* 目标商品id
*/
private Long targetItemId;
/**
* 目标商品数量
*/
private Integer targetItemNum;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 状态0未处理1同意2拒绝
*/
private Integer state;
/**
* 用户订单号
*/
private String userOrderId;
/**
* 目标用户订单号
*/
private String targetUserOrderId;
/**
* 1同意2拒绝
*/
private Integer isAgree;
}
...@@ -12,6 +12,7 @@ import co.elastic.clients.json.JsonData; ...@@ -12,6 +12,7 @@ import co.elastic.clients.json.JsonData;
import com.wwdz.ch.db.bean.EsPageInfo; import com.wwdz.ch.db.bean.EsPageInfo;
import com.wwdz.ch.db.bean.ItemOfEs; import com.wwdz.ch.db.bean.ItemOfEs;
import com.wwdz.ch.db.domain.Item; import com.wwdz.ch.db.domain.Item;
import com.wwdz.ch.db.domain.distribution.SupplierItem;
import com.wwdz.ch.db.dto.request.CoinRequestDto; import com.wwdz.ch.db.dto.request.CoinRequestDto;
import com.wwdz.ch.db.dto.request.EsSearchRequestDto; import com.wwdz.ch.db.dto.request.EsSearchRequestDto;
import com.xxdxxs.utils.DateUtils; import com.xxdxxs.utils.DateUtils;
...@@ -107,9 +108,9 @@ public class ItemEsDao { ...@@ -107,9 +108,9 @@ public class ItemEsDao {
Query cidQuery = TermQuery.of(t->t.field("cid").value(esSearchRequestDto.getCid()))._toQuery(); Query cidQuery = TermQuery.of(t->t.field("cid").value(esSearchRequestDto.getCid()))._toQuery();
build.filter(cidQuery); build.filter(cidQuery);
} }
//只查询权限为公开的商品 /* //只查询权限为公开的商品
Query viewPermissionQuery = TermQuery.of(t->t.field("viewPermission").value(0))._toQuery(); Query viewPermissionQuery = TermQuery.of(t->t.field("viewPermission").value(0))._toQuery();
build.filter(viewPermissionQuery); build.filter(viewPermissionQuery);*/
if(StringUtils.hasLength(esSearchRequestDto.getContent())) { if(StringUtils.hasLength(esSearchRequestDto.getContent())) {
Query matchQuery = MatchQuery.of(m -> m Query matchQuery = MatchQuery.of(m -> m
...@@ -274,14 +275,14 @@ public class ItemEsDao { ...@@ -274,14 +275,14 @@ public class ItemEsDao {
} }
public void create(List<Item> itemList) { public void create(List<SupplierItem> supplierItemList) {
// 批量添加数据 // 批量添加数据
List<BulkOperation> opts = new ArrayList<>(); List<BulkOperation> opts = new ArrayList<>();
for (Item item : itemList) { for (SupplierItem supplierItem : supplierItemList) {
CreateOperation<Item> optObj = new CreateOperation.Builder<Item>() CreateOperation<SupplierItem> optObj = new CreateOperation.Builder<SupplierItem>()
.index(INDEX) .index(INDEX)
.id(String.valueOf(item.getId())) .id(String.valueOf(supplierItem.getId()))
.document(item) .document(supplierItem)
.build(); .build();
BulkOperation opt = new BulkOperation.Builder() BulkOperation opt = new BulkOperation.Builder()
.create(optObj) .create(optObj)
...@@ -303,24 +304,24 @@ public class ItemEsDao { ...@@ -303,24 +304,24 @@ public class ItemEsDao {
/** /**
* 更新或创建 * 更新或创建
* @param item * @param supplierItem
*/ */
public void upsert(Item item) { public void upsert(SupplierItem supplierItem) {
try { try {
IndexRequest indexRequest = new IndexRequest.Builder() IndexRequest indexRequest = new IndexRequest.Builder()
.index(INDEX) .index(INDEX)
.id(String.valueOf(item.getId())) .id(String.valueOf(supplierItem.getId()))
.document(item) .document(supplierItem)
.build(); .build();
IndexResponse indexResponse = elasticsearchClient.index(indexRequest); IndexResponse indexResponse = elasticsearchClient.index(indexRequest);
logger.info("indexResponse ={}", indexResponse); logger.info("indexResponse ={}", indexResponse);
if (indexResponse.shards().successful().intValue() == 1 ) { if (indexResponse.shards().successful().intValue() == 1 ) {
logger.info("ES upsert 数据成功 : {} ", item.getId()); logger.info("ES upsert 数据成功 : {} ", supplierItem.getId());
} else { } else {
logger.error("ES upsert 数据失败 : {} ", item.getId()); logger.error("ES upsert 数据失败 : {} ", supplierItem.getId());
} }
} catch (IOException e) { } catch (IOException e) {
logger.info("ES upsert 数据 content :{} error" , item.getId(), e); logger.info("ES upsert 数据 content :{} error" , supplierItem.getId(), e);
} }
} }
......
package com.wwdz.ch.db.impl.distribution;
import com.wwdz.ch.db.dao.distribution.DistributionOrderDetailDao;
import com.wwdz.ch.db.domain.distribution.DistributionOrderDetail;
import com.wwdz.ch.db.domain.distribution.DistributionOrderDetailExample;
import com.wwdz.ch.db.mapper.distribution.DistributionOrderDetailMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
@Repository
public class DistributionOrderDetailDaoImpl implements DistributionOrderDetailDao {
@Autowired
DistributionOrderDetailMapper distributionOrderDetailMapper;
@Override
public int insert(DistributionOrderDetail distributionOrderDetail) {
distributionOrderDetail.setCreateTime(new Date());
return distributionOrderDetailMapper.insert(distributionOrderDetail);
}
@Override
public List<DistributionOrderDetail> findByOrderId(String orderId) {
DistributionOrderDetailExample example = new DistributionOrderDetailExample();
DistributionOrderDetailExample.Criteria criteria = example.createCriteria();
criteria.andDistributionOrderIdEqualTo(orderId);
return distributionOrderDetailMapper.selectByExampleWithBLOBs(example);
}
}
...@@ -2,8 +2,11 @@ package com.wwdz.ch.db.impl.distribution; ...@@ -2,8 +2,11 @@ package com.wwdz.ch.db.impl.distribution;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.wwdz.ch.db.dao.distribution.SupplierItemDao; import com.wwdz.ch.db.dao.distribution.SupplierItemDao;
import com.wwdz.ch.db.domain.Item;
import com.wwdz.ch.db.domain.ItemExample;
import com.wwdz.ch.db.domain.distribution.SupplierItem; import com.wwdz.ch.db.domain.distribution.SupplierItem;
import com.wwdz.ch.db.domain.distribution.SupplierItemExample; import com.wwdz.ch.db.domain.distribution.SupplierItemExample;
import com.wwdz.ch.db.dto.request.CoinRequestDto;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto; import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
import com.wwdz.ch.db.mapper.distribution.SupplierItemMapper; import com.wwdz.ch.db.mapper.distribution.SupplierItemMapper;
import com.xxdxxs.db.component.JdbcHelper; import com.xxdxxs.db.component.JdbcHelper;
...@@ -282,4 +285,17 @@ public class SupplierItemDaoImpl implements SupplierItemDao { ...@@ -282,4 +285,17 @@ public class SupplierItemDaoImpl implements SupplierItemDao {
PageHelper.startPage(dto.getPage(), dto.getLimit()); PageHelper.startPage(dto.getPage(), dto.getLimit());
return supplierItemMapper.selectByExampleSelective(supplierItemExample, SupplierItem.Column.id); return supplierItemMapper.selectByExampleSelective(supplierItemExample, SupplierItem.Column.id);
} }
@Override
public List<SupplierItem> findListByPage(SupplierItemRequestDto dto) {
SupplierItemExample example = new SupplierItemExample();
SupplierItemExample.Criteria criteria = example.createCriteria();
example.setOrderByClause("create_time asc");
JdbcHelper.ifPresent(dto.getStartUpdateTime(), criteria::andUpdateTimeGreaterThan);
JdbcHelper.ifPresent(dto.getEndUpdateTime(), criteria::andUpdateTimeLessThanOrEqualTo);
JdbcHelper.ifPresent(dto.getIsDeleted(), criteria::andIsDeletedEqualTo);
PageHelper.startPage(dto.getPage(), dto.getLimit());
return supplierItemMapper.selectByExampleWithBLOBs(example);
}
} }
package com.wwdz.ch.db.impl.exchange;
import com.github.pagehelper.PageHelper;
import com.wwdz.ch.db.dao.exchange.ExchangeApplyOrderDao;
import com.wwdz.ch.db.domain.distribution.ExchangeApplyOrder;
import com.wwdz.ch.db.domain.distribution.ExchangeApplyOrderExample;
import com.wwdz.ch.db.dto.request.exchange.ExchangeApplyOrderRequestDto;
import com.wwdz.ch.db.mapper.distribution.ExchangeApplyOrderMapper;
import com.xxdxxs.db.component.JdbcHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
@Repository
public class ExchangeApplyOrderDaoImpl implements ExchangeApplyOrderDao {
@Autowired
ExchangeApplyOrderMapper exchangeApplyOrderMapper;
@Override
public int insert(ExchangeApplyOrder exchangeApplyOrder) {
return exchangeApplyOrderMapper.insert(exchangeApplyOrder);
}
@Override
public List<ExchangeApplyOrder> findByPage(ExchangeApplyOrderRequestDto dto) {
ExchangeApplyOrderExample example = new ExchangeApplyOrderExample();
ExchangeApplyOrderExample.Criteria criteria = example.createCriteria();
JdbcHelper.ifPresent(dto.getExchangeAppluOrderId(), criteria::andExchangeApplyOrderIdEqualTo);
JdbcHelper.ifPresent(dto.getUserId(), criteria::andUserIdEqualTo);
JdbcHelper.ifPresent(dto.getTargetUserId(), criteria::andTargetUserIdEqualTo);
JdbcHelper.ifPresent(dto.getState(), criteria::andStateEqualTo);
example.setOrderByClause(" update_time desc");
PageHelper.startPage(dto.getPage(), dto.getLimit());
return exchangeApplyOrderMapper.selectByExample(example);
}
@Override
public ExchangeApplyOrder findByOrderId(String orderId) {
ExchangeApplyOrderExample example = new ExchangeApplyOrderExample();
ExchangeApplyOrderExample.Criteria criteria = example.createCriteria();
criteria.andExchangeApplyOrderIdEqualTo(orderId);
return exchangeApplyOrderMapper.selectOneByExample(example);
}
@Override
public long countPreHandleOrderOfCommit(long userId) {
ExchangeApplyOrderExample example = new ExchangeApplyOrderExample();
ExchangeApplyOrderExample.Criteria criteria = example.createCriteria();
criteria.andUserIdEqualTo(userId);
criteria.andStateEqualTo(0);
return exchangeApplyOrderMapper.countByExample(example);
}
@Override
public long countPreHandleOrderOfReceive(long targetUserId) {
ExchangeApplyOrderExample example = new ExchangeApplyOrderExample();
ExchangeApplyOrderExample.Criteria criteria = example.createCriteria();
criteria.andTargetUserIdEqualTo(targetUserId);
criteria.andStateEqualTo(0);
return exchangeApplyOrderMapper.countByExample(example);
}
@Override
public int update(ExchangeApplyOrder exchangeApplyOrder) {
ExchangeApplyOrderExample example = new ExchangeApplyOrderExample();
ExchangeApplyOrderExample.Criteria criteria = example.createCriteria();
return exchangeApplyOrderMapper.updateByExampleSelective(exchangeApplyOrder, example);
}
@Override
public int updateState(String orderId, int state) {
ExchangeApplyOrderExample example = new ExchangeApplyOrderExample();
ExchangeApplyOrderExample.Criteria criteria = example.createCriteria();
criteria.andExchangeApplyOrderIdEqualTo(orderId);
ExchangeApplyOrder exchangeApplyOrder = new ExchangeApplyOrder();
exchangeApplyOrder.setState(state);
exchangeApplyOrder.setUpdateTime(new Date());
return exchangeApplyOrderMapper.updateByExampleSelective(exchangeApplyOrder, example);
}
}
package com.wwdz.ch.db.impl.exchange;
import com.github.pagehelper.PageHelper;
import com.wwdz.ch.db.dao.exchange.ExchangeApplyOrderDetailDao;
import com.wwdz.ch.db.domain.distribution.ExchangeApplyOrderDetail;
import com.wwdz.ch.db.domain.distribution.ExchangeApplyOrderDetailExample;
import com.wwdz.ch.db.domain.distribution.ExchangeApplyOrderExample;
import com.wwdz.ch.db.mapper.distribution.ExchangeApplyOrderDetailMapper;
import com.xxdxxs.db.component.JdbcHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
@Repository
public class ExchangeApplyOrderDetailDaoImpl implements ExchangeApplyOrderDetailDao {
@Autowired
ExchangeApplyOrderDetailMapper exchangeApplyOrderDetailMapper;
@Override
public int insert(ExchangeApplyOrderDetail exchangeApplyOrderDetail) {
return exchangeApplyOrderDetailMapper.insert(exchangeApplyOrderDetail);
}
@Override
public List<ExchangeApplyOrderDetail> findByOrderId(String orderId) {
ExchangeApplyOrderDetailExample example = new ExchangeApplyOrderDetailExample();
ExchangeApplyOrderDetailExample.Criteria criteria = example.createCriteria();
criteria.andExchangeApplyOrderIdEqualTo(orderId);
return exchangeApplyOrderDetailMapper.selectByExample(example);
}
@Override
public boolean updateInValid(String orderId) {
ExchangeApplyOrderDetailExample example = new ExchangeApplyOrderDetailExample();
ExchangeApplyOrderDetailExample.Criteria criteria = example.createCriteria();
criteria.andExchangeApplyOrderIdEqualTo(orderId);
ExchangeApplyOrderDetail exchangeApplyOrderDetail = new ExchangeApplyOrderDetail();
exchangeApplyOrderDetail.setIsValid(false);
exchangeApplyOrderDetail.setUpdateTime(new Date());
return exchangeApplyOrderDetailMapper.updateByExampleSelective(exchangeApplyOrderDetail, example) > 0;
}
}
package com.wwdz.ch.db.mapper.distribution;
import com.wwdz.ch.db.domain.distribution.ExchangeApplyOrderDetail;
import com.wwdz.ch.db.domain.distribution.ExchangeApplyOrderDetailExample;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface ExchangeApplyOrderDetailMapper {
long countByExample(ExchangeApplyOrderDetailExample example);
int deleteByExample(ExchangeApplyOrderDetailExample example);
int deleteByPrimaryKey(Integer id);
int insert(ExchangeApplyOrderDetail record);
int insertSelective(ExchangeApplyOrderDetail record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table exchange_apply_order_detail
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
ExchangeApplyOrderDetail selectOneByExample(ExchangeApplyOrderDetailExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table exchange_apply_order_detail
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
ExchangeApplyOrderDetail selectOneByExampleSelective(@Param("example") ExchangeApplyOrderDetailExample example, @Param("selective") ExchangeApplyOrderDetail.Column ... selective);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table exchange_apply_order_detail
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
List<ExchangeApplyOrderDetail> selectByExampleSelective(@Param("example") ExchangeApplyOrderDetailExample example, @Param("selective") ExchangeApplyOrderDetail.Column ... selective);
List<ExchangeApplyOrderDetail> selectByExample(ExchangeApplyOrderDetailExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table exchange_apply_order_detail
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
ExchangeApplyOrderDetail selectByPrimaryKeySelective(@Param("id") Integer id, @Param("selective") ExchangeApplyOrderDetail.Column ... selective);
ExchangeApplyOrderDetail selectByPrimaryKey(Integer id);
int updateByExampleSelective(@Param("record") ExchangeApplyOrderDetail record, @Param("example") ExchangeApplyOrderDetailExample example);
int updateByExample(@Param("record") ExchangeApplyOrderDetail record, @Param("example") ExchangeApplyOrderDetailExample example);
int updateByPrimaryKeySelective(ExchangeApplyOrderDetail record);
int updateByPrimaryKey(ExchangeApplyOrderDetail record);
}
\ No newline at end of file
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