master
ck 6 years ago
parent 84c248da91
commit 9fa6b81d33

@ -0,0 +1,54 @@
package com.bsd.cases.controller;
import com.alibaba.fastjson.JSONObject;
import com.bsd.cases.service.CaseCategoryService;
import com.bsd.cases.util.AjaxRequest;
import com.bsd.cases.util.AjaxResult;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@RestController
@RequestMapping("/case-category")
public class CaseCategoryController {
@Resource
private CaseCategoryService caseCategoryService;
@RequestMapping("/get-all-category")
public AjaxResult getAllCategory(HttpServletRequest request) {
AjaxResult ajaxResult = new AjaxResult();
JSONObject data = caseCategoryService.getAllCaseCategory();
if (null!=data){
ajaxResult.setRetcode(AjaxResult.SUCCESS);
ajaxResult.setData(data);
}else {
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
@RequestMapping("/get-category-by-parent-id")
public AjaxResult getCategoryByParentId(@RequestBody AjaxRequest ajaxRequest,HttpServletRequest request) {
AjaxResult ajaxResult = new AjaxResult();
JSONObject data = ajaxRequest.getData();
if (null == data){
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("data missing");
}else {
Integer pageNum = data.getInteger("pageNum");
Integer pageSize = data.getInteger("pageSize");
if (null==pageNum|| null == pageSize){
ajaxResult.setRetcode(AjaxResult.FAILED);
ajaxResult.setRetmsg("分页参数不可为空");
}else {
Long parentId = data.getLong("parentId");
ajaxResult.setData(caseCategoryService.getCaseCategoryByParentId(parentId,pageNum,pageSize));
}
}
return ajaxResult;
}
}

@ -14,4 +14,6 @@ public class CaseContent extends BaseEntity {
private String url;
private String content;
private Long categoryId;
}

@ -1,4 +1,13 @@
package com.bsd.cases.service;
import com.alibaba.fastjson.JSONObject;
import com.bsd.cases.util.AjaxRequest;
import java.util.List;
public interface CaseCategoryService<CaseCategory> extends BaseService<CaseCategory> {
JSONObject getAllCaseCategory();
JSONObject getCaseCategoryByParentId(Long parentId,Integer pageNum,Integer pageSize);
}

@ -1,4 +1,10 @@
package com.bsd.cases.service;
import com.alibaba.fastjson.JSONObject;
import com.bsd.cases.vo.CaseContentVo;
import java.util.List;
public interface CaseContentService<CaseContent> extends BaseService<CaseContent> {
JSONObject getContentListByCategoryId(Long categoryId, Integer pageNum, Integer pageSize);
}

@ -1,39 +0,0 @@
package com.bsd.cases.service.impl;
import com.bsd.cases.model.BoActivityConfig;
import com.bsd.cases.mapper.BoActivityConfigMapper;
import com.bsd.cases.service.BoActivityConfigService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
/**
* <p>
*
* </p>
*
* @author jobob
* @since 2020-09-02
*/
@Service("boActivityConfigService")
@Transactional
public class BoActivityConfigServiceImpl extends BaseServiceImpl<BoActivityConfigMapper, BoActivityConfig> implements BoActivityConfigService<BoActivityConfig> {
@Resource
BoActivityConfigMapper boActivityConfigMapper;
/**
*
* @param instanceId
* @return
*/
@Override
public BoActivityConfig getBoActivityConfigByInstanceId(Long instanceId) {
BoActivityConfig findBoActivityConfig = new BoActivityConfig();
findBoActivityConfig.setState(1);
findBoActivityConfig.setActivityInstanceId(instanceId);
BoActivityConfig boActivityConfig = boActivityConfigMapper.selectOne(findBoActivityConfig);
return boActivityConfig;
}
}

@ -1,21 +0,0 @@
package com.bsd.cases.service.impl;
import com.bsd.cases.model.BoActivityContent;
import com.bsd.cases.mapper.BoActivityContentMapper;
import com.bsd.cases.service.BoActivityContentService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* <p>
*
* </p>
*
* @author jobob
* @since 2020-09-03
*/
@Service("boActivityContentService")
@Transactional
public class BoActivityContentServiceImpl extends BaseServiceImpl<BoActivityContentMapper, BoActivityContent> implements BoActivityContentService<BoActivityContent> {
}

@ -1,21 +0,0 @@
package com.bsd.cases.service.impl;
import com.bsd.cases.model.BoActivityInstance;
import com.bsd.cases.mapper.BoActivityInstanceMapper;
import com.bsd.cases.service.BoActivityInstanceService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* <p>
*
* </p>
*
* @author jobob
* @since 2020-09-02
*/
@Service("boActivityInstanceService")
@Transactional
public class BoActivityInstanceServiceImpl extends BaseServiceImpl<BoActivityInstanceMapper, BoActivityInstance> implements BoActivityInstanceService {
}

@ -1,132 +0,0 @@
package com.bsd.cases.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.bsd.cases.enums.BoBusinessEnum;
import com.bsd.cases.event.LogEvent;
import com.bsd.cases.mapper.BoUsersMapper;
import com.bsd.cases.model.BoUsers;
import com.bsd.cases.service.BoActivityLoginService;
import com.bsd.cases.service.BoUsersService;
import com.bsd.cases.util.JWTUtil;
import com.bsd.cases.util.wx.HttpRequest;
import com.bsd.cases.util.wx.WxCore;
import org.apache.commons.lang3.StringUtils;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
/**
* @author ybin
* @version 1.0
* @date 2020/9/4 10:12
* @description:
*/
@Service("boActivityLoginService")
@Transactional
public class BoActivityLoginServiceImpl implements BoActivityLoginService {
private static final String GRANT_TYPE = "authorization_code";
@Resource
BoUsersMapper boUsersMapper;
@Resource
ApplicationContext applicationContext;
@Resource
BoUsersService boUsersService;
@Override
public JSONObject login(JSONObject data) {
String code = data.getString("code");
String token = "";
String openid = "";
String sessionkey = "";
JSONObject jsonObject = new JSONObject();
String source = data.getString("source");
// 登录凭证不能为空
if (null == code || code.length() == 0) {
jsonObject.put("msg", "Code can not be empty");
return jsonObject;
}
try {
String params = "appid=" + WxCore.WXSPAPPID + "&secret=" + WxCore.WXSPSECRET + "&js_code=" + code + "&grant_type=" + GRANT_TYPE;
// 发送请求
String session = HttpRequest.sendGet("https://api.weixin.qq.com/sns/jscode2session", params);
JSONObject json = JSONObject.parseObject(session);
// 获取会话密钥session_key
sessionkey = json.getString("session_key");
openid = json.getString("openid");
if (StringUtils.isEmpty(openid)) {
jsonObject.put("msg", "get openid failed");
return jsonObject;
}
BoUsers boUsers = boUsersService.selectByUserNoOrOpenId(openid);
if (null == boUsers) {
boUsers.setOpenId(openid);
boUsersService.saveOrUpdate(boUsers, null);
}
if (StringUtils.isNotEmpty(boUsers.getMobile())) {
jsonObject.put("hasTelephone", true);
} else {
jsonObject.put("hasTelephone", false);
}
token = JWTUtil.sign(openid);
} catch (Exception e) {
e.printStackTrace();
jsonObject.put("msg", "Code parsing error");
return jsonObject;
}
jsonObject.put("token", token);
jsonObject.put("session_key", sessionkey);
applicationContext.publishEvent(new LogEvent(source, null, BoBusinessEnum.LOGIN));
return jsonObject;
}
@Override
public JSONObject register(HttpServletRequest request, JSONObject data) {
String phoneNumber = "";
JSONObject jsonObject = new JSONObject();
String source = data.getString("source");
try {
/*String token = request.getHeader("Authorization");
String openid = JWTUtil.getKey(token);
if (null == openid || "".equals(openid)) {
jsonObject.put("msg", "openid is null");
return jsonObject;
}*/
BoUsers currentUser = boUsersService.currentUser();
String encryptedData = data.getString("encryptedData");
String iv = data.getString("iv");
String sessionkey = data.getString("sessionkey");
String result = WxCore.decrypt(WxCore.WXSPAPPID, encryptedData, sessionkey, iv);
JSONObject resultJson = JSONObject.parseObject(result);
phoneNumber = resultJson.getString("phoneNumber");
if (StringUtils.isEmpty(phoneNumber)) {
jsonObject.put("msg", "phoneNumber is null");
return jsonObject;
}
BoUsers boUsers = boUsersService.selectByUserNoOrOpenId(currentUser.getOpenId());
if (null != boUsers) {
boUsers.setMobile(phoneNumber);
} else {
boUsers.setOpenId(currentUser.getOpenId());
boUsers.setMobile(phoneNumber);
boUsers.setCreateDateTime(new Date());
}
boUsers.setUpdateDateTime(new Date());
boUsersService.saveOrUpdate(boUsers, null==boUsers.getId()?null:boUsers.getId());
jsonObject.put("msg", "update successfully");
applicationContext.publishEvent(new LogEvent(source, null, BoBusinessEnum.REGISTER));
} catch (Exception e) {
e.printStackTrace();
jsonObject.put("msg", "Parsing error with register data");
}
return jsonObject;
}
}

@ -1,241 +0,0 @@
package com.bsd.cases.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.bsd.cases.constants.Constants;
import com.bsd.cases.enums.BoBusinessEnum;
import com.bsd.cases.event.LogEvent;
import com.bsd.cases.mapper.*;
import com.bsd.cases.model.*;
import com.bsd.cases.service.BoActivityService;
import com.bsd.cases.util.JWTUtil;
import com.bsd.cases.util.PageAjax;
import com.bsd.cases.vo.BoActivityDetailVo;
import com.bsd.cases.vo.BoActivityVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author jobob
* @since 2020-09-02
*/
@Service("boActivityService")
@Transactional
public class BoActivityServiceImpl extends BaseServiceImpl<BoActivityMapper, BoActivity> implements BoActivityService<BoActivity> {
@Resource
BoActivityMapper boActivityMapper;
@Resource
BoActivityInstanceMapper boActivityInstanceMapper;
@Resource
BoActivityConfigMapper boActivityConfigMapper;
@Resource
BoActivityContentMapper boActivityContentMapper;
@Resource
BoUsersMapper boUsersMapper;
@Resource
BoActivitySignupMapper boActivitySignupMapper;
@Resource
BoUserSignMapper boUserSignMapper;
@Resource
ApplicationContext applicationContext;
/**
*
*
* @param params
* @return
*/
@Override
public PageAjax paginate(JSONObject params) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Integer pageNum = params.getInteger("pageNum");
Integer pageSize = params.getInteger("pageSize");
String source = params.getString("source");
String activityCity = params.getString("activityCity");
String startDate = params.getString("startDate");
String endDate = params.getString("endDate");
//分页查询activity;前端传分页信息
Example example = new Example(BoActivityConfig.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("state",Constants.STATE_VALID);
example.setOrderByClause("end_datetime asc");
List<BoActivityConfig> boActivityConfigList = boActivityConfigMapper.selectByExample(example);
List<BoActivityVo> boActivityVoList = new ArrayList<>();
List<BoActivityVo> isEndActivityVoList = new ArrayList<>();
for (BoActivityConfig boActivityConfig:boActivityConfigList){
BoActivityVo boActivityVo = new BoActivityVo();
if (StringUtils.isNotEmpty(activityCity)){
if (!activityCity.equals(boActivityConfig.getActivityCity())){
continue;
}
}
if (StringUtils.isNotEmpty(startDate)){
startDate = startDate + " 00:00:00";
try {
if (sdf.parse(startDate).after(boActivityConfig.getStartDatetime()))
continue;
} catch (ParseException e) {
e.printStackTrace();
}
}
if (StringUtils.isNotEmpty(endDate)){
endDate = endDate + " 23:59:59";
try {
if (sdf.parse(endDate).before(boActivityConfig.getEndDatetime()))
continue;
} catch (ParseException e) {
e.printStackTrace();
}
}
BoActivityInstance boActivityInstance = boActivityInstanceMapper.selectByPrimaryKey(boActivityConfig.getActivityInstanceId());
if (Constants.STATE_INVALID == boActivityInstance.getState()){
continue;
}
Long activityId = boActivityInstance.getActivityId();
BoActivity boActivity = boActivityMapper.selectByPrimaryKey(activityId);
boActivityVo.setInstanceId(boActivityInstance.getId());
boActivityVo.setPreviewImage(boActivity.getPreviewImageUrl());
boActivityVo.setCreateDateTime(boActivity.getCreateDateTime());
boActivityVo.setUpdateDateTime(boActivity.getUpdateDateTime());
boActivityVo.setActivityId(boActivity.getId());
boActivityVo.setActivityName(boActivity.getActivityName());
if (1 == boActivityConfig.getIsLimitNumber())
boActivityVo.setLimitSignNumber(boActivityConfig.getLimitSignNumber());
BoActivitySignup findBoActivitySignup = new BoActivitySignup();
findBoActivitySignup.setState(Constants.STATE_VALID);
findBoActivitySignup.setActivityInstanceId(boActivityInstance.getId());
//是否要付款
if (2 == boActivityConfig.getIsPay())
findBoActivitySignup.setPayStatus(1);
Integer activitySignupNumber = boActivitySignupMapper.selectCount(findBoActivitySignup);
boActivityVo.setActivitySignupNumber(activitySignupNumber);
if (1 == boActivityInstance.getIsExpired()){
isEndActivityVoList.add(boActivityVo);
}else {
boActivityVoList.add(boActivityVo);
}
}
for (BoActivityVo boActivityVo:isEndActivityVoList){
boActivityVoList.add(boActivityVo);
}
PageAjax pageAjax = new PageAjax();
pageAjax.setRows(boActivityVoList);
pageAjax.setPageSize(pageSize);
pageAjax.setPageNo(pageNum);
pageAjax.setTotal(boActivityVoList.size());
pageAjax.setPages((int) Math.ceil(Double.valueOf(boActivityVoList.size()) / Double.valueOf(pageSize)));
applicationContext.publishEvent(new LogEvent(source, null, BoBusinessEnum.IDNEXPAGE));
return pageAjax;
}
/**
*
*
* @param data
* @return
*/
@Override
public BoActivityDetailVo detail(JSONObject data, HttpServletRequest request) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String token = request.getHeader("Authorization");
Long usersId;
String source = data.getString("source");
if (StringUtils.isEmpty(token)) {
usersId = null;
} else {
String openId = JWTUtil.getKey(token);
BoUsers boUsers = new BoUsers();
boUsers.setOpenId(openId);
boUsers.setState(1);
BoUsers users = boUsersMapper.selectOne(boUsers);
usersId = users.getId();
}
Long boActivityInstanceId = data.getLong("boActivityInstanceId");
BoActivitySignup boActivitySignup;
if (null == usersId) {
boActivitySignup = null;
} else {
BoActivitySignup findBoActivitySignup = new BoActivitySignup();
findBoActivitySignup.setState(1);
findBoActivitySignup.setUserId(usersId);
findBoActivitySignup.setActivityInstanceId(boActivityInstanceId);
boActivitySignup = boActivitySignupMapper.selectOne(findBoActivitySignup);
}
BoActivityInstance boActivityInstance = boActivityInstanceMapper.selectByPrimaryKey(boActivityInstanceId);
BoActivityConfig findBoActivityConfig = new BoActivityConfig();
findBoActivityConfig.setState(1);
findBoActivityConfig.setActivityInstanceId(boActivityInstanceId);
BoActivityConfig boActivityConfig = boActivityConfigMapper.selectOne(findBoActivityConfig);
BoActivityDetailVo boActivityDetailVo = new BoActivityDetailVo();
if (null == boActivitySignup) {
boActivityDetailVo.setIsSign(0);
} else {
boActivityDetailVo.setIsSign(1);
}
boActivityDetailVo.setActivityId(boActivityInstance.getActivityId());
boActivityDetailVo.setActivityName(boActivityInstance.getActivityName());
boActivityDetailVo.setActivityInstanceId(boActivityInstanceId);
boActivityDetailVo.setPreviewImageUrl(boActivityConfig.getPreviewImageUrl());
boActivityDetailVo.setEndDatetime(boActivityConfig.getEndDatetime());
boActivityDetailVo.setStartDatetime(boActivityConfig.getStartDatetime());
boActivityDetailVo.setSignupEndDatetime(boActivityConfig.getSignupEndDatetime());
boActivityDetailVo.setStartDatetime(boActivityConfig.getSignupStartDatetime());
boActivityDetailVo.setIsLimitNumber(boActivityConfig.getIsLimitNumber());
boActivityDetailVo.setLimitSignNumber(boActivityConfig.getLimitSignNumber());
boActivityDetailVo.setIsPay(boActivityConfig.getIsPay());
boActivityDetailVo.setPaymentAmount(boActivityConfig.getPaymentAmount());
boActivityDetailVo.setIsFull(boActivityInstance.getIsFull());
boActivityDetailVo.setIsExpired(boActivityInstance.getIsExpired());
boActivityDetailVo.setIsSignExpired(boActivityInstance.getIsSignupExpired());
boActivityDetailVo.setShareImageUrl(boActivityInstance.getShareImageUrl());
BoActivityContent findBoActivityContent = new BoActivityContent();
findBoActivityContent.setState(1);
findBoActivityContent.setActivityConfigId(boActivityConfig.getId());
List<BoActivityContent> boActivityContentList = boActivityContentMapper.select(findBoActivityContent);
boActivityDetailVo.setBoActivityContentList(boActivityContentList);
//判断有没有签到
if (null == usersId) {
boActivityDetailVo.setIsUserSign(0);
} else {
BoUserSign findBoUserSign = new BoUserSign();
findBoUserSign.setState(1);
findBoUserSign.setActivityInstanceId(boActivityInstanceId);
findBoUserSign.setUserId(usersId);
String signDateString = sdf.format(new Date());
try {
findBoUserSign.setSignDate(sdf.parse(signDateString));
} catch (ParseException e) {
e.printStackTrace();
}
BoUserSign boUserSign = boUserSignMapper.selectOne(findBoUserSign);
if (null == boUserSign) {
boActivityDetailVo.setIsUserSign(0);
} else {
boActivityDetailVo.setIsUserSign(1);
}
}
applicationContext.publishEvent(new LogEvent(source, boActivityInstance, BoBusinessEnum.AcvityDETAIL));
return boActivityDetailVo;
}
}

@ -1,194 +0,0 @@
package com.bsd.cases.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.bsd.cases.enums.BoBusinessEnum;
import com.bsd.cases.event.LogEvent;
import com.bsd.cases.mapper.*;
import com.bsd.cases.model.*;
import com.bsd.cases.service.BoActivitySignupService;
import com.bsd.cases.service.BoUsersService;
import com.bsd.cases.service.WxSubscribeMessageService;
import com.bsd.cases.util.JWTUtil;
import com.bsd.cases.util.PageAjax;
import com.bsd.cases.vo.BoSignupActivityVo;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author jobob
* @since 2020-09-02
*/
@Service("boActivitySignupService")
@Transactional
public class BoActivitySignupServiceImpl extends BaseServiceImpl<BoActivitySignupMapper, BoActivitySignup> implements BoActivitySignupService<BoActivitySignup> {
@Resource
BoActivitySignupMapper boActivitySignupMapper;
@Resource
BoActivityMapper boActivityMapper;
@Resource
BoActivityInstanceMapper boActivityInstanceMapper;
@Resource
BoUsersMapper boUsersMapper;
@Resource
ApplicationContext applicationContext;
@Resource
BoActivityConfigMapper boActivityConfigMapper;
@Resource
WxSubscribeMessageService wxSubscribeMessageService;
@Resource
BoUsersService boUsersService;
/**
* token
*
* @param data
* @param request
* @return
*/
@Override
public PageAjax getMySignUpActivity(JSONObject data, HttpServletRequest request) {
Integer pageNum = data.getInteger("pageNum");
Integer pageSize = data.getInteger("pageSize");
String source = data.getString("source");
BoUsers users = boUsersService.currentUser();
Long userId = users.getId();
BoActivitySignup findBoActivitySignup = new BoActivitySignup();
findBoActivitySignup.setState(1);
findBoActivitySignup.setUserId(userId);
List<BoActivitySignup> boActivitySignupList = boActivitySignupMapper.select(findBoActivitySignup);
List<BoSignupActivityVo> boSignupActivityVoList = new ArrayList<>();
for (BoActivitySignup boActivitySignup : boActivitySignupList) {
BoSignupActivityVo boSignupActivityVo = new BoSignupActivityVo();
Long activityId = boActivitySignup.getActivityId();
BoActivity findBoActivity = new BoActivity();
findBoActivity.setId(activityId);
findBoActivity.setState(1);
BoActivity boActivity = boActivityMapper.selectOne(findBoActivity);
if (null == boActivity) {
continue;
}
// BoActivityInstance findBoActivityInstance = new BoActivityInstance();
// findBoActivityInstance.setState(1);
// findBoActivityInstance.setActivityId(boActivity.getId());
// findBoActivityInstance.setIsDefault(1);
// BoActivityInstance boActivityInstance = boActivityInstanceMapper.selectOne(findBoActivityInstance);
boSignupActivityVo.setActivityId(activityId);
boSignupActivityVo.setActivityName(boActivity.getActivityName());
boSignupActivityVo.setInstanceId(boActivitySignup.getActivityInstanceId());
boSignupActivityVo.setPayAmount(boActivitySignup.getPayAmount());
boSignupActivityVo.setPayStatus(boActivitySignup.getPayStatus());
boSignupActivityVo.setPreviewImage(boActivity.getPreviewImageUrl());
boSignupActivityVo.setSignupDatetime(boActivitySignup.getSignupDatetime());
boSignupActivityVo.setCreateDateTime(boActivity.getCreateDateTime());
boSignupActivityVoList.add(boSignupActivityVo);
}
PageAjax pageAjax = new PageAjax();
pageAjax.setRows(boSignupActivityVoList);
pageAjax.setPageSize(pageSize);
pageAjax.setPageNo(pageNum);
pageAjax.setTotal(boSignupActivityVoList.size());
pageAjax.setPages((int) Math.ceil(Double.valueOf(boSignupActivityVoList.size()) / Double.valueOf(pageSize)));
applicationContext.publishEvent(new LogEvent(source, null, BoBusinessEnum.MYACTIVITIES));
return pageAjax;
}
@Override
public JSONObject signup(JSONObject data, HttpServletRequest request) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
JSONObject jsonObject = new JSONObject();
String token = request.getHeader("Authorization");
String openId = JWTUtil.getKey(token);
Long instanceId = data.getLong("instanceId");
//Long instanceId = Long.parseLong(data.getString("instanceId"));
String source = data.getString("source");
BoActivityInstance boActivityInstance = new BoActivityInstance();
boActivityInstance.setId(instanceId);
BoActivityInstance instance = boActivityInstanceMapper.selectOne(boActivityInstance);
if (null == instance) {
jsonObject.put("success", false);//false 失败/true 成功
jsonObject.put("msg", "Activity instance " + instanceId + " does not exist");
return jsonObject;
}
BoUsers boUsers = new BoUsers();
boUsers.setOpenId(openId);
boUsers.setState(1);
BoUsers users = boUsersMapper.selectOne(boUsers);
if (null == users) {
jsonObject.put("success", false);
jsonObject.put("msg", "请先授权登录");
return jsonObject;
}
BoActivitySignup signup = new BoActivitySignup();
signup.setUserId(users.getId());
signup.setActivityInstanceId(instanceId);
int count = boActivitySignupMapper.selectCount(signup);
if (count > 0) {
jsonObject.put("success", false);
jsonObject.put("msg", "您已报名过该活动");
return jsonObject;
}
//报名已满员
if (1 == instance.getIsFull()) {
jsonObject.put("success", false);
jsonObject.put("msg", "活动人数已满");
return jsonObject;
}
//活动已结束
if (1 == instance.getIsExpired()) {
jsonObject.put("success", false);
jsonObject.put("msg", "活动已结束");
return jsonObject;
}
//活动报名已结束
if (1 == instance.getIsSignupExpired()) {
jsonObject.put("success", false);
jsonObject.put("msg", "活动报名已结束");
return jsonObject;
}
BoActivitySignup boActivitySignup = new BoActivitySignup();
boActivitySignup.setActivityId(instance.getActivityId());
boActivitySignup.setActivityInstanceId(instance.getId());
boActivitySignup.setUserId(users.getId());
boActivitySignup.setSignupDatetime(new Date());
boActivitySignup.setPayStatus(data.getInteger("payStatus"));
boActivitySignup.setPayAmount(data.getBigDecimal("payAmount"));
boActivitySignupMapper.insert(boActivitySignup);
applicationContext.publishEvent(new LogEvent(source, null, BoBusinessEnum.SIGNUP));
BoActivityConfig findBoActivityConfig = new BoActivityConfig();
findBoActivityConfig.setState(1);
findBoActivityConfig.setActivityInstanceId(instanceId);
BoActivityConfig boActivityConfig = boActivityConfigMapper.selectOne(findBoActivityConfig);
//推送报名微信模板消息
String activityState = "报名成功";
String activityName =instance.getActivityName();
String activityPlace = boActivityConfig.getActivityPlace();
String activityStartTime = sdf.format(boActivityConfig.getStartDatetime());
String note = "欢迎参加活动,注意活动结束时间哦";
//跳转详情页的地址
String page = "pages/detail/detail?id=" + boActivityInstance.getId();
wxSubscribeMessageService.activitySendMessage(activityState,activityName,activityPlace
,activityStartTime,note,users.getOpenId(),page);
jsonObject.put("success", true);
jsonObject.put("instanceId",instanceId);
jsonObject.put("msg", "报名成功");
return jsonObject;
}
}

