|  |  |  | 
|---|
|  |  |  | package com.doumee.service.business.impl; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import cn.binarywang.wx.miniapp.api.WxMaService; | 
|---|
|  |  |  | import com.alibaba.fastjson.JSONObject; | 
|---|
|  |  |  | import com.doumee.core.constants.Constants; | 
|---|
|  |  |  | import com.doumee.core.model.PageData; | 
|---|
|  |  |  | import com.doumee.core.model.PageWrap; | 
|---|
|  |  |  | import com.doumee.core.utils.Utils; | 
|---|
|  |  |  | import com.doumee.dao.business.ActionLogMapper; | 
|---|
|  |  |  | import com.doumee.dao.business.join.ActionLogJoinMapper; | 
|---|
|  |  |  | import com.doumee.dao.business.model.ActionLog; | 
|---|
|  |  |  | import com.doumee.dao.business.model.BaseParam; | 
|---|
|  |  |  | import com.doumee.dao.business.model.Member; | 
|---|
|  |  |  | import com.doumee.dao.business.model.MemberRides; | 
|---|
|  |  |  | import com.doumee.dao.business.web.response.BikeLogDTO; | 
|---|
|  |  |  | import com.doumee.dao.business.web.response.MemberRidesDTO; | 
|---|
|  |  |  | import com.doumee.dao.system.model.SystemUser; | 
|---|
|  |  |  | import com.doumee.service.business.ActionLogService; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.metadata.IPage; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
|---|
|  |  |  | import com.github.yulichang.wrapper.MPJLambdaWrapper; | 
|---|
|  |  |  | import org.apache.commons.lang3.StringUtils; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | import org.springframework.util.CollectionUtils; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ActionLogMapper actionLogMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ActionLogJoinMapper actionLogJoinMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public String create(ActionLog actionLog) { | 
|---|
|  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public ActionLog findOne(ActionLog actionLog) { | 
|---|
|  |  |  | QueryWrapper<ActionLog> wrapper = new QueryWrapper<>(actionLog); | 
|---|
|  |  |  | return actionLogMapper.selectOne(wrapper); | 
|---|
|  |  |  | return actionLogMapper.selectOne(wrapper.last(" limit 1")); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | 
|---|
|  |  |  | QueryWrapper<ActionLog> wrapper = new QueryWrapper<>(actionLog); | 
|---|
|  |  |  | return actionLogMapper.selectList(wrapper); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public PageData<ActionLog> findPage(PageWrap<ActionLog> pageWrap) { | 
|---|
|  |  |  | IPage<ActionLog> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
|---|
|  |  |  | QueryWrapper<ActionLog> queryWrapper = new QueryWrapper<>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | IPage<MemberRides> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MPJLambdaWrapper<ActionLog> queryWrapper = new MPJLambdaWrapper<>(); | 
|---|
|  |  |  | Utils.MP.blankToNull(pageWrap.getModel()); | 
|---|
|  |  |  | if (pageWrap.getModel().getId() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ActionLog::getId, pageWrap.getModel().getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getCreateDate() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().ge(ActionLog::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); | 
|---|
|  |  |  | queryWrapper.lambda().le(ActionLog::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getCreator() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ActionLog::getCreator, pageWrap.getModel().getCreator()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getEditDate() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().ge(ActionLog::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); | 
|---|
|  |  |  | queryWrapper.lambda().le(ActionLog::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getEditor() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ActionLog::getEditor, pageWrap.getModel().getEditor()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getIsdeleted() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ActionLog::getIsdeleted, pageWrap.getModel().getIsdeleted()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getInfo() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ActionLog::getInfo, pageWrap.getModel().getInfo()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getTitle() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ActionLog::getTitle, pageWrap.getModel().getTitle()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getContent() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ActionLog::getContent, pageWrap.getModel().getContent()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getType() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ActionLog::getType, pageWrap.getModel().getType()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getObjId() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ActionLog::getObjId, pageWrap.getModel().getObjId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getObjType() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ActionLog::getObjType, pageWrap.getModel().getObjType()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getUserId() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ActionLog::getUserId, pageWrap.getModel().getUserId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getUserType() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ActionLog::getUserType, pageWrap.getModel().getUserType()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getBeforeContent() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ActionLog::getBeforeContent, pageWrap.getModel().getBeforeContent()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getAfterContent() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ActionLog::getAfterContent, pageWrap.getModel().getAfterContent()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getParam() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ActionLog::getParam, pageWrap.getModel().getParam()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getParam2() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ActionLog::getParam2, pageWrap.getModel().getParam2()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getParam3() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ActionLog::getParam3, pageWrap.getModel().getParam3()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getResult() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ActionLog::getResult, pageWrap.getModel().getResult()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for(PageWrap.SortData sortData: pageWrap.getSorts()) { | 
|---|
|  |  |  | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { | 
|---|
|  |  |  | queryWrapper.orderByDesc(sortData.getProperty()); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | queryWrapper.orderByAsc(sortData.getProperty()); | 
|---|
|  |  |  | queryWrapper.orderByDesc(ActionLog::getCreateDate); | 
|---|
|  |  |  | queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,ActionLog::getUserId); | 
|---|
|  |  |  | queryWrapper.eq(ActionLog::getIsdeleted, Constants.ZERO); | 
|---|
|  |  |  | queryWrapper.ge(pageWrap.getModel().getStartDate()!=null, ActionLog::getCreateDate,pageWrap.getModel().getStartDate()); | 
|---|
|  |  |  | queryWrapper.le(pageWrap.getModel().getEndDate()!=null, ActionLog::getCreateDate,pageWrap.getModel().getEndDate()); | 
|---|
|  |  |  | queryWrapper.eq(pageWrap.getModel().getCreator()!=null, ActionLog::getCreator,pageWrap.getModel().getCreator()); | 
|---|
|  |  |  | queryWrapper.in(pageWrap.getModel().getTypeList()!=null && pageWrap.getModel().getTypeList().size()>0, ActionLog::getType,pageWrap.getModel().getTypeList()); | 
|---|
|  |  |  | queryWrapper.selectAll(ActionLog.class) | 
|---|
|  |  |  | .selectAs(SystemUser::getNickname,ActionLog::getCreator); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | IPage<ActionLog> result = actionLogJoinMapper.selectJoinPage(page, ActionLog.class, queryWrapper); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return PageData.from(result); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public     PageData<ActionLog>  findRidePae(PageWrap<ActionLog> pageWrap){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | IPage<MemberRides> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MPJLambdaWrapper<ActionLog> queryWrapper = new MPJLambdaWrapper<>(); | 
|---|
|  |  |  | Utils.MP.blankToNull(pageWrap.getModel()); | 
|---|
|  |  |  | queryWrapper.orderByDesc(ActionLog::getCreateDate); | 
|---|
|  |  |  | queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,ActionLog::getUserId); | 
|---|
|  |  |  | queryWrapper.leftJoin(MemberRides.class,MemberRides::getMemberId,ActionLog::getObjId); | 
|---|
|  |  |  | queryWrapper.leftJoin(Member.class,Member::getId,MemberRides::getMemberId); | 
|---|
|  |  |  | queryWrapper.eq(ActionLog::getIsdeleted, Constants.ZERO); | 
|---|
|  |  |  | queryWrapper.ge(pageWrap.getModel().getStartDate()!=null, ActionLog::getCreateDate,pageWrap.getModel().getStartDate()); | 
|---|
|  |  |  | queryWrapper.le(pageWrap.getModel().getEndDate()!=null, ActionLog::getCreateDate,pageWrap.getModel().getEndDate()); | 
|---|
|  |  |  | queryWrapper.eq(pageWrap.getModel().getCreator()!=null, ActionLog::getCreator,pageWrap.getModel().getCreator()); | 
|---|
|  |  |  | queryWrapper.in(pageWrap.getModel().getTypeList()!=null && pageWrap.getModel().getTypeList().size()>0, ActionLog::getType,pageWrap.getModel().getTypeList()); | 
|---|
|  |  |  | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getBikeCode()),ActionLog::getBeforeContent, pageWrap.getModel().getBikeCode() ); | 
|---|
|  |  |  | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getOpenid()),ActionLog::getBeforeContent, pageWrap.getModel().getOpenid() ); | 
|---|
|  |  |  | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCreatorName()),SystemUser::getRealname, pageWrap.getModel().getCreatorName()); | 
|---|
|  |  |  | queryWrapper.eq(ActionLog::getObjType,Constants.ActionLogObjType.memberrides); | 
|---|
|  |  |  | queryWrapper | 
|---|
|  |  |  | .selectAll(ActionLog.class) | 
|---|
|  |  |  | .selectAs(SystemUser::getRealname,ActionLog::getCreatorName) | 
|---|
|  |  |  | .selectAs(Member::getOpenid,ActionLog::getOpenid) | 
|---|
|  |  |  | .selectAs(MemberRides::getBikeCode,ActionLog::getBikeCode) | 
|---|
|  |  |  | .selectAs(MemberRides::getRentSiteId,ActionLog::getRentSiteId) | 
|---|
|  |  |  | .selectAs(MemberRides::getRentDate,ActionLog::getRentDate); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | IPage<ActionLog> result = actionLogJoinMapper.selectJoinPage(page, ActionLog.class, queryWrapper); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(result !=null && result.getRecords()!=null){ | 
|---|
|  |  |  | for (int i = 0; i < result.getRecords().size(); i++) { | 
|---|
|  |  |  | ActionLog log = result.getRecords().get(i); | 
|---|
|  |  |  | if(Constants.formatIntegerNum(log.getObjType())== Constants.ActionLogObjType.memberrides){ | 
|---|
|  |  |  | //如果是骑行记录关联对象,则使用beforeContent | 
|---|
|  |  |  | MemberRides memberRides = new MemberRides(); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | //强制转换骑行记录对象 | 
|---|
|  |  |  | memberRides = JSONObject.parseObject(log.getBeforeContent(), MemberRides.class); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | log.setRidesObj(memberRides); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return PageData.from(actionLogMapper.selectPage(page, queryWrapper)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return PageData.from(result); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|