xinyb
2024-07-19 d0bd1e17f0265b7190ad3492b79b3ca02b7a983f
微信小程序商品积分功能删除isAllowExchangePointsQuantity
10个文件已修改
197 ■■■■■ 已修改文件
src/com/yc/api/controller/QrCodeController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/com/yc/sdk/miniapp/action/MaCardUserInfo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/com/yc/sdk/shopping/action/Cart.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/com/yc/sdk/shopping/action/Confirm.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/com/yc/sdk/shopping/action/api/MatCode.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/com/yc/sdk/shopping/entity/CartEntity.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/com/yc/sdk/shopping/entity/MatCodeEntity.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/com/yc/sdk/shopping/service/CartImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/com/yc/sdk/shopping/service/MatCodeIfc.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/com/yc/sdk/shopping/service/MatCodeImpl.java 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/com/yc/api/controller/QrCodeController.java
@@ -1722,7 +1722,7 @@
            // 相关商品资料集合 调用也可实现,只是要多发一次请求:
            // http://mp.onbus.cn/shopping/getMatCodeList.do?matcode=xxx&fromdata=3
            // 获取相关商品资料集合
            List<MatCodeEntity> matRelList = matCodeIfc.getMatCodesByRelMat(matCode, shopCcCodeEntity.getShopCcCode(), cltCode,openId,0);
            List<MatCodeEntity> matRelList = matCodeIfc.getMatCodesByRelMat(matCode, shopCcCodeEntity.getShopCcCode(), cltCode,openId);
            List<Map> relMatJsonArray = new ArrayList<>();
            for (int i = 0; matRelList != null && i < matRelList.size(); i++) {
                MatCodeEntity relMatCodeEntity = matRelList.get(i);
src/com/yc/sdk/miniapp/action/MaCardUserInfo.java
@@ -460,7 +460,7 @@
            json.addProperty("isLikeMyCardForMe",isLikeMyCardForMe!=null&& isLikeMyCardForMe.intValue()>0?true:false) ;  //名片点赞总数
            
            //我推荐的商品
            List<MatCodeEntity> matCodeList =  matCodeIfc.getMatCodesByFromUserId(fromUserId,myWxCpUser.getShopCcCode(),cltCode,openId,0) ;
            List<MatCodeEntity> matCodeList =  matCodeIfc.getMatCodesByFromUserId(fromUserId,myWxCpUser.getShopCcCode(),cltCode,openId) ;
            JsonArray matCodeJsonArray = MatCode.getJsonArrayByMatCodeList(matCodeList,request, settingEntity,dataSourceEntity.getDbId()) ;
            json.add("MatCodeList",matCodeJsonArray) ;
            
src/com/yc/sdk/shopping/action/Cart.java
@@ -1392,7 +1392,6 @@
            cartEntityJsonObject.addProperty("Quantity", cartEntity.getQuantity());
            cartEntityJsonObject.addProperty("isAllowExchangePointsQuantity", cartEntity.getIsAllowExchangePointsQuantity());//积分商品类型
            cartEntityJsonObject.addProperty("exchangePointsQuantity", cartEntity.getExchangePointsQuantity());//商品积分
            cartEntityJsonObject.addProperty("skuId1", cartEntity.getSkuId1());
src/com/yc/sdk/shopping/action/Confirm.java
@@ -1391,7 +1391,6 @@
                cartEntityJsonObject.addProperty("PreSendMinutes", cartEntity.getPreSendMinutes());   //多少分钟交货
                cartEntityJsonObject.addProperty("PreSendMinutesDesc", cartEntity.getPreSendMinutesDesc());   //多少分钟交货描述
                cartEntityJsonObject.addProperty("isAllowExchangePointsQuantity", cartEntity.getIsAllowExchangePointsQuantity());   //商品积分类型
                cartEntityJsonObject.addProperty("exchangePointsQuantity", cartEntity.getExchangePointsQuantity());   //商品积分
                cartEntityJsonObject.addProperty("skuId1", cartEntity.getSkuId1());
src/com/yc/sdk/shopping/action/api/MatCode.java
@@ -112,12 +112,6 @@
        if (sort != null && !"".equals(sort)) {
            orderBy = sort + " " + (order == null || "".equals(order) ? " asc " : order);
        }
        //小程序新增允许积分支付:0.不允许积分支付,1.允许部分积分支付,2.允许全部积分支付
        //isAllowExchangePointsQuantity 字段值为0 时,表示现有显示样式不变,只能显示在常规则页面中(不能出现在“积分商城” 页面中)。
        //isAllowExchangePointsQuantity 字段值为1 时,表示该商品需要用部分积分+金额才可以下单购买,在商品列表或明细页上要显示:¥98.00+100积分 样式
        //isAllowExchangePointsQuantity 字段值为2 时 ,表示该商品只能用积分购买,不能出现在常规商品列表和明细中 ,只能出现在“积分商城”的页面中(需要新增“积分商城”页面,该页面显示的样式可以跟常规商品显示页面一样,这个页面只能显示isAllowExchangePointsQuantity 为2的商品)
        Integer isAllowExchangePointsQuantity = (request.getParameter("isAllowExchangePointsQuantity") == null ? 0 : Integer.parseInt(request.getParameter("isAllowExchangePointsQuantity")));
        // search
        String search = (request.getParameter("search") == null ? "" : request.getParameter("search"));
        String matGroup = (request.getParameter("matgroup") == null ? "" : request.getParameter("matgroup"));
@@ -171,7 +165,7 @@
            // 1 显示推荐商品
            if (set.getFrom() != null && "1".equals(set.getFrom())) {
                matCodeList = matCodeIfc.getMatCodesByBestSeller(shopCcCodeEntity.getShopCcCode(),cltCode,openId,isAllowExchangePointsQuantity);
                matCodeList = matCodeIfc.getMatCodesByBestSeller(shopCcCodeEntity.getShopCcCode(),cltCode,openId);
            }
            //long currentTime = System.currentTimeMillis() ;
@@ -185,7 +179,7 @@
                matCodeIfc.setOrderBy(orderBy); // 设置排序显示
                matCodeIfc.setShowSubMatGroup(set.isShowSubMatGroup());
                matCodeList = matCodeIfc.getMatCodesByMatGroup(lastMatGroupProd, Integer.parseInt(limit),
                        Integer.parseInt(curPage), shopCcCodeEntity.getShopCcCode(),cltCode,openId,isAllowExchangePointsQuantity);
                        Integer.parseInt(curPage), shopCcCodeEntity.getShopCcCode(),cltCode,openId);
                //System.out.println(getClass()+" 3..." +(System.currentTimeMillis() - currentTime));
            }
            // 3 按商品显示关联商品
@@ -195,7 +189,7 @@
                if (matCodeProd == null)
                    matCodeProd = (request.getAttribute(SettingKey.MATCODE) == null ? ""
                            : (String) request.getAttribute(SettingKey.MATCODE));
                matCodeList = matCodeIfc.getMatCodesByRelMat(matCodeProd, shopCcCodeEntity.getShopCcCode(),cltCode,openId,isAllowExchangePointsQuantity);
                matCodeList = matCodeIfc.getMatCodesByRelMat(matCodeProd, shopCcCodeEntity.getShopCcCode(),cltCode,openId);
            }
            // 4 按品牌显示商品