@ -1,21 +0,0 @@
package com.bsd.cases.service.impl;
import com.bsd.cases.model.BoActivityType;
import com.bsd.cases.mapper.BoActivityTypeMapper;
import com.bsd.cases.service.BoActivityTypeService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* <p>
*
* </p>
*
* @author jobob
* @since 2020-09-02
*/
@Service("boActivityTypeService")
@Transactional
public class BoActivityTypeServiceImpl extends BaseServiceImpl<BoActivityTypeMapper, BoActivityType> implements BoActivityTypeService<BoActivityType> {
}

@ -1,21 +0,0 @@
package com.bsd.cases.service.impl;
import com.bsd.cases.model.BoBussinessLog;
import com.bsd.cases.mapper.BoBussinessLogMapper;
import com.bsd.cases.service.BoBussinessLogService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* <p>
*
* </p>
*
* @author jobob
* @since 2020-09-02
*/
@Service("boBussinessLogService")
@Transactional
public class BoBussinessLogServiceImpl extends BaseServiceImpl<BoBussinessLogMapper, BoBussinessLog> implements BoBussinessLogService<BoBussinessLog> {
}

@ -1,21 +0,0 @@
package com.bsd.cases.service.impl;
import com.bsd.cases.model.BoPayment;
import com.bsd.cases.mapper.BoPaymentMapper;
import com.bsd.cases.service.BoPaymentService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* <p>
*
* </p>
*
* @author jobob
* @since 2020-09-02
*/
@Service("boPaymentService")
@Transactional
public class BoPaymentServiceImpl extends BaseServiceImpl<BoPaymentMapper, BoPayment> implements BoPaymentService<BoPayment> {
}

