Commit b127a453 authored by jiaorz's avatar jiaorz

添加积分消息队列接口

parent 70c9a5f1
package com.xxfc.platform.activity.entity; package com.xxfc.platform.activity.entity;
import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
...@@ -10,7 +9,6 @@ import javax.persistence.Table; ...@@ -10,7 +9,6 @@ import javax.persistence.Table;
@Table(name = "integral_user_record") @Table(name = "integral_user_record")
@Data @Data
@Builder
public class IntegralUserRecord { public class IntegralUserRecord {
/** /**
* 主键id * 主键id
......
...@@ -26,6 +26,14 @@ public class IntegralUserRecordDto extends PageParam { ...@@ -26,6 +26,14 @@ public class IntegralUserRecordDto extends PageParam {
private Integer channelId; private Integer channelId;
public IntegralUserRecord getIntegralUserRecord() { public IntegralUserRecord getIntegralUserRecord() {
return IntegralUserRecord.builder().integralRuleCode(integralRuleCode).userId(userId).channelId(channelId).point(point).type(type).isdel(false).isValid(true).build(); IntegralUserRecord integralUserRecord = new IntegralUserRecord();
integralUserRecord.setPoint(point);
integralUserRecord.setIntegralRuleCode(integralRuleCode);
integralUserRecord.setChannelId(channelId);
integralUserRecord.setIsValid(true);
integralUserRecord.setIsdel(false);
integralUserRecord.setUserId(userId);
integralUserRecord.setType(type);
return integralUserRecord;
} }
} }
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
</dependencies> </dependencies>
<build> <build>
<finalName>xx-activity</finalName>
<plugins> <plugins>
<!-- 此插件用来生成通用mapper的代码 --> <!-- 此插件用来生成通用mapper的代码 -->
<plugin> <plugin>
......
package com.xxfc.platform.activity.biz; package com.xxfc.platform.activity.biz;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.constant.RestCode;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.activity.entity.IntegralRule; import com.xxfc.platform.activity.entity.IntegralRule;
import com.xxfc.platform.activity.entity.IntegralSignRecord; import com.xxfc.platform.activity.entity.IntegralSignRecord;
import com.xxfc.platform.activity.entity.IntegralUserRecord; import com.xxfc.platform.activity.entity.IntegralUserRecord;
import com.xxfc.platform.activity.entity.IntegralUserTotal;
import com.xxfc.platform.activity.mapper.IntegralSignRecordMapper; import com.xxfc.platform.activity.mapper.IntegralSignRecordMapper;
import com.xxfc.platform.activity.user.UserInfoBiz; import com.xxfc.platform.activity.user.UserInfoBiz;
import com.xxfc.platform.activity.util.IntegralToolsUtils; import com.xxfc.platform.activity.util.IntegralToolsUtils;
import com.xxfc.platform.activity.vo.IntegralRuleDto; import com.xxfc.platform.activity.vo.IntegralRuleDto;
import com.xxfc.platform.activity.vo.IntegralUserRecordDto; import com.xxfc.platform.activity.vo.IntegralUserRecordDto;
import com.xxfc.platform.activity.vo.IntegralUserTotalDto;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.joda.time.DateTime;
import org.joda.time.DateTimeUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat; import java.util.Date;
import java.util.*; import java.util.List;
@Service @Service
@Transactional @Transactional
...@@ -114,7 +106,7 @@ public class IntegralSignRecordBiz extends BaseBiz<IntegralSignRecordMapper, Int ...@@ -114,7 +106,7 @@ public class IntegralSignRecordBiz extends BaseBiz<IntegralSignRecordMapper, Int
integralSignRecord.setLastTime(new Date().getTime()); integralSignRecord.setLastTime(new Date().getTime());
mapper.updateByPrimaryKeySelective(integralSignRecord); mapper.updateByPrimaryKeySelective(integralSignRecord);
addPoint(objectRestResponse.getData(),integralSignRecord, appUserDTO, integralSignRecord.getSignDays()); addPoint(objectRestResponse.getData(),integralSignRecord, appUserDTO, integralSignRecord.getSignDays());
return ObjectRestResponse.succ(); return ObjectRestResponse.succ(objectRestResponse.getData().getPoint());
} }
return ObjectRestResponse.createFailedResult(1006,"签到次数已达到上限,请下次再来"); return ObjectRestResponse.createFailedResult(1006,"签到次数已达到上限,请下次再来");
} }
......
package com.xxfc.platform.activity.biz; package com.xxfc.platform.activity.biz;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.constant.RestCode; import com.github.wxiaoqi.security.common.constant.RestCode;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.Query; import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.github.wxiaoqi.security.common.vo.PageParam;
import com.xxfc.platform.activity.entity.IntegralRule; import com.xxfc.platform.activity.entity.IntegralRule;
import com.xxfc.platform.activity.entity.IntegralUserRecord; import com.xxfc.platform.activity.entity.IntegralUserRecord;
import com.xxfc.platform.activity.entity.IntegralUserTotal; import com.xxfc.platform.activity.entity.IntegralUserTotal;
...@@ -20,7 +18,6 @@ import com.xxfc.platform.activity.vo.IntegralUserTotalDto; ...@@ -20,7 +18,6 @@ import com.xxfc.platform.activity.vo.IntegralUserTotalDto;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -144,6 +141,11 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int ...@@ -144,6 +141,11 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int
if (integralUserRecordDto == null) { if (integralUserRecordDto == null) {
return ObjectRestResponse.paramIsEmpty(); return ObjectRestResponse.paramIsEmpty();
} }
AppUserDTO appUserDTO = userInfoBiz.getUserInfo();
if (appUserDTO == null) {
return ObjectRestResponse.createFailedResult(508, "token is null or invalid");
}
integralUserRecordDto.setUserId(appUserDTO.getUserid());
List<IntegralUserRecord> integralUserRecordList = mapper.selectByUserAndTime(integralUserRecordDto); List<IntegralUserRecord> integralUserRecordList = mapper.selectByUserAndTime(integralUserRecordDto);
return ObjectRestResponse.succ(integralUserRecordList); return ObjectRestResponse.succ(integralUserRecordList);
} }
......
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
<artifactId>xx-common-platform-web</artifactId> <artifactId>xx-common-platform-web</artifactId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
<relativePath>../../xx-common/xx-common-platform-web/pom.xml</relativePath> <relativePath>../../xx-common/xx-common-platform-web/pom.xml</relativePath>
<relativePath/>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.xxfc.platform</groupId> <groupId>com.xxfc.platform</groupId>
......
package com.xxfc.service;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.campsite.CampSiteApplication;
import com.xxfc.platform.campsite.biz.CampsiteShopBiz;
import com.xxfc.platform.campsite.dto.CampsiteShopAdminDTO;
import com.xxfc.platform.campsite.dto.CampsiteShopAdminFindDTO;
import com.xxfc.platform.campsite.dto.CampsiteShopCarouselDTO;
import com.xxfc.platform.campsite.dto.CampsiteShopTagDTO;
import com.xxfc.platform.campsite.vo.CampsiteShopAdminPageVo;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.time.Instant;
import java.util.Arrays;
/**
* @author libin
* @version 1.0
* @description TODO
* @data 2019/6/19 16:41
*/
@RunWith(SpringRunner.class)
@SpringBootTest(classes = CampSiteApplication.class)
@Slf4j
public class CampsiteShopBizTest {
@Autowired
private CampsiteShopBiz campsiteShopBiz;
@Test
public void testList(){
CampsiteShopAdminFindDTO campsiteShopAdminFindDTO = new CampsiteShopAdminFindDTO();
campsiteShopAdminFindDTO.setName("kon");
Instant now = Instant.now();
long start = now.minusMillis(3 * 24 * 60 * 60 * 1000).toEpochMilli();
campsiteShopAdminFindDTO.setStartTime(start);
campsiteShopAdminFindDTO.setEndTime(now.toEpochMilli());
campsiteShopAdminFindDTO.setPage(1);
campsiteShopAdminFindDTO.setLimit(10);
PageDataVO<CampsiteShopAdminPageVo> campsiteShopPage = campsiteShopBiz.findCampsiteShopPage(campsiteShopAdminFindDTO);
System.out.println(campsiteShopPage.getData());
}
@Test
public void testSae(){
CampsiteShopAdminDTO campsiteShopAdminDTO = new CampsiteShopAdminDTO();
// campsiteShopAdminDTO.setId(13);
campsiteShopAdminDTO.setProvince(2323);
campsiteShopAdminDTO.setProvinceName("浙江省");
campsiteShopAdminDTO.setCity(2342342);
campsiteShopAdminDTO.setCityName("台州市");
campsiteShopAdminDTO.setAddress("胡同路23号");
campsiteShopAdminDTO.setConcat("zhangsan");
campsiteShopAdminDTO.setConfigure("dsaasdfasdfa");
campsiteShopAdminDTO.setContent("sadfasdfasdfasd");
campsiteShopAdminDTO.setHot(23);
campsiteShopAdminDTO.setLogo("https://xxtest.upyuns.com/image/admin/2019-06-13/23.png");
campsiteShopAdminDTO.setName("kong");
campsiteShopAdminDTO.setPhone("132121212121");
campsiteShopAdminDTO.setServicePhone("4545454545");
campsiteShopAdminDTO.setLatitude(39.983171);
campsiteShopAdminDTO.setLongitude(116.308479);
CampsiteShopCarouselDTO campsiteShopCarouselDTO = new CampsiteShopCarouselDTO();
//campsiteShopCarouselDTO.setId(12);
campsiteShopCarouselDTO.setImgUrl("https://xxtest.upyuns.com/image/admin/2019-06-13/23.png");
campsiteShopAdminDTO.setCarouselDTOS(Arrays.asList(campsiteShopCarouselDTO));
campsiteShopAdminDTO.setCampsiteTagDTOS(Arrays.asList(1));
System.out.println("保存的json信息:【{}】"+JSONObject.toJSONString(campsiteShopAdminDTO));
campsiteShopBiz.saveCampsiteShop(campsiteShopAdminDTO);
}
}
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
</dependencies> </dependencies>
<build> <build>
<finalName>xx-im</finalName>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
......
...@@ -29,10 +29,6 @@ public class ImQuestionBiz extends BaseBiz<ImQuestionMapper, ImQuestion> { ...@@ -29,10 +29,6 @@ public class ImQuestionBiz extends BaseBiz<ImQuestionMapper, ImQuestion> {
* @return * @return
*/ */
public ObjectRestResponse getList(QuestionParamDto questionParamDto) { public ObjectRestResponse getList(QuestionParamDto questionParamDto) {
AppUserDTO appUserDTO = userBiz.getUserInfo();
if (appUserDTO == null) {
return ObjectRestResponse.createFailedResult(508, "token is null or invalid");
}
Query query = new Query(questionParamDto); Query query = new Query(questionParamDto);
PageDataVO pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getQuestionList(query.getSuper())); PageDataVO pageDataVO = PageDataVO.pageInfo(query, () -> mapper.getQuestionList(query.getSuper()));
return new ObjectRestResponse<>().data(pageDataVO); return new ObjectRestResponse<>().data(pageDataVO);
......
...@@ -6,6 +6,7 @@ import cn.hutool.core.bean.copier.CopyOptions; ...@@ -6,6 +6,7 @@ import cn.hutool.core.bean.copier.CopyOptions;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.vo.ImiVo;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.im.dto.CommentVo; import com.xxfc.platform.im.dto.CommentVo;
import com.xxfc.platform.im.dto.PraiseVo; import com.xxfc.platform.im.dto.PraiseVo;
...@@ -44,9 +45,7 @@ public class MsgBiz { ...@@ -44,9 +45,7 @@ public class MsgBiz {
public ObjectRestResponse getMsgList(Integer page, Integer limit, Integer type) throws Exception { public ObjectRestResponse getMsgList(Integer page, Integer limit, Integer type) throws Exception {
//获取所有朋友圈 //获取所有朋友圈
AppUserDTO appUserDTO = userBiz.getUserInfo(); AppUserDTO appUserDTO = userBiz.getUserInfo();
if (appUserDTO == null) {
return ObjectRestResponse.createFailedResult(508, "token is null or invalid");
}
log.info("获取消息列表: page = {}, limit = {}, type = {}", page, limit, type); log.info("获取消息列表: page = {}, limit = {}, type = {}", page, limit, type);
page = page == null ? 1 : page; page = page == null ? 1 : page;
limit = limit == null ? 10 : limit; limit = limit == null ? 10 : limit;
...@@ -55,7 +54,12 @@ public class MsgBiz { ...@@ -55,7 +54,12 @@ public class MsgBiz {
List<Msg> msgList = null; List<Msg> msgList = null;
if (type != null) { if (type != null) {
query = new Query(Criteria.where("body.type").is(type)); query = new Query(Criteria.where("body.type").is(type));
msgList = fetchAndAttach(mongoTemplate.find(query, Msg.class, "s_msg"), appUserDTO.getImUserid()); if (appUserDTO != null) {
msgList = fetchAndAttach(mongoTemplate.find(query, Msg.class, "s_msg"), appUserDTO.getImUserid());
PageInfo<MsgVo> goodPageInfo = new PageInfo<>(replaceMsgResult(msgList));
return ObjectRestResponse.succ(goodPageInfo);
}
msgList = mongoTemplate.find(query, Msg.class, "s_msg");
PageInfo<MsgVo> goodPageInfo = new PageInfo<>(replaceMsgResult(msgList)); PageInfo<MsgVo> goodPageInfo = new PageInfo<>(replaceMsgResult(msgList));
return ObjectRestResponse.succ(goodPageInfo); return ObjectRestResponse.succ(goodPageInfo);
} else { } else {
...@@ -63,7 +67,12 @@ public class MsgBiz { ...@@ -63,7 +67,12 @@ public class MsgBiz {
ids.add(2); ids.add(2);
ids.add(4); ids.add(4);
query = new Query(Criteria.where("body.type").in(ids)); query = new Query(Criteria.where("body.type").in(ids));
msgList = fetchAndAttach(mongoTemplate.find(query, Msg.class, "s_msg"), appUserDTO.getImUserid()); if (appUserDTO != null) {
msgList = fetchAndAttach(mongoTemplate.find(query, Msg.class, "s_msg"), appUserDTO.getImUserid());
PageInfo<MsgVo> goodPageInfo = new PageInfo<>(replaceMsgResult(msgList));
return ObjectRestResponse.succ(goodPageInfo);
}
msgList = mongoTemplate.find(query, Msg.class, "s_msg");
PageInfo<MsgVo> goodPageInfo = new PageInfo<>(replaceMsgResult(msgList)); PageInfo<MsgVo> goodPageInfo = new PageInfo<>(replaceMsgResult(msgList));
return ObjectRestResponse.succ(goodPageInfo); return ObjectRestResponse.succ(goodPageInfo);
} }
...@@ -89,14 +98,14 @@ public class MsgBiz { ...@@ -89,14 +98,14 @@ public class MsgBiz {
//获取所有朋友圈 //获取所有朋友圈
AppUserDTO appUserDTO = userBiz.getUserInfo(); AppUserDTO appUserDTO = userBiz.getUserInfo();
if (appUserDTO == null) { if (appUserDTO == null) {
return ObjectRestResponse.createFailedResult(508, "token is null or invalid"); appUserDTO = new AppUserDTO();
} }
if(id == null) { if(id == null) {
return ObjectRestResponse.paramIsEmpty(); return ObjectRestResponse.paramIsEmpty();
} }
Query query = new Query(Criteria.where("id").is(new ObjectId(id))); Query query = new Query(Criteria.where("id").is(new ObjectId(id)));
List<Msg> msgList = fetchAndAttach(mongoTemplate.find(query, Msg.class, "s_msg"), appUserDTO.getImUserid()); List<Msg> msgList = fetchAndAttach(mongoTemplate.find(query, Msg.class, "s_msg"), appUserDTO.getImUserid());
List<MsgVo> msgVoList = replaceMsgResult(msgList); List<MsgVo> msgVoList = replaceMsgResult(msgList);
if(msgVoList.size() > 0) { if(msgVoList.size() > 0) {
return ObjectRestResponse.succ(msgVoList.get(0)); return ObjectRestResponse.succ(msgVoList.get(0));
} }
...@@ -111,9 +120,6 @@ public class MsgBiz { ...@@ -111,9 +120,6 @@ public class MsgBiz {
* @return * @return
*/ */
private List<Msg> fetchAndAttach(List<Msg> list, Integer userId) { private List<Msg> fetchAndAttach(List<Msg> list, Integer userId) {
if (userId == null) {
return new ArrayList<>();
}
for (Msg msg : list) { for (Msg msg : list) {
//添加评论 //添加评论
Query query = new Query(Criteria.where("msgId").is(msg.getId())); Query query = new Query(Criteria.where("msgId").is(msg.getId()));
...@@ -162,9 +168,12 @@ public class MsgBiz { ...@@ -162,9 +168,12 @@ public class MsgBiz {
MsgVo msgVo = new MsgVo(); MsgVo msgVo = new MsgVo();
BeanUtil.copyProperties(msg, msgVo, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true)); BeanUtil.copyProperties(msg, msgVo, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
//添加用户昵称和头像 //添加用户昵称和头像
msgVo.setNickname("李晓雨"); ImiVo imiVo = userBiz.getUserInfo(msg.getUserId());
msgVo.setPicUrl("https://xxfcim.upyuns.com/image/u/2/10000002/201905/o/75ca94441f084d44822bb21c6247a7a1.png"); if(imiVo != null) {
String address = AddressUtils.getMapaddress(msg.getLatitude().toString(), msg.getLongitude().toString()); msgVo.setNickname(imiVo.getNickname());
msgVo.setPicUrl(imiVo.getHeadimgurl());
}
String address = AddressUtils.getMapaddress(msg.getLatitude().toString(), msg.getLongitude().toString());
msgVo.setAddress(address); msgVo.setAddress(address);
msgVo.setMsgId(msg.getId().toString()); msgVo.setMsgId(msg.getId().toString());
msgVoList.add(msgVo); msgVoList.add(msgVo);
...@@ -178,8 +187,11 @@ public class MsgBiz { ...@@ -178,8 +187,11 @@ public class MsgBiz {
PraiseVo praiseVo = new PraiseVo(); PraiseVo praiseVo = new PraiseVo();
BeanUtil.copyProperties(praise, praiseVo, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true)); BeanUtil.copyProperties(praise, praiseVo, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
//添加用户昵称和头像 //添加用户昵称和头像
praiseVo.setNickname("李晓雨"); ImiVo imiVo = userBiz.getUserInfo(praise.getUserId());
praiseVo.setPicUrl("https://xxfcim.upyuns.com/image/u/2/10000002/201905/o/75ca94441f084d44822bb21c6247a7a1.png"); if(imiVo != null) {
praiseVo.setNickname(imiVo.getNickname());
praiseVo.setPicUrl(imiVo.getHeadimgurl());
}
praiseVoArrayList.add(praiseVo); praiseVoArrayList.add(praiseVo);
} }
return praiseVoArrayList; return praiseVoArrayList;
...@@ -191,8 +203,11 @@ public class MsgBiz { ...@@ -191,8 +203,11 @@ public class MsgBiz {
CommentVo commentVo = new CommentVo(); CommentVo commentVo = new CommentVo();
BeanUtil.copyProperties(comment, commentVo, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true)); BeanUtil.copyProperties(comment, commentVo, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
//添加用户昵称和头像 //添加用户昵称和头像
commentVo.setNickname("李晓雨"); ImiVo imiVo = userBiz.getUserInfo(comment.getUserId());
commentVo.setPicUrl("https://xxfcim.upyuns.com/image/u/2/10000002/201905/o/75ca94441f084d44822bb21c6247a7a1.png"); if(imiVo != null) {
commentVo.setNickname(imiVo.getNickname());
commentVo.setPicUrl(imiVo.getHeadimgurl());
}
commentVoList.add(commentVo); commentVoList.add(commentVo);
} }
return commentVoList; return commentVoList;
......
...@@ -3,6 +3,7 @@ package com.xxfc.platform.im.biz; ...@@ -3,6 +3,7 @@ package com.xxfc.platform.im.biz;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.vo.ImiVo;
import com.github.wxiaoqi.security.common.msg.BaseResponse; import com.github.wxiaoqi.security.common.msg.BaseResponse;
import com.xxfc.platform.im.model.User; import com.xxfc.platform.im.model.User;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -203,4 +204,9 @@ public class UserBiz { ...@@ -203,4 +204,9 @@ public class UserBiz {
return null; return null;
} }
public ImiVo getUserInfo(Integer imId) {
ImiVo imiVo = userFeign.findUserInfoByImiId(imId);
return imiVo;
}
} }
package com.xxfc.platform.order;
import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.entity.BaseOrder;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@Slf4j
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes={OrderApplication.class})
public class InvitationTest {
@Autowired
BaseOrderBiz baseOrderBiz;
@Test
public void test() {
BaseOrder baseOrder =baseOrderBiz.selectById(93);
baseOrder.setRefundTime(System.currentTimeMillis());
baseOrder.setVersion(baseOrder.getVersion() - 1);
baseOrderBiz.updateSelectiveById(baseOrder);
log.info("success");
}
}
package com.xxfc.platform.order;
import cn.hutool.extra.template.Template;
import cn.hutool.extra.template.TemplateConfig;
import cn.hutool.extra.template.TemplateEngine;
import cn.hutool.extra.template.TemplateUtil;
import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.entity.BaseOrder;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.HashMap;
@Slf4j
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes={OrderApplication.class})
public class OrderTest {
@Autowired
BaseOrderBiz baseOrderBiz;
@Test
public void test() {
BaseOrder baseOrder =baseOrderBiz.selectById(93);
baseOrder.setRefundTime(System.currentTimeMillis());
baseOrder.setVersion(baseOrder.getVersion() - 1);
baseOrderBiz.updateSelectiveById(baseOrder);
log.info("success");
}
}
package com.xxfc.platform.order;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeoutException;
@Slf4j
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes={OrderApplication.class})
public class RabbitmqTest {
static final String exchangeName = "test_exchange";
static final String queueName = "test_queue";
static final String routingKey = "test_queue";
@Test
public void test() throws IOException, TimeoutException {
//建立连接,创建通道
ConnectionFactory fc = new ConnectionFactory();
fc.setHost("10.5.52.3");
fc.setPort(5672);
fc.setUsername("guest");
fc.setPassword("guest");
fc.setVirtualHost("my_vhost");
Connection conn = fc.newConnection();
Channel channel = conn.createChannel();
channel.exchangeDelete(exchangeName); //删除路由
Map<String, Object> map = new HashMap<>();
map.put("x-delayed-type", "direct");
channel.exchangeDeclare(exchangeName, "x-delayed-message",false, false,map); //创建路由
channel.queueDelete(queueName); //删除队列
channel.queueDeclare(queueName, true, false, false, null); //创建队列
channel.queueBind(queueName, exchangeName, routingKey); //绑定路由、队列
channel.close();
conn.close();
// String msg = "测试延时de消息|"+ LocalDateTime.now();
//
// rabbitTemplate.convertAndSend(exchangeName, routingKey, msg, (message) ->{
// message.getMessageProperties().setHeader("x-delay", 9000); //延迟9秒
// return message;
// });
}
}
package com.xxfc.platform.order;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeoutException;
@Slf4j
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes={OrderApplication.class})
public class RabbitmqTest2 {
@Autowired
private RabbitTemplate rabbitTemplate;
@Test
public void test() throws IOException, TimeoutException {
List<Integer> list = new ArrayList<Integer>(){{
add(1);add(2);add(3);add(4);add(5);add(6);
}};
//这里的消息可以是任意对象,无需额外配置,直接传即可
log.info("===============延时队列生产消息====================");
log.info("发送时间:{},发送内容:{}", LocalDateTime.now(), list.toString());
rabbitTemplate.setMessageConverter(new Jackson2JsonMessageConverter());
rabbitTemplate.convertAndSend(
"test_exchange",
"test_queue",
list,
message -> {
//注意这里时间可以使long,而且是设置header
message.getMessageProperties().setHeader("x-delay",60000);
return message;
}
);
log.info("{}ms后执行", 60000);
}
}
package com.xxfc.platform.order;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Bean;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeoutException;
@Slf4j
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes={OrderApplication.class})
public class RabbitmqTest3 {
@Autowired
private RabbitTemplate rabbitTemplate;
// @Bean
// @RabbitListener(queues = "delay_queue")
// public
@Test
public void test() throws IOException, TimeoutException {
;
}
}
package com.xxfc.platform.order;
import cn.hutool.extra.template.Template;
import cn.hutool.extra.template.TemplateConfig;
import cn.hutool.extra.template.TemplateEngine;
import cn.hutool.extra.template.TemplateUtil;
import com.xxfc.platform.order.biz.BaseOrderBiz;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.HashMap;
@Slf4j
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes={OrderApplication.class})
public class RegionTest {
// @Autowired
// BaseOrderBiz baseOrderBiz;
@Test
public void test() {
//自动根据用户引入的模板引擎库的jar来自动选择使用的引擎
//TemplateConfig为模板引擎的选项,可选内容有字符编码、模板路径、模板加载方式等,默认通过模板字符串渲染
TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig());
//假设我们引入的是Beetl引擎,则:
//Template template = engine.getTemplate("{\"key\":\"费用明细\",\"val\":\"\",\"children\":[{\"key\":\"车辆租赁费\",\"val\":\"¥${vehicleAmount}\",\"children\":[{\"key\":\"${modelName}\",\"val\":\"¥${modelAmount}/天\"},{\"key\":\"租用天数\",\"val\":\"${dayNum}天\"},{\"key\":\"房车数量\",\"val\":\"${vehicleNum}辆\"}]},{\"key\":\"服务费(司机)\",\"val\":\"¥${driverAmount}\",\"children\":[{\"key\":\"欣新司机\",\"val\":\"¥${driverPrice}/天\"},{\"key\":\"司机数量\",\"val\":\"{driverNum}个\"},{\"key\":\"房车数量\",\"val\":\"${dayNum}天\"}]},{\"key\":\"用车押金\",\"val\":\"¥${deposit}\"}]}");
Template template = engine.getTemplate("${[a,b,c]}");
//Dict本质上为Map,此处可用Map
// String result = template.render(Dict.create().set("name", "Hutool").set("name2", "Hutool2"));
String result = "";
result = template.render(new HashMap<String, Object>(){{
put("a", 123);
put("b", 456);
put("c", 789);
}});
//template.render(
//Dict.parse(new RentVehiclePriceVO(new BigDecimal("126800.03"), new BigDecimal("106800.03"), new BigDecimal("105000.03"), new BigDecimal("1800"), new BigDecimal("20000"))));
// RentVehiclePriceVO.builder()
// .orderAmount(new BigDecimal("126800.03"))
// .goodsAmount(new BigDecimal("106800.03"))
// .vehicleAmount(new BigDecimal("105000.03"))
// .driverAmount(new BigDecimal("1800"))
// .deposit(new BigDecimal("20000")).build()
//输出:Hello Hutool
log.info(result);
}
}
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
</dependencies> </dependencies>
<build> <build>
<finalName>xx-tour</finalName>
<plugins> <plugins>
<!-- 此插件用来生成通用mapper的代码 --> <!-- 此插件用来生成通用mapper的代码 -->
<plugin> <plugin>
......
...@@ -97,6 +97,7 @@ ...@@ -97,6 +97,7 @@
</dependencies> </dependencies>
<build> <build>
<finalName>xx-universal</finalName>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
......
package com.xxfc.platform.order;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class MemberApplicationTests {
}
package com.xxfc.platform.order.controller;
import com.github.wxiaoqi.security.common.msg.BaseResponse;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.msg.TableResultResponse;
import com.xxfc.platform.order.MemberApplicationTests;
import com.xxfc.platform.universal.controller.MemberInfoController;
import com.xxfc.platform.universal.vo.MemberFamilyInfoVo;
import com.xxfc.platform.universal.vo.MemberInfoVo;
import org.junit.Assert;
import org.junit.Before;
import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runners.MethodSorters;
import org.springframework.beans.factory.annotation.Autowired;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import static com.xxfc.platform.universal.entity.MemberInfo.SEX_MAN;
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class MemberInfoControllerTest extends MemberApplicationTests {
private MemberInfoVo memberInfoVo;
@Autowired
private MemberInfoController controller;
@Before
public void setUp() throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
memberInfoVo = new MemberInfoVo();
memberInfoVo.setId(1);
memberInfoVo.setName("张三");
memberInfoVo.setSex(SEX_MAN);
memberInfoVo.setCardNumber("123456789");
memberInfoVo.setBirthday(sdf.parse("1988-01-01"));
memberInfoVo.setIdNumber("421000000000000000");
memberInfoVo.setCertificateAddress("皇后大道");
memberInfoVo.setEmail("xxxxx@xxx.com");
memberInfoVo.setWx("13312341234");
memberInfoVo.setMemberType((byte) 0);
memberInfoVo.setTelephone("0769-22223333");
memberInfoVo.setMobilePhone("13312341234");
memberInfoVo.setAddress("皇后大道东");
memberInfoVo.setWorkplace("皇后大道西");
memberInfoVo.setJob("test");
memberInfoVo.setInviter("nothing");
memberInfoVo.setProfession("test");
memberInfoVo.setPayType((byte) 0);
memberInfoVo.setMemberSignatureDate(new Date());
memberInfoVo.setManager("XXX");
memberInfoVo.setManagerSignatureDate(new Date());
// memberInfoVo.setCreateDate(new Date());
memberInfoVo.setCreateUserId(1);
memberInfoVo.setCreateUserName("admin");
memberInfoVo.setState((byte) 1);
List<MemberFamilyInfoVo> family = new ArrayList<>();
MemberFamilyInfoVo father = new MemberFamilyInfoVo();
father.setName("张二");
father.setRelationship("父子");
family.add(father);
MemberFamilyInfoVo mother = new MemberFamilyInfoVo();
mother.setName("李二");
mother.setRelationship("母子");
family.add(mother);
memberInfoVo.setFamily(family);
}
@Test
public void t_001_insert() {
// BaseResponse response = controller.insert(memberInfoVo);
// Assert.assertEquals(200, response.getStatus());
}
@Test
public void t_002_get() {
// ObjectRestResponse<MemberInfoVo> response = controller.get(memberInfoVo.getId());
// Assert.assertEquals(200, response.getStatus());
// Assert.assertNotNull(response.getData());
// Assert.assertEquals("张三", response.getData().getName());
}
@Test
public void t_003_update() {
// String eMail = "test@qq.com";
// MemberInfoVo member = controller.get(memberInfoVo.getId()).getData();
// List<MemberFamilyInfoVo> family = member.getFamily();
// MemberFamilyInfoVo family1 = family.get(0);
// family1.setId(null);
// family1.setName("大熊");
// family1.setRelationship("兄弟");
// MemberFamilyInfoVo family2 = family.get(1);
// family2.setName("熊二");
// family2.setRelationship("兄弟");
// member.setEmail(eMail);
// BaseResponse response = controller.update(member);
// Assert.assertEquals(200, response.getStatus());
// ObjectRestResponse<MemberInfoVo> resp = controller.get(memberInfoVo.getId());
// Assert.assertEquals(eMail, resp.getData().getEmail());
//
// List<MemberFamilyInfoVo> familyInfos = resp.getData().getFamily();
// for (MemberFamilyInfoVo info : familyInfos) {
// Assert.assertTrue(family1.getName().equals(info.getName())
// || family2.getName().equals(info.getName()));
// }
}
@Test
public void t_004_getAll() {
// TableResultResponse<MemberInfoVo> response = controller.getAll(null,1, 10);
// Assert.assertEquals(200, response.getStatus());
// Assert.assertTrue(response.getData().getRows().size() > 0);
}
@Test
public void t_005_delete() {
// BaseResponse response = controller.delete(memberInfoVo.getId());
// Assert.assertEquals(200, response.getStatus());
}
}
\ No newline at end of file
...@@ -10,6 +10,7 @@ import org.springframework.cloud.openfeign.FeignClient; ...@@ -10,6 +10,7 @@ import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* Created by ace on 2017/9/15. * Created by ace on 2017/9/15.
...@@ -81,7 +82,6 @@ public interface VehicleFeign { ...@@ -81,7 +82,6 @@ public interface VehicleFeign {
*/ */
@GetMapping("/sysRegion/getSysRegionById/{id}") @GetMapping("/sysRegion/getSysRegionById/{id}")
RestResponse getSysRegionById(@PathVariable(value = "id") Integer id); RestResponse getSysRegionById(@PathVariable(value = "id") Integer id);
RestResponse getSysRegionById(@PathVariable Integer id);
/** /**
* 多个城市code获取城市代码 * 多个城市code获取城市代码
* @param ids * @param ids
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
</dependencies> </dependencies>
<build> <build>
<finalName>xx-vehicle</finalName>
<plugins> <plugins>
<!-- 此插件用来生成通用mapper的代码 --> <!-- 此插件用来生成通用mapper的代码 -->
<plugin> <plugin>
......
package com.xxfc.platform.vehicle;
import org.junit.Test;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.List;
public class ListTest {
@Test
public void ListTest(){
List<Object> objects = Arrays.asList();
System.out.println("objects.size()"+objects.get(0));
}
}
package com.xxfc.platform.vehicle;
import com.xxfc.platform.vehicle.entity.SimpleGenId;
import com.xxfc.platform.vehicle.entity.Student;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.ArrayList;
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes={VehicleApplication.class})
public class TimeTest {
public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd");
@Test
public void test() throws Exception {
DateTime startDay =DateTime.parse("2019-06-04", DEFAULT_DATE_TIME_FORMATTER);
System.out.println("test");
}
@Test
public void testStream() throws Exception {
ArrayList<Student> students = new ArrayList<>();
students.add(new Student("张1","11"));
students.add(new Student("张2","12"));
students.add(new Student("张3","13"));
students.add(new Student("张4","14"));
students.add(new Student("张5","15"));
int i=0;
students.forEach(student -> student.setCode(1));
students.forEach(System.out::println);
}
@Test
public void testMapper(){
Student sOne = new Student("张4", "14",1);
sOne.getId();
// Assert.assertEquals();
SimpleGenId simpleGenId = new SimpleGenId();
Long aLong = simpleGenId.genId("6696", "122223");
}
}
package com.xxfc.platform.vehicle;
import org.junit.Test;
import org.springframework.core.task.TaskExecutor;
import java.util.concurrent.Callable;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class TimedTaskTest {
public static void main(String[] args) {
ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
executorService.scheduleWithFixedDelay(new MyRunnable(),0,4000,TimeUnit.MILLISECONDS);
}
// @Test
// public void fn1() {
// TaskExecutor taskExecutor = new TaskExecutor() {
// @Override
// public void execute(Runnable task) {
//
// ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
// executorService.scheduleAtFixedRate(
// () -> System.out.println("测试定时任务11111111111111" + System.currentTimeMillis()), 0, 100, TimeUnit.MILLISECONDS);
// System.out.println("========================================================================");
// executorService.schedule(new Runnable() {
// @Override
// public void run() {
// System.out.println("测试定时任务222222222222222222" + System.currentTimeMillis());
// }
// }, 10, TimeUnit.MILLISECONDS);
// }
// };
//
// }
private static class MyRunnable implements Runnable {
@Override
public void run() {
System.out.println("测试+++++++++++"+System.currentTimeMillis());
// ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
//
// executorService.scheduleWithFixedDelay(new Runnable() {
// @Override
// public void run() {
// System.out.println("测试+++++++"+System.currentTimeMillis());
// }
// },0,100,TimeUnit.MILLISECONDS);
}
}
}
package com.xxfc.platform.vehicle.entity;
public class IdService {
}
package com.xxfc.platform.vehicle.entity;
import tk.mybatis.mapper.genid.GenId;
public class SimpleGenId implements GenId<Long> {
private Long time;
private Integer seq;
@Override
public synchronized Long genId(String table, String column) {
long current = System.currentTimeMillis();
if (time == null || time != current) {
time = current;
seq = 1;
} else if (current == time) {
seq++;
}
return (time << 20) | seq;
}
}
\ No newline at end of file
package com.xxfc.platform.vehicle.entity;
import com.xxfc.platform.vehicle.entity.UUIdGenId;
import lombok.Data;
import tk.mybatis.mapper.annotation.KeySql;
import javax.persistence.Id;
import java.io.Serializable;
@Data
public class Student implements Serializable {
public static final Integer NO_AMOUNT_LIMIT = -1;
@Id
@KeySql(genId = UUIdGenId.class)
private Integer id;
private String name;
private String age;
private int code;
public Student(String name, String age, int code) {
this.name=name;
this.age=age;
this.code=code;
}
public Student(String name, String age) {
this.name=name;
this.age=age;
}
}
package com.xxfc.platform.vehicle.entity;
import tk.mybatis.mapper.genid.GenId;
import java.util.UUID;
public class UUIdGenId implements GenId {
@Override
public Object genId(String table, String column) {
return UUID.randomUUID().toString();
}
}
//package com.xxfc.platform.vehicle.entity;
//import tk.mybatis.mapper.genid.GenId;
//
//public class VestaGenId implements GenId<Long> {
// public Long genId(String table, String column){
// //ApplicationUtil.getBean 需要自己实现
// IdService idService = ApplicationUtil.getBean(IdService.class);
// return idService.genId();
// }
//}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment