思迅初始化与更新区分
This commit is contained in:
parent
485b405434
commit
ff0aed0ad8
@ -385,6 +385,62 @@ public class BaseDao {
|
||||
return resultDto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 全量查询
|
||||
* @param ip
|
||||
* @param username
|
||||
* @param password
|
||||
* @param portNumber
|
||||
* @param dataBaseName
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param where
|
||||
* @param stockOperateWhere
|
||||
* @return
|
||||
*/
|
||||
public ResultDto baseFindAllGoodsListJoinPage(String ip, String username, String password,Integer portNumber, String dataBaseName, int pageNo, int pageSize,
|
||||
String where,String stockOperateWhere){
|
||||
Connection connection=getConnection(ip,username,password,portNumber,dataBaseName);
|
||||
int start=(pageNo-1)*pageSize+1;
|
||||
int end=pageNo*pageSize;
|
||||
String sql="SELECT * " +
|
||||
"FROM (" +
|
||||
" SELECT " +
|
||||
" ROW_NUMBER() OVER(ORDER BY shop.item_clsno, shop.item_no) AS rowIdA," +
|
||||
" shop.*," +
|
||||
" (\n" +
|
||||
" SELECT TOP 1 stock_qty " +
|
||||
" FROM t_im_branch_stock " +
|
||||
" WHERE item_no = shop.item_no " +
|
||||
" ORDER BY oper_date DESC " +
|
||||
" ) as stock_qty,\n" +
|
||||
" (\n" +
|
||||
" SELECT TOP 1 oper_date " +
|
||||
" FROM t_im_branch_stock " +
|
||||
" WHERE item_no = shop.item_no " +
|
||||
" ORDER BY oper_date DESC " +
|
||||
" ) as oper_date " +
|
||||
" FROM t_bd_item_info shop " +
|
||||
" %s " +
|
||||
") t " +
|
||||
"WHERE rowIdA BETWEEN %s AND %s " +
|
||||
"ORDER BY rowIdA;";
|
||||
sql=String.format(sql,where,start,end);
|
||||
log.info(sql);
|
||||
ResultDto resultDto=new ResultDto();
|
||||
ResultSet rs=null;
|
||||
try {
|
||||
PreparedStatement ps= connection.prepareStatement(sql);
|
||||
rs = ps.executeQuery();
|
||||
} catch (SQLException e) {
|
||||
log.info("数据库查询异常方法{},异常信息{}","com.suisung.mall.shop.sixun.dao.BaseDao.baseFindListJoinPage",e.getMessage());
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
resultDto.setResultSet(rs);
|
||||
resultDto.setConnection(connection);
|
||||
return resultDto;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param ip
|
||||
|
||||
@ -127,9 +127,15 @@ public class SxDataDao extends BaseDao{
|
||||
try {
|
||||
while (rs.next()) {
|
||||
sxSyncCategory=new SxSyncCategory();
|
||||
sxSyncCategory.setItem_clsname(rs.getString("item_clsname"));//分类名称
|
||||
sxSyncCategory.setCls_parent(rs.getString("cls_parent"));//父级编码
|
||||
sxSyncCategory.setItem_clsno(rs.getString("item_clsno"));//分类编码
|
||||
if(StringUtils.isNotEmpty(rs.getString("item_clsname"))){
|
||||
sxSyncCategory.setItem_clsname(rs.getString("item_clsname").trim());//分类名称
|
||||
}
|
||||
if(StringUtils.isNotEmpty(rs.getString("cls_parent"))){
|
||||
sxSyncCategory.setCls_parent(rs.getString("cls_parent").trim());//父级编码
|
||||
}
|
||||
if(StringUtils.isNotEmpty(rs.getString("item_clsno"))){
|
||||
sxSyncCategory.setItem_clsno(rs.getString("item_clsno").trim());//分类编码
|
||||
}
|
||||
// System.out.printf(rs.getString("item_clsno"));//分类编码
|
||||
// log.info(rs.getString("item_clsname")+"\t");//分类名称
|
||||
//log.info(rs.getString("cls_parent")+"\t");//父级编码
|
||||
@ -203,13 +209,22 @@ public class SxDataDao extends BaseDao{
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
*/
|
||||
public List<SxSyncGoods> findBditemInfoListPage(DataBaseInfo dataBaseInfo,int pageNo,int pageSize){
|
||||
public List<SxSyncGoods> findBditemInfoListPage(DataBaseInfo dataBaseInfo,int pageNo,int pageSize,boolean isAll){
|
||||
String stockOperateWhere="";
|
||||
if(StringUtils.isNotEmpty(dataBaseInfo.getStockOperateWhere())){
|
||||
stockOperateWhere=" where "+dataBaseInfo.getStockOperateWhere();
|
||||
}
|
||||
ResultDto resultDto=baseFindGoodsListJoinPage(dataBaseInfo.getIp(),dataBaseInfo.getUserName(),dataBaseInfo.getPassword(),dataBaseInfo.getDbPort(),dataBaseInfo.getDataBaseName()
|
||||
,pageNo,pageSize,dataBaseInfo.getWhere()==null?DEFALTWHERE:dataBaseInfo.getWhere(),stockOperateWhere);
|
||||
|
||||
ResultDto resultDto=null;
|
||||
if(!isAll){
|
||||
resultDto=baseFindGoodsListJoinPage(dataBaseInfo.getIp(),dataBaseInfo.getUserName(),dataBaseInfo.getPassword(),dataBaseInfo.getDbPort(),dataBaseInfo.getDataBaseName()
|
||||
,pageNo,pageSize,dataBaseInfo.getWhere()==null?DEFALTWHERE:dataBaseInfo.getWhere(),stockOperateWhere);
|
||||
}else {
|
||||
resultDto=baseFindAllGoodsListJoinPage(dataBaseInfo.getIp(),dataBaseInfo.getUserName(),dataBaseInfo.getPassword(),dataBaseInfo.getDbPort(),dataBaseInfo.getDataBaseName()
|
||||
,pageNo,pageSize,dataBaseInfo.getWhere()==null?DEFALTWHERE:dataBaseInfo.getWhere(),stockOperateWhere);
|
||||
}
|
||||
|
||||
|
||||
ResultSet rs= resultDto.getResultSet();
|
||||
List<SxSyncGoods> sxSyncGoodses=new ArrayList<>();
|
||||
SxSyncGoods sxSyncGoods=null;
|
||||
|
||||
@ -45,4 +45,7 @@ public class ProductQuantityConsumptionDto {
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty(value = "下单时间")
|
||||
private Long saleTime;
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@ public abstract class SxDataAbstService {
|
||||
* @param allSxSyncCategories 所有分类
|
||||
* @return
|
||||
*/
|
||||
public List<SxCategoryModel> ConVToSxCategoryModel(List<SxSyncCategory> sxSyncCategories,List<SxSyncCategory> allSxSyncCategories, Map<String,String> clsBrandMap) {
|
||||
public List<SxCategoryModel> ConVToSxCategoryModel(List<SxSyncCategory> sxSyncCategories,List<SxSyncCategory> allSxSyncCategories, Map<String,String> clsBrandMap) {
|
||||
if(CollectionUtil.isEmpty(sxSyncCategories)){
|
||||
return new ArrayList<>();
|
||||
}
|
||||
@ -69,37 +69,41 @@ public abstract class SxDataAbstService {
|
||||
SxCategoryModel sxCategoryModel=null;
|
||||
while (iterator.hasNext()){
|
||||
SxSyncCategory sxSyncCategory= iterator.next();
|
||||
sxCategoryModel=new SxCategoryModel();
|
||||
sxCategoryModel.setCategory_image(SxDataDao.DEFAULT_IMG);
|
||||
sxCategoryModel.setCategory_name(sxSyncCategory.getItem_clsname());
|
||||
sxCategoryModel.setBrandName(clsBrandMap.get(sxSyncCategory.getItem_clsname()));
|
||||
//寻找父级
|
||||
if(StringUtils.isNotEmpty(sxSyncCategory.getCls_parent())){
|
||||
SxSyncCategory firstNode=getParentNode(allSxSyncCategories,sxSyncCategory.getCls_parent());
|
||||
if(null==firstNode){
|
||||
sxCategoryModel.setFirst_category_name("");
|
||||
sxCategoryModel.setProduct_type(sxCategoryModel.getCategory_name());
|
||||
sxCategoryModels.add(sxCategoryModel);
|
||||
continue;
|
||||
}
|
||||
sxCategoryModel.setParent_name(firstNode.getItem_clsname());//todo 暂时无用
|
||||
//如何存在上级的上级,则上级为第二层,上上及为第一层
|
||||
if(StringUtils.isNotEmpty(firstNode.getCls_parent())) {//还存在上级
|
||||
SxSyncCategory secondNode=getParentNode(allSxSyncCategories,firstNode.getCls_parent());
|
||||
if(null!=secondNode && secondNode.getItem_clsno().equals(firstNode.getCls_parent())){
|
||||
sxCategoryModel.setFirst_category_name(secondNode.getItem_clsname());
|
||||
sxCategoryModel.setSecond_category_name(firstNode.getItem_clsname());
|
||||
try {
|
||||
sxCategoryModel=new SxCategoryModel();
|
||||
sxCategoryModel.setCategory_image(SxDataDao.DEFAULT_IMG);
|
||||
sxCategoryModel.setCategory_name(sxSyncCategory.getItem_clsname());
|
||||
sxCategoryModel.setBrandName(clsBrandMap.get(sxSyncCategory.getItem_clsname()));
|
||||
//寻找父级
|
||||
if(StringUtils.isNotEmpty(sxSyncCategory.getCls_parent())){
|
||||
SxSyncCategory firstNode=getParentNode(allSxSyncCategories,sxSyncCategory.getCls_parent());
|
||||
if(null==firstNode){
|
||||
sxCategoryModel.setFirst_category_name("");
|
||||
sxCategoryModel.setProduct_type(sxCategoryModel.getCategory_name());
|
||||
sxCategoryModels.add(sxCategoryModel);
|
||||
continue;
|
||||
}
|
||||
sxCategoryModel.setParent_name(firstNode.getItem_clsname());//todo 暂时无用
|
||||
//如何存在上级的上级,则上级为第二层,上上及为第一层
|
||||
if(StringUtils.isNotEmpty(firstNode.getCls_parent())) {//还存在上级
|
||||
SxSyncCategory secondNode=getParentNode(allSxSyncCategories,firstNode.getCls_parent());
|
||||
if(null!=secondNode && secondNode.getItem_clsno().equals(firstNode.getCls_parent())){
|
||||
sxCategoryModel.setFirst_category_name(secondNode.getItem_clsname());
|
||||
sxCategoryModel.setSecond_category_name(firstNode.getItem_clsname());
|
||||
}else {
|
||||
sxCategoryModel.setFirst_category_name(firstNode.getItem_clsname());
|
||||
}
|
||||
}else {
|
||||
sxCategoryModel.setFirst_category_name(firstNode.getItem_clsname());
|
||||
}
|
||||
}else {
|
||||
sxCategoryModel.setFirst_category_name(firstNode.getItem_clsname());
|
||||
sxCategoryModel.setFirst_category_name("");
|
||||
}
|
||||
}else {
|
||||
sxCategoryModel.setFirst_category_name("");
|
||||
sxCategoryModel.setProduct_type(sxCategoryModel.getCategory_name());
|
||||
sxCategoryModels.add(sxCategoryModel);
|
||||
}catch (Exception e){
|
||||
log.info("sxSyncCategory:{}",sxSyncCategory);
|
||||
}
|
||||
sxCategoryModel.setProduct_type(sxCategoryModel.getCategory_name());
|
||||
sxCategoryModels.add(sxCategoryModel);
|
||||
}
|
||||
sxCategoryModels=filterCategories(sxCategoryModels);
|
||||
return sxCategoryModels;
|
||||
@ -132,7 +136,7 @@ public abstract class SxDataAbstService {
|
||||
List<SxSyncCategory> list= sxSyncCategories.stream().filter(cc->
|
||||
cc.getItem_clsno().trim().equals(parentId.trim()))
|
||||
.collect(Collectors.toList());
|
||||
return CollectionUtil.isNotEmpty(list)?list.get(0):new SxSyncCategory();
|
||||
return CollectionUtil.isNotEmpty(list)?list.get(0):null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -334,6 +334,7 @@ public class SxDataServiceImp extends SxDataAbstService implements SxDataService
|
||||
//String where="where 1=1";
|
||||
String where="where shop.status='1'";
|
||||
Integer total =0;
|
||||
boolean isAll=false;
|
||||
String parentId=getAndCacheTree(dataBaseInfo,dataBaseInfo.getCategoryName());//加载缓存用的
|
||||
String fileEndFix="";
|
||||
if(DicEnum.SYNCTYPE_02.getCode().equals(dataBaseInfo.getSyncType())){
|
||||
@ -374,6 +375,7 @@ public class SxDataServiceImp extends SxDataAbstService implements SxDataService
|
||||
total = sxDataDao.getTBditemInfoJoninTotal(dataBaseInfo);
|
||||
}else {
|
||||
where="where b.status='1'";
|
||||
isAll=true;
|
||||
dataBaseInfo.setWhere(where);
|
||||
total = sxDataDao.getTBditemInfoTotal(dataBaseInfo);
|
||||
where="where shop.status='1'";
|
||||
@ -396,7 +398,7 @@ public class SxDataServiceImp extends SxDataAbstService implements SxDataService
|
||||
Date refreshDate= DateUtil.date(tenMinutesAgo);
|
||||
List<String> folders=new ArrayList<>();
|
||||
for (int i = 1; i <=pages; i++) {
|
||||
List<SxSyncGoods> sxSyncGoods= sxDataDao.findBditemInfoListPage(dataBaseInfo,i,SxDataDao.PAGESIZE);
|
||||
List<SxSyncGoods> sxSyncGoods= sxDataDao.findBditemInfoListPage(dataBaseInfo,i,SxDataDao.PAGESIZE,isAll);
|
||||
List<SxGoosModel> sxGoosModelList= CvtToGoosModel(sxSyncGoods,specPriceDtoList);
|
||||
String jsonString="";
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user