@ -1,154 +0,0 @@
package com.bsd.cases.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.bsd.cases.enums.BoBusinessEnum;
import com.bsd.cases.event.LogEvent;
import com.bsd.cases.mapper.*;
import com.bsd.cases.model.*;
import com.bsd.cases.service.BoSceneParamService;
import com.bsd.cases.service.BoUsersService;
import org.apache.commons.io.IOUtils;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.InputStream;
import java.util.Base64;
import java.util.Date;
/**
* <p>
*
* </p>
*
* @author jobob
* @since 2020-09-02
*/
@Service("boSceneParamService")
@Transactional
public class BoSceneParamServiceImpl extends BaseServiceImpl<BoSceneParamMapper, BoSceneParam> implements BoSceneParamService<BoSceneParam> {
@Value("${wx.APPID}")
private String appId;
@Value("${wx.BASE_URI}")
private String BASE_URI;
@Resource
private BoSceneParamMapper boSceneParamMapper;
@Resource
private BoUsersMapper boUsersMapper;
@Resource
private BoActivityMapper boActivityMapper;
@Resource
private BoActivityInstanceMapper boActivityInstanceMapper;
@Resource
private BoWechatMiniMapper boWechatMiniMapper;
@Resource
private ApplicationContext applicationContext;
@Resource
private BoUsersService boUsersService;
/**
*
*
* @param request
* @return
*/
@Override
public String getCode(JSONObject data, HttpServletRequest request) {
Long activityId = data.getLong("activityId");
String pagePath = data.getString("pagePath");
String source = data.getString("source");
//先获取用户id
BoUsers users = boUsersService.currentUser();
Long usersId = users.getId();
String scene = "u=" + usersId + "&id=" + activityId;
BoSceneParam findBoSceneParam = new BoSceneParam();
findBoSceneParam.setState(1);
findBoSceneParam.setActivityId(activityId);
findBoSceneParam.setScene(scene);
findBoSceneParam.setPagePath(pagePath);
BoSceneParam boSceneParam = boSceneParamMapper.selectOne(findBoSceneParam);
String wxacodeunlimit = "";
if (null == boSceneParam) {
BoWechatMini findBoWechatMini = new BoWechatMini();
findBoWechatMini.setState(1);
findBoWechatMini.setMiniAppid(appId);
BoWechatMini boWechatMini = boWechatMiniMapper.selectOne(findBoWechatMini);
String accessToken = boWechatMini.getAccessToken();
//生成太阳码,并保存数据库,并返回太阳码
try {
wxacodeunlimit = getGetwxacodeunlimit(accessToken, pagePath, scene);
} catch (IOException e) {
e.printStackTrace();
}
BoActivity boActivity = boActivityMapper.selectByPrimaryKey(activityId);
BoActivityInstance findBoActivityInstance = new BoActivityInstance();
findBoActivityInstance.setState(1);
findBoActivityInstance.setActivityId(activityId);
findBoActivityInstance.setIsDefault(1);
BoActivityInstance boActivityInstance = boActivityInstanceMapper.selectOne(findBoActivityInstance);
String activityName = boActivity.getActivityName();
BoSceneParam newBoSceneParam = new BoSceneParam();
newBoSceneParam.setState(1);
newBoSceneParam.setActivityId(activityId);
newBoSceneParam.setActivityName(activityName);
newBoSceneParam.setUserId(usersId);
newBoSceneParam.setPagePath(pagePath);
newBoSceneParam.setScene(scene);
newBoSceneParam.setActivityInstanceId(boActivityInstance.getId());
newBoSceneParam.setCreateDateTime(new Date());
newBoSceneParam.setUpdateDateTime(new Date());
newBoSceneParam.setSceneValue(wxacodeunlimit);
boSceneParamMapper.insert(newBoSceneParam);
} else {
//直接返回太阳码
wxacodeunlimit = boSceneParam.getSceneValue();
}
applicationContext.publishEvent(new LogEvent(source, null, BoBusinessEnum.LOGIN));
return wxacodeunlimit;
}
public String getGetwxacodeunlimit(String accessToken, String page, String scene) throws IOException {
JSONObject getwxacodeunlimit = new JSONObject();
getwxacodeunlimit.put("page", page);
getwxacodeunlimit.put("scene", scene);
CloseableHttpClient httpClient = HttpClients.createDefault();
StringEntity entity;
//url的get请求
HttpPost post = new HttpPost(BASE_URI + "/wxa/getwxacodeunlimit?access_token=" + accessToken);
//设置长连接
post.setHeader("Connection", "keep-alive");
//模拟游览器,游览器中输入about://version查看代理项,模拟自己的游览器
post.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36");
entity = new StringEntity(JSONObject.toJSONString(getwxacodeunlimit), "utf-8"); // 解决中文乱码问题
entity.setContentEncoding("UTF-8");
entity.setContentType("application/json");
post.setEntity(entity);
//执行请求,并获取回应
CloseableHttpResponse httpResponse = httpClient.execute(post);
//成功获取json数据
HttpEntity responseEntity = httpResponse.getEntity();
responseEntity.getContent();
InputStream is = responseEntity.getContent();
byte[] bytes = IOUtils.toByteArray(is);
is.close();
return Base64.getEncoder().encodeToString(bytes);
}
}