@@ -205,13 +199,13 @@
                String lastBrand = myBrands[myBrands.length - 1];
                matCodeIfc.setOrderBy(orderBy); // 设置排序显示
                matCodeList = matCodeIfc.getMatCodesByBrand(lastBrand, Integer.parseInt(limit),
                        Integer.parseInt(curPage), shopCcCodeEntity.getShopCcCode(),cltCode,openId,isAllowExchangePointsQuantity);
                        Integer.parseInt(curPage), shopCcCodeEntity.getShopCcCode(),cltCode,openId);
            }
            // 5 按搜索显示结果
            if (set.getFrom() != null && "5".equals(set.getFrom())) {
                matCodeIfc.setOrderBy(orderBy); // 设置排序显示
                matCodeList = matCodeIfc.getMatCodesBySearch(search, matGroup, isSearchSubMatGroup, isDescription,
                        Integer.parseInt(limit), Integer.parseInt(curPage), couponCode, shopCcCodeEntity.getShopCcCode(), false,cltCode,openId,isAllowExchangePointsQuantity);
                        Integer.parseInt(limit), Integer.parseInt(curPage), couponCode, shopCcCodeEntity.getShopCcCode(), false,cltCode,openId);
                if (matCodeList == null || matCodeList.size() == 0) {
                    if (curPage != null && curPage.equals("1")) {
                        errJson.addProperty("warning", "没有搜索到符合条件的商品。");
@@ -226,7 +220,7 @@
            if (set.getFrom() != null && "6".equals(set.getFrom())) {
                matCodeIfc.setOrderBy(orderBy); // 设置排序显示
                matCodeList = matCodeIfc.getMatCodesBySpecialOffer(Integer.parseInt(limit), Integer.parseInt(curPage),
                        shopCcCodeEntity.getShopCcCode(),cltCode,openId,isAllowExchangePointsQuantity);
                        shopCcCodeEntity.getShopCcCode(),cltCode,openId);
            }
            // 7 按维护商品分组显示 710126 (只取第一个分组的内容)
@@ -239,13 +233,13 @@
                }
                
                matCodeIfc.setOrderBy(" f.SortOrder asc,e.DocItem asc "); // 设置排序显示
                matCodeList = matCodeIfc.getMatCodesByShowGroup(set.getShowGroupDocCode(), shopCcCodeEntity.getShopCcCode(),cltCode,openId,isAllowExchangePointsQuantity);
                matCodeList = matCodeIfc.getMatCodesByShowGroup(set.getShowGroupDocCode(), shopCcCodeEntity.getShopCcCode(),cltCode,openId);
            }
            
            // 8 按维护商品分组显示 710126  (显示所有分组及其内容)
            if (set.getFrom() != null && "8".equals(set.getFrom())) {
                matCodeIfc.setOrderBy(" cast(isnull(f.SortOrder,0) as varchar(10)) +'.'+ f.DocCode asc,e.DocItem asc "); // 设置排序显示
                List<MatCodeEntity> matCodeListByShowGroupName = matCodeIfc.getMatCodesByShowGroup(null, shopCcCodeEntity.getShopCcCode(),cltCode,openId,isAllowExchangePointsQuantity);
                List<MatCodeEntity> matCodeListByShowGroupName = matCodeIfc.getMatCodesByShowGroup(null, shopCcCodeEntity.getShopCcCode(),cltCode,openId);
                
                JsonArray matGroupNameJsonArray = new JsonArray();
                
@@ -305,7 +299,7 @@
                matCodeIfc.setOrderBy(" cast(isnull(f.SortOrder,0) as varchar(10)) +'.'+ f.DocCode asc,e.DocItem asc "); // 设置排序显示
                JsonArray matGroupNameJsonArray = new JsonArray();
                List<MatCodeEntity> matCodeListByShowGroupName = matCodeIfc.getMatCodesByPrepaidDepositGroup(
                        null, shopCcCodeEntity.getShopCcCode(),cltCode,openId,isAllowExchangePointsQuantity);
                        null, shopCcCodeEntity.getShopCcCode(),cltCode,openId);
                
                // 根据GroupName去重
                List<MatCodeEntity> groupList = matCodeListByShowGroupName.stream().collect(
@@ -358,12 +352,12 @@
            
            //10.取所有物料列表,用于制作海报时可选择任何商品 作为海报的二维码链接 
            if (set.getFrom() != null && "10".equals(set.getFrom())) {
                matCodeList =  matCodeIfc.getMatCodes(null,null,shopCcCodeEntity.getShopCcCode(),null,cltCode,openId,isAllowExchangePointsQuantity) ;
                matCodeList =  matCodeIfc.getMatCodes(null,null,shopCcCodeEntity.getShopCcCode(),null,cltCode,openId) ;
            }
            
            //11.取名片用户推荐的商品列表 
            if (set.getFrom() != null && "11".equals(set.getFrom())) {
                matCodeList =  matCodeIfc.getMatCodesByFromUserId(fromUserId,shopCcCodeEntity.getShopCcCode(),cltCode,openId,isAllowExchangePointsQuantity) ;
                matCodeList =  matCodeIfc.getMatCodesByFromUserId(fromUserId,shopCcCodeEntity.getShopCcCode(),cltCode,openId) ;
            }
            //积分商城的商品列表
            if (set.getFrom() != null && "12".equals(set.getFrom())) {
@@ -377,11 +371,11 @@
                matCodeIfc.setOrderBy(orderBy); // 设置排序显示
                if (StringUtils.isNotBlank(convertible) && "1".equals(convertible)) {//我能兑换的商品
                    matCodeList = matCodeIfc.getMatCodesBySearchByExchangePoints(search, lastMatGroupProd, Integer.parseInt(limit),
                            Integer.parseInt(curPage), shopCcCodeEntity.getShopCcCode(), cltCode, openId, isAllowExchangePointsQuantity,maxUserPoints);
                            Integer.parseInt(curPage), shopCcCodeEntity.getShopCcCode(), cltCode, openId,maxUserPoints);
                } else {
                    matCodeIfc.setShowSubMatGroup(set.isShowSubMatGroup());
                    matCodeList = matCodeIfc.getMatCodesByExchangePoints(search, lastMatGroupProd, Integer.parseInt(limit),
                            Integer.parseInt(curPage), shopCcCodeEntity.getShopCcCode(), cltCode, openId, isAllowExchangePointsQuantity);
                            Integer.parseInt(curPage), shopCcCodeEntity.getShopCcCode(), cltCode, openId);
                }
            }
            json.add("list", getJsonArrayByMatCodeList(matCodeList, request, settingEntity,dataSourceEntity.getDbId()));
@@ -593,7 +587,6 @@
        jsonObject.addProperty("CartQuantity", matCodeEntity.getCartQuantity());   //购物车数量
        jsonObject.addProperty("isStartupSkuParameters", matCodeEntity.isStartupSkuParameters());   //启用SKU参数
        jsonObject.addProperty("isAllowExchangePointsQuantity", matCodeEntity.getIsAllowExchangePointsQuantity());//商品积分类型。0 价格,1 价格+积分,2 积分
        jsonObject.addProperty("exchangePointsQuantity", matCodeEntity.getExchangePointsQuantity());    //商品积分
        
        return jsonObject ;
@@ -1107,7 +1100,6 @@
        jsonObject.addProperty("PreSendMinutes", matCodeEntity.getPreSendMinutes());   //多少分钟交货
        jsonObject.addProperty("PreSendMinutesDesc", matCodeEntity.getPreSendMinutesDesc());   //多少分钟交货描述
        jsonObject.addProperty("isAllowExchangePointsQuantity", matCodeEntity.getIsAllowExchangePointsQuantity());//商品积分类型。0 价格,1 价格+积分,2 积分
        jsonObject.addProperty("exchangePointsQuantity", matCodeEntity.getExchangePointsQuantity());    //商品积分
        //商品属性
        JsonArray matAttrGroupJsonArray = new JsonArray();
