1.后台选择商品
2.设置页
3.后台代码
3.1 前台链接
http://localhost/terrace/groupbuy/ladderGroup/initialize
3.2 后台接口
@RequestMapping(value = "/initialize")
public ModelAndView initialize() {
return new ModelAndView("/terrace/groupbuy/ladder/ladderGroup-initialize");
}
3.3 异步接口
按照惯例,会异步请求到list
@RequestMapping(value = "/list")
public ModelAndView list(
SellerGoodsGroupBuyLadderVo sellerGoodsGroupBuyLadderVo,
Page<SellerGoodsGroupBuyLadderVo> page, HttpServletRequest request) {
sellerGoodsGroupBuyLadderVo.setSellerId(ShiroUserUtil.getBossId());
sellerGoodsGroupBuyLadderVo.setProductSerialNumber(ShiroUserUtil.getProductSerialNumber());
sellerGoodsGroupBuyLadderService.list(sellerGoodsGroupBuyLadderVo, page);
OwnerUserDomain ownerUserDomain = ownerUserDomainService.getSubDomainName(ShiroUserUtil.getProductSerialNumber());
String urlLink = "";
if (!EmptyUtil.isNullOrEmpty(ownerUserDomain)) {
if (request.getServerPort() == 80) {
urlLink = request.getScheme() + "://" + ownerUserDomain.getId() + request.getContextPath();
} else {
urlLink = request.getScheme() + "://" + ownerUserDomain.getId() + ":" + request.getServerPort() + request.getContextPath();
}
}
ModelMap modelMap = new ModelMap();
modelMap.put("urlLink", urlLink);
modelMap.put("page", page);
modelMap.put("sellerGoodsGroupBuyLadderVo", sellerGoodsGroupBuyLadderVo);
return new ModelAndView("/terrace/groupbuy/ladder/ladderGroup-list", modelMap);
}
3.4 前台页面显示
3.5 添加拼团
3.6 添加拼团页的链接
<a href="javascript:;" class="btn btn_gray show_inline_block js_add_goods"><span class="iconfont icon-tianjia mr6"></span>添加拼团商品</a>
3.6.1 js触发点击事件
$(".js_add_goods").click(function(){ //添加商品
$.ajax({
url:ctx+'/terrace/groupbuy/ladderGroup/findGoodsList',
type:'post',
success:function(d){
//清空开始时间结束时间
$("#addStartTime").val('');
$("#addEndTime").val('');
$("#add-ladder-goods").html(d);
jsOpenPop('pop_add_new_pro');
}
});
});
3.6.2 后台接口
@RequestMapping(value = "/findGoodsList")
public ModelAndView findGoodsList(SellerGoodsGroupBuyLadderVo sellerGoodsGroupBuyLadderVo, Page<SellerGoodsGroupBuyLadderVo> page) {
sellerGoodsGroupBuyLadderVo.setSellerId(ShiroUserUtil.getBossId());
sellerGoodsGroupBuyLadderVo.setProductSerialNumber(ShiroUserUtil.getProductSerialNumber());
page = sellerGoodsGroupBuyLadderService.findGoodsList(sellerGoodsGroupBuyLadderVo, page);
ModelMap modelMap = new ModelMap();
modelMap.put("findGoodsPage", page);// 数据表格数据传递
modelMap.put("sellerGoodsGroupBuyLadderVo", sellerGoodsGroupBuyLadderVo);
return new ModelAndView("/terrace/groupbuy/ladder/findGoodsList", modelMap);
}
3.6.3 设置定时任务的时间值
<div>
<input type="text" id="${startTimeVar}" class="form_control h18 lh18 w148 plr5 js_list_start_time" value="" placeholder="请设置活动开始时间" onclick="WdatePicker({skin:'whyGreen',maxDate:'#F{$dp.$D(\'${endTimeVar}\')}',dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true})"/> </div> <div class="re_r w148 su_set_time_div time_group3"> <input type="text" id="${endTimeVar}" class="form_control h18 lh18 w148 plr5 js_list_end_time" value="" placeholder="请设置活动结束时间" onclick="WdatePicker({skin:'whyGreen',minDate:'#F{$dp.$D(\'${startTimeVar}\')}',dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true})"/> </div>
3.6.4 设置按钮
<td><a href="javascript:;" class="btn_xs btn_blue br3 set_good" data->设置</a></td>
3.6..5 设置界面
4.设置定时任务
<div class="popup_wrap pop_big" >
<div class="popup_bd"></div>
<div class="popup_inner">
<div class="popup_tit">
<span class="text_bold">添加拼团</span><span class="close_btn">×</span>
</div>
<div class="popup_con">
<div class="">
<div class="clearfix mb15 pt15">
<div class="form_control fl ml20">
<input class="w320" type="text" name="serachGoodsName" placeholder="输入您要搜索的内容" value="" />
</div>
<input type="button" class="btn btn_blue fl ml15" value="开始搜索" onclick="findGoodsPage()" />
</div>
<div class="table_control add_tab_div" >
<div class="table_tit bgblue ptb5 bd_b_t">
<label class="label pl10 "><input type="checkbox" class="all_checked_btn mr10 isSelect" onClick="selectData('add_tab_div')">全选</label>
<span class="btn btn_gray ml15 js_add_goods_time_set">批量设置</span>
<label class="pl15">开始时间:</label>
<input class="w120 form_control time_group4" type="text" >
<label class="pl15" >结束时间:</label>
<input class="w120 form_control time_group4" type="text" >
</div>
<div class="table_overflow" >
</div>
</div>
</div>
<div class="popup_ft">
<input type="button" value="确认" class="btn btn_blue js_confirm_pop" />
<input type="button" value="取消" class="btn btn_gray js_canle_pop" />
</div>
</div>
</div>
</div>
4.1 页面
//这个是添加商品页面的确认按钮 $("body").on("click","#pop_add_new_pro .js_confirm_pop",function(){//添加阶梯团购确定按钮 if(jsonArrayObject.length<=0){ tsTips("请设置价格之后再确认!"); return ; } //获取了一个数组 var selectVal = new Array(); //初始化变量,初步判断为需要传输的数据 var tabDataArrayStr =""; var jsonArrayObjectStr="" ; var isClose = false; var serialNumber ; var startPersons ; var endPersons ; var price ; var sellerGoodsId ; $("#pop_add_new_pro input[name$='chk_list']:checked").each(function() { //获取每行sellerGoodsId var count = 0;//计数器 是否有该选中商品值 var sellerGoodsIdTab = $(this).attr("data-id"); var sellerGoodsName = $(this).attr("data-name"); for ( var i = 0; i < jsonArrayObject.length; i++) { sellerGoodsId = jsonArrayObject[i].sellerGoodsId; if(sellerGoodsId==sellerGoodsIdTab){ count++; serialNumber = jsonArrayObject[i].serialNumber ; startPersons = jsonArrayObject[i].startPersons ; endPersons = jsonArrayObject[i].endPersons ; price = jsonArrayObject[i].price; if(jsonArrayObjectStr==""){ jsonArrayObjectStr = serialNumber+","+startPersons+","+endPersons+","+price+","+sellerGoodsId; }else{ jsonArrayObjectStr = jsonArrayObjectStr+"◎"+serialNumber+","+startPersons+","+endPersons+","+price+","+sellerGoodsId; } } } if(count==0){ tsTips("选择的\""+sellerGoodsName+"\"商品没有设置值!"); return; } var startTime = $(this).parent().parent().find(".js_list_start_time").val(); if(startTime==""){ tsTips("选择的\""+sellerGoodsName+"\"商品没有开始时间!"); return; } var endTime = $(this).parent().parent().find(".js_list_end_time").val(); if(endTime==""){ tsTips("选择的\""+sellerGoodsName+"\"商品没有结束时间!"); return; } isClose = true; if(tabDataArrayStr==""){ tabDataArrayStr = sellerGoodsIdTab+","+startTime+","+endTime; }else{ tabDataArrayStr=tabDataArrayStr+"◎"+sellerGoodsIdTab+","+startTime+","+endTime; } }); if(isClose){ //传输的有连个参数: //1.tabDataArray,2.jsonArrayObjectStr var param = {"tabDataArray":tabDataArrayStr,"jsonArrayObject":jsonArrayObjectStr}; $.ajax({ url:ctx+'/terrace/groupbuy/ladderGroup/save', data:param, type:'post', dataType:'json', async:false, success:function(d){ tsTips(d.msg); if(d.type>0){ $('.pop_mask,#pop_add_new_pro').hide(); jsonArrayObject = new Array(); tools.showList(); } } }) } });
4.2 相关数据保存
@RequestMapping(value = "/save") @ResponseBodypublic AjaxMessage save(SellerGoodsGroupBuyLadderVo sellerGoodsGroupBuyLadderVo) { try { String productSerialNumber = ShiroUserUtil.getProductSerialNumber(); String ownerId = ShiroUserUtil.getBossId(); sellerGoodsGroupBuyLadderVo.setProductSerialNumber(productSerialNumber); sellerGoodsGroupBuyLadderVo.setSellerId(ownerId); List<SellerGoods> sellerGoodsList = sellerGoodsGroupBuyLadderService.save(sellerGoodsGroupBuyLadderVo); SellerGoodsGroupBuyLadder sellerGoodsGroupBuyLadder = null; BigDecimal zero = new BigDecimal(0); for (SellerGoods sellerGoods : sellerGoodsList) { sellerGoodsGroupBuyLadderVo.setSellerGoodsId(sellerGoods.getId()); // 查询当前商品的所有阶梯团购价格 sellerProductsService > deductionProductsStore 方法有相似代码 需要同步修改 List<SellerGoodsGroupBuyLadder> listLadder = sellerGoodsGroupBuyLadderService.getGroupBuyLadderMsgBySellerGoodsId(sellerGoodsGroupBuyLadderVo); String sellerGoodsId = sellerGoodsGroupBuyLadderVo.getSellerGoodsId(); sellerGoods = sellerGoodsService.getSellerGoodsById(productSerialNumber, sellerGoodsId); for (int i = 0; i < listLadder.size(); i++) { sellerGoodsGroupBuyLadder = listLadder.get(i); if (EmptyUtil.isNullOrEmpty(sellerGoods.getGroupBuyPersonsNum()) || sellerGoods.getGroupBuyPersonsNum().longValue() <= 0) { sellerGoods.setGroupBuyPrice(sellerGoodsGroupBuyLadder.getPrice()); sellerGoodsService.save(sellerGoods);// 保存sellerGoods break; } // 判断当前参与人数在哪个团购区间 if (sellerGoods.getGroupBuyPersonsNum().longValue() >= sellerGoodsGroupBuyLadder.getStartNum() && sellerGoods.getGroupBuyPersonsNum().longValue() < sellerGoodsGroupBuyLadder.getEndNum()) { sellerGoods.setGroupBuyPrice(sellerGoodsGroupBuyLadder.getPrice()); // 设置下一团购阶段的值 if (i < listLadder.size() - 1) { sellerGoods.setGroupBuyNextPersonsNum(listLadder.get(i + 1).getStartNum()); sellerGoods.setGroupBuyNextPrice(listLadder.get(i + 1).getPrice()); } else { sellerGoods.setGroupBuyNextPersonsNum(sellerGoodsGroupBuyLadder.getStartNum()); sellerGoods.setGroupBuyNextPrice(sellerGoodsGroupBuyLadder.getPrice()); } sellerGoodsService.save(sellerGoods);// 保存sellerGoods break; } // 更新索引商品价格索引 GoodsPhotoBuildHelper.updateGoodsSellCount(sellerGoods.getGoodsId(), sellerGoods.getSellCount(), EmptyUtil.isNullOrEmpty(sellerGoods.getGroupBuyPrice()) ? zero : sellerGoods.getGroupBuyPrice(), sellerGoods .getGroupBuyPersonsNum(), sellerGoods.getGroupBuyNextPersonsNum(), EmptyUtil.isNullOrEmpty(sellerGoods.getGroupBuyNextPrice()) ? zero : sellerGoods.getGroupBuyNextPrice()); sellerGoodsList.add(sellerGoods); } } // 更新商品索引 GoodsBuildHelper.threadCallbackGoodsUpAwayForGroup(sellerGoodsList, productSerialNumber, ownerId); return AjaxMessage.getInstance(AjaxMessage.INFO, "操作成功!"); } catch (Exception e) { e.printStackTrace(); return AjaxMessage.getInstance(AjaxMessage.ERROR, "操作失败!"); } }
实体1:
@Entity
@Table(name = "PT_SELLER_GOODS_LADDER")
public class SellerGoodsGroupBuyLadder extends IdEntity {
/** serialVersionUID */
private static final long serialVersionUID = -7518498283030780202L;
/** 产品序列号 */
private String productSerialNumber;
/** 卖家id */
private String sellerId;
/** 卖家商品id */
private String sellerGoodsId;
/** 商品id */
private String goodsId;
/** 购买人数 */
private Long startNum;
/** 购买人数 */
private Long endNum;
/** 团购价格 */
private BigDecimal price;
/**排序号**/
private Long sortNo;
/** 创建时间 */
private Date createTime;
private String createUserId;
private Date updateTime;
private String updateUserId;
}}
SellerGoodsGroupBuyLadderVo:
private String productSerialNumber; /** 卖家 */ private String sellerId; /** 阶梯团购id */ private String id; /** 卖家商品id*/ private String sellerGoodsId; /** 商品名称 */ private String goodsName; /** 商品编号 */ private String goodsNo; /** 库存 */ private Long storeNum; /** 销量:默认0 */ private Long sellCount = new Long(0); /** 商品列表显示图片路径 */ private String showImg; /** 商品规格 */ private String specArrays; /** * 团购状态 VALID 有效 过期INVALID */ private String groupBuyStatus; /** * 限时抢购开始时间 */ private Date robStartTime; /** * 限时抢购结束时间 */ private Date robEndTime; /** * 限时抢购 每个ID限购个数 */ private Long robNumber; /** * 是否是限时抢购商品 YES:是,NO不是 */ private String isRob; /** 打折卡id */ private String discountCardId; /** 打折卡名称 */ private String discountCardName = ""; /** 优惠券id */ private String discountCouponId; /** 优惠券名称 */ private String discountCouponName = ""; /**供应商*/ private String supplier; /**排序号**/ private Long sortNo; /** sellerGoods创建时间 */ private Date createDate; /** 阶梯团购创建时间 */ private Date createTime; /** * 是否被搜索;YES:可以;NO 不可以 */ private String isSearch; /*********** 查询字段 ***********/ private String serachGoodsName; /** 限时抢购开始时间 */ private String serachRobStartTime; /** 限时抢购结束时间 */ private String serachRobEndTime; /** 团购状态 VALID 有效 过期INVALID*/ private String serachGroupBuyStatus; /** 是否搜索*/ private String serachIsSearch; /** 优惠方式 YES只有优惠券 NO只有打折卡 AND同时存在 */ private String couponModel; private Long startStoreNum; // 开始库存量 private Long endStoreNum;// 结束库存量 private Long startSellCount;// 开始销量 private Long endSellCount;// 结束销量 private Boolean isEdit = false;// private Date robCreateTime; /** 添加数据传递字符串 */ private String tabDataArray; private String jsonArrayObject;
save方法:
@Override @Transactional public List<SellerGoods> save(SellerGoodsGroupBuyLadderVo sellerGoodsGroupBuyLadderVo) { List<SellerGoods> sellerGoodList = new ArrayList<SellerGoods>(); SellerGoodsService sellerGoodsService = SpringContextUtils.getBean("sellerGoodsServiceImp"); SellerGoodsGroupBuyLadder sellerGoodsGroupBuyLadder = null; List<SellerGoodsGroupBuyLadder> goodsGroupBuyLadders = null; SellerGoods sellerGoods = null; if (sellerGoodsGroupBuyLadderVo.getIsEdit()) { // 编辑 String sellerGoodsId = sellerGoodsGroupBuyLadderVo.getTabDataArray().split(",")[0]; List<SellerGoodsGroupBuyLadder> sellerGoodsGroupBuyLadderList = this.findLadderListBySellerGoodsId(sellerGoodsId); for (SellerGoodsGroupBuyLadder sellerGoodsGroupBuyLadderEdit : sellerGoodsGroupBuyLadderList) { sellerGoodsGroupBuyLadderEdit.setEnableFlag(EnableFlag.NO); } sellerGoods = sellerGoodsDao.findOne(sellerGoodsId); sellerGoods.setRobStartTime(null); sellerGoods.setRobEndTime(null); sellerGoods.setGroupBuyStatus(null); sellerGoodsService.save(sellerGoods); // 修改sellerGoods数据 sellerGoodsGroupBuyLadderDao.save(sellerGoodsGroupBuyLadderList);// 删除价格设置表数据 } String productSerialNumber = sellerGoodsGroupBuyLadderVo.getProductSerialNumber(); String sellerId = sellerGoodsGroupBuyLadderVo.getSellerId(); String tabDataArrayStr = sellerGoodsGroupBuyLadderVo.getTabDataArray(); String jsonArrayObjectArrayStr = sellerGoodsGroupBuyLadderVo.getJsonArrayObject(); List<String> jsonArrayObjectArray = Arrays.asList(jsonArrayObjectArrayStr.split("◎")); List<String> tabDataArray = Arrays.asList(tabDataArrayStr.split("◎")); Date dateCurr = new Date(); for (String tabDataStr : tabDataArray) { String tabSellerGoodsId = tabDataStr.split(",")[0]; String startTime = tabDataStr.split(",")[1]; String endTime = tabDataStr.split(",")[2]; sellerGoods = sellerGoodsDao.findOne(tabSellerGoodsId); goodsGroupBuyLadders = new ArrayList<SellerGoodsGroupBuyLadder>(); for (String jsonArrayObjectStr : jsonArrayObjectArray) { String jsonSellerGoodsId = jsonArrayObjectStr.split(",")[4]; if (tabSellerGoodsId.equals(jsonSellerGoodsId)) { sellerGoodsGroupBuyLadder = new SellerGoodsGroupBuyLadder(); sellerGoodsGroupBuyLadder.setSortNo(Long.valueOf(jsonArrayObjectStr.split(",")[0])); sellerGoodsGroupBuyLadder.setProductSerialNumber(productSerialNumber); sellerGoodsGroupBuyLadder.setSellerId(sellerId); sellerGoodsGroupBuyLadder.setSellerGoodsId(jsonSellerGoodsId); sellerGoodsGroupBuyLadder.setStartNum(Long.valueOf(jsonArrayObjectStr.split(",")[1])); sellerGoodsGroupBuyLadder.setEndNum(Long.valueOf(jsonArrayObjectStr.split(",")[2])); sellerGoodsGroupBuyLadder.setPrice(new BigDecimal(jsonArrayObjectStr.split(",")[3])); sellerGoodsGroupBuyLadder.setGoodsId(sellerGoods.getGoodsId()); goodsGroupBuyLadders.add(sellerGoodsGroupBuyLadder); } } if (goodsGroupBuyLadders.size() > 0) { if (DateUtil.getDate(endTime).after(dateCurr)) { // 结束时间在今天之后的 sellerGoods.setGroupBuyStatus(OAOConstants.GROUP_BUY_VALID);// 有效 } else { sellerGoods.setGroupBuyStatus(OAOConstants.GROUP_BUY_INVALID);// 无效 } sellerGoods.setGroupBuyType(OAOConstants.LADDER);// 阶梯团购 sellerGoods.setRobStartTime(DateUtil.getDate(startTime)); sellerGoods.setRobEndTime(DateUtil.getDate(endTime)); sellerGoods.setIsRob(OAOConstants.NO); // 如果创建时间为空 那么就是第一次新增 否则就是修改 if (EmptyUtil.isNullOrEmpty(sellerGoods.getRobCreateTime())) { sellerGoods.setRobCreateTime(dateCurr); } else { sellerGoods.setRobUpdateTime(dateCurr); } sellerGoodsService.save(sellerGoods); sellerGoodsGroupBuyLadderDao.save(goodsGroupBuyLadders); // 创建定时任务 if (sellerGoodsGroupBuyLadderVo.getIsEdit()) { GroupBuyJobTimer.GroupBuyJobManage.update(tabSellerGoodsId, sellerGoodsGroupBuyLadderVo.getProductSerialNumber(), DateUtil.getDate(startTime), DateUtil.getDate(endTime), OAOConstants.LADDER); } else { GroupBuyJobTimer.GroupBuyJobManage.create(tabSellerGoodsId, productSerialNumber, DateUtil.getDate(startTime), DateUtil.getDate(endTime), OAOConstants.LADDER); } sellerGoodList.add(sellerGoods); } } return sellerGoodList; }
方法:
@Component("groupBuyJobTimer")
public class GroupBuyJobTimer extends ATimerJobber {
protected final static Logger logger = LoggerFactory.getLogger(GroupBuyJobTimer.class);
@Override
public void execute(JobMethodParam jobMethodParam) {
if (!EmptyUtil.isNullOrEmpty(jobMethodParam)) {
String sellerGoodsId = jobMethodParam.getValue("sellerGoodsId");
String productSerialNumber = jobMethodParam.getValue("productSerialNumber");
String groupBuyType = jobMethodParam.getValue("groupBuyType");
String startTime = jobMethodParam.getValue("startTime");
String endTime = jobMethodParam.getValue("endTime");
System.out.println(startTime+"----"+endTime);
logger.info("执行阶梯团购的定时任务------"+startTime+"----"+endTime);
GroupBuyTimerCallBackService groupBuyTimerCallBackService = SpringContextUtils.getBean("groupBuyTimerCallBackServiceImp");
groupBuyTimerCallBackService.groupBuyTimerCallBack(sellerGoodsId,productSerialNumber, startTime, endTime,groupBuyType);
GroupBuyJobManage.delete(sellerGoodsId);
}
}
public static class GroupBuyJobManage {
/**
*
*/
public static final String GROUP_BUY_JOB_NAME_HEAD = "GROUPBUY#";
/**
* @Title: create
* @Description: 创建一个自动收货定时任务
* @param order 传人参数
* @author
*/
public static void create(final String sellerGoodsId,final String productSerialNumber,final Date startTime,final Date endTime,final String groupBuyType) {
ExecutorsUtil.getThreadPool().execute(new Runnable() {
@Override
public void run() {
try {
ScheduleJobManager scheduleJobManager = SpringContextUtils.getBean("scheduleJobManagerImp");
ScheduleJobVo job = new ScheduleJobVo();
job.setTargetClass("groupBuyJobTimer");
job.setJobName(GROUP_BUY_JOB_NAME_HEAD + sellerGoodsId);
job.setJobGroup(job.getJobName() + "Group");
// 设置计划任务开始时间为当前时间
job.setStartTime(startTime);
Date endTimecur = endTime;
//定时任务截止时间不能小于当前时间
if(endTime.getTime()<new Date().getTime()){
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.SECOND, 3);
endTimecur = calendar.getTime();
}
job.setCronExpression(CronUtils.getCron(endTimecur));
job.setDescription("商品阶梯团购定时任务 sellerGoodsId = " + sellerGoodsId);
job.setMisfireInstruction(1);
job.setPersist(true);
job.setJobData("groupBuyType="+groupBuyType+"&productSerialNumber="+productSerialNumber+"&sellerGoodsId=" +sellerGoodsId+"&startTime="+DateUtil.formatDateTime(startTime)+"&endTime="+DateUtil.formatDateTime(endTimecur));
try {
JobDetail jobd = getJob(sellerGoodsId);
//先查询是否已经存在定时任务
if(!EmptyUtil.isNullOrEmpty(jobd)){
//存在定时任务先删除
delete(sellerGoodsId);
}
scheduleJobManager.addJob(job);
logger.info("商品阶梯团购定时任务任务成功 sellerGoodsId="+sellerGoodsId);
} catch (Exception e) {
e.printStackTrace();
logger.error("创建定时任务失败!",e);
logger.error("startTime="+startTime+",endTime="+endTimecur+",groupBuyType="+groupBuyType+",sellerGoodsId="+sellerGoodsId+",productSerialNumber="+productSerialNumber);
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public static void delete(String sellerGoodsId) {
ScheduleJobManager scheduleJobManager = SpringContextUtils.getBean("scheduleJobManagerImp");
ScheduleJobVo job = new ScheduleJobVo();
job.setPersist(true);
job.setJobName(GROUP_BUY_JOB_NAME_HEAD +sellerGoodsId);
job.setJobGroup(job.getJobName() + "Group");
try {
scheduleJobManager.deleteJob(job);
logger.info("取消团购定时任务成功,sellerGoodsId==="+sellerGoodsId);
} catch (SchedulerException e) {
e.printStackTrace();
logger.error("取消团购定时任务异常,sellerGoodsId = " + sellerGoodsId);
}
}
/**
*
* <b>方法名:</b>:update<br>
* <b>功能说明:</b>:重新更新定时任务<br>
* @author <font color='blue'>陈鹏-pm</font>
* @date 2016-4-21 下午03:05:42
* @param order
*/
public static void update(String sellerGoodsId,String productSerialNumber,Date startTime,Date endTime,String groupBuyType) {
delete(sellerGoodsId);
// 再新建一个
create(sellerGoodsId,productSerialNumber,startTime,endTime,groupBuyType);
}
/**
*
* <b>方法名:</b>:getJob<br>
* <b>功能说明:</b>:根据会员id查询是否存在返点定时任务<br>
* @author <font color='blue'>陈鹏-pm</font>
* @date 2016-4-27 下午04:37:01
* @param userId
* @return
*/
public static JobDetail getJob(String sellerGoodsId){
ScheduleJobManager scheduleJobManager = SpringContextUtils.getBean("scheduleJobManagerImp");
ScheduleJobVo job = new ScheduleJobVo();
job.setPersist(true);
job.setJobName(GROUP_BUY_JOB_NAME_HEAD +sellerGoodsId);
try {
return scheduleJobManager.getJob(job);
} catch (SchedulerException e) {
e.printStackTrace();
logger.error("查询定时任务出错,sellerGoodsId="+sellerGoodsId,e);
} catch (Exception e) {
e.printStackTrace();
logger.error("查询定时任务出错,sellerGoodsId="+sellerGoodsId, e);
}
return null;
}
}
}