@ -1,92 +0,0 @@
package com.bsd.cases.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.bsd.cases.enums.BoBusinessEnum;
import com.bsd.cases.event.LogEvent;
import com.bsd.cases.mapper.BoUserSignMapper;
import com.bsd.cases.mapper.BoUsersMapper;
import com.bsd.cases.model.BoUserSign;
import com.bsd.cases.model.BoUsers;
import com.bsd.cases.service.BoUserSignService;
import com.bsd.cases.service.BoUsersService;
import com.bsd.cases.util.AjaxResult;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* <p>
*
* </p>
*
* @author jobob
* @since 2020-09-07
*/
@Service("boUserSignService")
@Transactional
public class BoUserSignServiceImpl extends BaseServiceImpl<BoUserSignMapper, BoUserSign> implements BoUserSignService<BoUserSign> {
@Resource
private BoUserSignMapper boUserSignMapper;
@Resource
private BoUsersMapper boUsersMapper;
@Resource
ApplicationContext applicationContext;
@Resource
BoUsersService boUsersService;
/**
*
** @param request
*/
@Override
public AjaxResult userSign(JSONObject data, HttpServletRequest request) {
Long activityInstanceId = data.getLong("activityInstanceId");
String source = data.getString("source");
AjaxResult ajaxResult = new AjaxResult();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
BoUsers users = boUsersService.currentUser();
BoUserSign findBoUserSign = new BoUserSign();
findBoUserSign.setState(1);
String signDateString = sdf.format(new Date());
try {
findBoUserSign.setSignDate(sdf.parse(signDateString));
} catch (ParseException e) {
e.printStackTrace();
}
findBoUserSign.setUserId(users.getId());
findBoUserSign.setActivityInstanceId(activityInstanceId);
Integer count = boUserSignMapper.selectCount(findBoUserSign);
if (count >= 1) {
ajaxResult.setRetmsg("已签过不可重复签到");
ajaxResult.setRetcode(AjaxResult.FAILED);
return ajaxResult;
}
BoUserSign boUserSign = new BoUserSign();
boUserSign.setState(1);
boUserSign.setUserId(users.getId());
try {
boUserSign.setSignDate(sdf.parse(signDateString));
} catch (ParseException e) {
e.printStackTrace();
}
boUserSign.setActivityInstanceId(activityInstanceId);
boUserSign.setCreateDateTime(new Date());
boUserSign.setUpdateDateTime(new Date());
boUserSignMapper.insert(boUserSign);
applicationContext.publishEvent(new LogEvent(source, null, BoBusinessEnum.SIGN));
ajaxResult.setRetcode(AjaxResult.SUCCESS);
ajaxResult.setRetmsg("活动签到成功");
return ajaxResult;
}
}