@@ -1137,7 +1129,7 @@
        // 相关商品资料集合 调用也可实现,只是要多发一次请求:
        // http://mp.onbus.cn/shopping/getMatCodeList.do?matcode=xxx&fromdata=3
        // 获取相关商品资料集合
        List<MatCodeEntity> matRelList = matCodeIfc.getMatCodesByRelMat(matCodeEntity.getMatCode(), shopCcCodeEntity.getShopCcCode(),cltCode,openId,0);
        List<MatCodeEntity> matRelList = matCodeIfc.getMatCodesByRelMat(matCodeEntity.getMatCode(), shopCcCodeEntity.getShopCcCode(),cltCode,openId);
        JsonArray relMatJsonArray = new JsonArray();
        for (int i = 0; matRelList != null && i < matRelList.size(); i++) {
            MatCodeEntity relMatCodeEntity = matRelList.get(i);
src/com/yc/sdk/shopping/entity/CartEntity.java
@@ -98,8 +98,7 @@
    private int cartRowCountForMatCode =0 ;  //购物车单个商品总记录数
    private double cartQuantitySumForMatCode = 0 ; //购物车单个商品总数量
        
    private Integer currentCartId ;  //当前新增的记录 cartId
    private Integer isAllowExchangePointsQuantity = 0;//允许积分支付:0.不允许积分支付,1.允许部分积分支付,2.允许全部积分支付
    private Integer currentCartId ;  //当前新增的记录 cartId
    private Integer exchangePointsQuantity = 0;//积分
    
    public int getCartItems() {
@@ -688,15 +687,6 @@
    public void setDateAdded(Date dateAdded) {
        this.dateAdded = dateAdded;
    }
    public Integer getIsAllowExchangePointsQuantity() {
        return isAllowExchangePointsQuantity;
    }
    public void setIsAllowExchangePointsQuantity(Integer isAllowExchangePointsQuantity) {
        this.isAllowExchangePointsQuantity = isAllowExchangePointsQuantity;
    }
    public Integer getExchangePointsQuantity() {
        return exchangePointsQuantity;
    }
src/com/yc/sdk/shopping/entity/MatCodeEntity.java
@@ -101,7 +101,6 @@
    private double stockDigitForSaleable = 0 ; //可用库存数量
    private double StockDigitForUsable = 0 ; //库存总数
    private Boolean isStartupSkuParameters = false ;  //启用SKU参数
    private Integer isAllowExchangePointsQuantity = 0;//允许积分支付:0.不允许积分支付,1.允许部分积分支付,2.允许全部积分支付
    private Integer exchangePointsQuantity = 0;//积分
    
    
@@ -848,14 +847,6 @@
    public void setDescription(String description) {
        this.description = description;
    }
    public Integer getIsAllowExchangePointsQuantity() {
        return isAllowExchangePointsQuantity;
    }
    public void setIsAllowExchangePointsQuantity(Integer isAllowExchangePointsQuantity) {
        this.isAllowExchangePointsQuantity = isAllowExchangePointsQuantity;
    }
    public Integer getExchangePointsQuantity() {
src/com/yc/sdk/shopping/service/CartImpl.java
@@ -268,7 +268,7 @@
                + "     TotalQuantity money,TotalAmount money,TotalWeight money, \n"
                + "     ShopMatCode varchar(50),ShopCcCode varchar(50),Brand varchar(50),isSelected int,\n"
                + "     PreSendMinutes int,PreSendMinutesDesc varchar(50), \n"
                + "     isAllowExchangePointsQuantity int,ExchangePointsQuantity money, \n"
                + "     ExchangePointsQuantity money, \n"
                + "     MaxPreSendMinutes int, MaxPreSendMinutesDesc varchar(50),MaxPreSendDateTime datetime , isStartupGroupBuying int,\n"
                + "     skuId1 int,skuName1 varchar(50),skuId2 int,skuName2 varchar(50),skuId3 int,skuName3 varchar(50),skuId4 int,skuName4 varchar(50),"
                + "     skuId5 int,skuName5 varchar(50),skuId6 int,skuName6 varchar(50),skuId7 int,skuName7 varchar(50),skuId8 int,skuName8 varchar(50),"
@@ -292,7 +292,7 @@
                + " insert into @table(    CartId,UserCode,UserName,SessionId,CltCode,CltName,MatCode,MatName, \n"
                + "     Special,PhotoPath,PhotoPathUrl,BaseUomWeight,RecurringId,OptionJson,OptionText,\n"
                + "     Quantity,Price,Amount,DateAdded,ShopMatCode,ShopCcCode,Brand,isSelected,PreSendMinutes ,PreSendMinutesDesc ,isStartupGroupBuying, \n"
                + "     isAllowExchangePointsQuantity,ExchangePointsQuantity, \n"
                + "     ExchangePointsQuantity, \n"
                + "     skuId1,skuName1,skuId2,skuName2,skuId3,skuName3,skuId4,skuName4,skuId5,skuName5,\n"
                + "     skuId6,skuName6,skuId7,skuName7,skuId8,skuName8,skuId9,skuName9,skuId10,skuName10)  \n"
                + " select null as CartId,null as UserCode,null as UserName,null as SessionId,null as CltCode,null as CltName,b.MatCode,b.MatName, \n"
@@ -300,7 +300,7 @@
                + "     @Quantity as Quantity,b.GroupBuyingPrice as Price,round(isnull(@Quantity,0) * isnull(b.GroupBuyingPrice,0),2) as Amount,\n"
                + "     getdate() as DateAdded,b.ShopMatCode,b.ShopCcCode,b.Brand,1 as isSelected, \n"
                + "     b.PreSendMinutes,dbo.f110503v2 (b.PreSendMinutes) as PreSendMinutesDesc , b.isStartupGroupBuying,\n"
                + "     b.isAllowExchangePointsQuantity,b.ExchangePointsQuantity, \n"
                + "     b.ExchangePointsQuantity, \n"
                + "     @skuId1,@skuName1,@skuId2,@skuName2,@skuId3,@skuName3,@skuId4,@skuName4,@skuId5,@skuName5,\n"
                + "     @skuId6,@skuName6,@skuId7,@skuName7,@skuId8,@skuName8,@skuId9,@skuName9,@skuId10,@skuName10 \n"
                + " from t110503 b \n"
@@ -327,7 +327,7 @@
                + "    a.Quantity,a.Price,a.Amount,a.DateAdded ,a.TotalQuantity,a.TotalAmount ,a.TotalWeight, \n"
                + "    a.ShopMatCode,a.ShopCcCode,a.Brand,a.isSelected, \n"
                + "    a.PreSendMinutes,a.PreSendMinutesDesc,a.MaxPreSendMinutes,a.MaxPreSendMinutesDesc,a.MaxPreSendDateTime,a.isStartupGroupBuying, \n"
                + "    a.isAllowExchangePointsQuantity,a.ExchangePointsQuantity, \n"
                + "    a.ExchangePointsQuantity, \n"
                + "    a.skuId1,a.skuName1,a.skuId2,a.skuName2,a.skuId3,a.skuName3,a.skuId4,a.skuName4,a.skuId5,a.skuName5, \n"
                + "    a.skuId6,a.skuName6,a.skuId7,a.skuName7,a.skuId8,a.skuName8,a.skuId9,a.skuName9,a.skuId10,a.skuName10 \n"
                + " from @table  a \n"; 
@@ -374,21 +374,21 @@
                + "     ShopMatCode varchar(50),ShopCcCode varchar(50),Brand varchar(50),isSelected int,\n"
                + "     PreSendMinutes int,PreSendMinutesDesc varchar(50), \n"
                + "     MaxPreSendMinutes int, MaxPreSendMinutesDesc varchar(50),MaxPreSendDateTime datetime,isStartupGroupBuying int,\n"
                + "     isAllowExchangePointsQuantity int,ExchangePointsQuantity money, \n"
                + "     ExchangePointsQuantity money, \n"
                + "     skuId1 int,skuName1 varchar(50),skuId2 int,skuName2 varchar(50),skuId3 int,skuName3 varchar(50),skuId4 int,skuName4 varchar(50),"
                + "     skuId5 int,skuName5 varchar(50),skuId6 int,skuName6 varchar(50),skuId7 int,skuName7 varchar(50),skuId8 int,skuName8 varchar(50),"
                + "     skuId9 int,skuName9 varchar(50),skuId10 int,skuName10 varchar(50)) ; \n"
                + " insert into @table(    CartId,UserCode,UserName,SessionId,CltCode,CltName,MatCode,MatName, \n"
                + "     Special,PhotoPath,PhotoPathUrl,BaseUomWeight,RecurringId,OptionJson,OptionText,\n"
                + "     Quantity,Price,Amount,DateAdded,ShopMatCode,ShopCcCode,Brand,isSelected,PreSendMinutes ,PreSendMinutesDesc ,isStartupGroupBuying,\n"
                + "     isAllowExchangePointsQuantity,ExchangePointsQuantity, \n"
                + "     ExchangePointsQuantity, \n"
                + "     skuId1,skuName1,skuId2,skuName2,skuId3,skuName3,skuId4,skuName4,skuId5,skuName5,\n"
                + "     skuId6,skuName6,skuId7,skuName7,skuId8,skuName8,skuId9,skuName9,skuId10,skuName10)  \n"
                + " select a.CartId,a.UserCode,a.UserName,a.SessionId,a.CltCode,a.CltName,a.MatCode,b.MatName, \n"
                + "     b.Special,b.PhotoPath,b.PhotoPathUrl,b.BaseUomWeight,a.RecurringId,a.OptionJson,a.OptionText,\n "
                + "     a.Quantity,a.Price,a.Amount,a.DateAdded,b.ShopMatCode,b.ShopCcCode,b.Brand,a.isSelected, \n"
                + "     b.PreSendMinutes,dbo.f110503v2 (b.PreSendMinutes) as PreSendMinutesDesc ,b.isStartupGroupBuying, \n"
                + "     b.isAllowExchangePointsQuantity,b.ExchangePointsQuantity, \n"
                + "     b.ExchangePointsQuantity, \n"
                + "     a.skuId1,a.skuName1,a.skuId2,a.skuName2,a.skuId3,a.skuName3,a.skuId4,a.skuName4,a.skuId5,a.skuName5,\n"
                + "     a.skuId6,a.skuName6,a.skuId7,a.skuName7,a.skuId8,a.skuName8,a.skuId9,a.skuName9,a.skuId10,a.skuName10 \n"
                + " from t710205 a join t110503 b on a.MatCode = b.MatCode \n"
@@ -415,7 +415,7 @@
                + "    a.Quantity,a.Price,a.Amount,a.DateAdded ,a.TotalQuantity,a.TotalAmount ,a.TotalWeight, \n"
                + "    a.ShopMatCode,a.ShopCcCode,a.Brand,a.isSelected, \n"
                + "    a.PreSendMinutes,a.PreSendMinutesDesc,a.MaxPreSendMinutes,a.MaxPreSendMinutesDesc,a.MaxPreSendDateTime ,a.isStartupGroupBuying,\n"
                + "    a.isAllowExchangePointsQuantity,a.ExchangePointsQuantity, \n"
                + "    a.ExchangePointsQuantity, \n"
                + "    a.skuId1,a.skuName1,a.skuId2,a.skuName2,a.skuId3,a.skuName3,a.skuId4,a.skuName4,a.skuId5,a.skuName5, \n"
                + "    a.skuId6,a.skuName6,a.skuId7,a.skuName7,a.skuId8,a.skuName8,a.skuId9,a.skuName9,a.skuId10,a.skuName10 \n"
                + " from @table  a \n"; 
@@ -745,7 +745,6 @@
            cart.setMaxPreSendDateTime(map.get("MaxPreSendDateTime") == null ? null: (Date)map.get("MaxPreSendDateTime"));
            cart.setStartupGroupBuying(map.get("isStartupGroupBuying") != null&&map.get("isStartupGroupBuying").equals(1) ? true:false);
            cart.setIsAllowExchangePointsQuantity(map.get("isAllowExchangePointsQuantity") == null ? 0: (Integer) map.get("isAllowExchangePointsQuantity"));
            if(map.get("ExchangePointsQuantity") == null){
                cart.setExchangePointsQuantity(0);
            } else {
src/com/yc/sdk/shopping/service/MatCodeIfc.java
@@ -13,7 +13,7 @@
     * @param matGroup
     * @return
     */
    public List<MatCodeEntity> getMatCodesByMatGroup(String matGroup,int limit,int page,String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity) ;
    public List<MatCodeEntity> getMatCodesByMatGroup(String matGroup,int limit,int page,String shopCcCode,String cltCode,String openId) ;
    
    /**
     * 获取单个商品资料
@@ -35,20 +35,20 @@
     * @param matCode
     * @return
     */
    public List<MatCodeEntity> getMatCodesByRelMat(String matCode,String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity) ;
    public List<MatCodeEntity> getMatCodesByRelMat(String matCode,String shopCcCode,String cltCode,String openId) ;
    
    /**
     * 取推荐商品(按销量排行取,取前10个)
     * @return
     */
    public List<MatCodeEntity> getMatCodesByBestSeller(String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity) ;
    public List<MatCodeEntity> getMatCodesByBestSeller(String shopCcCode,String cltCode,String openId) ;
    
    /**
     * 按品牌获取商品资料集合
     * @param brand
     * @return
     */
    public List<MatCodeEntity> getMatCodesByBrand(String brandId,int limit,int page,String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity) ;
    public List<MatCodeEntity> getMatCodesByBrand(String brandId,int limit,int page,String shopCcCode,String cltCode,String openId) ;
    /**
     * 按收藏夹获取商品资料集合
@@ -69,7 +69,7 @@
     * @param userCode
     * @return
     */
    public List<MatCodeEntity> getMatCodesByCompare(String userCode,String sessionId,String openId,String cltCode,String shopCcCode,Integer isAllowExchangePointsQuantity);
    public List<MatCodeEntity> getMatCodesByCompare(String userCode,String sessionId,String openId,String cltCode,String shopCcCode);
    /**
     * 按“商品对比” 取出商品资料集合
     * @param userCode
@@ -100,13 +100,13 @@
     * @param page
     * @return
     */
    public List<MatCodeEntity> getMatCodesBySearch(String search,String matGroup ,String isSubMatGroup ,String isDescription,int limit,int page,String couponCode,String shopCcCode,boolean isShowAllWhenBlankSearch,String cltCode,String openId,Integer isAllowExchangePointsQuantity);
    public List<MatCodeEntity> getMatCodesBySearch(String search,String matGroup ,String isSubMatGroup ,String isDescription,int limit,int page,String couponCode,String shopCcCode,boolean isShowAllWhenBlankSearch,String cltCode,String openId);
    /**
     * 获取特价优惠商品资料集合
     * @return
     */
    public List<MatCodeEntity> getMatCodesBySpecialOffer(int limit,int page,String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity);
    public List<MatCodeEntity> getMatCodesBySpecialOffer(int limit,int page,String shopCcCode,String cltCode,String openId);
    
    /**
     * 维护商品分组显示   710126
@@ -115,7 +115,7 @@
     * @param cltCode
     * @return
     */
    public List<MatCodeEntity> getMatCodesByShowGroup(String groupDocCode,String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity);
    public List<MatCodeEntity> getMatCodesByShowGroup(String groupDocCode,String shopCcCode,String cltCode,String openId);
    
    /**
     * 取维护商品分组显示 的名字  710126
@@ -158,7 +158,7 @@
     * @param brand
     * @return
     */
    public List<MatCodeEntity> getMatCodes(String matGroup, String shopMatCode, String shopCcCode,String brand,String cltCode,String openId,Integer isAllowExchangePointsQuantity);
    public List<MatCodeEntity> getMatCodes(String matGroup, String shopMatCode, String shopCcCode,String brand,String cltCode,String openId);
    /**
     * 保存商品资料二维码图片(用于公众号或巴士软件APP) 
@@ -177,7 +177,7 @@
     * @param cltCode
     * @return
     */
    public List<MatCodeEntity> getMatCodesByPrepaidDepositGroup( String prepaidDepositGroupDocCode,    String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity);
    public List<MatCodeEntity> getMatCodesByPrepaidDepositGroup( String prepaidDepositGroupDocCode,    String shopCcCode,String cltCode,String openId);
    /**
     * 获取商品信息(不需要区分 网店)
@@ -192,7 +192,7 @@
     * @param shopCcCode
     * @return
     */
    public List<MatCodeEntity> getMatCodesByFromUserId(String fromUserId, String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity);
    public List<MatCodeEntity> getMatCodesByFromUserId(String fromUserId, String shopCcCode,String cltCode,String openId);
    /**
     * 积分商城的商品列表
@@ -202,9 +202,9 @@
     * @param openId
     * @return
     */
    public List<MatCodeEntity> getMatCodesByExchangePoints(String search,String matGroup,int limit,int page,String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity);
    public List<MatCodeEntity> getMatCodesByExchangePoints(String search,String matGroup,int limit,int page,String shopCcCode,String cltCode,String openId);
    public List<MatCodeEntity> getMatCodesBySearchByExchangePoints(String search,String matGroup,int limit,int page,String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity,Integer maxUserPoints);
    public List<MatCodeEntity> getMatCodesBySearchByExchangePoints(String search,String matGroup,int limit,int page,String shopCcCode,String cltCode,String openId,Integer maxUserPoints);
    /**
     * 保存生成二维码的商品信息 (仅用于公众号)
     * @param shopCcCode
src/com/yc/sdk/shopping/service/MatCodeImpl.java
@@ -56,7 +56,7 @@
    } 
    
    @Override
    public List<MatCodeEntity> getMatCodesByMatGroup(String matGroup,int limit,int page,String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity) {
    public List<MatCodeEntity> getMatCodesByMatGroup(String matGroup,int limit,int page,String shopCcCode,String cltCode,String openId) {
        //if (matGroup == null) return null ;
        String sql = "set nocount on ; \n"
                + " declare @MatGroup varchar(50) =" +GridUtils.prossSqlParm(matGroup)+" \n"
@@ -115,7 +115,7 @@
                + " a.PreSendMinutes,dbo.f110503v2 (a.PreSendMinutes) as PreSendMinutesDesc, \n"
                + " a.MatName2,a.MatName3,a.MatName4,h.CartQuantity,a.QrCode,\n"
                + " a.StockDigitForShoppingSaleable,a.StockDigitForSaleable,a.StockDigitForUsable,a.isStartupSkuParameters, \n"
                + " a.isAllowExchangePointsQuantity,a.ExchangePointsQuantity \n"
                + " a.ExchangePointsQuantity \n"
                + " from t110503 a join t110504 c on a.Brand = c.Brand \n"
                + " left join t710119 d on a.StockStatusID = d.StockStatusID \n"
                + " left join t110601 e on a.ShopCcCode = e.CcCode \n"
@@ -134,8 +134,7 @@
                + "             and isnull(e.Status,0) = 1  \n"
                + "             and (isnull(@ShopCcCode,'') = '' or e.ShopCcCode = @ShopCcCode )) \n";
        }
        sql += " and isnull(a.isAllowExchangePointsQuantity,0) = "+isAllowExchangePointsQuantity+" \n";
        sql += " order by " + (this.getOrderBy()!=null&&! "".equals(this.getOrderBy())?this.getOrderBy()
        sql += " order by " + (this.getOrderBy()!=null&&! "".equals(this.getOrderBy())?this.getOrderBy()
                        : "  case when a.SortOrder is null then 999999 else a.SortOrder end  asc,a.MatCode asc ") + "  \n"
                + " ) t WHERE t.NO  BETWEEN @StartRowNo AND @EndRowNo  \n";
        List<Map<String,Object>> list = null;
@@ -281,7 +280,7 @@
    }
    @Override
    public List<MatCodeEntity> getMatCodesBySearch(String search,String matGroup ,
            String isSubMatGroup ,String isDescription,int limit,int page,String couponCode,String shopCcCode,boolean isShowAllWhenBlankSearch,String cltCode,String openId,Integer isAllowExchangePointsQuantity) {
            String isSubMatGroup ,String isDescription,int limit,int page,String couponCode,String shopCcCode,boolean isShowAllWhenBlankSearch,String cltCode,String openId) {
        if (!isShowAllWhenBlankSearch && (search == null || "".equals(search)) && (couponCode ==null || "".equals(couponCode))   ) return null ;
        String sql = "set nocount on ; \n"
                + " declare @Search varchar(200) ="+GridUtils.prossSqlParm(search)+" ,@MatGroup varchar(50) ="+GridUtils.prossSqlParm(matGroup)+" ; \n"
@@ -382,7 +381,7 @@
                + " a.PreSendMinutes,dbo.f110503v2 (a.PreSendMinutes) as PreSendMinutesDesc, \n"
                + " a.MatName2,a.MatName3,a.MatName4,h.CartQuantity,a.QrCode,\n"
                + " a.StockDigitForShoppingSaleable,a.StockDigitForSaleable,a.StockDigitForUsable,a.isStartupSkuParameters, \n"
                + " a.isAllowExchangePointsQuantity,a.ExchangePointsQuantity \n"
                + " a.ExchangePointsQuantity \n"
                + " from t110503 a join t110504 c on a.Brand = c.Brand \n"
                + " left join t710119 d on a.StockStatusID = d.StockStatusID \n"
                + " left join t110601 e on a.ShopCcCode = e.CcCode \n"
@@ -427,8 +426,7 @@
        if (this.whereOthers != null && !"".equals(this.whereOthers)) {
            sql    += " and (" + this.whereOthers + ") \n" ;
        }
        sql += " and isnull(a.isAllowExchangePointsQuantity,0) = "+isAllowExchangePointsQuantity+"\n";
        sql    +=    " order by " + (this.getOrderBy()!=null&&! "".equals(this.getOrderBy())?this.getOrderBy()
        sql    +=    " order by " + (this.getOrderBy()!=null&&! "".equals(this.getOrderBy())?this.getOrderBy()
                : "  case when a.SortOrder is null then 999999 else a.SortOrder end asc,a.MatCode asc ") + "  \n"
            + " ) t WHERE t.NO  BETWEEN @StartRowNo AND @EndRowNo  \n";
        
@@ -542,7 +540,7 @@
    }
    
    @Override
    public List<MatCodeEntity> getMatCodesByCompare(String userCode,String sessionId,String openId,String cltCode,String shopCcCode,Integer isAllowExchangePointsQuantity) {
    public List<MatCodeEntity> getMatCodesByCompare(String userCode,String sessionId,String openId,String cltCode,String shopCcCode) {
        if (userCode == null ) return null ;
        
        String sql = "set nocount on ; \n"
@@ -813,7 +811,7 @@
    }
    
    @Override
    public List<MatCodeEntity> getMatCodes(String matGroup,String shopMatCode,String shopCcCode,String brand,String cltCode,String openId,Integer isAllowExchangePointsQuantity) {
    public List<MatCodeEntity> getMatCodes(String matGroup,String shopMatCode,String shopCcCode,String brand,String cltCode,String openId) {
        
        String sql = "set nocount on ; \n"
                + " declare @MatGroup varchar(200) = "+GridUtils.prossSqlParm(matGroup)+", @ShopMatCode varchar(200) = "+GridUtils.prossSqlParm(shopMatCode)+" \n"
@@ -838,7 +836,7 @@
                + " a.PreSendMinutes,dbo.f110503v2 (a.PreSendMinutes) as PreSendMinutesDesc, \n"
                + " a.MatName2,a.MatName3,a.MatName4 ,h.CartQuantity, a.QrCode,\n"
                + " a.StockDigitForShoppingSaleable,a.StockDigitForSaleable,a.StockDigitForUsable,a.isStartupSkuParameters, \n"
                + " a.isAllowExchangePointsQuantity,a.ExchangePointsQuantity \n"
                + " a.ExchangePointsQuantity \n"
                + " from t110503 a \n"
                + " join t110504 c on a.Brand = c.Brand \n"
                + " left join t710119 d on a.StockStatusID = d.StockStatusID \n"
@@ -851,8 +849,7 @@
                + " and isnull(c.Status,0) = 1  \n"
                + " and (isnull(@ShopCcCode,'') = '' or a.ShopCcCode in (select list from getinstr( @ShopCcCode))) \n"
                + " and (isnull(@Brand,'') = '' or a.Brand in (select list from getinstr(@brand))) \n"
                + " and isnull(a.MatGroupStatus,0) = 1 \n"
                + " and isnull(a.isAllowExchangePointsQuantity,0) = "+isAllowExchangePointsQuantity+" \n";
                + " and isnull(a.MatGroupStatus,0) = 1 \n";
                //+ " and exists (select 1 from t710104 b join t110501 e on b.MatGroup = e.MatGroup  \n"
                //+ "              where a.DocCode = b.doccode and isnull(e.Status,0) = 1 \n"
                //+ "              and (isnull(@ShopCcCode,'') = '' or e.ShopCcCode = @ShopCcCode) )  \n";
@@ -883,7 +880,7 @@
    
    
    @Override
    public List<MatCodeEntity> getMatCodesByFromUserId(String fromUserId,String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity) {
    public List<MatCodeEntity> getMatCodesByFromUserId(String fromUserId,String shopCcCode,String cltCode,String openId) {
        
        String sql = "set nocount on ; \n"
                + " declare @UserId varchar(200) = "+GridUtils.prossSqlParm(fromUserId)+" \n"
@@ -907,7 +904,7 @@
                + " a.PreSendMinutes,dbo.f110503v2 (a.PreSendMinutes) as PreSendMinutesDesc,a.PurchasePrice, \n"
                + " a.MatName2,a.MatName3,a.MatName4 ,h.CartQuantity,a.QrCode,\n"
                + " a.StockDigitForShoppingSaleable,a.StockDigitForSaleable,a.StockDigitForUsable,a.isStartupSkuParameters, \n"
                + " a.isAllowExchangePointsQuantity,a.ExchangePointsQuantity \n"
                + " a.ExchangePointsQuantity \n"
                + " from t110503 a \n"
                + " join t110504 c on a.Brand = c.Brand \n"
                + " left join t710119 d on a.StockStatusID = d.StockStatusID \n"
@@ -920,8 +917,7 @@
                + " and isnull(a.Status,0) = 1 \n"   
                + " and isnull(c.Status,0) = 1  \n"
                + " and (isnull(@ShopCcCode,'') = '' or a.ShopCcCode in (select list from getinstr( @ShopCcCode))) \n"
                + " and isnull(a.MatGroupStatus,0) = 1 \n"
                + " and isnull(a.isAllowExchangePointsQuantity,0) ="+isAllowExchangePointsQuantity+" \n";
                + " and isnull(a.MatGroupStatus,0) = 1 \n";
                //+ " and exists (select 1 from t710104 b join t110501 e on b.MatGroup = e.MatGroup  \n"
                //+ "              where a.DocCode = b.doccode and isnull(e.Status,0) = 1 \n"
                //+ "              and (isnull(@ShopCcCode,'') = '' or e.ShopCcCode = @ShopCcCode) )  \n";
@@ -950,11 +946,7 @@
    }
    @Override
    public List<MatCodeEntity> getMatCodesByExchangePoints(String search,String matGroup,int limit,int page,String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity) {
        String munt = "1,2";
        if (isAllowExchangePointsQuantity > 0) {
            munt = String.valueOf(isAllowExchangePointsQuantity);
        }
    public List<MatCodeEntity> getMatCodesByExchangePoints(String search,String matGroup,int limit,int page,String shopCcCode,String cltCode,String openId) {
        //if (matGroup == null) return null ;
        String sql = "set nocount on ; \n"
                + " declare @MatGroup varchar(50) =" +GridUtils.prossSqlParm(matGroup)+" \n"
@@ -1013,7 +1005,7 @@
                + " a.PreSendMinutes,dbo.f110503v2 (a.PreSendMinutes) as PreSendMinutesDesc, \n"
                + " a.MatName2,a.MatName3,a.MatName4,h.CartQuantity,a.QrCode,\n"
                + " a.StockDigitForShoppingSaleable,a.StockDigitForSaleable,a.StockDigitForUsable,a.isStartupSkuParameters, \n"
                + " a.isAllowExchangePointsQuantity,a.ExchangePointsQuantity \n"
                + " a.ExchangePointsQuantity \n"
                + " from t110503 a join t110504 c on a.Brand = c.Brand \n"
                + " left join t710119 d on a.StockStatusID = d.StockStatusID \n"
                + " left join t110601 e on a.ShopCcCode = e.CcCode \n"
@@ -1032,7 +1024,6 @@
                    + "             and isnull(e.Status,0) = 1  \n"
                    + "             and (isnull(@ShopCcCode,'') = '' or e.ShopCcCode = @ShopCcCode )) \n";
        }
        sql += " and isnull(a.isAllowExchangePointsQuantity,0) in ("+munt+") \n";
        if (StringUtils.isNotBlank(search)) {
            sql += " and (a.MatCode like '%" + search + "%' \n"
                    + "   or a.MatName like '%" + search + "%' \n"
@@ -1064,11 +1055,7 @@
    }
    @Override
    public List<MatCodeEntity> getMatCodesBySearchByExchangePoints(String search, String matGroup, int limit, int page, String shopCcCode, String cltCode, String openId, Integer isAllowExchangePointsQuantity, Integer maxUserPoints) {
        String munt = "1,2";
        if (isAllowExchangePointsQuantity > 0) {
            munt = String.valueOf(isAllowExchangePointsQuantity);
        }
    public List<MatCodeEntity> getMatCodesBySearchByExchangePoints(String search, String matGroup, int limit, int page, String shopCcCode, String cltCode, String openId, Integer maxUserPoints) {
        //if (matGroup == null) return null ;
        String sql = "set nocount on ; \n"
                + " declare @MatGroup varchar(50) =" +GridUtils.prossSqlParm(matGroup)+" \n"
@@ -1127,7 +1114,7 @@
                + " a.PreSendMinutes,dbo.f110503v2 (a.PreSendMinutes) as PreSendMinutesDesc, \n"
                + " a.MatName2,a.MatName3,a.MatName4,h.CartQuantity,a.QrCode,\n"
                + " a.StockDigitForShoppingSaleable,a.StockDigitForSaleable,a.StockDigitForUsable,a.isStartupSkuParameters, \n"
                + " a.isAllowExchangePointsQuantity,a.ExchangePointsQuantity \n"
                + " a.ExchangePointsQuantity \n"
                + " from t110503 a join t110504 c on a.Brand = c.Brand \n"
                + " left join t710119 d on a.StockStatusID = d.StockStatusID \n"
                + " left join t110601 e on a.ShopCcCode = e.CcCode \n"
@@ -1146,7 +1133,6 @@
                    + "             and isnull(e.Status,0) = 1  \n"
                    + "             and (isnull(@ShopCcCode,'') = '' or e.ShopCcCode = @ShopCcCode )) \n";
        }
        sql += " and isnull(a.isAllowExchangePointsQuantity,0) in ("+munt+") \n";
        if (maxUserPoints != null) {
            sql += " and isnull(a.ExchangePointsQuantity,0) <= " + maxUserPoints + " \n";
        }
@@ -1753,7 +1739,7 @@
                + " a.PreSendMinutes,dbo.f110503v2 (a.PreSendMinutes) as PreSendMinutesDesc,a.PurchasePrice, \n"
                + " a.MatName2,a.MatName3,a.MatName4,a.QrCode,\n"
                + " a.StockDigitForShoppingSaleable,a.StockDigitForSaleable,a.StockDigitForUsable,a.isStartupSkuParameters, \n"
                + " a.isAllowExchangePointsQuantity,a.ExchangePointsQuantity \n"
                + " a.ExchangePointsQuantity \n"
                + " from t110503 a \n"
                + " join t110504 c on a.Brand = c.Brand \n"
                + " left join t710119 d on a.StockStatusID = d.StockStatusID \n"
@@ -1932,7 +1918,6 @@
            matCodeEntity.setStockDigitForSaleable(map.get("StockDigitForSaleable") == null ? 0: Double.parseDouble(map.get("StockDigitForSaleable").toString()));
            matCodeEntity.setStockDigitForUsable(map.get("StockDigitForUsable") == null ? 0: Double.parseDouble(map.get("StockDigitForUsable").toString()));
            matCodeEntity.setStartupSkuParameters(map.get("isStartupSkuParameters") != null&&map.get("isStartupSkuParameters").equals(1)?true:false);
            matCodeEntity.setIsAllowExchangePointsQuantity(map.get("isAllowExchangePointsQuantity") == null ? 0 : (Integer) map.get("isAllowExchangePointsQuantity"));
            if(map.get("ExchangePointsQuantity") == null){
                matCodeEntity.setExchangePointsQuantity(0);
            } else {
@@ -1984,7 +1969,7 @@
    }
    @Override
    public List<MatCodeEntity> getMatCodesByRelMat(String matCode,String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity) {
    public List<MatCodeEntity> getMatCodesByRelMat(String matCode,String shopCcCode,String cltCode,String openId) {
        if (matCode == null) return null ;
        String sql = "set nocount on ; \n"
                + " declare @MatCode varchar(50) = " +GridUtils.prossSqlParm(matCode) +" \n"
@@ -2007,7 +1992,7 @@
                + " a.PreSendMinutes,dbo.f110503v2 (a.PreSendMinutes) as PreSendMinutesDesc,a.PurchasePrice, \n"
                + " a.MatName2,a.MatName3,a.MatName4,h.CartQuantity,a.QrCode,\n"
                + " a.StockDigitForShoppingSaleable,a.StockDigitForSaleable,a.StockDigitForUsable,a.isStartupSkuParameters, \n"
                + " a.isAllowExchangePointsQuantity,a.ExchangePointsQuantity \n"
                + " a.ExchangePointsQuantity \n"
                + " from t110503 a  join t110504 c on a.Brand = c.Brand \n"
                + " left join t710119 d on a.StockStatusID = d.StockStatusID \n"
                + " left join t110601 e on a.ShopCcCode = e.CcCode \n"
@@ -2028,7 +2013,6 @@
                if (this.whereOthers != null && !"".equals(this.whereOthers)) {
                    sql    += " and (" + this.whereOthers + ") \n" ;
                }
                sql += " and isnull(a.isAllowExchangePointsQuantity,0) = "+isAllowExchangePointsQuantity+" \n";
                sql    += " order by  case when a.SortOrder is null then 999999 else a.SortOrder end  asc,a.MatCode asc  \n";
        List<Map<String,Object>> list = null;
        List<MatCodeEntity> matCodeEntityList = null ;
@@ -2054,7 +2038,7 @@
    }
    @Override
    public List<MatCodeEntity> getMatCodesByBestSeller(String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity) {
    public List<MatCodeEntity> getMatCodesByBestSeller(String shopCcCode,String cltCode,String openId) {
        String sql = "set nocount on ; \n"
                + " declare @ShopCcCode varchar(50) = "+GridUtils.prossSqlParm(shopCcCode)+",@CltCode varchar(20) = "+GridUtils.prossSqlParm(cltCode)+" ,@OpenId varchar(200) = "+GridUtils.prossSqlParm(openId)+" \n"
                + " select top 10 a.MatCode, b.MatName, b.Special, b.Description,b.MetaTitle, "
@@ -2076,7 +2060,7 @@
                + " b.PreSendMinutes,dbo.f110503v2 (b.PreSendMinutes) as PreSendMinutesDesc, \n"
                + " b.MatName2,b.MatName3,b.MatName4,h.CartQuantity,b.QrCode,\n"
                + " b.StockDigitForShoppingSaleable,b.StockDigitForSaleable,b.StockDigitForUsable,b.isStartupSkuParameters, \n"
                + " b.isAllowExchangePointsQuantity,b.ExchangePointsQuantity \n"
                + " b.ExchangePointsQuantity \n"
                + " from t120201D a join t110503 b on a.MatCode = b.MatCode \n"
                + " join t110504 d on a.Brand = d.Brand \n"
                + " left join t710119 e on b.StockStatusID = e.StockStatusID \n"
@@ -2089,7 +2073,6 @@
                + " and ISNULL(d.Status,0) = 1    \n"
                + " and (isnull(@ShopCcCode,'') = '' or b.ShopCcCode = @ShopCcCode ) \n"
                + " and isnull(b.MatGroupStatus,0) = 1 \n"
                + " and isnull(b.isAllowExchangePointsQuantity,0) = "+isAllowExchangePointsQuantity+" \n"
                //+ " and exists (select 1 from t710104 h join t110501 e on h.MatGroup = e.MatGroup \n"
                //+ "       where b.DocCode = h.doccode and isnull(e.Status,0) = 1 \n"
                //+ "       and (isnull(@ShopCcCode,'') = '' or e.ShopCcCode = @ShopCcCode )  )  \n"
@@ -2135,7 +2118,7 @@
    }
    @Override
    public List<MatCodeEntity> getMatCodesByBrand(String brandId,int limit,int page,String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity) {
    public List<MatCodeEntity> getMatCodesByBrand(String brandId,int limit,int page,String shopCcCode,String cltCode,String openId) {
        if (brandId == null) return null ;
        String sql = "set nocount on ; \n"
                + " declare @BrandId int = " + brandId +"  ; \n"
@@ -2181,7 +2164,7 @@
                + " a.PreSendMinutes,dbo.f110503v2 (a.PreSendMinutes) as PreSendMinutesDesc, \n"
                + " a.MatName2,a.MatName3,a.MatName4,h.CartQuantity,a.QrCode,\n"
                + " a.StockDigitForShoppingSaleable,a.StockDigitForSaleable,a.StockDigitForUsable,a.isStartupSkuParameters, \n"
                + " a.isAllowExchangePointsQuantity,a.ExchangePointsQuantity \n"
                + " a.ExchangePointsQuantity \n"
                + " from t110503 a join t110504 c on a.Brand = c.Brand \n"
                + " left join t710119 d on a.StockStatusID = d.StockStatusID \n"
                + " left join t110601 e on a.ShopCcCode = e.CcCode \n"
@@ -2191,8 +2174,7 @@
                + " and c.BrandId = @BrandId  \n"
                + " and isnull(c.Status,0) = 1 \n"
                + " and (isnull(@ShopCcCode,'') = '' or a.ShopCcCode = @ShopCcCode ) \n" 
                + " and isnull(a.MatGroupStatus,0) = 1 \n"
                + " and isnull(a.isAllowExchangePointsQuantity,0) = "+isAllowExchangePointsQuantity+" \n";
                + " and isnull(a.MatGroupStatus,0) = 1 \n";
                //+ " and exists (select 1 from t710104 h join t110501 e on h.MatGroup = e.MatGroup \n"
                //+ "       where a.DocCode = h.doccode and isnull(e.Status,0) = 1 \n"
                //+ "       and (isnull(@ShopCcCode,'') = '' or e.ShopCcCode = @ShopCcCode )  )  \n" ;
@@ -2227,7 +2209,7 @@
    
    
    @Override
    public List<MatCodeEntity> getMatCodesBySpecialOffer(int limit,int page,String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity) {
    public List<MatCodeEntity> getMatCodesBySpecialOffer(int limit,int page,String shopCcCode,String cltCode,String openId) {
        String sql = "set nocount on ; \n"
                + " declare @Limit int =" + limit+" , @Page int =" + page +" ,@StartRowNo int ,@EndRowNo int ; \n"
                + " declare @ShopCcCode varchar(50) = " + GridUtils.prossSqlParm(shopCcCode) +" ,@CltCode varchar(20) = " + GridUtils.prossSqlParm(cltCode) +",@OpenId varchar(200) = " + GridUtils.prossSqlParm(openId)  +" \n"
@@ -2272,7 +2254,7 @@
                + " a.PreSendMinutes,dbo.f110503v2 (a.PreSendMinutes) as PreSendMinutesDesc, \n"
                + " a.MatName2,a.MatName3,a.MatName4,h.CartQuantity,a.QrCode,\n"
                + " a.StockDigitForShoppingSaleable,a.StockDigitForSaleable,a.StockDigitForUsable,a.isStartupSkuParameters, \n"
                + " a.isAllowExchangePointsQuantity,a.ExchangePointsQuantity \n"
                + " a.ExchangePointsQuantity \n"
                + " from t110503 a join t110504 c on a.Brand = c.Brand \n"
                + " left join t710119 d on a.StockStatusID = d.StockStatusID \n"
                + " left join t110601 e on a.ShopCcCode = e.CcCode \n"
@@ -2283,8 +2265,7 @@
                + " and (isnull(@ShopCcCode,'') = '' or a.ShopCcCode = @ShopCcCode ) \n" 
                + " and exists(select 1 from t710109 e where a.DocCode = e.DocCode \n"
                + "        and convert(datetime,convert(varchar(10),getdate(),120)) between e.DateStart and e.DateEnd )  \n"
                + " and isnull(a.MatGroupStatus,0) = 1 \n"
                + " and isnull(a.isAllowExchangePointsQuantity,0) = "+isAllowExchangePointsQuantity +"\n";
                + " and isnull(a.MatGroupStatus,0) = 1 \n";
                //+ " and exists (select 1 from t710104 h join t110501 e on h.MatGroup = e.MatGroup \n"
                //+ "       where a.DocCode = h.doccode and isnull(e.Status,0) = 1 \n"
                //+ "       and (isnull(@ShopCcCode,'') = '' or e.ShopCcCode = @ShopCcCode ) )  \n" ;
@@ -2319,7 +2300,7 @@
    }
    @Override
    public List<MatCodeEntity> getMatCodesByShowGroup(String groupDocCode,String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity){
    public List<MatCodeEntity> getMatCodesByShowGroup(String groupDocCode,String shopCcCode,String cltCode,String openId){
        String sql = "set nocount on ; \n"
                //+ " declare @Limit int =?, @Page int =?  ,@StartRowNo int ,@EndRowNo int ; \n"
                + " declare @GroupDocCode varchar(50) = " +GridUtils.prossSqlParm(groupDocCode) + " \n"
@@ -2371,7 +2352,7 @@
                + " a.PreSendMinutes,dbo.f110503v2 (a.PreSendMinutes) as PreSendMinutesDesc, \n"
                + " a.MatName2,a.MatName3,a.MatName4,h.CartQuantity,a.QrCode,\n"
                + " a.StockDigitForShoppingSaleable,a.StockDigitForSaleable,a.StockDigitForUsable,a.isStartupSkuParameters, \n"
                + " a.isAllowExchangePointsQuantity,a.ExchangePointsQuantity \n"
                + " a.ExchangePointsQuantity \n"
                + " from t710126D e join t710126H f on e.DocCode = f.DocCode \n"
                + " join t110503 a on e.MatCode = a.MatCode \n"
                + " join t110504 c on a.Brand = c.Brand \n"
@@ -2384,8 +2365,7 @@
                + " and (isnull(@GroupDocCode,'') = '' or f.DocCode = @GroupDocCode ) \n"
                + " and isnull(f.Status,0) = 1 \n"
                + " and (isnull(@ShopCcCode,'') = '' or a.ShopCcCode = @ShopCcCode ) \n"
                + " and isnull(a.MatGroupStatus,0) = 1 \n"
                + " and isnull(a.isAllowExchangePointsQuantity,0) = "+isAllowExchangePointsQuantity +"\n";
                + " and isnull(a.MatGroupStatus,0) = 1 \n";
                //+ " and exists (select 1 from t710104 h join t110501 i on h.MatGroup = i.MatGroup \n"
                //+ "       where a.DocCode = h.doccode and isnull(i.Status,0) = 1 \n"
                //+ "       and (isnull(@ShopCcCode,'') = '' or i.ShopCcCode = @ShopCcCode ) )  \n" ;
@@ -2424,7 +2404,7 @@
    
    @Override
    public List<MatCodeEntity> getMatCodesByPrepaidDepositGroup(String prepaidDepositGroupDocCode,String shopCcCode,String cltCode,String openId,Integer isAllowExchangePointsQuantity){
    public List<MatCodeEntity> getMatCodesByPrepaidDepositGroup(String prepaidDepositGroupDocCode,String shopCcCode,String cltCode,String openId){
        String sql = "set nocount on ; \n"
                //+ " declare @Limit int = ?, @Page int = ? ,@StartRowNo int ,@EndRowNo int ; \n"
                + " declare @GroupDocCode varchar(50) = " + GridUtils.prossSqlParm(prepaidDepositGroupDocCode) +" \n"
@@ -2478,7 +2458,7 @@
                + "       and e.doccode = p.DepositDocCode and e.rowid = p.DepositRowId) \n"
                + "       then 1 else 0 end isPaidDeposit,h.CartQuantity,a.QrCode,\n"
                + " a.StockDigitForShoppingSaleable,a.StockDigitForSaleable,a.StockDigitForUsable,a.isStartupSkuParameters, \n"
                + " a.isAllowExchangePointsQuantity,a.ExchangePointsQuantity \n"
                + " a.ExchangePointsQuantity \n"
                + " from t710170D e join t710170H f on e.DocCode = f.DocCode \n"
                + " join t110503 a on e.MatCode = a.MatCode \n"
                + " join t110504 c on a.Brand = c.Brand \n"
@@ -2491,8 +2471,7 @@
                + " and  (isnull(@GroupDocCode,'') = '' or  f.DocCode = @GroupDocCode )  \n"
                + " and isnull(f.Status,0) = 1 \n"
                + " and (isnull(@ShopCcCode,'') = '' or a.ShopCcCode = @ShopCcCode ) \n"
                + " and isnull(a.MatGroupStatus,0) = 1 \n"
                + " and isnull(a.isAllowExchangePointsQuantity,0) = "+isAllowExchangePointsQuantity+"\n";
                + " and isnull(a.MatGroupStatus,0) = 1 \n";
                //+ " and exists (select 1 from t710104 h join t110501 i on h.MatGroup = i.MatGroup \n"
                //+ "       where a.DocCode = h.doccode and isnull(i.Status,0) = 1 \n"
                //+ "       and (isnull(@ShopCcCode,'') = '' or i.ShopCcCode = @ShopCcCode ) )  \n" ;
@@ -2904,7 +2883,7 @@
                + " select @isFound ;  \n"; 
        return this.jdbcTemplate.queryForObject(sql,Integer.class);
    }
    @Override
    public List<MatCodeEntity> getMatCodesForGenerationQrCode(String shopCcCode,String brand, String matGroup,String matCode) {
        String sql =  " set nocount on ;\n"