From 9fa6b81d33845901a97a453ea33c4247e79647cb Mon Sep 17 00:00:00 2001 From: ck <851316342@qq.com> Date: Thu, 15 Oct 2020 17:06:22 +0800 Subject: [PATCH] up --- .../controller/CaseCategoryController.java | 54 ++++ .../java/com/bsd/cases/model/CaseContent.java | 2 + .../cases/service/CaseCategoryService.java | 9 + .../bsd/cases/service/CaseContentService.java | 6 + .../impl/BoActivityConfigServiceImpl.java | 39 --- .../impl/BoActivityContentServiceImpl.java | 21 -- .../impl/BoActivityInstanceServiceImpl.java | 21 -- .../impl/BoActivityLoginServiceImpl.java | 132 ---------- .../service/impl/BoActivityServiceImpl.java | 241 ------------------ .../impl/BoActivitySignupServiceImpl.java | 194 -------------- .../impl/BoActivityTypeServiceImpl.java | 21 -- .../impl/BoBussinessLogServiceImpl.java | 21 -- .../service/impl/BoPaymentServiceImpl.java | 21 -- .../service/impl/BoSceneParamServiceImpl.java | 154 ----------- .../service/impl/BoUserSignServiceImpl.java | 92 ------- .../service/impl/BoUsersServiceImpl.java | 53 ---- .../service/impl/BoWechatMiniServiceImpl.java | 54 ---- .../service/impl/CaseCategoryServiceImpl.java | 49 ++++ .../service/impl/CaseContentServiceImpl.java | 50 ++++ .../cases/service/impl/CityServiceImpl.java | 42 --- .../java/com/bsd/cases/util/PageUtils.java | 30 +++ .../java/com/bsd/cases/vo/CaseContentVo.java | 26 ++ .../resources/mapper/CaseCategoryMapper.xml | 5 + 23 files changed, 231 insertions(+), 1106 deletions(-) create mode 100644 src/main/java/com/bsd/cases/controller/CaseCategoryController.java delete mode 100644 src/main/java/com/bsd/cases/service/impl/BoActivityConfigServiceImpl.java delete mode 100644 src/main/java/com/bsd/cases/service/impl/BoActivityContentServiceImpl.java delete mode 100644 src/main/java/com/bsd/cases/service/impl/BoActivityInstanceServiceImpl.java delete mode 100644 src/main/java/com/bsd/cases/service/impl/BoActivityLoginServiceImpl.java delete mode 100644 src/main/java/com/bsd/cases/service/impl/BoActivityServiceImpl.java delete mode 100644 src/main/java/com/bsd/cases/service/impl/BoActivitySignupServiceImpl.java delete mode 100644 src/main/java/com/bsd/cases/service/impl/BoActivityTypeServiceImpl.java delete mode 100644 src/main/java/com/bsd/cases/service/impl/BoBussinessLogServiceImpl.java delete mode 100644 src/main/java/com/bsd/cases/service/impl/BoPaymentServiceImpl.java delete mode 100644 src/main/java/com/bsd/cases/service/impl/BoSceneParamServiceImpl.java delete mode 100644 src/main/java/com/bsd/cases/service/impl/BoUserSignServiceImpl.java delete mode 100644 src/main/java/com/bsd/cases/service/impl/BoUsersServiceImpl.java delete mode 100644 src/main/java/com/bsd/cases/service/impl/BoWechatMiniServiceImpl.java delete mode 100644 src/main/java/com/bsd/cases/service/impl/CityServiceImpl.java create mode 100644 src/main/java/com/bsd/cases/util/PageUtils.java create mode 100644 src/main/java/com/bsd/cases/vo/CaseContentVo.java create mode 100644 src/main/resources/mapper/CaseCategoryMapper.xml diff --git a/src/main/java/com/bsd/cases/controller/CaseCategoryController.java b/src/main/java/com/bsd/cases/controller/CaseCategoryController.java new file mode 100644 index 0000000..da961fb --- /dev/null +++ b/src/main/java/com/bsd/cases/controller/CaseCategoryController.java @@ -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; + } +} diff --git a/src/main/java/com/bsd/cases/model/CaseContent.java b/src/main/java/com/bsd/cases/model/CaseContent.java index 98ab25f..dce59e2 100644 --- a/src/main/java/com/bsd/cases/model/CaseContent.java +++ b/src/main/java/com/bsd/cases/model/CaseContent.java @@ -14,4 +14,6 @@ public class CaseContent extends BaseEntity { private String url; private String content; + + private Long categoryId; } diff --git a/src/main/java/com/bsd/cases/service/CaseCategoryService.java b/src/main/java/com/bsd/cases/service/CaseCategoryService.java index 043400d..49fbbbd 100644 --- a/src/main/java/com/bsd/cases/service/CaseCategoryService.java +++ b/src/main/java/com/bsd/cases/service/CaseCategoryService.java @@ -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 extends BaseService { + + JSONObject getAllCaseCategory(); + + JSONObject getCaseCategoryByParentId(Long parentId,Integer pageNum,Integer pageSize); } diff --git a/src/main/java/com/bsd/cases/service/CaseContentService.java b/src/main/java/com/bsd/cases/service/CaseContentService.java index 91caa3b..dc766de 100644 --- a/src/main/java/com/bsd/cases/service/CaseContentService.java +++ b/src/main/java/com/bsd/cases/service/CaseContentService.java @@ -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 extends BaseService { + JSONObject getContentListByCategoryId(Long categoryId, Integer pageNum, Integer pageSize); } diff --git a/src/main/java/com/bsd/cases/service/impl/BoActivityConfigServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/BoActivityConfigServiceImpl.java deleted file mode 100644 index cc6da44..0000000 --- a/src/main/java/com/bsd/cases/service/impl/BoActivityConfigServiceImpl.java +++ /dev/null @@ -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; - -/** - *

- * 服务实现类 - *

- * - * @author jobob - * @since 2020-09-02 - */ -@Service("boActivityConfigService") -@Transactional -public class BoActivityConfigServiceImpl extends BaseServiceImpl implements BoActivityConfigService { - - @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; - } -} diff --git a/src/main/java/com/bsd/cases/service/impl/BoActivityContentServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/BoActivityContentServiceImpl.java deleted file mode 100644 index f562f0f..0000000 --- a/src/main/java/com/bsd/cases/service/impl/BoActivityContentServiceImpl.java +++ /dev/null @@ -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; - -/** - *

- * 服务实现类 - *

- * - * @author jobob - * @since 2020-09-03 - */ -@Service("boActivityContentService") -@Transactional -public class BoActivityContentServiceImpl extends BaseServiceImpl implements BoActivityContentService { - -} diff --git a/src/main/java/com/bsd/cases/service/impl/BoActivityInstanceServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/BoActivityInstanceServiceImpl.java deleted file mode 100644 index 76ea561..0000000 --- a/src/main/java/com/bsd/cases/service/impl/BoActivityInstanceServiceImpl.java +++ /dev/null @@ -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; - -/** - *

- * 服务实现类 - *

- * - * @author jobob - * @since 2020-09-02 - */ -@Service("boActivityInstanceService") -@Transactional -public class BoActivityInstanceServiceImpl extends BaseServiceImpl implements BoActivityInstanceService { - -} diff --git a/src/main/java/com/bsd/cases/service/impl/BoActivityLoginServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/BoActivityLoginServiceImpl.java deleted file mode 100644 index fa624e3..0000000 --- a/src/main/java/com/bsd/cases/service/impl/BoActivityLoginServiceImpl.java +++ /dev/null @@ -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; - } -} diff --git a/src/main/java/com/bsd/cases/service/impl/BoActivityServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/BoActivityServiceImpl.java deleted file mode 100644 index 9dd522d..0000000 --- a/src/main/java/com/bsd/cases/service/impl/BoActivityServiceImpl.java +++ /dev/null @@ -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; - -/** - *

- * 服务实现类 - *

- * - * @author jobob - * @since 2020-09-02 - */ -@Service("boActivityService") -@Transactional -public class BoActivityServiceImpl extends BaseServiceImpl implements BoActivityService { - - - @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 boActivityConfigList = boActivityConfigMapper.selectByExample(example); - List boActivityVoList = new ArrayList<>(); - List 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 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; - } -} diff --git a/src/main/java/com/bsd/cases/service/impl/BoActivitySignupServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/BoActivitySignupServiceImpl.java deleted file mode 100644 index decc336..0000000 --- a/src/main/java/com/bsd/cases/service/impl/BoActivitySignupServiceImpl.java +++ /dev/null @@ -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; - -/** - *

- * 服务实现类 - *

- * - * @author jobob - * @since 2020-09-02 - */ -@Service("boActivitySignupService") -@Transactional -public class BoActivitySignupServiceImpl extends BaseServiceImpl implements BoActivitySignupService { - - @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 boActivitySignupList = boActivitySignupMapper.select(findBoActivitySignup); - List 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; - } -} diff --git a/src/main/java/com/bsd/cases/service/impl/BoActivityTypeServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/BoActivityTypeServiceImpl.java deleted file mode 100644 index 3f18f07..0000000 --- a/src/main/java/com/bsd/cases/service/impl/BoActivityTypeServiceImpl.java +++ /dev/null @@ -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; - -/** - *

- * 服务实现类 - *

- * - * @author jobob - * @since 2020-09-02 - */ -@Service("boActivityTypeService") -@Transactional -public class BoActivityTypeServiceImpl extends BaseServiceImpl implements BoActivityTypeService { - -} diff --git a/src/main/java/com/bsd/cases/service/impl/BoBussinessLogServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/BoBussinessLogServiceImpl.java deleted file mode 100644 index 0a52e00..0000000 --- a/src/main/java/com/bsd/cases/service/impl/BoBussinessLogServiceImpl.java +++ /dev/null @@ -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; - -/** - *

- * 服务实现类 - *

- * - * @author jobob - * @since 2020-09-02 - */ -@Service("boBussinessLogService") -@Transactional -public class BoBussinessLogServiceImpl extends BaseServiceImpl implements BoBussinessLogService { - -} diff --git a/src/main/java/com/bsd/cases/service/impl/BoPaymentServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/BoPaymentServiceImpl.java deleted file mode 100644 index f09fb70..0000000 --- a/src/main/java/com/bsd/cases/service/impl/BoPaymentServiceImpl.java +++ /dev/null @@ -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; - -/** - *

- * 服务实现类 - *

- * - * @author jobob - * @since 2020-09-02 - */ -@Service("boPaymentService") -@Transactional -public class BoPaymentServiceImpl extends BaseServiceImpl implements BoPaymentService { - -} diff --git a/src/main/java/com/bsd/cases/service/impl/BoSceneParamServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/BoSceneParamServiceImpl.java deleted file mode 100644 index 0988546..0000000 --- a/src/main/java/com/bsd/cases/service/impl/BoSceneParamServiceImpl.java +++ /dev/null @@ -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; - -/** - *

- * 服务实现类 - *

- * - * @author jobob - * @since 2020-09-02 - */ -@Service("boSceneParamService") -@Transactional -public class BoSceneParamServiceImpl extends BaseServiceImpl implements BoSceneParamService { - - @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); - } -} diff --git a/src/main/java/com/bsd/cases/service/impl/BoUserSignServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/BoUserSignServiceImpl.java deleted file mode 100644 index 5eab3d1..0000000 --- a/src/main/java/com/bsd/cases/service/impl/BoUserSignServiceImpl.java +++ /dev/null @@ -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; - -/** - *

- * 服务实现类 - *

- * - * @author jobob - * @since 2020-09-07 - */ -@Service("boUserSignService") -@Transactional -public class BoUserSignServiceImpl extends BaseServiceImpl implements BoUserSignService { - - @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; - } -} diff --git a/src/main/java/com/bsd/cases/service/impl/BoUsersServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/BoUsersServiceImpl.java deleted file mode 100644 index 8c7713c..0000000 --- a/src/main/java/com/bsd/cases/service/impl/BoUsersServiceImpl.java +++ /dev/null @@ -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; - -/** - *

- * 服务实现类 - *

- * - * @author jobob - * @since 2020-09-02 - */ -@Service("boUsersService") -@Transactional -public class BoUsersServiceImpl extends BaseServiceImpl 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); - } - - -} diff --git a/src/main/java/com/bsd/cases/service/impl/BoWechatMiniServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/BoWechatMiniServiceImpl.java deleted file mode 100644 index 271ef0f..0000000 --- a/src/main/java/com/bsd/cases/service/impl/BoWechatMiniServiceImpl.java +++ /dev/null @@ -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; - -/** - *

- * 服务实现类 - *

- * - * @author jobob - * @since 2020-09-02 - */ -@Service("boWechatMiniService") -@Transactional -public class BoWechatMiniServiceImpl extends BaseServiceImpl implements BoWechatMiniService { - - @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); - } -} diff --git a/src/main/java/com/bsd/cases/service/impl/CaseCategoryServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/CaseCategoryServiceImpl.java index 669df3e..e841b48 100644 --- a/src/main/java/com/bsd/cases/service/impl/CaseCategoryServiceImpl.java +++ b/src/main/java/com/bsd/cases/service/impl/CaseCategoryServiceImpl.java @@ -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 implements CaseCategoryService { + @Resource + private CaseCategoryMapper caseCategoryMapper; + + /** + * 直接获取所有1级2级分级 + * @return + */ + @Override + public JSONObject getAllCaseCategory() { + JSONObject jsonObject = new JSONObject(); + CaseCategory findCaseCategory1 = new CaseCategory(); + findCaseCategory1.setLevel(1); + findCaseCategory1.setState(Constants.STATE_VALID); + List caseCategoryList1 = caseCategoryMapper.select(findCaseCategory1); + CaseCategory findCaseCategory2 = new CaseCategory(); + findCaseCategory2.setLevel(2); + findCaseCategory2.setState(Constants.STATE_VALID); + List 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 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 caseCategoryList = caseCategoryMapper.select(findCaseCategory); + JSONObject pageJson = PageUtils.page(caseCategoryList,pageNum,pageSize); + return pageJson; + } + + } diff --git a/src/main/java/com/bsd/cases/service/impl/CaseContentServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/CaseContentServiceImpl.java index 257c772..4150581 100644 --- a/src/main/java/com/bsd/cases/service/impl/CaseContentServiceImpl.java +++ b/src/main/java/com/bsd/cases/service/impl/CaseContentServiceImpl.java @@ -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 implements CaseContentService { + @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 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 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; + } } diff --git a/src/main/java/com/bsd/cases/service/impl/CityServiceImpl.java b/src/main/java/com/bsd/cases/service/impl/CityServiceImpl.java deleted file mode 100644 index c694f5f..0000000 --- a/src/main/java/com/bsd/cases/service/impl/CityServiceImpl.java +++ /dev/null @@ -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 implements CityService { - -} diff --git a/src/main/java/com/bsd/cases/util/PageUtils.java b/src/main/java/com/bsd/cases/util/PageUtils.java new file mode 100644 index 0000000..453ae3b --- /dev/null +++ b/src/main/java/com/bsd/cases/util/PageUtils.java @@ -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; + } +} diff --git a/src/main/java/com/bsd/cases/vo/CaseContentVo.java b/src/main/java/com/bsd/cases/vo/CaseContentVo.java new file mode 100644 index 0000000..34bc2d2 --- /dev/null +++ b/src/main/java/com/bsd/cases/vo/CaseContentVo.java @@ -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; + +} diff --git a/src/main/resources/mapper/CaseCategoryMapper.xml b/src/main/resources/mapper/CaseCategoryMapper.xml new file mode 100644 index 0000000..8726ef2 --- /dev/null +++ b/src/main/resources/mapper/CaseCategoryMapper.xml @@ -0,0 +1,5 @@ + + + + +