@ -1,53 +0,0 @@
package com.bsd.cases.service.impl;
import com.bsd.cases.mapper.BoUsersMapper;
import com.bsd.cases.model.BoUsers;
import com.bsd.cases.service.BoUsersService;
import com.bsd.cases.util.JWTUtil;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.subject.Subject;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* <p>
*
* </p>
*
* @author jobob
* @since 2020-09-02
*/
@Service("boUsersService")
@Transactional
public class BoUsersServiceImpl extends BaseServiceImpl<BoUsersMapper, BoUsers> implements BoUsersService {
@Override
public BoUsers currentUser() {
Subject subject = SecurityUtils.getSubject();
if (null == subject.getPrincipal()) {
return null;
}
String key = JWTUtil.getKey(subject.getPrincipal().toString());
BoUsers user = selectByUserNoOrOpenId(key);
return user;
}
@Override
public BoUsers selectByUserNoOrOpenId(String key) {
BoUsers boUsers = new BoUsers();
boUsers.setOpenId(key);
boUsers = findOne(boUsers);
if (null == boUsers) {
boUsers = new BoUsers();
boUsers.setMobile(key);
}
return findOne(boUsers);
}
}

@ -1,54 +0,0 @@
package com.bsd.cases.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.bsd.cases.model.BoWechatMini;
import com.bsd.cases.mapper.BoWechatMiniMapper;
import com.bsd.cases.service.BoWechatMiniService;
import com.bsd.cases.util.wx.HttpRequest;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
/**
* <p>
*
* </p>
*
* @author jobob
* @since 2020-09-02
*/
@Service("boWechatMiniService")
@Transactional
public class BoWechatMiniServiceImpl extends BaseServiceImpl<BoWechatMiniMapper, BoWechatMini> implements BoWechatMiniService<BoWechatMini> {
@Value("${wx.ACCESS_TOKEN_URL}")
private String accessTokenUrl;
@Value("${wx.APPID}")
private String appId;
@Value("${wx.APPSECRET}")
private String appSecret;
@Resource
BoWechatMiniMapper boWechatMiniMapper;
/**
* accessToken
*/
@Override
public void refreshAccessToken() {
String refreshUrl = accessTokenUrl;
String param = "grant_type=client_credential&appid="+appId+"&secret="+appSecret;
String result = HttpRequest.sendGet(refreshUrl,param);
JSONObject jsonObject = JSONObject.parseObject(result);
String accessToken = jsonObject.getString("access_token");
BoWechatMini findBoWechatMini = new BoWechatMini();
findBoWechatMini.setMiniAppid(appId);
findBoWechatMini.setState(1);
BoWechatMini boWechatMini = boWechatMiniMapper.selectOne(findBoWechatMini);
boWechatMini.setAccessToken(accessToken);
boWechatMini.setUpdateDateTime(new Date());
boWechatMiniMapper.updateByPrimaryKeySelective(boWechatMini);
}
}

