From f097de7733a707a0ec78a9669b60bf789b7fca71 Mon Sep 17 00:00:00 2001 From: liyj <1617420630@qq.com> Date: Mon, 7 Jul 2025 18:18:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=80=9D=E8=BF=85=E5=90=8C=E6=AD=A5=E5=93=81?= =?UTF-8?q?=E7=89=8C=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/small/client/Utils/HttpUtils.java | 8 ++- .../java/com/small/client/dao/BaseDao.java | 32 +++++++++++- .../java/com/small/client/dao/SxDataDao.java | 49 +++++++++++++++---- .../com/small/client/dto/ClsBrandDto.java | 19 +++++++ .../com/small/client/dto/SxCategoryModel.java | 2 + .../service/SxDataAbst/SxDataAbstService.java | 16 ++---- 6 files changed, 98 insertions(+), 28 deletions(-) create mode 100644 client/src/main/java/com/small/client/dto/ClsBrandDto.java diff --git a/client/src/main/java/com/small/client/Utils/HttpUtils.java b/client/src/main/java/com/small/client/Utils/HttpUtils.java index baaae7c3..9a6293e8 100644 --- a/client/src/main/java/com/small/client/Utils/HttpUtils.java +++ b/client/src/main/java/com/small/client/Utils/HttpUtils.java @@ -1,19 +1,14 @@ package com.small.client.Utils; -import cn.hutool.json.JSON; -import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.small.client.dto.StoreDbConfig; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; -import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; -import java.util.Map; @Slf4j public class HttpUtils { @@ -47,6 +42,9 @@ public class HttpUtils { public static final String URL_SYNC_ACTIVE_SHOP="/shop/sync/third/syncAtiveShop";//同步活动商品到服务器 + public static final String URL_SYNC_REFRESH="/shop/sync/third/syncRefreshTime";//同步记录刷新时间 + + public static String postData(RestTemplate restTemplate, String url,Object modelObject){ // 创建表单参数 // MultiValueMap map = new LinkedMultiValueMap<>(); diff --git a/client/src/main/java/com/small/client/dao/BaseDao.java b/client/src/main/java/com/small/client/dao/BaseDao.java index 38962228..47ce2050 100644 --- a/client/src/main/java/com/small/client/dao/BaseDao.java +++ b/client/src/main/java/com/small/client/dao/BaseDao.java @@ -2,8 +2,6 @@ package com.small.client.dao; import com.microsoft.sqlserver.jdbc.SQLServerDataSource; import com.microsoft.sqlserver.jdbc.SQLServerException; - -import com.small.client.dto.DataBaseInfo; import com.small.client.dto.ResultDto; import lombok.extern.slf4j.Slf4j; @@ -488,4 +486,34 @@ public class BaseDao { } + public ResultDto getclsMapBrand(String ip, String username, String password,Integer portNumber, String dataBaseName){ + Connection connection=getConnection(ip,username,password,portNumber,dataBaseName); + String sql= "select tb.code_name,cls.item_clsname\n" + + "from\n" + + "(\n" + + "select * \n" + + " from(\n" + + " select \n" + + " ROW_NUMBER() OVER(partition by b.item_clsno order by item_no) as rn,b.item_clsno,b.item_brand\n" + + " from t_bd_item_info b\n" + + " )t where rn=1\n" + + ")cb left join T_BD_BASE_CODE tb on cb.item_brand=tb.code_id\n" + + "left join t_bd_item_cls cls on cb.item_clsno=cls.item_clsno" ; + sql=String.format(sql); + 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.baseFindListJoin",e.getMessage()); + throw new RuntimeException(e); + } + resultDto.setResultSet(rs); + resultDto.setConnection(connection); + return resultDto; + } + + } diff --git a/client/src/main/java/com/small/client/dao/SxDataDao.java b/client/src/main/java/com/small/client/dao/SxDataDao.java index d3daac7b..43139827 100644 --- a/client/src/main/java/com/small/client/dao/SxDataDao.java +++ b/client/src/main/java/com/small/client/dao/SxDataDao.java @@ -2,20 +2,17 @@ package com.small.client.dao; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import com.small.client.Utils.BigDecimalFormatter; import com.small.client.dto.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.math.NumberUtils; -import org.apache.commons.lang3.time.DateUtils; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.math.RoundingMode; import java.sql.*; import java.util.*; -import java.util.Date; /** * 考虑到每个思迅软件都是自己的数据,所以采用动态获取的方式获取数据 @@ -228,7 +225,7 @@ public class SxDataDao extends BaseDao{ sxSyncGoods.setValid_days(getStopDate(rs));//保质期 todo stop_date-build_date? sxSyncGoods.setItem_brand_name(rs.getString("item_brandname")); - sxSyncGoods.setItemBrand(rs.getString("item_brand")); + sxSyncGoods.setItemBrand(rs.getString("item_brand").trim()); sxSyncGoods.setItem_clsno(rs.getString("item_clsno").trim()); sxSyncGoods.setItem_size(rs.getString("item_size")); @@ -269,8 +266,8 @@ public class SxDataDao extends BaseDao{ int cardStatus=rs.getInt("card_status"); if(cardStatus!=1){ sxSyncVip.setVip_name(rs.getString("vip_name"));//会员名称 - sxSyncVip.setVip_sex(rs.getString("vip_sex"));//会员名称 - sxSyncVip.setMobile(rs.getString("mobile"));//会员名称 + sxSyncVip.setVip_sex(rs.getString("vip_sex").trim());//性别 + sxSyncVip.setMobile(rs.getString("mobile"));//手机号 sxSyncVip.setBirthday(rs.getString("birthday"));//会员生日 sxSyncVip.setCard_type(rs.getString("card_type")==null?"v1":rs.getString("card_type"));//会员生日 sxSyncVip.setCard_no(rs.getString("card_id"));//会员卡号 @@ -325,11 +322,11 @@ public class SxDataDao extends BaseDao{ try { while (rs.next()) { BrandModel brandModel=new BrandModel(); - brandModel.setBrand_name(rs.getString("code_name")); - brandModel.setBrand_desc(rs.getString("code_name")); - brandModel.setCodeId(rs.getString("code_id")); + brandModel.setBrand_name(rs.getString("code_name").trim()); + brandModel.setBrand_desc(rs.getString("code_name").trim()); + brandModel.setCodeId(rs.getString("code_id").trim()); brandModel.setBrand_image(""); - brandModel.setCategory("0"); + //brandModel.setCategory("0"); brandModel.setBrand_recommend("0");//是否推荐 brandModels.add(brandModel); // log.info(rs.getString("type_no")+"--"+rs.getString("code_name"));//分类编码-分类名称 @@ -682,4 +679,36 @@ public class SxDataDao extends BaseDao{ return activeShopInfos; } + /** + *获取分类品牌映射 + * @param dataBaseInfo + * @return + */ + public List getclsMapBrand(DataBaseInfo dataBaseInfo){ + ResultDto resultDto=getclsMapBrand(dataBaseInfo.getIp() + ,dataBaseInfo.getUserName() + ,dataBaseInfo.getPassword() + ,dataBaseInfo.getDbPort() + ,dataBaseInfo.getDataBaseName()); + ResultSet rs= resultDto.getResultSet(); + List clsBrandDtos=new ArrayList<>(); + try { + while (rs.next()) { + ClsBrandDto clsBrandDto=new ClsBrandDto(); + clsBrandDto.setItemClsname(rs.getString("item_clsname").trim()); + clsBrandDto.setCodeName(rs.getString("code_name").trim()); + clsBrandDtos.add(clsBrandDto); + } + } catch (SQLException e) { + throw new RuntimeException(e); + } finally { + try { + resultDto.getConnection().close(); + } catch (SQLException e) { + throw new RuntimeException(e); + } + } + return clsBrandDtos; + } + } diff --git a/client/src/main/java/com/small/client/dto/ClsBrandDto.java b/client/src/main/java/com/small/client/dto/ClsBrandDto.java new file mode 100644 index 00000000..81326784 --- /dev/null +++ b/client/src/main/java/com/small/client/dto/ClsBrandDto.java @@ -0,0 +1,19 @@ +package com.small.client.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class ClsBrandDto implements Serializable { + + + @ApiModelProperty(value = "分类名称") + private String itemClsname; + + @ApiModelProperty(value = "品牌名称") + private String codeName; + + +} diff --git a/client/src/main/java/com/small/client/dto/SxCategoryModel.java b/client/src/main/java/com/small/client/dto/SxCategoryModel.java index 168e5b9b..face49ee 100644 --- a/client/src/main/java/com/small/client/dto/SxCategoryModel.java +++ b/client/src/main/java/com/small/client/dto/SxCategoryModel.java @@ -29,4 +29,6 @@ public class SxCategoryModel { @ApiModelProperty(value = "第二级父类") private String second_category_name; + @ApiModelProperty(value = "品牌名称") + private String brandName; } diff --git a/client/src/main/java/com/small/client/service/SxDataAbst/SxDataAbstService.java b/client/src/main/java/com/small/client/service/SxDataAbst/SxDataAbstService.java index dd08a61a..2883f31b 100644 --- a/client/src/main/java/com/small/client/service/SxDataAbst/SxDataAbstService.java +++ b/client/src/main/java/com/small/client/service/SxDataAbst/SxDataAbstService.java @@ -7,12 +7,10 @@ import com.small.client.dao.SxDataDao; import com.small.client.dto.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.time.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; -import java.text.ParseException; import java.util.*; import java.util.stream.Collectors; @@ -35,10 +33,10 @@ public abstract class SxDataAbstService { syncThirdMemberReq = new SyncThirdMemberReq(); syncThirdMemberReq.setUser_nickname(sxSyncVip.getVip_name()); syncThirdMemberReq.setUser_realname(sxSyncVip.getVip_name()); - if ("男".equals(sxSyncVip.getVip_name())) {//todo 需要确认数据是不是这样判断 + if ("男".equals(sxSyncVip.getVip_sex())) {//todo 需要确认数据是不是这样判断 syncThirdMemberReq.setUser_gender(1); } - if ("男".equals(sxSyncVip.getVip_name())) { + if ("女".equals(sxSyncVip.getVip_sex())) { syncThirdMemberReq.setUser_gender(2); } syncThirdMemberReq.setUser_mobile(sxSyncVip.getMobile()); @@ -48,12 +46,7 @@ public abstract class SxDataAbstService { syncThirdMemberReq.setUser_points(sxSyncVip.getNow_acc_num()); syncThirdMemberReq.setUser_money(sxSyncVip.getResidual_amt()); if(sxSyncVip.getVip_date()!=null){ - try { - syncThirdMemberReq.setJoin_time(DateUtils.parseDate(sxSyncVip.getVip_date())); - } catch (ParseException e) { - log.info("时间转换异常{0}",e); - throw new RuntimeException(e); - } + syncThirdMemberReq.setJoin_time(sxSyncVip.getVip_date()); } syncThirdMemberReqList.add(syncThirdMemberReq); } @@ -67,7 +60,7 @@ public abstract class SxDataAbstService { * @param allSxSyncCategories 所有分类 * @return */ - public List ConVToSxCategoryModel(List sxSyncCategories,List allSxSyncCategories) { + public List ConVToSxCategoryModel(List sxSyncCategories,List allSxSyncCategories, Map clsBrandMap) { if(CollectionUtil.isEmpty(sxSyncCategories)){ return new ArrayList<>(); } @@ -79,6 +72,7 @@ public abstract class SxDataAbstService { sxCategoryModel=new SxCategoryModel(); sxCategoryModel.setCategory_image(SxDataDao.DEFAULT_IMG); sxCategoryModel.setCategory_name(sxSyncCategory.getItem_clsname()); + sxCategoryModel.setBrandName(clsBrandMap.get(sxSyncCategory.getItem_clsname())); //寻找父级 if(null!=sxSyncCategory.getCls_parent()){ SxSyncCategory firstNode=getParentNode(allSxSyncCategories,sxSyncCategory.getCls_parent());