Commit 56ce3c69 authored by 周健威's avatar 周健威

Merge remote-tracking branch 'origin/dev' into dev

parents 53b64790 644dbc27
package com.xxfc.platform.im.model; package com.xxfc.platform.im.model;
import lombok.Data;
import java.util.List; import java.util.List;
@Data
public class AddMsgParam extends BaseExample { public class AddMsgParam extends BaseExample {
private String address;//地理位置 private String address;//地理位置
private String audios;// 语音地址 private String audios;// 语音地址
...@@ -30,204 +33,4 @@ public class AddMsgParam extends BaseExample { ...@@ -30,204 +33,4 @@ public class AddMsgParam extends BaseExample {
private int isAllowComment;// 是否允许评论 0:允许 1:禁止评论 private int isAllowComment;// 是否允许评论 0:允许 1:禁止评论
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getAddress() {
return address;
}
public String getAudios() {
return audios;
}
public int getFlag() {
return flag;
}
public String getImages() {
return images;
}
public String getMessageId() {
return messageId;
}
public String getRemark() {
return remark;
}
public int getSource() {
return source;
}
public String getText() {
return text;
}
public long getTime() {
return time;
}
public String getTitle() {
return title;
}
public int getType() {
return type;
}
public String getVideos() {
return videos;
}
public int getVisible() {
return visible;
}
public void setAddress(String address) {
this.address = address;
}
public void setAudios(String audios) {
this.audios = audios;
}
public void setFlag(int flag) {
this.flag = flag;
}
public void setImages(String images) {
this.images = images;
}
public void setMessageId(String messageId) {
this.messageId = messageId;
}
public void setRemark(String remark) {
this.remark = remark;
}
public void setSource(int source) {
this.source = source;
}
public void setText(String text) {
this.text = text;
}
public void setTime(long time) {
this.time = time;
}
public void setTitle(String title) {
this.title = title;
}
public void setType(int type) {
this.type = type;
}
public void setVideos(String videos) {
this.videos = videos;
}
public void setVisible(int visible) {
this.visible = visible;
}
public List<Integer> getUserLook() {
return userLook;
}
public void setUserLook(List<Integer> userLook) {
this.userLook = userLook;
}
public List<Integer> getUserNotLook() {
return userNotLook;
}
public void setUserNotLook(List<Integer> userNotLook) {
this.userNotLook = userNotLook;
}
public List<Integer> getUserRemindLook() {
return userRemindLook;
}
public void setUserRemindLook(List<Integer> userRemindLook) {
this.userRemindLook = userRemindLook;
}
public String getFiles() {
return files;
}
public void setFiles(String files) {
this.files = files;
}
public String getSdkUrl() {
return sdkUrl;
}
public void setSdkUrl(String sdkUrl) {
this.sdkUrl = sdkUrl;
}
public String getSdkIcon() {
return sdkIcon;
}
public void setSdkIcon(String sdkIcon) {
this.sdkIcon = sdkIcon;
}
public String getSdkTitle() {
return sdkTitle;
}
public void setSdkTitle(String sdkTitle) {
this.sdkTitle = sdkTitle;
}
public String getLable() {
return lable;
}
public void setLable(String lable) {
this.lable = lable;
}
public String getMusicId() {
return musicId;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public void setMusicId(String musicId) {
this.musicId = musicId;
}
public int getIsAllowComment() {
return isAllowComment;
}
public void setIsAllowComment(int isAllowComment) {
this.isAllowComment = isAllowComment;
}
} }
...@@ -350,7 +350,10 @@ public class MsgBiz { ...@@ -350,7 +350,10 @@ public class MsgBiz {
log.info("后台添加消息: param = {}", param); log.info("后台添加消息: param = {}", param);
Msg entity = Msg.build(param.getUserId(), param.getNickname(), param); Msg entity = Msg.build(param.getUserId(), param.getNickname(), param);
// 保存商务圈消息 // 保存商务圈消息
mongoTemplate.save(entity); Msg msg = mongoTemplate.save(entity, "s_msg");
if(msg == null) {
return null;
}
// 如果musicId不为空维护音乐使用次数 // 如果musicId不为空维护音乐使用次数
if(!StringUtils.isEmpty(param.getMusicId())){ if(!StringUtils.isEmpty(param.getMusicId())){
updateUseCount(new ObjectId(param.getMusicId())); updateUseCount(new ObjectId(param.getMusicId()));
...@@ -381,8 +384,24 @@ public class MsgBiz { ...@@ -381,8 +384,24 @@ public class MsgBiz {
UpdateResult updateResult = mongoTemplate.updateFirst(query, update, MusicInfo.class, "musicInfo"); UpdateResult updateResult = mongoTemplate.updateFirst(query, update, MusicInfo.class, "musicInfo");
log.info("修改音乐使用次数: updateResult = {}", updateResult); log.info("修改音乐使用次数: updateResult = {}", updateResult);
} }
}
//修改消息信息
public ObjectRestResponse update(Msg msg) {
if (msg == null || msg.getId() == null) {
return ObjectRestResponse.paramIsEmpty();
}
Query query = new Query(Criteria.where("_id").is(msg.getId()));
Msg oldValue = mongoTemplate.findOne(query, Msg.class, "s_msg");
if (oldValue == null) {
return ObjectRestResponse.createFailedResult(ResultCode.IM_MSG_NOT_EXIST_CODE, ResultCode.getMsg(ResultCode.IM_MSG_NOT_EXIST_CODE));
}
BeanUtil.copyProperties(msg, oldValue, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
Msg newValue = mongoTemplate.save(oldValue, "s_msg");
if(newValue == null) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "更新失败");
}
return ObjectRestResponse.succ(newValue);
} }
} }
...@@ -3,6 +3,7 @@ package com.xxfc.platform.im.rest; ...@@ -3,6 +3,7 @@ package com.xxfc.platform.im.rest;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.im.biz.MsgBiz; import com.xxfc.platform.im.biz.MsgBiz;
import com.xxfc.platform.im.model.AddMsgParam; import com.xxfc.platform.im.model.AddMsgParam;
import com.xxfc.platform.im.model.Msg;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -44,4 +45,9 @@ public class MsgController { ...@@ -44,4 +45,9 @@ public class MsgController {
public ObjectRestResponse addMsg(@RequestBody AddMsgParam param) { public ObjectRestResponse addMsg(@RequestBody AddMsgParam param) {
return ObjectRestResponse.succ(msgBiz.add(param)); return ObjectRestResponse.succ(msgBiz.add(param));
} }
@PostMapping(value = "/bg/app/unauth/update")
public ObjectRestResponse updateMsg(@RequestBody Msg msg) {
return msgBiz.update(msg);
}
} }
...@@ -335,9 +335,6 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz ...@@ -335,9 +335,6 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
pageDataVO.setPageNum(memberOrderFindDTO.getPage()); pageDataVO.setPageNum(memberOrderFindDTO.getPage());
pageDataVO.setPageSize(memberOrderFindDTO.getLimit()); pageDataVO.setPageSize(memberOrderFindDTO.getLimit());
pageDataVO.setData(Collections.EMPTY_LIST); pageDataVO.setData(Collections.EMPTY_LIST);
String name = memberOrderFindDTO.getLevel()==null?"":memberOrderFindDTO.getLevel()==1?"普通":memberOrderFindDTO.getLevel()==2?"黄金":memberOrderFindDTO.getLevel()==3?"钻石":null;
memberOrderFindDTO.setLevelName(name);
if (Objects.nonNull(memberOrderFindDTO.getEndPayTime())){ if (Objects.nonNull(memberOrderFindDTO.getEndPayTime())){
Long payEndTime = memberOrderFindDTO.getEndPayTime()+(1000*60*60*24); Long payEndTime = memberOrderFindDTO.getEndPayTime()+(1000*60*60*24);
memberOrderFindDTO.setEndPayTime(payEndTime); memberOrderFindDTO.setEndPayTime(payEndTime);
...@@ -409,40 +406,29 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz ...@@ -409,40 +406,29 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
private MemberOrderStatisticsBo getMemberOrderStatisticsBo(List<MemberOrderBo> baseOrders){ private MemberOrderStatisticsBo getMemberOrderStatisticsBo(List<MemberOrderBo> baseOrders){
MemberOrderStatisticsBo memberOrderStatisticsBo = new MemberOrderStatisticsBo(); MemberOrderStatisticsBo memberOrderStatisticsBo = new MemberOrderStatisticsBo();
baseOrders.stream().peek(x->{ Map<Integer, List<MemberOrderBo>> baseOrderMap = baseOrders.stream().collect(Collectors.groupingBy(MemberOrderBo::getMemberLevel, Collectors.toList()));
if(x.getName().contains("黄金")){ Map<Integer, List<MemberOrderBo>> baseOrderHasPayMap = baseOrders.stream().filter(x->x.getHasPay()==1).collect(Collectors.groupingBy(MemberOrderBo::getMemberLevel, Collectors.toList()));
x.setDesc("黄金");
}
if (x.getName().contains("钻石")){
x.setDesc("钻石");
}
if (x.getName().contains("普通")){
x.setDesc("普通");
}
}).count();
Map<String, List<MemberOrderBo>> baseOrderMap = baseOrders.stream().collect(Collectors.groupingBy(MemberOrderBo::getDesc, Collectors.toList()));
Map<String, List<MemberOrderBo>> baseOrderHasPayMap = baseOrders.stream().filter(x->x.getHasPay()==1).collect(Collectors.groupingBy(MemberOrderBo::getDesc, Collectors.toList()));
memberOrderStatisticsBo.setOrderNum(baseOrders.size()); memberOrderStatisticsBo.setOrderNum(baseOrders.size());
BigDecimal totalAmount = baseOrders.stream().filter(x->x.getHasPay()==1).map(MemberOrderBo::getOrderAmount).reduce(BigDecimal.ZERO, (x, y) -> x.add(y)); BigDecimal totalAmount = baseOrders.stream().filter(x->x.getHasPay()==1).map(MemberOrderBo::getOrderAmount).reduce(BigDecimal.ZERO, (x, y) -> x.add(y));
memberOrderStatisticsBo.setTotalAmount(totalAmount); memberOrderStatisticsBo.setTotalAmount(totalAmount);
List<MemberOrderBo> diamondOrders = baseOrderMap.get(levelEnum.DIAMOND.getDesc()); List<MemberOrderBo> diamondOrders = baseOrderMap.get(levelEnum.DIAMOND.getLevel());
memberOrderStatisticsBo.setDiamondOrderNum(diamondOrders==null?0:diamondOrders.size()); memberOrderStatisticsBo.setDiamondOrderNum(diamondOrders==null?0:diamondOrders.size());
List<MemberOrderBo> diamondHashPayOrders = baseOrderHasPayMap.get(levelEnum.DIAMOND.getDesc()); List<MemberOrderBo> diamondHashPayOrders = baseOrderHasPayMap.get(levelEnum.DIAMOND.getLevel());
diamondHashPayOrders = diamondHashPayOrders==null?Collections.EMPTY_LIST:diamondHashPayOrders; diamondHashPayOrders = diamondHashPayOrders==null?Collections.EMPTY_LIST:diamondHashPayOrders;
BigDecimal diamondAmount = diamondHashPayOrders.stream().map(MemberOrderBo::getOrderAmount).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal diamondAmount = diamondHashPayOrders.stream().map(MemberOrderBo::getOrderAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
memberOrderStatisticsBo.setTotalDiamondAmount(diamondAmount); memberOrderStatisticsBo.setTotalDiamondAmount(diamondAmount);
List<MemberOrderBo> goldOrders = baseOrderMap.get(levelEnum.GOLD.getDesc()); List<MemberOrderBo> goldOrders = baseOrderMap.get(levelEnum.GOLD.getLevel());
memberOrderStatisticsBo.setGoldOrderNum(goldOrders==null?0:goldOrders.size()); memberOrderStatisticsBo.setGoldOrderNum(goldOrders==null?0:goldOrders.size());
List<MemberOrderBo> goldHasPayOrders = baseOrderHasPayMap.get(levelEnum.GOLD.getDesc()); List<MemberOrderBo> goldHasPayOrders = baseOrderHasPayMap.get(levelEnum.GOLD.getLevel());
goldHasPayOrders = goldHasPayOrders==null?Collections.EMPTY_LIST:goldHasPayOrders; goldHasPayOrders = goldHasPayOrders==null?Collections.EMPTY_LIST:goldHasPayOrders;
BigDecimal goldAmount = goldHasPayOrders.stream().map(MemberOrderBo::getOrderAmount).reduce(BigDecimal.ZERO, (x, y) -> x.add(y)); BigDecimal goldAmount = goldHasPayOrders.stream().map(MemberOrderBo::getOrderAmount).reduce(BigDecimal.ZERO, (x, y) -> x.add(y));
memberOrderStatisticsBo.setTotalGoldAmount(goldAmount); memberOrderStatisticsBo.setTotalGoldAmount(goldAmount);
List<MemberOrderBo> generalOrders = baseOrderMap.get(levelEnum.GENERAL.getDesc()); List<MemberOrderBo> generalOrders = baseOrderMap.get(levelEnum.GENERAL.getLevel());
memberOrderStatisticsBo.setGeneralOrderNum(generalOrders==null?0:generalOrders.size()); memberOrderStatisticsBo.setGeneralOrderNum(generalOrders==null?0:generalOrders.size());
List<MemberOrderBo> generalHasPayOrders = baseOrderHasPayMap.get(levelEnum.GENERAL.getDesc()); List<MemberOrderBo> generalHasPayOrders = baseOrderHasPayMap.get(levelEnum.GENERAL.getLevel());
generalHasPayOrders = generalHasPayOrders==null?Collections.EMPTY_LIST:generalHasPayOrders; generalHasPayOrders = generalHasPayOrders==null?Collections.EMPTY_LIST:generalHasPayOrders;
BigDecimal generalAmount = generalHasPayOrders.stream().map(MemberOrderBo::getOrderAmount).reduce(BigDecimal.ZERO, (x, y) -> x.add(y)); BigDecimal generalAmount = generalHasPayOrders.stream().map(MemberOrderBo::getOrderAmount).reduce(BigDecimal.ZERO, (x, y) -> x.add(y));
memberOrderStatisticsBo.setTotalGeneralAmount(generalAmount); memberOrderStatisticsBo.setTotalGeneralAmount(generalAmount);
...@@ -450,16 +436,26 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz ...@@ -450,16 +436,26 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
return memberOrderStatisticsBo; return memberOrderStatisticsBo;
} }
private enum levelEnum{ private enum levelEnum{
DIAMOND("钻石"), DIAMOND(3,"钻石"),
GOLD("黄金"), GOLD(2,"黄金"),
GENERAL("普通"); GENERAL(1,"普通");
levelEnum(String desc) { levelEnum(Integer level,String desc) {
this.level = level;
this.desc = desc; this.desc = desc;
} }
private Integer level;
private String desc; private String desc;
public Integer getLevel() {
return level;
}
public void setLevel(Integer level) {
this.level = level;
}
public String getDesc() { public String getDesc() {
return desc; return desc;
} }
......
...@@ -285,6 +285,7 @@ ...@@ -285,6 +285,7 @@
</select> </select>
<select id="findMemberOrders" resultType="com.xxfc.platform.order.pojo.dto.MemberOrderBo"> <select id="findMemberOrders" resultType="com.xxfc.platform.order.pojo.dto.MemberOrderBo">
select bo.*,omd.member_level AS `memberLevel` from (
SELECT SELECT
`id`, `id`,
`no` AS `orderNo`, `no` AS `orderNo`,
...@@ -298,7 +299,6 @@ ...@@ -298,7 +299,6 @@
`coupon_amount` AS `couponAmount`, `coupon_amount` AS `couponAmount`,
`user_id` AS `userId`, `user_id` AS `userId`,
`has_pay` AS `hasPay`, `has_pay` AS `hasPay`,
`member_level` AS `memberLevel`,
`facilitate_id` AS `facilitateId`, `facilitate_id` AS `facilitateId`,
`facilitate_phone` AS `facilitatePhone` `facilitate_phone` AS `facilitatePhone`
FROM FROM
...@@ -332,15 +332,18 @@ ...@@ -332,15 +332,18 @@
<if test="endPayTime!=null and startPayTime==null"> <if test="endPayTime!=null and startPayTime==null">
and `pay_time` <![CDATA[<=#{endPayTime}]]> and `pay_time` <![CDATA[<=#{endPayTime}]]>
</if> </if>
<if test="levelName!=null and levelName!=''">
and `name` like CONCAT('%',#{levelName},'%')
</if>
<if test="userIds!=null and userIds.size()>0"> <if test="userIds!=null and userIds.size()>0">
and `user_id` IN and `user_id` IN
<foreach collection="userIds" item="userId" separator="," open="(" close=")"> <foreach collection="userIds" item="userId" separator="," open="(" close=")">
#{userId} #{userId}
</foreach> </foreach>
</if> </if>
ORDER BY `crt_time` DESC ) AS `bo`
INNER JOIN (select * from `order_member_detail` where 1=1
<if test="level!=null">
and `member_level`=#{level}
</if>
) AS `omd` ON omd.order_id=bo.id
ORDER BY bo.`creatTime` DESC
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -30,5 +30,4 @@ public class VehicleApplication { ...@@ -30,5 +30,4 @@ public class VehicleApplication {
SpringApplication.run(VehicleApplication.class, args); SpringApplication.run(VehicleApplication.class, args);
} }
} }
...@@ -22,6 +22,7 @@ import com.xxfc.platform.vehicle.common.RestResponse; ...@@ -22,6 +22,7 @@ import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.*; import com.xxfc.platform.vehicle.constant.*;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode; import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.entity.*; import com.xxfc.platform.vehicle.entity.*;
import com.xxfc.platform.vehicle.jobhandler.VehicleJobHandler;
import com.xxfc.platform.vehicle.mapper.BookRecordAccItemMapper; import com.xxfc.platform.vehicle.mapper.BookRecordAccItemMapper;
import com.xxfc.platform.vehicle.mapper.VehicleBookInfoMapper; import com.xxfc.platform.vehicle.mapper.VehicleBookInfoMapper;
import com.xxfc.platform.vehicle.mapper.VehicleMapper; import com.xxfc.platform.vehicle.mapper.VehicleMapper;
...@@ -89,6 +90,9 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -89,6 +90,9 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
@Autowired @Autowired
private VehicleBookInfoBiz vehicleBookInfoBiz; private VehicleBookInfoBiz vehicleBookInfoBiz;
@Autowired
private VehicleJobHandler vehicleJobHandler;
@Override @Override
public UserFeign getUserFeign() { public UserFeign getUserFeign() {
...@@ -237,6 +241,9 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -237,6 +241,9 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
// } // }
} }
mapper.insertSelective(vehicle); mapper.insertSelective(vehicle);
//排班表插入
vehicleJobHandler.InsertBookInfo(vehicle.getId());
} }
return RestResponse.suc(); return RestResponse.suc();
} }
......
...@@ -17,6 +17,7 @@ import org.springframework.stereotype.Component; ...@@ -17,6 +17,7 @@ import org.springframework.stereotype.Component;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
/** /**
* @author libin * @author libin
...@@ -66,4 +67,21 @@ public class VehicleJobHandler extends IJobHandler { ...@@ -66,4 +67,21 @@ public class VehicleJobHandler extends IJobHandler {
return FAIL; return FAIL;
} }
} }
public void InsertBookInfo(String vehicleId){
XxlJobLogger.log("----添加新建的车辆【{}】的bookInfo",vehicleId);
List<VehicleBookInfo> bookInfos = Stream.of(0, 1, 2).map(x -> {
LocalDate date = LocalDate.now().plusMonths(x);
int year = date.getYear();
int month = date.getMonthValue();
String yearAndMonth = String.format("%d-%02d", year, month);
VehicleBookInfo vehicleBookInfo = new VehicleBookInfo();
vehicleBookInfo.setVehicle(vehicleId);
vehicleBookInfo.setYearMonth(yearAndMonth);
return vehicleBookInfo;
}).collect(Collectors.toList());
XxlJobLogger.log("----插入车型对象:【{}】",bookInfos);
vehicleBookInfoBiz.InsertBatch(bookInfos);
}
} }
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