@ -1,16 +1,65 @@
package com.bsd.cases.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.bsd.cases.constants.Constants;
import com.bsd.cases.mapper.CaseCategoryMapper;
import com.bsd.cases.model.CaseCategory;
import com.bsd.cases.service.CaseCategoryService;
import com.bsd.cases.util.AjaxRequest;
import com.bsd.cases.util.AjaxResult;
import com.bsd.cases.util.PageUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Service("caseCategoryService")
@Transactional
public class CaseCategoryServiceImpl extends BaseServiceImpl<CaseCategoryMapper, CaseCategory> implements CaseCategoryService<CaseCategory> {
@Resource
private CaseCategoryMapper caseCategoryMapper;
/**
* 12
* @return
*/
@Override
public JSONObject getAllCaseCategory() {
JSONObject jsonObject = new JSONObject();
CaseCategory findCaseCategory1 = new CaseCategory();
findCaseCategory1.setLevel(1);
findCaseCategory1.setState(Constants.STATE_VALID);
List<CaseCategory> caseCategoryList1 = caseCategoryMapper.select(findCaseCategory1);
CaseCategory findCaseCategory2 = new CaseCategory();
findCaseCategory2.setLevel(2);
findCaseCategory2.setState(Constants.STATE_VALID);
List<CaseCategory> caseCategoryList2 = caseCategoryMapper.select(findCaseCategory2);
jsonObject.put("level1",caseCategoryList1);
jsonObject.put("level2",caseCategoryList2);
return jsonObject;
}
@Override
public JSONObject getCaseCategoryByParentId(Long parentId,Integer pageNum,Integer pageSize) {
CaseCategory findCaseCategory = new CaseCategory();
if (null == parentId){
CaseCategory findCaseCategory2 = new CaseCategory();
findCaseCategory2.setLevel(2);
findCaseCategory2.setState(Constants.STATE_VALID);
List<CaseCategory> caseCategoryList2 = caseCategoryMapper.select(findCaseCategory2);
findCaseCategory.setState(Constants.STATE_VALID);
findCaseCategory.setParentId(caseCategoryList2.get(0).getId());
}else {
findCaseCategory.setState(Constants.STATE_VALID);
findCaseCategory.setParentId(parentId);
}
List<CaseCategory> caseCategoryList = caseCategoryMapper.select(findCaseCategory);
JSONObject pageJson = PageUtils.page(caseCategoryList,pageNum,pageSize);
return pageJson;
}
}

