| | |
| | | @RequestMapping(value = "countOrderInfo") |
| | | public void countOrderInfo(String callback, Long uid, PrintWriter out) { |
| | | // 自购已到账 |
| | | long selfNumEnd = hongBaoV2CountService.countMyDirectOrderByCashArrival(uid, Constant.VIP_ORDER_PAY, 1); |
| | | long selfNumEnd = hongBaoV2CountService.countMyDirectOrderByCashArrival(uid, null, 1); |
| | | // 分享已到账 |
| | | long shareNumEnd = hongBaoV2CountService.countMyDirectOrderByCashArrival(uid, Constant.VIP_ORDER_PAY, 2); |
| | | |
| | | long shareNumEnd = hongBaoV2CountService.countMyDirectOrderByCashArrival(uid, null, 2); |
| | | // 自购未到账 |
| | | long selfNum = hongBaoV2CountService.countMyDirectOrderByCashNotArrival(uid, Constant.VIP_ORDER_PAY, 1); |
| | | long selfNum = hongBaoV2CountService.countMyDirectOrderByCashNotArrival(uid, null, 1); |
| | | // 分享未到账 |
| | | long shareNum = hongBaoV2CountService.countMyDirectOrderByCashNotArrival(uid, Constant.VIP_ORDER_PAY, 2); |
| | | long shareNum = hongBaoV2CountService.countMyDirectOrderByCashNotArrival(uid, null, 2); |
| | | |
| | | |
| | | // 自购已到账 |
| | | long selfAccountEnd = hongBaoV2CountService.countMyDirectOrderByCashArrival(uid, Constant.VIP_ORDER_PAY, 1); |
| | | // 分享已到账 |
| | | long shareAccountEnd = hongBaoV2CountService.countMyDirectOrderByCashArrival(uid, Constant.VIP_ORDER_PAY, 2); |
| | | // 自购未到账 |
| | | long selfAccount = hongBaoV2CountService.countMyDirectOrderByCashNotArrival(uid, Constant.VIP_ORDER_PAY, 1); |
| | | // 分享未到账 |
| | | long shareAccount = hongBaoV2CountService.countMyDirectOrderByCashNotArrival(uid, Constant.VIP_ORDER_PAY, 2); |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | data.put("selfNumEnd", selfNumEnd); |
| | | data.put("shareNumEnd", shareNumEnd); |
| | | data.put("selfNum", selfNum); |
| | | data.put("shareNum", shareNum); |
| | | data.put("selfAccountEnd", selfAccountEnd); |
| | | data.put("shareAccountEnd", shareAccountEnd); |
| | | data.put("selfAccount", selfAccount); |
| | | data.put("shareAccount", shareAccount); |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); |
| | | } |
| | | |
| | |
| | | @Resource
|
| | | private UserInviteValidNumService userInviteValidNumService;
|
| | |
|
| | | @Resource
|
| | | private ThreeSaleSerivce threeSaleSerivce;
|
| | | |
| | | /**
|
| | | * 查询用户信息列表 正常用户/异常用户
|
| | | *
|
| | |
| | | JSONObject data = new JSONObject();
|
| | | data.put("doneFirst", doneFirst);
|
| | | data.put("doneSecond", doneSecond);
|
| | | data.put("first", threeSaleSerivce.countFirstTeam(uid)); |
| | | data.put("second", threeSaleSerivce.countSecondTeam(uid)); |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
New file |
| | |
| | | package com.yeshi.fanli.controller.admin.user.cloud;
|
| | |
|
| | | import java.io.PrintWriter;
|
| | | import java.util.List;
|
| | |
|
| | | import javax.annotation.Resource;
|
| | |
|
| | | import org.springframework.stereotype.Controller;
|
| | | import org.springframework.web.bind.annotation.RequestMapping;
|
| | | import org.yeshi.utils.JsonUtil;
|
| | |
|
| | | import com.google.gson.Gson;
|
| | | import com.google.gson.GsonBuilder;
|
| | | import com.yeshi.fanli.entity.bus.user.UserInfo;
|
| | | import com.yeshi.fanli.entity.bus.user.cloud.UserCloud;
|
| | | import com.yeshi.fanli.entity.bus.user.cloud.UserCloudOrder;
|
| | | import com.yeshi.fanli.log.LogHelper;
|
| | | import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService;
|
| | | import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
|
| | | import com.yeshi.fanli.service.inter.user.UserInfoService;
|
| | | import com.yeshi.fanli.service.inter.user.cloud.UserCloudGoodsService;
|
| | | import com.yeshi.fanli.service.inter.user.cloud.UserCloudGroupService;
|
| | | import com.yeshi.fanli.service.inter.user.cloud.UserCloudManageService;
|
| | | import com.yeshi.fanli.service.inter.user.cloud.UserCloudOrderService;
|
| | | import com.yeshi.fanli.service.inter.user.cloud.UserCloudService;
|
| | | import com.yeshi.fanli.service.manger.alipay.UserCloudAlipayManager;
|
| | | import com.yeshi.fanli.tag.PageEntity;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | |
|
| | | import net.sf.json.JSONObject;
|
| | |
|
| | | @Controller
|
| | | @RequestMapping("admin/new/api/v1/cloud")
|
| | | public class UserCloudAdminController {
|
| | |
|
| | | @Resource
|
| | | private UserCloudService userCloudService;
|
| | |
|
| | | @Resource
|
| | | private UserCloudOrderService userCloudOrderService;
|
| | |
|
| | | @Resource
|
| | | private UserCloudGroupService userCloudGroupService;
|
| | |
|
| | | @Resource
|
| | | private UserCloudGoodsService userCloudGoodsService;
|
| | |
|
| | | @Resource
|
| | | private UserInfoService userInfoService;
|
| | |
|
| | | @Resource
|
| | | private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
|
| | |
|
| | | @Resource
|
| | | private UserCloudManageService userCloudManageService;
|
| | |
|
| | | @Resource
|
| | | private UserCloudAlipayManager userCloudAlipayManager;
|
| | | |
| | | @Resource
|
| | | private GoodsEvaluateService goodsEvaluateService;
|
| | | |
| | | |
| | | |
| | | /**
|
| | | * 订单信息查询
|
| | | * @param callback
|
| | | * @param pageIndex
|
| | | * @param key
|
| | | * @param state
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "queryOrder")
|
| | | public void queryOrder(String callback, Integer pageIndex, Integer pageSize, String key, Integer state, PrintWriter out) {
|
| | | try {
|
| | | if (pageIndex == null)
|
| | | pageIndex = 1;
|
| | | if (pageSize == null)
|
| | | pageSize = Constant.PAGE_SIZE;
|
| | | List<UserCloudOrder> list = userCloudOrderService.query(pageIndex, pageSize, key, state);
|
| | | if (list == null || list.size() == 0) {
|
| | | out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("暂无数据")));
|
| | | return;
|
| | | }
|
| | | |
| | | for (UserCloudOrder cloudOrder: list) {
|
| | | UserInfo userInfo = userInfoService.getUserByIdWithMybatis(cloudOrder.getUid());
|
| | | if (userInfo == null)
|
| | | continue;
|
| | | |
| | | cloudOrder.setNickName(userInfo.getNickName());
|
| | | cloudOrder.setPortrait(userInfo.getPortrait());
|
| | | }
|
| | | |
| | | GsonBuilder gsonBuilder = new GsonBuilder();
|
| | | gsonBuilder.serializeNulls(); // 重点
|
| | | Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
|
| | |
|
| | | long count = userCloudOrderService.count(key, state);
|
| | | int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
|
| | | PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
|
| | | |
| | | JSONObject data = new JSONObject();
|
| | | data.put("pe", pe);
|
| | | data.put("list", gson.toJson(list));
|
| | | out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
|
| | | } catch (Exception e) {
|
| | | out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("操作异常")));
|
| | | e.printStackTrace();
|
| | | LogHelper.errorDetailInfo(e);
|
| | | }
|
| | | }
|
| | | |
| | | |
| | | /**
|
| | | * 开通成功记录
|
| | | * @param callback
|
| | | * @param pageIndex
|
| | | * @param key
|
| | | * @param state
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "queryCloud")
|
| | | public void queryCloud(String callback, Integer pageIndex, Integer pageSize, String key, Integer state, PrintWriter out) {
|
| | | try {
|
| | | if (pageIndex == null)
|
| | | pageIndex = 1;
|
| | | if (pageSize == null)
|
| | | pageSize = Constant.PAGE_SIZE;
|
| | | List<UserCloud> list = userCloudService.query(pageIndex, pageSize, key, state);
|
| | | if (list == null || list.size() == 0) {
|
| | | out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("暂无数据")));
|
| | | return;
|
| | | }
|
| | | |
| | | for (UserCloud userCloud: list) {
|
| | | UserInfo userInfo = userInfoService.getUserByIdWithMybatis(userCloud.getUid());
|
| | | if (userInfo == null)
|
| | | continue;
|
| | | |
| | | userCloud.setNickName(userInfo.getNickName());
|
| | | userCloud.setPortrait(userInfo.getPortrait());
|
| | | }
|
| | | |
| | | GsonBuilder gsonBuilder = new GsonBuilder();
|
| | | gsonBuilder.serializeNulls(); // 重点
|
| | | Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
|
| | |
|
| | | long count = userCloudService.count(key, state);
|
| | | int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
|
| | | PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
|
| | | |
| | | JSONObject data = new JSONObject();
|
| | | data.put("pe", pe);
|
| | | data.put("list", gson.toJson(list));
|
| | | out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
|
| | | } catch (Exception e) {
|
| | | out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("操作异常")));
|
| | | e.printStackTrace();
|
| | | LogHelper.errorDetailInfo(e);
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | | |
| | | // 云发单链接
|
| | | if (VersionUtil.greaterThan_2_1_2(acceptData.getPlatform(), acceptData.getVersion())) {
|
| | | data.put("cloudLink", configService.get(ConfigKeyEnum.robotCloudLink.getKey())); |
| | | }
|
| | | |
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | } catch (Exception e) {
|
| | | out.print(JsonUtil.loadFalseResult("获取失败"));
|
| | |
| | |
|
| | |
|
| | | if (VersionUtil.greaterThan_2_1_2(acceptData.getPlatform(), acceptData.getVersion())) {
|
| | | getCloudInfo(goodsDetail); // 云发单文案信息
|
| | | getCloudInfo(goodsDetail, extraVO); // 云发单文案信息
|
| | | }
|
| | |
|
| | | JSONObject object = new JSONObject();
|
| | |
| | | extraVO.setShare(shareInfoVO);
|
| | |
|
| | | if (VersionUtil.greaterThan_2_1_2(acceptData.getPlatform(), acceptData.getVersion())) {
|
| | | getCloudInfo(goodsDetail); // 云发单文案信息
|
| | | getCloudInfo(goodsDetail, extraVO); // 云发单文案信息
|
| | | }
|
| | |
|
| | | JSONObject object = new JSONObject();
|
| | |
| | | }
|
| | |
|
| | | if (VersionUtil.greaterThan_2_1_2(acceptData.getPlatform(), acceptData.getVersion())) {
|
| | | getCloudInfo(goodsDetail); // 云发单文案信息
|
| | | getCloudInfo(goodsDetail, extraVO); // 云发单文案信息
|
| | | }
|
| | |
|
| | | JSONObject object = new JSONObject();
|
| | |
| | | extraVO.setShare(shareInfoVO);
|
| | |
|
| | | // 云发单文案信息
|
| | | getCloudInfo(goodsDetail); |
| | | getCloudInfo(goodsDetail, extraVO); |
| | |
|
| | | JSONObject object = new JSONObject();
|
| | | object.put("extra", JsonUtil.getApiCommonGson().toJson(extraVO));
|
| | |
| | | extraVO.setShare(shareInfoVO);
|
| | |
|
| | | // 云发单文案信息
|
| | | getCloudInfo(goodsDetail); |
| | | getCloudInfo(goodsDetail, extraVO); |
| | |
|
| | | JSONObject object = new JSONObject();
|
| | | object.put("extra", JsonUtil.getApiCommonGson().toJson(extraVO));
|
| | |
| | | * // 云发单文案信息
|
| | | * @param goodsDetail
|
| | | */
|
| | | private void getCloudInfo(GoodsDetailVO goodsDetail) {
|
| | | private void getCloudInfo(GoodsDetailVO goodsDetail, GoodsDetailExtraVO extraVO) {
|
| | | if (!goodsDetail.isHasCoupon()) {
|
| | | return;
|
| | | }
|
| | |
| | | }
|
| | |
|
| | | if (!StringUtil.isNullOrEmpty(cloudText) && !StringUtil.isNullOrEmpty(cloudPic)) {
|
| | | OtherInfo otherInfo = goodsDetail.getOtherInfo();
|
| | | if (otherInfo == null)
|
| | | otherInfo = new OtherInfo();
|
| | | otherInfo.setCloudPic(cloudPic);
|
| | | otherInfo.setCloudText(cloudText);
|
| | | goodsDetail.setOtherInfo(otherInfo);
|
| | | extraVO.setCloudPic(cloudPic);
|
| | | extraVO.setCloudText(cloudText);
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | import com.yeshi.fanli.entity.bus.user.cloud.UserCloudOrder;
|
| | | import com.yeshi.fanli.entity.dynamic.GoodsEvaluate;
|
| | | import com.yeshi.fanli.entity.goods.CommonGoods;
|
| | | import com.yeshi.fanli.entity.system.ConfigKeyEnum;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
|
| | | import com.yeshi.fanli.exception.taobao.TaoKeApiException;
|
| | | import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
|
| | |
| | | import com.yeshi.fanli.exception.user.cloud.UserCloudGoodsException;
|
| | | import com.yeshi.fanli.exception.user.cloud.UserCloudGroupException;
|
| | | import com.yeshi.fanli.log.LogHelper;
|
| | | import com.yeshi.fanli.service.inter.config.ConfigService;
|
| | | import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService;
|
| | | import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
|
| | | import com.yeshi.fanli.service.inter.user.UserInfoService;
|
| | |
| | | import com.yeshi.fanli.util.TimeUtil;
|
| | | import com.yeshi.fanli.util.aitaoker.AitaokerApiUtil;
|
| | | import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
|
| | | import com.yeshi.fanli.util.suning.SuningUtil;
|
| | | import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
|
| | | import com.yeshi.fanli.vo.goods.GoodsDetailVO;
|
| | | import com.yeshi.fanli.vo.user.cloud.UserCloudInfoVO;
|
| | |
| | | @Resource
|
| | | private GoodsEvaluateService goodsEvaluateService;
|
| | |
|
| | | |
| | | @Resource
|
| | | private ConfigService configService;
|
| | |
|
| | | /**
|
| | | * 查询开通记录
|
| | |
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "accordGoods")
|
| | | public void accordGoods(String callback, AcceptData acceptData, Long uid, Long goodsId, Integer goodsType,
|
| | | public void accordGoods(String callback, AcceptData acceptData, Long uid, String goodsId, Integer goodsType,
|
| | | PrintWriter out) {
|
| | | if (uid == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("用户未登录"));
|
| | |
| | |
|
| | | try {
|
| | | boolean state = false;
|
| | | UserCloudGoods cloudGoods = userCloudGoodsService.getByUidAndGoods(uid, goodsId, goodsType);
|
| | | String queryGoodsId = goodsId;
|
| | | if (goodsType == Constant.SOURCE_TYPE_SUNING) { // 苏宁
|
| | | String[] ids = SuningUtil.getGoodsIdDetail(goodsId);
|
| | | queryGoodsId = ids[1];
|
| | | }
|
| | | |
| | | UserCloudGoods cloudGoods = userCloudGoodsService.getByUidAndGoods(uid, Long.parseLong(queryGoodsId), goodsType);
|
| | | if (cloudGoods != null) { // 取消加入选品库
|
| | | userCloudGoodsService.deleteByPrimaryKeyAndUid(cloudGoods.getId(), uid);
|
| | | } else { // 加入选品库
|
| | | Set<Long> set = new HashSet<Long>();
|
| | | Set<String> set = new HashSet<String>();
|
| | | set.add(goodsId);
|
| | | userCloudGoodsService.addGoods(uid, set, goodsType);
|
| | | state = true;
|
| | |
| | | userCloudService.sendByDynamic(uid, id);
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("一键发单成功"));
|
| | | } catch (UserCloudException e) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(),e.getMsg()));
|
| | | if (e.getCode() > 1000) {
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("msg", e.getMsg());
|
| | | data.put("link", configService.get(ConfigKeyEnum.robotCloudLink.getKey()));
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(1000, data));
|
| | | } else {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(),e.getMsg()));
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "sendGoods")
|
| | | public void sendGoods(String callback, AcceptData acceptData, Long uid, Long goodsId, Integer goodsType, PrintWriter out) {
|
| | | public void sendGoods(String callback, AcceptData acceptData, Long uid, String goodsId, Integer goodsType, PrintWriter out) {
|
| | | if (uid == null || goodsId == null || goodsType == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("参数不能为空"));
|
| | | return;
|
| | | }
|
| | |
|
| | | try {
|
| | | GoodsEvaluate evaluate = goodsEvaluateService.queryExistSingle(goodsId +"", goodsType);
|
| | | GoodsEvaluate evaluate = goodsEvaluateService.queryExistSingle(goodsId, goodsType);
|
| | | if (evaluate != null) {
|
| | | userCloudService.sendByDynamic(uid, evaluate.getId());
|
| | | } else {
|
| | | userCloudService.sendCustomGoods(uid, goodsId, goodsType);
|
| | | |
| | | Long gid = null;
|
| | | Long sellerId = null;
|
| | | if (goodsType == Constant.SOURCE_TYPE_SUNING) { // 苏宁
|
| | | String[] ids = SuningUtil.getGoodsIdDetail(goodsId);
|
| | | gid = Long.parseLong(ids[1]);
|
| | | sellerId = Long.parseLong(ids[0]);
|
| | | } else {
|
| | | gid = Long.parseLong(goodsId);
|
| | | }
|
| | | |
| | | userCloudService.sendCustomGoods(uid, gid, goodsType, sellerId);
|
| | | }
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("一键发单成功"));
|
| | | } catch (UserCloudException e) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(),e.getMsg()));
|
| | | if (e.getCode() > 1000 && e.getCode() < 1100) {
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("link", configService.get(ConfigKeyEnum.robotCloudLink.getKey()));
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrue(e.getCode(), data, e.getMsg()).toString());
|
| | | } else {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(),e.getMsg()));
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | import com.yeshi.fanli.entity.money.TeamEincomeRecord;
|
| | | import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum;
|
| | | import com.yeshi.fanli.entity.order.OrderMoneyDailyCount;
|
| | | import com.yeshi.fanli.entity.order.OrderMoneyDailyCount.SourceTypeEnum;
|
| | | import com.yeshi.fanli.entity.order.SourceTypeEnum;
|
| | | import com.yeshi.fanli.entity.system.ConfigKeyEnum;
|
| | | import com.yeshi.fanli.log.LogHelper;
|
| | | import com.yeshi.fanli.service.inter.config.ConfigService;
|
| | |
| | | * @return |
| | | */ |
| | | List<Long> listValidUid(@Param("start") long start, @Param("count") int count); |
| | | |
| | | |
| | | /** |
| | | * 查询订单记录 |
| | | * @param start |
| | | * @param count |
| | | * @param uid |
| | | * @param state |
| | | * @return |
| | | */ |
| | | List<UserCloud> query(@Param("start") long start, @Param("count") int count, @Param("key")String key, @Param("state")Integer state); |
| | | |
| | | Long count(@Param("key")String key, @Param("state")Integer state); |
| | | |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | List<UserCloudOrder> getLasthourByUnpaid(); |
| | | |
| | | |
| | | /** |
| | | * 查询订单记录 |
| | | * @param start |
| | | * @param count |
| | | * @param uid |
| | | * @param state |
| | | * @return |
| | | */ |
| | | List<UserCloudOrder> query(@Param("start") long start, @Param("count") int count, @Param("key")String key, @Param("state")Integer state); |
| | | |
| | | Long count(@Param("key")String key, @Param("state")Integer state); |
| | | |
| | | } |
| | |
| | | import com.mongodb.GroupCommand;
|
| | | import com.yeshi.fanli.dao.MongodbBaseDao;
|
| | | import com.yeshi.fanli.entity.order.OrderMoneyDailyCount;
|
| | | import com.yeshi.fanli.entity.order.OrderMoneyDailyCount.SourceTypeEnum;
|
| | | import com.yeshi.fanli.entity.order.SourceTypeEnum;
|
| | | import com.yeshi.fanli.vo.order.OrderRankingVO;
|
| | |
|
| | | @Repository
|
| | |
| | | @Column(name = "uc_update_time")
|
| | | private Date updateTime;
|
| | |
|
| | | private String nickName;// 昵称
|
| | | private String portrait;// 头像
|
| | | |
| | | public Long getId() {
|
| | | return id;
|
| | | }
|
| | |
| | | this.groupNum = groupNum;
|
| | | }
|
| | |
|
| | | |
| | | public String getNickName() {
|
| | | return nickName;
|
| | | }
|
| | |
|
| | | public void setNickName(String nickName) {
|
| | | this.nickName = nickName;
|
| | | }
|
| | |
|
| | | public String getPortrait() {
|
| | | return portrait;
|
| | | }
|
| | |
|
| | | public void setPortrait(String portrait) {
|
| | | this.portrait = portrait;
|
| | | }
|
| | |
|
| | | }
|
| | |
| | |
|
| | | @Column(name = "crd_uid")
|
| | | private Long uid;
|
| | | |
| | |
|
| | | @Expose
|
| | | @Column(name = "crd_money")
|
| | | private BigDecimal money;
|
| | |
| | |
|
| | | @Column(name = "crd_update_time")
|
| | | private Date updateTime;
|
| | |
|
| | | private String nickName;// 昵称
|
| | | private String portrait;// 头像
|
| | |
|
| | | public Long getId() {
|
| | | return id;
|
| | |
| | | this.updateTime = updateTime;
|
| | | }
|
| | |
|
| | | public String getNickName() {
|
| | | return nickName;
|
| | | }
|
| | |
|
| | | public void setNickName(String nickName) {
|
| | | this.nickName = nickName;
|
| | | }
|
| | |
|
| | | public String getPortrait() {
|
| | | return portrait;
|
| | | }
|
| | |
|
| | | public void setPortrait(String portrait) {
|
| | | this.portrait = portrait;
|
| | | }
|
| | |
|
| | | }
|
| | |
| | | @Document(collection = "order_money_daily_count")
|
| | | public class OrderMoneyDailyCount {
|
| | |
|
| | | public enum SourceTypeEnum {
|
| | | taobao("淘宝", "http://img.flqapp.com/resource/icon/source_type_tb.png"),
|
| | | tmall("天猫", "http://img.flqapp.com/resource/icon/source_type_tm.png"),
|
| | | tmallGlobal("天猫国际", "http://img.flqapp.com/resource/icon/source_type_tm_inter.png"),
|
| | | juHuaSuan("聚划算", "http://img.flqapp.com/resource/icon/source_type_juhuasuan.png"),
|
| | | huangLv("航旅", "http://img.flqapp.com/resource/icon/source_type_hanglv.png"),
|
| | | kouBei("口碑", "http://img.flqapp.com/resource/icon/source_type_koubei.png"),
|
| | | elme("饿了么", "http://img.flqapp.com/resource/icon/source_type_elme.png"),
|
| | | jingDong("京东", "http://img.flqapp.com/resource/icon/source_type_jd.png"),
|
| | | pinDuoDuo("拼多多", "http://img.flqapp.com/resource/icon/source_type_pdd.png");
|
| | |
|
| | | private final String desc;
|
| | | private final String icon;
|
| | |
|
| | | private SourceTypeEnum(String desc, String icon) {
|
| | | this.desc = desc;
|
| | | this.icon = icon;
|
| | | }
|
| | |
|
| | | public String getDesc() {
|
| | | return desc;
|
| | | }
|
| | |
|
| | | public String getIcon() {
|
| | | return icon;
|
| | | }
|
| | | }
|
| | |
|
| | | @Id
|
| | | @Field
|
| | | private String id;
|
New file |
| | |
| | | package com.yeshi.fanli.entity.order;
|
| | |
|
| | | public enum SourceTypeEnum {
|
| | | taobao("淘宝","淘宝","#FF5000","#FF5000", "http://img.flqapp.com/resource/icon/source_type_tb.png"),
|
| | | tmall("天猫","天猫", "#FE0036", "#FE0036", "http://img.flqapp.com/resource/icon/source_type_tm.png"),
|
| | | tmallGlobal("天猫国际", "天猫国际", "#7C48DB", "#7C48DB", "http://img.flqapp.com/resource/icon/source_type_tm_inter.png"),
|
| | | juHuaSuan("聚划算", "聚划算","#FE0036","#FE0036","http://img.flqapp.com/resource/icon/source_type_juhuasuan.png"),
|
| | | huangLv("航旅","飞猪","#3B3B39","#FDBA07", "http://img.flqapp.com/resource/icon/source_type_hanglv.png"),
|
| | | kouBei("口碑", "口碑", "#EA5421","#EA5421", "http://img.flqapp.com/resource/icon/source_type_koubei.png"),
|
| | | elme("饿了么","饿了么","#018DFF","#018DFF", "http://img.flqapp.com/resource/icon/source_type_elme.png"),
|
| | | jingDong("京东","京东","#E42219","#E42219", "http://img.flqapp.com/resource/icon/source_type_jd.png"),
|
| | | pinDuoDuo("拼多多", "拼多多","#F51E25","#F51E25","http://img.flqapp.com/resource/icon/source_type_pdd.png"),
|
| | | vip("唯品会","唯品会","#E30085", "#E30085", "http://img.flqapp.com/resource/icon/source_type_vip.png"),
|
| | | suNing("苏宁易购","苏宁易购","#010101","#FFA600", "http://img.flqapp.com/resource/icon/source_type_suning.png");
|
| | |
|
| | | private final String desc; // 数据存在名称
|
| | | private final String descShow; // 显示名称
|
| | | private final String fontColor; // 字体颜色
|
| | | private final String borderColor; //边框颜色
|
| | | private final String icon; // 图标
|
| | |
|
| | | private SourceTypeEnum(String desc, String descShow,String fontColor, String borderColor,String icon) {
|
| | | this.desc = desc;
|
| | | this.descShow = descShow;
|
| | | this.fontColor = fontColor;
|
| | | this.borderColor = borderColor;
|
| | | this.icon = icon;
|
| | | }
|
| | |
|
| | | public String getDesc() {
|
| | | return desc;
|
| | | }
|
| | |
|
| | | public String getIcon() {
|
| | | return icon;
|
| | | }
|
| | |
|
| | | public String getDescShow() {
|
| | | return descShow;
|
| | | }
|
| | |
|
| | | public String getFontColor() {
|
| | | return fontColor;
|
| | | }
|
| | |
|
| | | public String getBorderColor() {
|
| | | return borderColor;
|
| | | }
|
| | | |
| | | public static SourceTypeEnum getByDesc(String desc) {
|
| | | if (desc == null || desc.trim().length() == 0) |
| | | return null;
|
| | | for (SourceTypeEnum typeEnum: SourceTypeEnum.values()) {
|
| | | if (typeEnum.getDesc().equalsIgnoreCase(desc))
|
| | | return typeEnum;
|
| | | }
|
| | | |
| | | return null;
|
| | | }
|
| | | } |
| | |
| | | // 平台规则 |
| | | platformRule("platform_rule_link", "平台规则"), |
| | | |
| | | showSplashAd("show_splash_ad","是否显示开屏广告"); |
| | | showSplashAd("show_splash_ad","是否显示开屏广告"), |
| | | |
| | | robotCloudLink("robot_cloud_link","云发单链接"); |
| | | |
| | | |
| | | private final String key; |
| | | private final String desc; |
| | |
| | | SELECT COUNT(0) FROM (SELECT co.`co_order_no` FROM yeshi_ec_hongbao_v2 v2
|
| | | LEFT JOIN yeshi_ec_hongbao_order h ON v2.`hb_id` = h.`ho_hongbao_id`
|
| | | LEFT JOIN yeshi_ec_common_order co ON h.`ho_order_id` = co.`co_id`
|
| | | WHERE v2.`hb_state` = 3 |
| | | WHERE v2.`hb_state` = 3 AND v2.`hb_uid` = #{uid}
|
| | | <if test="type == 1">AND v2.`hb_type` = 1</if>
|
| | | <if test="type == 2">AND v2.`hb_type` = 20</if>
|
| | | <if test="type == null">AND (v2.`hb_type` = 1 OR v2.`hb_type` = 20)</if>
|
| | | AND v2.`hb_uid` = #{uid} AND co.`co_payment` >= #{payment} |
| | | <if test="payment != null">AND co.`co_payment` >= #{payment}</if>
|
| | | GROUP BY co.`co_order_no`,co.`co_source_type`)A
|
| | | </select>
|
| | |
|
| | |
| | | SELECT COUNT(0) FROM (SELECT co.`co_order_no` FROM yeshi_ec_hongbao_v2 v2
|
| | | LEFT JOIN yeshi_ec_hongbao_order h ON v2.`hb_id` = h.`ho_hongbao_id`
|
| | | LEFT JOIN yeshi_ec_common_order co ON h.`ho_order_id` = co.`co_id`
|
| | | WHERE (v2.`hb_state` = 1 or v2.`hb_state` = 2)
|
| | | WHERE v2.`hb_uid` = #{uid} AND (v2.`hb_state` = 1 or v2.`hb_state` = 2)
|
| | | <if test="type == 1">AND v2.`hb_type` = 1</if>
|
| | | <if test="type == 2">AND v2.`hb_type` = 20</if>
|
| | | <if test="type == null">AND (v2.`hb_type` = 1 OR v2.`hb_type` = 20)</if>
|
| | | AND v2.`hb_uid` = #{uid} AND co.`co_payment` >= #{payment} |
| | | <if test="payment != null">AND co.`co_payment` >= #{payment}</if>
|
| | | GROUP BY co.`co_order_no`,co.`co_source_type`)A
|
| | | </select>
|
| | |
|
| | |
| | | <result column="co_state_desc" property="stateDesc" jdbcType="VARCHAR" /> |
| | | <result column="co_uid" property="userId" jdbcType="VARCHAR" /> |
| | | <result column="co_urank" property="urank" jdbcType="INTEGER" /> |
| | | <result column="co_child_source_type" property="childSourceType" |
| | | jdbcType="VARCHAR" /> |
| | | <association property="userInfo" column="co_uid" |
| | | resultMap="com.yeshi.fanli.dao.mybatis.UserInfoMapper.BaseResultMap" /> |
| | | <association property="commonOrderGoods" column="co_order_goods_id" |
| | |
| | | <result column="co_trade_id" property="tradeId" jdbcType="VARCHAR" /> |
| | | <result column="co_state_desc" property="stateDesc" jdbcType="VARCHAR" /> |
| | | <result column="co_urank" property="urank" jdbcType="INTEGER" /> |
| | | <result column="co_child_source_type" property="childSourceType" |
| | | jdbcType="VARCHAR" /> |
| | | <association property="userInfo" column="co_uid" |
| | | select="com.yeshi.fanli.dao.mybatis.UserInfoMapper.selectByPrimaryKey" /> |
| | | <association property="commonOrderGoods" column="co_order_goods_id" |
| | |
| | | co_order_goods_id,co_count,co_state,co_state_whole_order, |
| | | co_estimate,co_eIncome,co_payment,co_settlement, co_third_create_time, |
| | | MAX(co_settle_time) AS co_settle_time, co_order_by, co_create_time, |
| | | co_update_time,co_state_desc,co_urank |
| | | co_update_time,co_state_desc,co_urank,co_child_source_type |
| | | </sql> |
| | | <select id="selectByPrimaryKey" resultMap="BaseResultMap" |
| | | parameterType="java.lang.Long"> |
| | |
| | | LIMIT #{start},{count} |
| | | </select> |
| | | |
| | | <select id="query" resultMap="BaseResultMap"> |
| | | SELECT * FROM yeshi_ec_user_cloud d |
| | | WHERE 1=1 |
| | | <if test="key != null and key !=''"> AND d.`uc_uid` LIKE '%#{key}%' </if> |
| | | <if test="state == 0">AND d.`uc_end_time`<![CDATA[<=]]>NOW()</if> |
| | | <if test="state == 1">AND d.`uc_end_time` > NOW()</if> |
| | | ORDER BY d.`uc_id` DESC |
| | | LIMIT #{start},#{count} |
| | | </select> |
| | | |
| | | <select id="count" resultType="Long"> |
| | | SELECT count(d.`uc_id`) FROM yeshi_ec_user_cloud d |
| | | WHERE 1=1 |
| | | <if test="key != null and key !=''"> AND d.`uc_uid` LIKE '%#{key}%' </if> |
| | | <if test="state == 0">AND d.`uc_end_time`<![CDATA[<=]]>NOW()</if> |
| | | <if test="state == 1">AND d.`uc_end_time` > NOW()</if> |
| | | </select> |
| | | |
| | | |
| | | </mapper> |
| | |
| | | WHERE crd_state = 0 AND crd_update_time > DATE_SUB(NOW(),INTERVAL 1 HOUR) |
| | | </select> |
| | | |
| | | |
| | | <select id="query" resultMap="BaseResultMap"> |
| | | SELECT * FROM yeshi_ec_user_cloud_order d |
| | | WHERE 1=1 |
| | | <if test="key != null and key !=''"> AND d.`crd_uid` LIKE '%#{key}%' </if> |
| | | <if test="state != null">AND d.crd_state = #{state}</if> |
| | | ORDER BY d.`crd_id` DESC |
| | | LIMIT #{start},#{count} |
| | | </select> |
| | | |
| | | <select id="count" resultType="Long"> |
| | | SELECT count(d.`crd_id`) FROM yeshi_ec_user_cloud_order d |
| | | WHERE 1=1 |
| | | <if test="key != null and key !='' "> AND d.`crd_uid` LIKE '%#{key}%' </if> |
| | | <if test="state != null">AND d.crd_state = #{state}</if> |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | import com.yeshi.fanli.entity.order.ESOrder; |
| | | import com.yeshi.fanli.entity.order.HongBaoOrder; |
| | | import com.yeshi.fanli.entity.order.InviteOrderSubsidy; |
| | | import com.yeshi.fanli.entity.order.SourceTypeEnum; |
| | | import com.yeshi.fanli.entity.pdd.PDDOrder; |
| | | import com.yeshi.fanli.entity.suning.SuningOrderInfo; |
| | | import com.yeshi.fanli.entity.system.ConfigKeyEnum; |
| | |
| | | } else if (sourceType == Constant.SOURCE_TYPE_PDD) { |
| | | order.setOrderType(4); |
| | | } |
| | | |
| | | // 子来源类型 |
| | | ClientTextStyleVO shopStyleVO = new ClientTextStyleVO(); |
| | | SourceTypeEnum typeEnum = SourceTypeEnum.getByDesc(order.getChildSourceType()); |
| | | if (typeEnum == null) { |
| | | shopStyleVO.setContent("其他"); |
| | | shopStyleVO.setColor("#FF5000"); |
| | | shopStyleVO.setBorderColor("#FF5000"); |
| | | } else { |
| | | shopStyleVO.setContent(typeEnum.getDescShow()); |
| | | shopStyleVO.setColor(typeEnum.getFontColor()); |
| | | shopStyleVO.setBorderColor(typeEnum.getBorderColor()); |
| | | } |
| | | order.setShopType(shopStyleVO); |
| | | |
| | | |
| | | Date thirdCreateTime = order.getThirdCreateTime(); |
| | | if (thirdCreateTime != null) { |
| | |
| | | userInfoVO.setCountScanHistory(countScanHistory);
|
| | |
|
| | | // 一度队员数量
|
| | | int firstTeamCount = shareMapper.myFirstTeamCount(uid + "");
|
| | | userInfoVO.setCountLevelOne(firstTeamCount);
|
| | | //int firstTeamCount = shareMapper.myFirstTeamCount(uid + "");
|
| | | //userInfoVO.setCountLevelOne(firstTeamCount);
|
| | |
|
| | | // 二度队员数量
|
| | | int secondTeamCount = shareMapper.mySecondTeamCount(uid + "");
|
| | | userInfoVO.setCountLevelTwo(secondTeamCount);
|
| | | //int secondTeamCount = shareMapper.mySecondTeamCount(uid + "");
|
| | | //userInfoVO.setCountLevelTwo(secondTeamCount);
|
| | |
|
| | | String userLevel = userInfoVO.getUserLevel();
|
| | | if (!StringUtil.isNullOrEmpty(userLevel)) {
|
| | |
| | |
|
| | | import org.springframework.stereotype.Service;
|
| | |
|
| | | import com.aliyun.openservices.ons.api.Message;
|
| | | import com.aliyun.openservices.ons.api.Producer;
|
| | | import com.yeshi.fanli.dao.mybatis.user.cloud.UserCloudGoodsMapper;
|
| | | import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
|
| | | import com.yeshi.fanli.dto.mq.user.body.UserCloudMQMsg;
|
| | | import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
|
| | | import com.yeshi.fanli.dto.suning.SuningGoodsInfo;
|
| | | import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo;
|
| | | import com.yeshi.fanli.entity.bus.user.cloud.UserCloudGoods;
|
| | | import com.yeshi.fanli.entity.goods.CommonGoods;
|
| | | import com.yeshi.fanli.entity.jd.JDGoods;
|
| | |
| | | import com.yeshi.fanli.util.cache.JDGoodsCacheUtil;
|
| | | import com.yeshi.fanli.util.cache.PinDuoDuoCacheUtil;
|
| | | import com.yeshi.fanli.util.factory.CommonGoodsFactory;
|
| | | import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
|
| | | import com.yeshi.fanli.util.rocketmq.MQTopicName;
|
| | | import com.yeshi.fanli.util.suning.SuningApiUtil;
|
| | | import com.yeshi.fanli.util.suning.SuningUtil;
|
| | | import com.yeshi.fanli.util.vipshop.VipShopApiUtil;
|
| | |
|
| | |
|
| | | @Service
|
| | |
| | |
|
| | | @Resource
|
| | | private CommonGoodsService commonGoodsService;
|
| | | |
| | | @Resource(name = "producer")
|
| | | private Producer producer;
|
| | |
|
| | |
|
| | | @Override
|
| | |
| | | }
|
| | |
|
| | | @Override
|
| | | public void addGoods(Long uid, Set<Long> set, Integer goodsType) throws UserCloudGoodsException {
|
| | | public void addGoods(Long uid, Set<String> set, Integer goodsType) throws UserCloudGoodsException {
|
| | | if (uid == null) {
|
| | | throw new UserCloudGoodsException(1, "用户尚未登录");
|
| | | }
|
| | |
| | | throw new UserCloudGoodsException(1, "系统参数不正确");
|
| | | }
|
| | |
|
| | | for (Long goodsId : set) {
|
| | | for (String goodsId : set) {
|
| | | CommonGoods commonGoods = null;
|
| | | if (goodsType == Constant.SOURCE_TYPE_TAOBAO) { // 淘宝
|
| | | try {
|
| | | TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(goodsId);
|
| | | TaoBaoGoodsBrief goodsBrief = redisManager.getTaoBaoGoodsBrief(Long.parseLong(goodsId));
|
| | | commonGoods = CommonGoodsFactory.create(goodsBrief);
|
| | | } catch (TaobaoGoodsDownException e) {
|
| | | throw new UserCloudGoodsException(1, goodsId + "商品已下架");
|
| | | }
|
| | | } else if (goodsType == Constant.SOURCE_TYPE_JD) { // 京东
|
| | | JDGoods goods = jdGoodsCacheUtil.getGoodsInfo(goodsId);
|
| | | JDGoods goods = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsId));
|
| | | if (goods == null)
|
| | | throw new UserCloudGoodsException(1, goodsId + "未找到商品信息");
|
| | | commonGoods = CommonGoodsFactory.create(goods);
|
| | | } else if (goodsType == Constant.SOURCE_TYPE_PDD) { // 拼多多
|
| | | PDDGoodsDetail goods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId);
|
| | | PDDGoodsDetail goods = pinDuoDuoCacheUtil.getGoodsInfo(Long.parseLong(goodsId));
|
| | | if (goods == null)
|
| | | throw new UserCloudGoodsException(1, goodsId + "未找到商品信息");
|
| | | commonGoods = CommonGoodsFactory.create(goods);
|
| | | } |
| | | } else if (goodsType == Constant.SOURCE_TYPE_VIP) { // 唯品会
|
| | | VIPGoodsInfo goods = VipShopApiUtil.getGoodsDetail(goodsId);
|
| | | if (goods == null)
|
| | | throw new UserCloudGoodsException(1, goodsId + "未找到商品信息");
|
| | | commonGoods = CommonGoodsFactory.create(goods);
|
| | | } else if (goodsType == Constant.SOURCE_TYPE_SUNING) { // 苏宁
|
| | | String[] ids = SuningUtil.getGoodsIdDetail(goodsId);
|
| | | SuningGoodsInfo goods = SuningApiUtil.getGoodsDetail(ids[1], ids[0]);
|
| | | if (goods == null)
|
| | | throw new UserCloudGoodsException(1, goodsId + "未找到商品信息");
|
| | | commonGoods = CommonGoodsFactory.create(goods);
|
| | | }
|
| | |
|
| | | if (commonGoods == null) {
|
| | | LogHelper.test("云发单未找到商品详情,id=" + goodsId + "type=" + goodsType);
|
| | |
| | | cloudGoods.setUpdateTime(new Date());
|
| | | userCloudGoodsMapper.insertSelective(cloudGoods);
|
| | | }
|
| | | |
| | | if (cloudGoods.getId() != null) {
|
| | | if (!Constant.IS_TEST) {
|
| | | UserCloudMQMsg msg = new UserCloudMQMsg(uid, cloudGoods.getId() +"", UserCloudMQMsg.TYPE_STORE);
|
| | | Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.userCloud, msg);
|
| | | producer.send(message);
|
| | | }
|
| | | }
|
| | | |
| | | }
|
| | | }
|
| | |
|
| | |
| | | public List<UserCloudOrder> getLasthourByUnpaid() {
|
| | | return userCloudOrderMapper.getLasthourByUnpaid();
|
| | | }
|
| | | |
| | | |
| | | @Override
|
| | | public List<UserCloudOrder> query(int page, int count,String key, Integer state) {
|
| | | return userCloudOrderMapper.query((page-1)* count, count, key, state);
|
| | | }
|
| | | |
| | | @Override
|
| | | public long count(String key, Integer state) {
|
| | | Long count = userCloudOrderMapper.count(key, state);
|
| | | if (count == null)
|
| | | count = 0L;
|
| | | return count;
|
| | | }
|
| | | |
| | | |
| | | }
|
| | |
| | | import org.springframework.stereotype.Service;
|
| | | import org.springframework.transaction.annotation.Transactional;
|
| | | import org.yeshi.utils.BigDecimalUtil;
|
| | | import org.yeshi.utils.entity.FileUploadResult;
|
| | |
|
| | | import com.aliyun.openservices.ons.api.Message;
|
| | | import com.aliyun.openservices.ons.api.Producer;
|
| | | import com.yeshi.fanli.controller.client.v2.ShareControllerV2;
|
| | | import com.yeshi.fanli.dao.mybatis.user.cloud.UserCloudMapper;
|
| | | import com.yeshi.fanli.dto.aitaoker.RobotInfoDTO;
|
| | | import com.yeshi.fanli.dto.aitaoker.WeiXinGroupDTO;
|
| | |
| | | import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
|
| | | import com.yeshi.fanli.dto.mq.user.body.UserCloudMQMsg;
|
| | | import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
|
| | | import com.yeshi.fanli.dto.suning.SuningGoodsImg;
|
| | | import com.yeshi.fanli.dto.suning.SuningGoodsInfo;
|
| | | import com.yeshi.fanli.dto.vip.VIPConvertResultDTO;
|
| | | import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo;
|
| | | import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
|
| | | import com.yeshi.fanli.entity.bus.user.UserInfo;
|
| | | import com.yeshi.fanli.entity.bus.user.cloud.CloudOrderMenuEnum;
|
| | |
| | | import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil;
|
| | | import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
|
| | | import com.yeshi.fanli.util.rocketmq.MQTopicName;
|
| | | import com.yeshi.fanli.util.suning.SuningApiUtil;
|
| | | import com.yeshi.fanli.util.suning.SuningUtil;
|
| | | import com.yeshi.fanli.util.taobao.TaoBaoUtil;
|
| | | import com.yeshi.fanli.util.vipshop.VipShopApiUtil;
|
| | | import com.yeshi.fanli.util.vipshop.VipShopUtil;
|
| | | import com.yeshi.fanli.vo.goods.GoodsDetailVO;
|
| | |
|
| | | @Service
|
| | |
| | | Long count = userCloudMapper.countByUid(uid);
|
| | | return count;
|
| | | }
|
| | | |
| | | |
| | | @Override
|
| | | public List<UserCloud> query(int page, int count,String key, Integer state) {
|
| | | return userCloudMapper.query((page-1)* count, count, key, state);
|
| | | }
|
| | | |
| | | @Override
|
| | | public long count(String key, Integer state) {
|
| | | Long count = userCloudMapper.count(key, state);
|
| | | if (count == null)
|
| | | count = 0L;
|
| | | return count;
|
| | | }
|
| | | |
| | | |
| | | |
| | |
|
| | | @Override
|
| | | @Transactional(rollbackFor = Exception.class)
|
| | |
| | |
|
| | | String inviteCode = userInfoExtraService.getInviteCodeByUid(uid);
|
| | | if (StringUtil.isNullOrEmpty(inviteCode))
|
| | | throw new UserCloudException(1, "邀请码未激活");
|
| | | throw new UserCloudException(3, "邀请码未激活");
|
| | |
|
| | | UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid);
|
| | | String relationId = null;
|
| | |
| | | // 验证是否开通
|
| | | UserCloud userCloud = userCloudMapper.getValidByUid(uid);
|
| | | if (userCloud == null)
|
| | | throw new UserCloudException(1, "云发单已过期");
|
| | | throw new UserCloudException(1001, "云发单已过期");
|
| | |
|
| | | Integer robotId = userCloud.getRobotId();
|
| | | if (robotId == null)
|
| | | throw new UserCloudException(1, "云发单机器人不存在");
|
| | | throw new UserCloudException(1002, "云发单机器人不存在");
|
| | |
|
| | | String wxId = userCloud.getWxId();
|
| | | if (StringUtil.isNullOrEmpty(wxId))
|
| | | throw new UserCloudException(1, "微信号缺失");
|
| | | throw new UserCloudException(1003, "微信号不存在,请先微信登录");
|
| | |
|
| | | // 验证开启状态
|
| | | List<UserCloudGroup> listGroup = userCloudGroupService.listByUid(uid);
|
| | | if (listGroup == null || listGroup.size() == 0)
|
| | | throw new UserCloudException(1, "请先添加云发单群信息");
|
| | | throw new UserCloudException(1004, "请先微信登录");
|
| | |
|
| | | List<UserCloudGroup> listOpen = new ArrayList<>();
|
| | | for (UserCloudGroup cloudGrou : listGroup) {
|
| | |
| | | }
|
| | | }
|
| | | if (listOpen.size() == 0)
|
| | | throw new UserCloudException(1, "请先开启云发单群功能");
|
| | | throw new UserCloudException(1005, "请先开启云发单群功能");
|
| | | |
| | |
|
| | | // 验证发圈是否可行
|
| | | GoodsEvaluate evaluate = goodsEvaluateService.getById(id);
|
| | |
| | | if (imgInfo.getType() == ImgEnum.goods) {
|
| | | cloudPic = imgInfo.getUrl();
|
| | | }
|
| | | listImg.add(imgInfo.getUrl());
|
| | |
|
| | | GoodsDetailVO goodsVO = imgInfo.getGoodsVO();
|
| | | if (goodsVO == null) {
|
| | | listImg.add(imgInfo.getUrl());
|
| | | } else {
|
| | | String jumpLink = getJumpLink(goodsVO, user, relationId, inviteCode, imgInfo.getUrl());
|
| | | if (!StringUtil.isNullOrEmpty(jumpLink)) {
|
| | | qrCode = jumpLink;
|
| | | }
|
| | | }
|
| | | // 取消二维码图
|
| | | // GoodsDetailVO goodsVO = imgInfo.getGoodsVO();
|
| | | // if (goodsVO == null) {
|
| | | // listImg.add(imgInfo.getUrl());
|
| | | // } else {
|
| | | // String jumpLink = getJumpLink(goodsVO, user, relationId, inviteCode, imgInfo.getUrl());
|
| | | // if (!StringUtil.isNullOrEmpty(jumpLink)) {
|
| | | // qrCode = jumpLink;
|
| | | // }
|
| | | // }
|
| | | }
|
| | |
|
| | | if (cloudPic == null) {
|
| | |
| | |
|
| | | // 发送图片
|
| | | if (!StringUtil.isNullOrEmpty(cloudPic)) {
|
| | | String imgBase64 = ImageToBase64.NetImageToBase64(cloudPic);
|
| | | boolean macsend = AitaokerApiUtil.macsendImgBase64(robotId, cloudGroup.getGroupId(), imgBase64);
|
| | | if (macsend)
|
| | | sendContent.setPicUrl(cloudPic);
|
| | | try {
|
| | | String imgBase64 = ImageToBase64.NetImageToBase64(cloudPic);
|
| | | boolean macsend = AitaokerApiUtil.macsendImgBase64(robotId, cloudGroup.getGroupId(), imgBase64);
|
| | | if (macsend)
|
| | | sendContent.setPicUrl(cloudPic);
|
| | | } catch (Exception e) {
|
| | | LogHelper.errorDetailInfo(e);
|
| | | }
|
| | | }
|
| | |
|
| | | // 评论文本
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * 商品分享跳转链接
|
| | | * @param goodsVO
|
| | | * @param user
|
| | | * @param relationId
|
| | | * @param inviteCode
|
| | | * @param mainPic
|
| | | * @return
|
| | | */
|
| | | private String getJumpLink(GoodsDetailVO goodsVO, UserInfo user, String relationId, String inviteCode,
|
| | | String mainPic) {
|
| | | String jumpLink = null;
|
| | | if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) {
|
| | | TaoBaoLink taoBaoLink = null;
|
| | | try {
|
| | | taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(user.getId(), Long.parseLong(goodsVO.getGoodsId()), relationId);
|
| | | } catch (ShareGoodsException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | jumpLink = ShareControllerV2.getERCodeContentNew(
|
| | | configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()), taoBaoLink.getGoods(),
|
| | | TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
|
| | | } else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_JD) {
|
| | | JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsVO.getGoodsId()));
|
| | | if (jdGoods == null) {
|
| | | return null;
|
| | | }
|
| | |
|
| | | String couponUrl = null;
|
| | | JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(jdGoods);
|
| | | if (couponInfo != null) {
|
| | | couponUrl = couponInfo.getLink();
|
| | | }
|
| | | String materialId = "https://item.jd.com/" + goodsVO.getGoodsId() + ".html";
|
| | | jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "",
|
| | | user.getId() + "");
|
| | | } else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_PDD) {
|
| | | jumpLink = PinDuoDuoApiUtil.getPromotionUrl(Long.parseLong(goodsVO.getGoodsId()), PinDuoDuoApiUtil.PID_SHARE + "",
|
| | | user.getId() + "");
|
| | | }
|
| | |
|
| | | FileUploadResult uploadResult = qrCodeService.drawDynamicGoodsPoster(jumpLink, user.getPortrait(), inviteCode, mainPic, goodsVO);
|
| | | |
| | | if (uploadResult != null) {
|
| | | return uploadResult.getUrl();
|
| | | }
|
| | | return null;
|
| | | }
|
| | | |
| | |
|
| | | @Override
|
| | | public void sendCustomGoods(Long uid, Long goodsId, Integer goodsType) throws UserCloudException{
|
| | | sendCircleByGoods(uid, goodsId, goodsType, null);
|
| | | public void sendCustomGoods(Long uid, Long goodsId, Integer goodsType, Long sellerId) throws UserCloudException{
|
| | | sendCircleByGoods(uid, goodsId, goodsType, null, sellerId);
|
| | | }
|
| | |
|
| | | @Override
|
| | |
| | |
|
| | | try {
|
| | | // 发送商品
|
| | | sendCircleByGoods(uid, cgoods.getGoodsId(), cgoods.getGoodsType(), id);
|
| | | sendCircleByGoods(uid, cgoods.getGoodsId(), cgoods.getGoodsType(), id, cgoods.getSellerId());
|
| | |
|
| | | UserCloudGoods record = new UserCloudGoods();
|
| | | record.setId(id);
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | private void sendCircleByGoods(Long uid, Long goodsId, Integer goodsType, Long storeId) throws UserCloudException {
|
| | | private void sendCircleByGoods(Long uid, Long goodsId, Integer goodsType, Long storeId, Long sellerId) throws UserCloudException {
|
| | | // 验证是否授权
|
| | | UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
|
| | | if (user == null)
|
| | |
| | | if (user != null && user.getState() != UserInfo.STATE_NORMAL) {
|
| | | throw new UserCloudException(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC);
|
| | | }
|
| | | |
| | | String inviteCode = userInfoExtraService.getInviteCodeByUid(uid);
|
| | | if (StringUtil.isNullOrEmpty(inviteCode))
|
| | | throw new UserCloudException(3, "邀请码未激活");
|
| | |
|
| | | UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid);
|
| | | String relationId = null;
|
| | |
| | | // 验证是否开通
|
| | | UserCloud userCloud = userCloudMapper.getValidByUid(uid);
|
| | | if (userCloud == null)
|
| | | throw new UserCloudException(1, "云发单已过期");
|
| | | throw new UserCloudException(1001, "云发单已过期");
|
| | |
|
| | | Integer robotId = userCloud.getRobotId();
|
| | | if (robotId == null)
|
| | |
| | |
|
| | | String wxId = userCloud.getWxId();
|
| | | if (StringUtil.isNullOrEmpty(wxId))
|
| | | throw new UserCloudException(1, "微信号缺失");
|
| | | throw new UserCloudException(1002, "请先登录微信");
|
| | |
|
| | | // 验证开启状态
|
| | | List<UserCloudGroup> listGroup = userCloudGroupService.listByUid(uid);
|
| | | if (listGroup == null || listGroup.size() == 0)
|
| | | throw new UserCloudException(1, "请先添加云发单群信息");
|
| | | throw new UserCloudException(1003, "请先登录微信");
|
| | |
|
| | | List<UserCloudGroup> listOpen = new ArrayList<>();
|
| | | for (UserCloudGroup cloudGrou : listGroup) {
|
| | |
| | | }
|
| | |
|
| | | if (listOpen.size() == 0)
|
| | | throw new UserCloudException(1, "请先开启云发单群功能");
|
| | | throw new UserCloudException(1004, "请先开启云发单群功能");
|
| | |
|
| | | // 保存发送记录
|
| | | UserCloudSendRecord sendRecord = new UserCloudSendRecord();
|
| | |
| | | } else if (goodsType == Constant.SOURCE_TYPE_PDD) {
|
| | | sendPDDGoods(user, robotId, wxId, goodsId, relationId, listOpen, result.getId());
|
| | | } else if (goodsType == Constant.SOURCE_TYPE_VIP) {
|
| | | |
| | | sendVIPGoods(user, robotId, wxId, goodsId, relationId, listOpen, result.getId());
|
| | | } else if (goodsType == Constant.SOURCE_TYPE_SUNING) {
|
| | | |
| | | sendSuNingGoods(user, robotId, wxId, goodsId, sellerId, relationId, listOpen, result.getId());
|
| | | }
|
| | | }
|
| | |
|
| | |
| | |
|
| | |
|
| | | /**
|
| | | * 唯品会商品
|
| | | * @param user
|
| | | * @param robotId
|
| | | * @param wxId
|
| | | * @param goodsId
|
| | | * @param relationId
|
| | | * @param listOpen
|
| | | * @param pid
|
| | | * @throws UserCloudException
|
| | | */
|
| | | private void sendVIPGoods(UserInfo user, int robotId, String wxId, Long goodsId, String relationId, |
| | | List<UserCloudGroup> listOpen, String pid) throws UserCloudException {
|
| | | VIPGoodsInfo goods = VipShopApiUtil.getGoodsDetail(goodsId + "");
|
| | | if (goods == null)
|
| | | throw new UserCloudException(1, "该商品已下架");
|
| | |
|
| | | VIPConvertResultDTO resultDTO = VipShopApiUtil.convertLink(goodsId + "", VipShopUtil.getShareChanTag(user.getId()));
|
| | | String jumpLink = resultDTO.getUrl();
|
| | | |
| | | boolean coupon = false;
|
| | | String quanPrice = "";
|
| | | String couponAmount = "";
|
| | | // 获取推荐语
|
| | | String recommendText = shareGoodsTextTemplateService.getRecommendText(coupon, goods.getGoodsName(), null,
|
| | | couponAmount, null);
|
| | | // 获取评论语
|
| | | String commentText = shareGoodsTextTemplateService.getCommentTextByLink(coupon, jumpLink, goods.getMarketPrice(), |
| | | quanPrice, ConfigKeyEnum.quickShareJDCommentText);
|
| | | |
| | | // 云发单
|
| | | sendGoods(robotId, wxId, listOpen, recommendText, commentText, goods.getGoodsDetailPictures(), user.getId(), pid);
|
| | | }
|
| | | |
| | | |
| | | /**
|
| | | * 京东商品云发单
|
| | | * @param user
|
| | | * @param robotId
|
| | | * @param wxId
|
| | | * @param goodsId
|
| | | * @param relationId
|
| | | * @param listOpen
|
| | | * @throws UserCloudException
|
| | | */
|
| | | private void sendSuNingGoods(UserInfo user, int robotId, String wxId, Long goodsId, Long sellerId, String relationId, |
| | | List<UserCloudGroup> listOpen, String pid) throws UserCloudException {
|
| | | SuningGoodsInfo goods = SuningApiUtil.getGoodsDetail(goodsId +"", sellerId +"");
|
| | | if (goods == null)
|
| | | throw new UserCloudException(1, "该商品已下架");
|
| | | |
| | | |
| | | String couponLink = goods.getCouponInfo().getCouponUrl();
|
| | | String jumpLink = SuningApiUtil.convertLink(SuningUtil.getProductUrl(sellerId +"", goodsId +""),
|
| | | StringUtil.isNullOrEmpty(couponLink) ? null : couponLink, SuningApiUtil.PID_SHARE, user.getId() + "");
|
| | | |
| | | |
| | | boolean coupon = false;
|
| | | String quanPrice = "";
|
| | | String couponAmount = "";
|
| | | String sales = null;
|
| | | // 获取推荐语
|
| | | String recommendText = shareGoodsTextTemplateService.getRecommendText(coupon, goods.getCommodityInfo().getCommodityName(), sales, |
| | | couponAmount, null);
|
| | | |
| | | // 获取评论语
|
| | | String zkPrice = goods.getCommodityInfo().getCommodityPrice().toString();
|
| | | String commentText = shareGoodsTextTemplateService.getCommentTextByLink(coupon, jumpLink, zkPrice, quanPrice, |
| | | ConfigKeyEnum.quickShareJDCommentText);
|
| | | |
| | | List<String> imgList = new ArrayList<>();
|
| | | for (SuningGoodsImg img : goods.getCommodityInfo().getPictureUrl()) {
|
| | | imgList.add(img.getPicUrl());
|
| | | }
|
| | | |
| | | // 云发单
|
| | | sendGoods(robotId, wxId, listOpen, recommendText, commentText, imgList, user.getId(), pid);
|
| | | }
|
| | | |
| | | /**
|
| | | * 发送商品
|
| | | * @param robotId
|
| | | * @param title
|
| | |
| | | // 发送图片
|
| | | String picurl = listImg.get(0);
|
| | | if (!StringUtil.isNullOrEmpty(picurl)) {
|
| | | String imgBase64 = ImageToBase64.NetImageToBase64(picurl);
|
| | | boolean macsend = AitaokerApiUtil.macsendImgBase64(robotId, cloudGroup.getGroupId(), imgBase64);
|
| | | if (macsend)
|
| | | sendContent.setPicUrl(picurl);
|
| | | try {
|
| | | String imgBase64 = ImageToBase64.NetImageToBase64(picurl);
|
| | | boolean macsend = AitaokerApiUtil.macsendImgBase64(robotId, cloudGroup.getGroupId(), imgBase64);
|
| | | if (macsend)
|
| | | sendContent.setPicUrl(picurl);
|
| | | } catch (Exception e) {
|
| | | LogHelper.errorDetailInfo(e);
|
| | | }
|
| | | |
| | | }
|
| | | // 评论文本
|
| | | List<String> list = new ArrayList<>();
|
| | |
| | | * @param goodsType
|
| | | * @throws UserCloudGoodsException
|
| | | */
|
| | | public void addGoods(Long uid, Set<Long> set, Integer goodsType) throws UserCloudGoodsException;
|
| | | public void addGoods(Long uid, Set<String> set, Integer goodsType) throws UserCloudGoodsException;
|
| | |
|
| | |
|
| | | /**
|
| | |
| | | */
|
| | | public List<UserCloudOrder> getLasthourByUnpaid();
|
| | |
|
| | | /**
|
| | | * 查询
|
| | | * @param page
|
| | | * @param count
|
| | | * @param key
|
| | | * @param state
|
| | | * @return
|
| | | */
|
| | | public List<UserCloudOrder> query(int page, int count, String key, Integer state);
|
| | |
|
| | | long count(String key, Integer state);
|
| | |
|
| | | }
|
| | |
| | | package com.yeshi.fanli.service.inter.user.cloud;
|
| | |
|
| | | import java.util.List;
|
| | |
|
| | | import com.yeshi.fanli.entity.bus.user.cloud.CloudOrderMenuEnum;
|
| | | import com.yeshi.fanli.entity.bus.user.cloud.UserCloud;
|
| | | import com.yeshi.fanli.exception.user.cloud.UserCloudException;
|
| | |
| | | * @param goodsType
|
| | | * @throws UserCloudException
|
| | | */
|
| | | public void sendCustomGoods(Long uid, Long goodsId, Integer goodsType) throws UserCloudException;
|
| | | public void sendCustomGoods(Long uid, Long goodsId, Integer goodsType, Long sellerId) throws UserCloudException;
|
| | |
|
| | | /**
|
| | | * 定时发送云发单
|
| | |
| | | */
|
| | | public void fixedTimeSend(String id);
|
| | |
|
| | | public List<UserCloud> query(int page, int count, String key, Integer state);
|
| | |
|
| | | public long count(String key, Integer state);
|
| | |
|
| | | }
|
| | |
| | | import com.yeshi.fanli.dao.mybatis.order.UserOrderDailyStatisticMapper;
|
| | | import com.yeshi.fanli.entity.bus.user.ThreeSaleDetail;
|
| | | import com.yeshi.fanli.entity.order.OrderMoneyDailyCount;
|
| | | import com.yeshi.fanli.entity.order.OrderMoneyDailyCount.SourceTypeEnum;
|
| | | import com.yeshi.fanli.entity.order.SourceTypeEnum;
|
| | | import com.yeshi.fanli.entity.order.dividents.TeamDividentsSourceOrderUserMap;
|
| | | import com.yeshi.fanli.service.inter.order.OrderMoneyDailyCountService;
|
| | | import com.yeshi.fanli.service.inter.user.invite.ThreeSaleDetailService;
|
| | |
| | |
|
| | | System.out.println(netImageToBase64);
|
| | | // 下面是本地图片转换Base64的方法
|
| | | String imagePath = "本地图片路径";
|
| | | ImageToBase64(imagePath);
|
| | | //String imagePath = "本地图片路径";
|
| | | // ImageToBase64(imagePath);
|
| | | }
|
| | |
|
| | | /**
|
| | |
| | | *
|
| | | */
|
| | | private static final long serialVersionUID = 1L;
|
| | | |
| | |
|
| | | // 是否IOS上线
|
| | | @Expose
|
| | | private boolean iosOnling;
|
| | |
| | | // 是否跳转原生APP
|
| | | @Expose
|
| | | private Boolean isNative;
|
| | | |
| | |
|
| | | // 图文详情链接
|
| | | @Expose
|
| | | private String detailUrl;
|
| | |
| | | @Expose
|
| | | private List<ShamUser> listCouponUser;
|
| | | @Expose
|
| | | private String couponJumpLink;//券跳转链接,拼多多专用
|
| | | private String couponJumpLink;// 券跳转链接,拼多多专用
|
| | | @Expose
|
| | | private String nativeCouponJumpLink;//原生券跳转链接,拼多多专用
|
| | | private String nativeCouponJumpLink;// 原生券跳转链接,拼多多专用
|
| | | @Expose
|
| | | private Boolean vip;//是否为VIP
|
| | | private Boolean vip;// 是否为VIP
|
| | |
|
| | | // 云发单图片
|
| | | @Expose
|
| | | private String cloudPic;
|
| | | // 云发单文字
|
| | | @Expose
|
| | | private String cloudText;
|
| | |
|
| | | public Boolean getVip() {
|
| | | return vip;
|
| | |
| | | this.listCouponUser = listCouponUser;
|
| | | }
|
| | |
|
| | | public String getCloudPic() {
|
| | | return cloudPic;
|
| | | }
|
| | |
|
| | | public void setCloudPic(String cloudPic) {
|
| | | this.cloudPic = cloudPic;
|
| | | }
|
| | |
|
| | | public String getCloudText() {
|
| | | return cloudText;
|
| | | }
|
| | |
|
| | | public void setCloudText(String cloudText) {
|
| | | this.cloudText = cloudText;
|
| | | }
|
| | | }
|
| | |
| | | @Expose
|
| | | private String fanliMoneyPlus;
|
| | |
|
| | | // 云发单图片
|
| | | @Expose
|
| | | private String cloudPic;
|
| | | // 云发单文字
|
| | | @Expose
|
| | | private String cloudText;
|
| | |
|
| | | public RewardCouponVO getRewardCoupon() {
|
| | | return rewardCoupon;
|
| | | }
|
| | |
| | |
|
| | | public void setFanliMoneyPlus(String fanliMoneyPlus) {
|
| | | this.fanliMoneyPlus = fanliMoneyPlus;
|
| | | }
|
| | |
|
| | | public String getCloudPic() {
|
| | | return cloudPic;
|
| | | }
|
| | |
|
| | | public void setCloudPic(String cloudPic) {
|
| | | this.cloudPic = cloudPic;
|
| | | }
|
| | |
|
| | | public String getCloudText() {
|
| | | return cloudText;
|
| | | }
|
| | |
|
| | | public void setCloudText(String cloudText) {
|
| | | this.cloudText = cloudText;
|
| | | }
|
| | |
|
| | | }
|
| | |
| | | @Expose
|
| | | private String content;
|
| | | @Expose
|
| | | private String color;
|
| | | private String color; // 字颜色
|
| | | @Expose
|
| | | private String bottomColor;
|
| | | private String bottomColor; // 背景颜色
|
| | | @Expose
|
| | | private String img;
|
| | | private String borderColor; // 边框颜色
|
| | | @Expose
|
| | | private String img; // 图片
|
| | | @Expose
|
| | | private String fontSize = "1"; // 字体倍数
|
| | |
|
| | |
| | | public void setFontSize(String fontSize) {
|
| | | this.fontSize = fontSize;
|
| | | }
|
| | |
|
| | | public String getBorderColor() {
|
| | | return borderColor;
|
| | | }
|
| | |
|
| | | public void setBorderColor(String borderColor) {
|
| | | this.borderColor = borderColor;
|
| | | }
|
| | | |
| | | }
|
| | |
| | | @Expose
|
| | | private String orderDesc;// 订单描述
|
| | |
|
| | | |
| | | // 店铺类型 2.1.2新增
|
| | | @Expose
|
| | | private ClientTextStyleVO shopType;
|
| | |
|
| | | |
| | |
|
| | | public String getVipOrderDesc() {
|
| | | return vipOrderDesc;
|
| | |
| | | public void setRebateLink(String rebateLink) {
|
| | | this.rebateLink = rebateLink;
|
| | | }
|
| | |
|
| | | public ClientTextStyleVO getShopType() {
|
| | | return shopType;
|
| | | }
|
| | |
|
| | | public void setShopType(ClientTextStyleVO shopType) {
|
| | | this.shopType = shopType;
|
| | | }
|
| | |
|
| | | }
|