| | |
| | | private UserTaoLiJinRecordService userTaoLiJinRecordService;
|
| | |
|
| | | /**
|
| | | * 获取淘宝的分享链接
|
| | | *
|
| | | * @param acceptData
|
| | | * @param uid
|
| | | * -用户ID
|
| | | * @param auctionId-商品ID
|
| | | * @param goodsId-商品ID
|
| | | * @param source
|
| | | * @param totalNum
|
| | | * @param goodsType
|
| | | * @param needGoods
|
| | | * -是否需要商品信息
|
| | | * @param request
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "createShareInfo")
|
| | | public void createShareInfo(AcceptData acceptData, Long uid, Long goodsId, String source, Integer totalNum,
|
| | | Integer goodsType, HttpServletRequest request, PrintWriter out) {
|
| | | Integer goodsType, Boolean needGoods, HttpServletRequest request, PrintWriter out) {
|
| | | if (uid == null || uid <= 0) {
|
| | | out.print(JsonUtil.loadFalseResult(1, "用户ID不能为空"));
|
| | | return;
|
| | |
| | |
|
| | | // 淘宝
|
| | | if (goodsType == null || goodsType == Constant.SOURCE_TYPE_TAOBAO) {
|
| | | createTaoBaoShare(acceptData, uid, goodsId, totalNum, source, request, out);
|
| | | createTaoBaoShare(acceptData, uid, goodsId, totalNum, source, needGoods, request, out);
|
| | | return;
|
| | | }
|
| | |
|
| | | // 京东
|
| | | if (goodsType == Constant.SOURCE_TYPE_JD) {
|
| | | createJDShare(acceptData, uid, goodsId, source, out);
|
| | | createJDShare(acceptData, uid, goodsId, source, needGoods, out);
|
| | | return;
|
| | | }
|
| | |
|
| | | // 拼多多
|
| | | if (goodsType == Constant.SOURCE_TYPE_PDD) {
|
| | | createPDDShare(acceptData, uid, goodsId, source, out);
|
| | | createPDDShare(acceptData, uid, goodsId, source, needGoods, out);
|
| | | return;
|
| | | }
|
| | | }
|
| | |
| | | * @param out
|
| | | */
|
| | | public void createTaoBaoShare(AcceptData acceptData, Long uid, Long goodsId, Integer totalNum, String source,
|
| | | HttpServletRequest request, PrintWriter out) {
|
| | | Boolean needGoods, HttpServletRequest request, PrintWriter out) {
|
| | | if (needGoods == null)
|
| | | needGoods = false;
|
| | |
|
| | | UserExtraTaoBaoInfo extraInfo = userExtraTaoBaoInfoService.getByUid(uid);
|
| | | UserInfoExtra userExtraInfo = userInfoExtraService.getUserInfoExtra(uid);
|
| | | String inviteCode = null;
|
| | |
| | | // 测试
|
| | |
|
| | | TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(uid, goodsId, relationId);
|
| | |
|
| | | if (taoBaoLink != null && taoBaoLink.getGoods() != null && needGoods) {
|
| | | ConfigParamsDTO dto = new ConfigParamsDTO(hongBaoManageService.getFanLiRate(),
|
| | | hongBaoManageService.getShareRate(), new BigDecimal(80));
|
| | | GoodsDetailVO goodsInfo = GoodsDetailVOFactory.convertTaoBao(taoBaoLink.getGoods(), dto);
|
| | | shareInfo.setGoodsInfo(goodsInfo);
|
| | | }
|
| | |
|
| | | String url = String.format("http://%s%s?uid=%s&id=%s&appType=flq", configService.getH5Host(),
|
| | | Constant.systemCommonConfig.getShareGoodsPagePath(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY),
|
| | |
| | | * @param request
|
| | | * @param out
|
| | | */
|
| | | public void createJDShare(AcceptData acceptData, Long uid, Long goodsId, String source, PrintWriter out) {
|
| | | public void createJDShare(AcceptData acceptData, Long uid, Long goodsId, String source, boolean needGoods,
|
| | | PrintWriter out) {
|
| | | JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsId);
|
| | | if (jdGoods == null) {
|
| | | out.print(JsonUtil.loadFalseResult(1, "该商品已下架"));
|
| | |
| | | couponUrl = couponInfo.getLink();
|
| | | }
|
| | | String materialId = "https://item.jd.com/" + goodsId + ".html";
|
| | | String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "", uid + "");
|
| | | String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "",
|
| | | uid + "");
|
| | |
|
| | | ShareInfoVO shareInfo = new ShareInfoVO();
|
| | | shareInfo.setClickUrl(jumpLink);
|
| | |
| | | shareInfo.setRule(configService.get("share_rule_link_jd"));
|
| | | shareInfo.setPictUrl(jdGoods.getPicUrl());
|
| | | shareInfo.setCommentTexts(new ArrayList<>());
|
| | |
|
| | | if (needGoods)
|
| | | shareInfo.setGoodsInfo(GoodsDetailVOFactory.convertJDGoods(jdGoods, new ConfigParamsDTO(
|
| | | hongBaoManageService.getFanLiRate(), hongBaoManageService.getShareRate(), new BigDecimal(80))));
|
| | |
|
| | | String shareText = "";
|
| | | boolean hasCoupon = false;
|
| | |
| | | * @param source
|
| | | * @param out
|
| | | */
|
| | | public void createPDDShare(AcceptData acceptData, Long uid, Long goodsId, String source, PrintWriter out) {
|
| | | public void createPDDShare(AcceptData acceptData, Long uid, Long goodsId, String source, boolean needGoods,
|
| | | PrintWriter out) {
|
| | | PDDGoodsDetail goods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId);
|
| | | if (goods == null) {
|
| | | out.print(JsonUtil.loadFalseResult(1, "该商品已下架"));
|
| | |
| | | shareInfo.setCommentTexts(new ArrayList<>());
|
| | | shareInfo.setRule(configService.get("share_rule_link_pdd"));
|
| | | shareInfo.setPictUrl(goods.getGoodsImageUrl());
|
| | | if (needGoods) {
|
| | | shareInfo.setGoodsInfo(GoodsDetailVOFactory.convertPDDGoods(goods, new ConfigParamsDTO(
|
| | | hongBaoManageService.getFanLiRate(), hongBaoManageService.getShareRate(), new BigDecimal(80))));
|
| | | }
|
| | |
|
| | | String template = "";
|
| | | boolean hasCoupon = false;
|
| | |
| | | couponUrl = couponInfo.getLink();
|
| | | }
|
| | | String materialId = "https://item.jd.com/" + goodsId + ".html";
|
| | | String shortLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "", uid + "");
|
| | | String shortLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "",
|
| | | uid + "");
|
| | |
|
| | | String content = shareGoodsTextTemplateService.createContentByTemplateJD(template, uid, goods, shortLink,
|
| | | hasCoupon);
|
| | |
| | | import com.yeshi.fanli.service.inter.user.UserGoodsStorageService;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | | import com.yeshi.fanli.util.StringUtil;
|
| | | import com.yeshi.fanli.util.VersionUtil;
|
| | | import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
|
| | | import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
|
| | | import com.yeshi.fanli.vo.goods.GoodsDetailVO;
|
| | |
| | |
|
| | | @Resource
|
| | | private UserGoodsStorageService userGoodsStorageService;
|
| | |
|
| | | |
| | |
|
| | | /**
|
| | | * 单个商品加入选品库
|
| | |
| | | * 批量添加选品库
|
| | | *
|
| | | * @param acceptData
|
| | | * @param uid 用户id
|
| | | * @param ids 简版商品id
|
| | | * @param uid
|
| | | * 用户id
|
| | | * @param ids
|
| | | * 简版商品id
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "addStorage", method = RequestMethod.POST)
|
| | |
| | | * 查询用户选品库数据
|
| | | *
|
| | | * @param acceptData
|
| | | * @param page 页码 初始值 1
|
| | | * @param uid 用户id
|
| | | * @param page
|
| | | * 页码 初始值 1
|
| | | * @param uid
|
| | | * 用户id
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getlist", method = RequestMethod.POST)
|
| | |
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
| | | |
| | | /**
|
| | | * 分享商品返回二维码图片
|
| | | *
|
| | |
| | |
|
| | | try {
|
| | | Gson gson = new Gson();
|
| | | List<Long> listStorageID = gson.fromJson(storageIds, new TypeToken<ArrayList<Long>>() {}.getType());
|
| | | List<Long> listStorageID = gson.fromJson(storageIds, new TypeToken<ArrayList<Long>>() {
|
| | | }.getType());
|
| | |
|
| | | if (!VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
|
| | |
|
| | | if (listStorageID == null || listStorageID.size() < 9) {
|
| | | out.print(JsonUtil.loadFalseResult("分享商品数量不足"));
|
| | | return;
|
| | |
| | | return;
|
| | | }
|
| | |
|
| | | JSONObject data = userGoodsStorageService.createShareV2(uid, listStorageID);
|
| | | JSONObject data = userGoodsStorageService.createShareV2(uid, listStorageID, true);
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | } else {
|
| | | JSONObject data = userGoodsStorageService.createShareV2(uid, listStorageID, false);
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
| | | } catch (UserGoodsStorageException e) {
|
| | | out.print(JsonUtil.loadFalseResult("分享失败"));
|
| | | e.printStackTrace();
|
| | |
| | | array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, "100", null)));
|
| | | }
|
| | | out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(array)));
|
| | | |
| | | |
| | |
|
| | |
|
| | | |
| | | }
|
| | |
|
| | | /**
|
| | |
| | | import com.yeshi.fanli.entity.integral.CodePublishRecord;
|
| | | import com.yeshi.fanli.service.inter.user.UserInfoService;
|
| | | import com.yeshi.fanli.service.inter.user.integral.CodePublishRecordService;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | | import com.yeshi.fanli.util.TimeUtil;
|
| | |
|
| | | /**
|
| | |
| | | // 7点到23点每10分钟执行一次
|
| | | @Scheduled(cron = "0 0/10 7-23 * * ? ")
|
| | | public void publish() {
|
| | | // if (!Constant.IS_TASK)
|
| | | // return;
|
| | | if (!Constant.IS_TASK)
|
| | | return;
|
| | | long time = System.currentTimeMillis();
|
| | | int day = TimeUtil.getDayDifferenceCount(new Date(TimeUtil.convertToTimeTemp("2019-11-28", "yyyy-MM-dd")),
|
| | | new Date());
|
| | |
| | |
|
| | | /**
|
| | | * 根据主键 、uid 批量删除
|
| | | * |
| | | * @param list
|
| | | * @return
|
| | | */
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | |
| | | if (commonGoods != null) {
|
| | | try {
|
| | | commonGoodsService.addOrUpdateCommonGoods(commonGoods);
|
| | |
| | | userGoodsStorageMapper.updateByPrimaryKeySelective(goodsStorage);
|
| | | } else {
|
| | | goodsStorage = new UserGoodsStorage();
|
| | | goodsStorage.setUid(uid);;
|
| | | goodsStorage.setUid(uid);
|
| | | ;
|
| | | goodsStorage.setState(UserGoodsStorage.STATE_NORMAL);
|
| | | goodsStorage.setCommonGoods(commonGoods);
|
| | | goodsStorage.setCreateTime(new Date());
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | @Override
|
| | | @Transactional
|
| | |
| | | userGoodsStorageMapper.updateByPrimaryKeySelective(goodsStorage);
|
| | | } else {
|
| | | goodsStorage = new UserGoodsStorage();
|
| | | goodsStorage.setUid(uid);;
|
| | | goodsStorage.setUid(uid);
|
| | | ;
|
| | | goodsStorage.setState(UserGoodsStorage.STATE_NORMAL);
|
| | | goodsStorage.setCommonGoods(commonGoods);
|
| | | goodsStorage.setCreateTime(new Date());
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | @Override
|
| | | public JSONArray getMyStorage(int page, int pageSize, Long uid, Integer source) throws UserGoodsStorageException {
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | |
| | | BigDecimal rate = manageService.getFanLiRate();
|
| | | Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
|
| | | .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
|
| | |
| | | continue;
|
| | | }
|
| | |
|
| | | |
| | | int state = 0;
|
| | | Integer goodsType = commonGoods.getGoodsType();
|
| | |
|
| | | if (listTaoKeGoods != null && listTaoKeGoods.size() > 0 |
| | | && goodsType != null && goodsType == Constant.SOURCE_TYPE_TAOBAO) {
|
| | | if (listTaoKeGoods != null && listTaoKeGoods.size() > 0 && goodsType != null
|
| | | && goodsType == Constant.SOURCE_TYPE_TAOBAO) {
|
| | | state = 1; // 默认停售
|
| | | Long goodsId = commonGoods.getGoodsId();
|
| | | for (TaoBaoGoodsBrief taoKeGoods: listTaoKeGoods) {
|
| | |
| | |
|
| | | return array;
|
| | | }
|
| | | |
| | |
|
| | | @Override
|
| | | public boolean isExistStorage(Long uid, Long auctionId, Integer goodType) {
|
| | |
| | | totalMoney = MoneyBigDecimalUtil.add(totalMoney, money);
|
| | | }
|
| | |
|
| | | ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsStorage(uid, listGoodsBrief, listStorageID);
|
| | | ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsStorage(uid, listGoodsBrief,
|
| | | listStorageID);
|
| | | FileUploadResult uploadResult = new FileUploadResult();
|
| | | uploadResult.setUrl(shareRecord.getSharePictureUrl());
|
| | |
|
| | |
| | | return data;
|
| | | }
|
| | |
|
| | | |
| | | |
| | | @Override
|
| | | public JSONObject createShareV2(Long uid, List<Long> listStorageID) throws UserGoodsStorageException, UserShareGoodsRecordException {
|
| | | public JSONObject createShareV2(Long uid, List<Long> listStorageID, boolean needDrawPicture)
|
| | | throws UserGoodsStorageException, UserShareGoodsRecordException {
|
| | | List<UserGoodsStorage> listStorage = userGoodsStorageMapper.listQueryByIds(listStorageID);
|
| | | if (listStorage == null || listStorage.size() == 0) {
|
| | | throw new UserGoodsStorageException(1, "选品库商品不存在");
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsStorageV2(uid, listCommonGoods, listStorageID);
|
| | | ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsStorageV2(uid, listCommonGoods,
|
| | | listStorageID, needDrawPicture);
|
| | | FileUploadResult uploadResult = new FileUploadResult();
|
| | | uploadResult.setUrl(shareRecord.getSharePictureUrl());
|
| | |
|
| | |
| | | @Resource
|
| | | private IntegralGetService integralGetService;
|
| | |
|
| | | |
| | |
|
| | | @Override
|
| | | public int insert(UserShareGoodsRecord record) {
|
| | | return userShareGoodsRecordMapper.insert(record);
|
| | |
| | | }
|
| | |
|
| | | @Override
|
| | | public void saveSingleShareRecord(Long uid, Long goodsId, Integer goodsType)
|
| | | throws UserShareGoodsRecordException {
|
| | | public void saveSingleShareRecord(Long uid, Long goodsId, Integer goodsType) throws UserShareGoodsRecordException {
|
| | | if (goodsId == null) {
|
| | | throw new UserShareGoodsRecordException(1, "分享商品不能为空");
|
| | | }
|
| | |
| | | /**
|
| | | * 生成分享图
|
| | | *
|
| | | * @param uid 用户id
|
| | | * @param shareId 分享记录id
|
| | | * @param source 来源
|
| | | * @param uid
|
| | | * 用户id
|
| | | * @param shareId
|
| | | * 分享记录id
|
| | | * @param source
|
| | | * 来源
|
| | | * @param listGoods
|
| | | * @return
|
| | | * @throws UserShareGoodsRecordException
|
| | |
| | | }
|
| | |
|
| | | @Override
|
| | | public ShareGoodsRecordDTO addRecordGoodsDetail(Long uid, Long auctionId, Integer goodsType, boolean isTaolijin) throws UserShareGoodsRecordException {
|
| | | public ShareGoodsRecordDTO addRecordGoodsDetail(Long uid, Long auctionId, Integer goodsType, boolean isTaolijin)
|
| | | throws UserShareGoodsRecordException {
|
| | | if (auctionId == null || uid == null || uid <= 0) {
|
| | | throw new UserShareGoodsRecordException(1, "传递参数不正确");
|
| | | }
|
| | |
| | | }
|
| | |
|
| | | @Override
|
| | | public ShareGoodsRecordDTO addRecordGoodsStorage(Long uid, List<TaoBaoGoodsBrief> listGoodsBrief, List<Long> listStorageID)
|
| | | throws UserShareGoodsRecordException {
|
| | | public ShareGoodsRecordDTO addRecordGoodsStorage(Long uid, List<TaoBaoGoodsBrief> listGoodsBrief,
|
| | | List<Long> listStorageID) throws UserShareGoodsRecordException {
|
| | | if (uid == null || uid <= 0 || listGoodsBrief == null || listGoodsBrief.size() == 0) {
|
| | | throw new UserShareGoodsRecordException(1, "传递参数不正确");
|
| | | }
|
| | |
| | | for (TaoBaoGoodsBrief goodsBrief: listGoodsBrief) {
|
| | | listCommonGoods.add(CommonGoodsFactory.create(goodsBrief));
|
| | | }
|
| | | |
| | |
|
| | | Long id = record.getId();
|
| | | // 分享链接
|
| | |
| | | }
|
| | |
|
| | | @Override
|
| | | public ShareGoodsRecordDTO addRecordGoodsStorageV2(Long uid, List<CommonGoods> listGoods, List<Long> listStorageID)
|
| | | throws UserShareGoodsRecordException {
|
| | | public ShareGoodsRecordDTO addRecordGoodsStorageV2(Long uid, List<CommonGoods> listGoods, List<Long> listStorageID,
|
| | | boolean needDrawPicture) throws UserShareGoodsRecordException {
|
| | | if (uid == null || uid <= 0 || listGoods == null || listGoods.size() == 0) {
|
| | | throw new UserShareGoodsRecordException(1, "传递参数不正确");
|
| | | }
|
| | |
| | | // 分享链接
|
| | | String shareUrl = getShareUrlV2(record);
|
| | | // 分享二维码链接
|
| | | FileUploadResult uploadResult = drawingSharePicture(uid, id, shareUrl, listGoods);
|
| | |
|
| | | ShareGoodsRecordDTO recordDTO = new ShareGoodsRecordDTO();
|
| | | recordDTO.setUid(uid);
|
| | |
| | | recordDTO.setShareUrl(shareUrl);
|
| | | recordDTO.setListId(listStorageID);
|
| | | recordDTO.setListGoods(listGoods);
|
| | | if (needDrawPicture) {
|
| | | FileUploadResult uploadResult = drawingSharePicture(uid, id, shareUrl, listGoods);
|
| | | recordDTO.setSharePictureUrl(uploadResult.getUrl());
|
| | | }
|
| | | recordDTO.setSource(ShareSourceTypeEnum.storage);
|
| | |
|
| | | // 缓存分享商品信息
|
| | |
| | | return url;
|
| | | }
|
| | |
|
| | | |
| | | /**
|
| | | * 分享链接
|
| | | *
|
| | |
| | | Long uid = shareRecord.getUid();
|
| | | Long shareId = shareRecord.getId();
|
| | |
|
| | | String url = String.format("http://%s/share_mushGoods_1.6.0.html?uid=%s&shareId=%s",
|
| | | configService.getH5Host(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY), shareId + "");
|
| | | String url = String.format("http://%s/share_mushGoods_1.6.0.html?uid=%s&shareId=%s", configService.getH5Host(),
|
| | | AESUtil.encrypt(uid + "", Constant.UIDAESKEY), shareId + "");
|
| | |
|
| | | String shortLink = HttpUtil.getShortLink(url);
|
| | | if (!StringUtil.isNullOrEmpty(shortLink)) {
|
| | |
| | | /**
|
| | | * 生成分享图
|
| | | *
|
| | | * @param uid 用户id
|
| | | * @param shareId 分享记录id
|
| | | * @param source 来源
|
| | | * @param uid
|
| | | * 用户id
|
| | | * @param shareId
|
| | | * 分享记录id
|
| | | * @param source
|
| | | * 来源
|
| | | * @param listGoods
|
| | | * @return
|
| | | * @throws UserShareGoodsRecordException
|
| | |
| | | * 创建分享
|
| | | * @param uid
|
| | | * @param listStorageID
|
| | | * @param needDrawPicture是否需要绘图
|
| | | * @return
|
| | | * @throws UserGoodsStorageException
|
| | | * @throws UserShareGoodsRecordException
|
| | | */
|
| | | public JSONObject createShareV2(Long uid, List<Long> listStorageID)
|
| | | public JSONObject createShareV2(Long uid, List<Long> listStorageID,boolean needDrawPicture)
|
| | | throws UserGoodsStorageException, UserShareGoodsRecordException;
|
| | |
|
| | | }
|
| | |
| | | public List<UserShareGoodsGroup> listByRecordId(Long shareId);
|
| | |
|
| | | public ShareGoodsRecordDTO addRecordGoodsStorageV2(Long uid, List<CommonGoods> listCommonGoods,
|
| | | List<Long> listStorageID) throws UserShareGoodsRecordException;
|
| | | List<Long> listStorageID,boolean needDrawPicture) throws UserShareGoodsRecordException;
|
| | |
|
| | | }
|
| | |
| | | } else {
|
| | | cg.setCouponAmount(new BigDecimal(0));
|
| | | }
|
| | | cg.setCouponLeftCount(1);
|
| | | cg.setCouponTotalCount(1);
|
| | | }
|
| | |
|
| | | JDCommissionInfo commissionInfo = goods.getCommissionInfo();
|
| | |
| | |
|
| | | @Expose
|
| | | private String wxErCode;// 微信二维码内容
|
| | | |
| | | @Expose
|
| | | private GoodsDetailVO goodsInfo;
|
| | |
|
| | | public GoodsDetailVO getGoodsInfo() {
|
| | | return goodsInfo;
|
| | | }
|
| | |
|
| | | public void setGoodsInfo(GoodsDetailVO goodsInfo) {
|
| | | this.goodsInfo = goodsInfo;
|
| | | }
|
| | |
|
| | | public List<String> getCommentTexts() {
|
| | | return commentTexts;
|