@ -1,12 +1,62 @@
package com.bsd.cases.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.bsd.cases.constants.Constants;
import com.bsd.cases.mapper.CaseContentMapper;
import com.bsd.cases.mapper.CaseContentStaticalMapper;
import com.bsd.cases.model.CaseContent;
import com.bsd.cases.model.CaseContentStatical;
import com.bsd.cases.service.CaseContentService;
import com.bsd.cases.util.PageUtils;
import com.bsd.cases.vo.CaseContentVo;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Service("caseContentService")
@Transactional
public class CaseContentServiceImpl extends BaseServiceImpl<CaseContentMapper, CaseContent> implements CaseContentService<CaseContent> {
@Resource
private CaseContentMapper caseContentMapper;
@Resource
private CaseContentStaticalMapper caseContentStaticalMapper;
@Override
public JSONObject getContentListByCategoryId(Long categoryId,Integer pageNum,Integer pageSize) {
CaseContent findCaseContent = new CaseContent();
findCaseContent.setState(Constants.STATE_VALID);
findCaseContent.setCategoryId(categoryId);
List<CaseContent> caseContentList = caseContentMapper.select(findCaseContent);
JSONObject pageJson = PageUtils.page(caseContentList,pageNum,pageSize);
JSONArray jsonArray = pageJson.getJSONArray("list");
caseContentList = JSONObject.parseArray(JSONObject.toJSONString(jsonArray), CaseContent.class);
List<CaseContentVo> caseContentVoList = new ArrayList<>();
for (CaseContent caseContent:caseContentList){
CaseContentVo caseContentVo = new CaseContentVo();
CaseContentStatical findCaseContentStatical = new CaseContentStatical();
findCaseContentStatical.setState(Constants.STATE_VALID);
findCaseContentStatical.setContentId(caseContent.getId());
CaseContentStatical caseContentStatical = caseContentStaticalMapper.selectOne(findCaseContentStatical);
caseContentVo.setCategoryId(caseContent.getCategoryId());
caseContentVo.setUrl(caseContent.getUrl());
caseContentVo.setViewNum(caseContentStatical.getViewNum());
caseContentVo.setLikeNum(caseContentStatical.getLikeNum());
caseContentVo.setCommentsNum(caseContentStatical.getCommentsNum());
caseContentVo.setScore(caseContentStatical.getScore());
caseContentVo.setContentTitle(caseContent.getContentTitle());
caseContentVo.setId(caseContent.getId());
caseContentVoList.add(caseContentVo);
}
JSONObject jsonObject = new JSONObject();
jsonObject.put("list",caseContentVoList);
jsonObject.put("total",pageJson.getInteger("total"));
jsonObject.put("pageNum",pageNum);
jsonObject.put("pageSize",pageSize);
return jsonObject;
}
}

@ -1,42 +0,0 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2014-2016 abel533@gmail.com
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package com.bsd.cases.service.impl;
import com.bsd.cases.mapper.CityMapper;
import com.bsd.cases.model.City;
import com.bsd.cases.service.CityService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* @author
* @since
*/
@Service("cityService")
@Transactional
public class CityServiceImpl extends BaseServiceImpl<CityMapper, City> implements CityService<City> {
}

@ -0,0 +1,30 @@
package com.bsd.cases.util;
import com.alibaba.fastjson.JSONObject;
import java.util.List;
public class PageUtils {
public static JSONObject page(List<?> list, Integer pageNum, Integer pageSize){
int page = pageNum;//相当于pageNo
int count = pageSize;//相当于pageSize
int size = list.size();
int pageCount=size/count;
int fromIndex = count * (page - 1);
int toIndex = fromIndex + count;
if (toIndex >= size) {
toIndex = size;
}
if(page>pageCount+1){
fromIndex=0;
toIndex=0;
}
JSONObject jsonObject = new JSONObject();
jsonObject.put("list",list.subList(fromIndex, toIndex));
jsonObject.put("total",size);
jsonObject.put("pageNum",pageNum);
jsonObject.put("pageSize",pageSize);
return jsonObject;
}
}

@ -0,0 +1,26 @@
package com.bsd.cases.vo;
import lombok.Data;
import java.util.Date;
@Data
public class CaseContentVo {
private Long id;
private String contentTitle;
private String url;
private Long categoryId;
private Double score;
private Integer viewNum;
private Integer likeNum;
private Integer commentsNum;
}

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bsd.cases.mapper.CaseCategoryMapper">
</mapper>
Loading…
Cancel
Save