记得上下班打卡 | git大法好,push需谨慎

Commit 1894f164 authored by anjiabin's avatar anjiabin
parents 8da19efb 008399c6
......@@ -45,4 +45,9 @@ public class KylinRedisConst {
public static final String ZHENGZAI_APP_VERSIONS_CHECK_ANDROID = "basicServices:zhengzaiCheckAppVersionsAndroid";
public static final String ZHENGZAI_APP_VERSIONS_CHECK_IOS = "basicServices:zhengzaiCheckAppVersionsIos";
public static final String ADMIN_UPUSH_LIST_IOS = "basicServices:upushList:IOS";
public static final String ADMIN_UPUSH_LIST_ANDROID = "basicServices:upushList:Android";
public static final String ADMIN_BANNER_LIST = "kylin:bannerList";
}
......@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
import java.util.LinkedList;
/**
* <p>
......@@ -31,6 +31,6 @@ public class KylinOrderExpressVo implements Serializable {
@ApiModelProperty(value = "快递状态")
private Integer expressStatus;
@ApiModelProperty(value = "物流数据")
List<KylinOrderExpressRouteVo> routeList;
LinkedList<KylinOrderExpressRouteVo> routeList;
}
......@@ -13,6 +13,7 @@ import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.constant.LnsEnum;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.dto.vo.admin.AdminUpushVo;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dao.UpushDetailsListDao;
import com.liquidnet.service.kylin.dto.param.admin.UpushParam;
import com.liquidnet.service.kylin.dto.param.admin.UpushSearchParam;
......@@ -27,10 +28,7 @@ import org.springframework.core.env.Environment;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.*;
/**
* <p>
......@@ -87,14 +85,60 @@ public class AdminUpushServiceImpl extends ServiceImpl<AdminUpushMapper, AdminUp
adminUpushMapper.insert(adminUpush);
// 处理缓存数据
AdminUpush adminUpushInfo = adminUpushMapper.selectOne(Wrappers.lambdaQuery(AdminUpush.class).eq(AdminUpush::getUpushId, upushId));
if (null == adminUpushInfo.getPushTime()) {
adminUpushInfo.setPushTime("");
}
AdminUpushVo adminUpushVo = new AdminUpushVo();
BeanUtils.copyProperties(adminUpushInfo, adminUpushVo);
mongoTemplate.insert(adminUpushVo, AdminUpushVo.class.getSimpleName());
BeanUtils.copyProperties(adminUpush, adminUpushVo);
adminUpushVo.setMessageType(2);
adminUpushVo.setSpecifyType(2); // 这里暂时写死就行 如果以后改需求再处理
String redisKeyIos = KylinRedisConst.ADMIN_UPUSH_LIST_IOS;
String redisKeyAndroid = KylinRedisConst.ADMIN_UPUSH_LIST_ANDROID;
LinkedList<AdminUpushVo> pushList = new LinkedList<>();
LinkedList<AdminUpushVo> pushList2 = new LinkedList<>();
if (upushParam.getPushRange() == 1) { // all
pushList = (LinkedList<AdminUpushVo>) redisUtil.get(redisKeyIos);
pushList2 = (LinkedList<AdminUpushVo>) redisUtil.get(redisKeyAndroid);
} else if (upushParam.getPushRange() == 2) { // ios
pushList = (LinkedList<AdminUpushVo>) redisUtil.get(redisKeyIos);
} else if(upushParam.getPushRange() == 3) { // android
pushList = (LinkedList<AdminUpushVo>) redisUtil.get(redisKeyAndroid);
}
if (null == pushList) {
pushList = new LinkedList<>();
}
if (null == pushList2) {
pushList2 = new LinkedList<>();
}
if (upushParam.getPushRange() == 1) {
if (!CollectionUtil.isEmpty(pushList)) {
if (pushList.size() >= 20) {
pushList.remove(0);
}
}
pushList.addFirst(adminUpushVo);
if (!CollectionUtil.isEmpty(pushList2)) {
if (pushList2.size() >= 20) {
pushList2.remove(0);
}
}
pushList2.addFirst(adminUpushVo);
} else {
if (!CollectionUtil.isEmpty(pushList)) {
if (pushList.size() >= 20) {
pushList.remove(0);
}
}
pushList.addFirst(adminUpushVo);
}
if (upushParam.getPushRange() == 1) { // all
redisUtil.set(redisKeyIos, pushList);
redisUtil.set(redisKeyAndroid, pushList2);
} else if (upushParam.getPushRange() == 2) { // ios
redisUtil.set(redisKeyIos, pushList);
} else if(upushParam.getPushRange() == 3) { // android
redisUtil.set(redisKeyAndroid, pushList);
}
// 推送
if (adminUpush.getIsPush() == 1) {
if (adminUpush.getPushRange() == 1) {
sendAndroidBroadcast(adminUpush);
......
package com.liquidnet.client.admin.zhengzai.kylin.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.enums.BannersTargetType;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dao.BannerDetailsListDao;
import com.liquidnet.service.kylin.dto.param.BannersParam;
import com.liquidnet.service.kylin.dto.param.BannersSearchParam;
......@@ -20,24 +18,18 @@ import com.liquidnet.service.kylin.entity.KylinBannersRelations;
import com.liquidnet.service.kylin.mapper.KylinBannersMapper;
import com.liquidnet.service.kylin.mapper.KylinBannersRelationsMapper;
import com.liquidnet.service.kylin.service.admin.IKylinBannersService;
import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import org.bson.Document;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
/**
* <p>
......@@ -62,9 +54,6 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
@Autowired
MongoTemplate mongoTemplate;
@Autowired
private MongoConverter mongoConverter;
@Autowired
RedisUtil redisUtil;
......@@ -106,27 +95,7 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
}
// 处理缓存数据
KylinBannersVo kylinBannersVo = new KylinBannersVo();
BeanUtils.copyProperties(bannersParam, kylinBannersVo);
kylinBannersVo.setBannersId(bannersId);
kylinBannersVo.setCreatedAt(createdAtString);
// 处理基础数据 防止缓存中无字段
kylinBannersVo.setIsDeleted(1);
kylinBannersVo.setUpdatedAt("");
if (StringUtils.isEmpty(bannersParam.getTargetObj())) {
kylinBannersVo.setTargetObj("");
}
if (StringUtils.isEmpty(bannersParam.getOnlineStartTime())) {
kylinBannersVo.setOnlineStartTime("");
}
if (StringUtils.isEmpty(bannersParam.getOnlineEndTime())) {
kylinBannersVo.setOnlineEndTime("");
}
if (null == bannersParam.getBannersSort()) {
kylinBannersVo.setBannersSort(0);
}
// 入缓存
mongoTemplate.insert(kylinBannersVo, KylinBannersVo.class.getSimpleName());
setBannerListRedis();
return true;
} catch (Exception e) {
......@@ -134,6 +103,29 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
}
}
private void setBannerListRedis() {
List<KylinBanners> bannerList = bannersMapper.selectList(
Wrappers.lambdaQuery(KylinBanners.class).eq(KylinBanners::getIsOnline, 1)
.eq(KylinBanners::getIsDeleted, 1)
.orderByDesc(KylinBanners::getBannersSort)
);
for (KylinBanners banner : bannerList) {
List<KylinBannersRelations> pList = kylinBannersRelationsMapper.selectList(
Wrappers.lambdaQuery(KylinBannersRelations.class).eq(KylinBannersRelations::getBannersId, banner.getBannersId())
.eq(KylinBannersRelations::getFieldIdType, 1)
);
List<String> pListStr = pList.stream().map(KylinBannersRelations -> KylinBannersRelations.getFieldId()).collect(Collectors.toList());
List<KylinBannersRelations> proList = kylinBannersRelationsMapper.selectList(
Wrappers.lambdaQuery(KylinBannersRelations.class).eq(KylinBannersRelations::getBannersId, banner.getBannersId())
.eq(KylinBannersRelations::getFieldIdType, 2)
);
List<String> proListStr = proList.stream().map(KylinBannersRelations -> KylinBannersRelations.getFieldName()).collect(Collectors.toList());
banner.setPositionList(pListStr);
banner.setProvincesList(proListStr);
}
redisUtil.set(KylinRedisConst.ADMIN_BANNER_LIST, bannerList);
}
public boolean update(BannersParam bannersParam) {
try {
// 时间
......@@ -143,12 +135,12 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
KylinBanners params = bannersParam.getFields(null, null);
params.setUpdatedAt(updatedAtString);
if (StringUtils.isEmpty(bannersParam.getOnlineStartTime())) {
/*if (StringUtils.isEmpty(bannersParam.getOnlineStartTime())) {
params.setOnlineStartTime(null);
}
if (StringUtils.isEmpty(bannersParam.getOnlineEndTime())) {
params.setOnlineEndTime(null);
}
}*/
// 入数据库
bannersMapper.update(params, new UpdateWrapper<KylinBanners>().eq("banners_id", bannersId));
......@@ -183,18 +175,9 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
}
}
}
// 处理缓存数据
KylinBannersVo kylinBannersVo = new KylinBannersVo();
BeanUtils.copyProperties(bannersParam, kylinBannersVo);
kylinBannersVo.setBannersId(bannersId);
kylinBannersVo.setUpdatedAt(updatedAtString);
// 修改缓存
BasicDBObject object = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinBannersVo)));
Document doc = mongoTemplate.getCollection(KylinBannersVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("bannersId").is(bannersId)).getQueryObject(),
object,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
setBannerListRedis();
return true;
} catch (Exception e) {
......@@ -256,16 +239,8 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
, new UpdateWrapper<KylinBanners>().in("banners_id", bannersId)
);
// mongo 操作
HashMap<String, Object> map = new HashMap<>();
map.put("updatedAt", updatedAtString);
map.put("isDeleted", 0);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
Document doc = mongoTemplate.getCollection(KylinBannersVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("bannersId").in(bannersId)).getQueryObject(),
object,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
// 处理缓存数据
setBannerListRedis();
return true;
} catch (Exception e) {
......
......@@ -87,9 +87,11 @@ public class AdamEntersController {
List<AdamEntersVo> vos = adamRdmService.getEntersVoByUid(CurrentUtil.getCurrentUid());
Optional<AdamEntersVo> any = vos.stream().filter(r -> (r.getIdCard().equals(parameter.getIdCard())) && r.getType().equals(parameter.getType())).findAny();
if (any.isPresent()) {
return ResponseDto.failure(ErrorMapping.get("10019"));
if (!CollectionUtils.isEmpty(vos)) {
Optional<AdamEntersVo> any = vos.stream().filter(r -> (r.getIdCard().equals(parameter.getIdCard())) && r.getType().equals(parameter.getType())).findAny();
if (any.isPresent()) {
return ResponseDto.failure(ErrorMapping.get("10019"));
}
}
String entersId = adamEntersService.add(parameter);
......
......@@ -525,7 +525,7 @@ public class AdamRdmService {
redisUtil.del(AdamRedisConst.INFO_MEMBER_CODE.concat(memberCode));
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | <AdamMemberCodeVo::buyOrderNo, MEMBER_CODE + STATE> */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | <AdamMemberCodeVo::buyOrderNo, MEMBER_CODE> */
public boolean setMemberCodeByBuyOrderNo(String buyOrderNo, String memberCode) {
return redisUtil.set(buyOrderNo, memberCode);
......@@ -549,7 +549,10 @@ public class AdamRdmService {
// );
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
// return vo;
return this.getMemberCodeVoByCode(this.getMemberCodeByBuyOrderNo(buyOrderNo));
// TODO: 2021/7/30 存在购买会员兑换码功能时,按需调整
AdamMemberCodeVo vo = AdamMemberCodeVo.getNew();
vo.setCode(this.getMemberCodeByBuyOrderNo(buyOrderNo));
return vo;
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | TAGS:List<AdamTagVo> */
......
......@@ -51,7 +51,7 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
AdamAddressesVo vo = AdamAddressesVo.getNew();
BeanUtils.copyProperties(parameter, vo);
vo.setAddressesId(String.valueOf(IDGenerator.nextSnowId()));
vo.setAddressesId(IDGenerator.nextSnowId());
vo.setUid(currentUid);
vo.setIsDefault(CollectionUtils.isEmpty(vos));
vo.setState(1);
......@@ -62,7 +62,9 @@ public class AdamAddressesServiceImpl implements IAdamAddressesService {
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
long s = System.currentTimeMillis();
adamRdmService.delAddressesVoByUid(currentUid);
// adamRdmService.delAddressesVoByUid(currentUid);
vos.add(vo);
adamRdmService.setAddressesVoByUid(currentUid, vos);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
......
......@@ -56,6 +56,8 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
if (1 == parameter.getType()) {
if (!adamRdmService.isCertification(1, parameter.getIdCard(), parameter.getName())) {
identityHandler(currentUid, parameter.getName(), parameter.getIdCard());
adamRdmService.setCertification(1, parameter.getIdCard(), parameter.getName());
}
}
......@@ -64,7 +66,7 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
AdamEntersVo vo = AdamEntersVo.getNew();
BeanUtils.copyProperties(parameter, vo);
vo.setEntersId(String.valueOf(IDGenerator.nextSnowId()));
vo.setEntersId(IDGenerator.nextSnowId());
vo.setUid(currentUid);
vo.setIsDefault(CollectionUtils.isEmpty(vos));
vo.setState(1);
......@@ -75,10 +77,9 @@ public class AdamEntersServiceImpl implements IAdamEntersService {
// log.debug("#MDB耗时:{}ms", System.currentTimeMillis() - s);
long s = System.currentTimeMillis();
adamRdmService.delEntersVoByUid(currentUid);
if (1 == parameter.getType()) {
adamRdmService.setCertification(1, parameter.getIdCard(), parameter.getName());
}
// adamRdmService.delEntersVoByUid(currentUid);
vos.add(vo);
adamRdmService.setEntersVoByUid(currentUid, vos);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
s = System.currentTimeMillis();
......
......@@ -404,6 +404,7 @@ public class AdamUserServiceImpl implements IAdamUserService {
ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("10102");
throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
}
adamRdmService.setCertification(1, idCard, name);
}
AdamRealName realName = new AdamRealName();
......@@ -425,7 +426,6 @@ public class AdamUserServiceImpl implements IAdamUserService {
long s = System.currentTimeMillis();
adamRdmService.setRealInfoVoByUid(uid, vo);
adamRdmService.setCertification(1, idCard, name);
log.debug("#RDS耗时:{}ms", System.currentTimeMillis() - s);
// }
// RedisLockUtil.unlock(AdamRedisConst.LOCK_KEY_UIDENTITY + uid);
......
......@@ -15,8 +15,8 @@ CREATE TABLE `kylin_banners`
`target_obj` varchar(255) NOT NULL DEFAULT '' COMMENT '跳转目标 id/url等',
`target_obj_name` varchar(255) NOT NULL DEFAULT '' COMMENT '跳转目标 name 选择的时候回显使用',
`is_online` tinyint NOT NULL DEFAULT 0 COMMENT '是否上线展示 0下线 1上线',
`online_start_time` timestamp NULL DEFAULT NULL COMMENT '上线开始时间',
`online_end_time` timestamp NULL DEFAULT NULL COMMENT '上线结束时间',
`online_start_time` varchar(255) NOT NULL DEFAULT '' COMMENT '上线开始时间',
`online_end_time` varchar(255) NOT NULL DEFAULT '' COMMENT '上线结束时间',
`promotion_type` tinyint NOT NULL DEFAULT 1 COMMENT '推广类型 1全国 2省份',
`banners_sort` int NOT NULL DEFAULT 0 COMMENT '排序 越大越靠前',
`is_deleted` tinyint NOT NULL DEFAULT 1 COMMENT '是否删除 0已删除 1正常',
......
......@@ -3,6 +3,7 @@ package com.liquidnet.service.kylin.controller;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.KylinBannersVo;
import com.liquidnet.service.kylin.entity.KylinBanners;
import com.liquidnet.service.kylin.service.impl.BannersServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
......@@ -36,11 +37,11 @@ public class KylinBannersController {
@ApiImplicitParam(type = "query", dataType = "String", name = "position", value = "展示位置 1首页 3周边 5积分商城 6YB 8视频", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "provinceName", value = "城市名称"),
})
public ResponseDto<List<KylinBannersVo>> blist(
public ResponseDto<List<KylinBanners>> blist(
@RequestParam() String position,
@RequestParam(defaultValue = "") String provinceName
) {
List<KylinBannersVo> result = bannersServiceImpl.blist(position, provinceName);
List<KylinBanners> result = bannersServiceImpl.blist(position, provinceName);
return ResponseDto.success(result);
}
......
package com.liquidnet.service.kylin.service.impl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.KylinBannersVo;
import com.liquidnet.service.kylin.entity.KylinBanners;
import com.liquidnet.service.kylin.service.admin.IKylinBannersService;
import com.liquidnet.service.kylin.utils.ObjectUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.mongodb.core.MongoTemplate;
......@@ -12,6 +16,7 @@ import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.Iterator;
import java.util.List;
/**
......@@ -34,51 +39,64 @@ public class BannersServiceImpl implements IKylinBannersService {
@Autowired
RedisUtil redisUtil;
public List<KylinBannersVo> blist(String position, String provinceName) {
Query query = new Query();
query.addCriteria(
Criteria.where("isOnline").is(1).and("isDeleted").is(1)
);
public List<KylinBanners> blist(String position, String provinceName) {
String nowTime = DateUtil.getNowTime();
Object ListObj = redisUtil.get(KylinRedisConst.ADMIN_BANNER_LIST);
List<KylinBanners> list = ObjectUtil.getKylinBannerListArrayList();
if (null != ListObj) {
list = (List<KylinBanners>) ListObj;
if (!CollectionUtil.isEmpty(list)) {
Iterator<KylinBanners> itBannerList = list.iterator();
while (itBannerList.hasNext()) {
KylinBanners bannerInfo = itBannerList.next();
// 时间
String StartTime = bannerInfo.getOnlineStartTime();
String endTime = bannerInfo.getOnlineEndTime();
if (!StartTime.isEmpty() && !endTime.isEmpty()) {
if (DateUtil.compareStrDay(nowTime, StartTime) < 0) { // 当前时间小雨开始时间 还未开始呢
itBannerList.remove();
}
if (DateUtil.compareStrDay(endTime, nowTime) < 0) { // 解释时间大于当前时间 已过期
itBannerList.remove();
}
}
LocalDateTime nowTime = LocalDateTime.now();
String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(nowTime);
Criteria onlineTimeBetween = Criteria.where("onlineStartTime").lte(nowTimeStr).and("onlineEndTime").gte(nowTimeStr);
Criteria onlineTimeGt = Criteria.where("onlineStartTime").lte(nowTimeStr).and("onlineEndTime").is("");
Criteria onlineTimeLt = Criteria.where("onlineStartTime").is("").and("onlineEndTime").gte(nowTimeStr);
Criteria onlineTimeEmpty = Criteria.where("onlineStartTime").is("").and("onlineEndTime").is("");
Criteria mergeCriteriaTime = new Criteria();
mergeCriteriaTime.orOperator(onlineTimeBetween, onlineTimeGt, onlineTimeLt, onlineTimeEmpty);
// list
if (bannerInfo.getPromotionType() != 1) {
List<String> pList = bannerInfo.getPositionList();
Boolean pis = false;
if (null != pList) {
for (String positionName : pList) {
if (positionName.equals(position)) {
pis = true;
}
}
}
if (!pis || null == pList) {
itBannerList.remove();
}
if (!position.isEmpty()) {
query.addCriteria(
Criteria.where("positionList").in(position)
);
}
Criteria mergeCriteriaPromotion = new Criteria();
if (!provinceName.isEmpty()) {
Criteria promotionCity = Criteria.where("provincesNameList").in(provinceName);
Criteria promotionAll = Criteria.where("promotionType").is(1);
mergeCriteriaPromotion.orOperator(promotionCity, promotionAll);
}
Criteria criteria = new Criteria();
query.addCriteria(
criteria.andOperator(mergeCriteriaTime, mergeCriteriaPromotion)
);
List<KylinBannersVo> bannerList = mongoTemplate.find(
query,
KylinBannersVo.class,
KylinBannersVo.class.getSimpleName()
);
List<String> proList = bannerInfo.getProvincesList();
Boolean prois = false;
if (null != proList) {
for (String proName : proList) {
if (proName.equals(provinceName)) {
prois = true;
}
}
}
if (!prois || null == proList) {
itBannerList.remove();
}
}
for (KylinBannersVo info : bannerList) {
String setCoverImg = imgUrl + info.getCoverImg();
info.setCoverImg(setCoverImg);
String setCoverImg = imgUrl + bannerInfo.getCoverImg();
bannerInfo.setCoverImg(setCoverImg);
}
}
}
return bannerList;
return list;
}
}
......@@ -234,18 +234,18 @@ public class KylinRefundsStatusServiceImpl {
entitiesTable.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT2);
entitiesTable.setUpdatedAt(time);
BigDecimal oldRefundPrice = BigDecimal.valueOf(0);
for (KylinOrderTicketEntitiesVo item :orderInfo.getEntitiesVoList()) {
if(item.getOrderTicketEntitiesId().equalsIgnoreCase(orderEntitiesId)){
oldRefundPrice = item.getRefundPrice();
break;
}
}
// BigDecimal oldRefundPrice = BigDecimal.valueOf(0);
// for (KylinOrderTicketEntitiesVo item :orderInfo.getEntitiesVoList()) {
// if(item.getOrderTicketEntitiesId().equalsIgnoreCase(orderEntitiesId)){
// oldRefundPrice = item.getRefundPrice();
// break;
// }
// }
KylinOrderTicketEntitiesVo kylinOrderTicketEntitiesVo = KylinOrderTicketEntitiesVo.getNew();
kylinOrderTicketEntitiesVo.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT2);
kylinOrderTicketEntitiesVo.setRefundPrice(oldRefundPrice.add(BigDecimal.valueOf(refundPrice)));
// kylinOrderTicketEntitiesVo.setRefundPrice(oldRefundPrice.add(BigDecimal.valueOf(refundPrice)));
kylinOrderTicketEntitiesVo.setUpdatedAt(strTime);
BasicDBObject entitiesObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinOrderTicketEntitiesVo)));
mongoTemplate.getCollection(KylinOrderTicketEntitiesVo.class.getSimpleName()).updateOne(
......
......@@ -9,7 +9,7 @@ import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.LinkedList;
/**
* <p>
......@@ -33,7 +33,7 @@ public class PerformancesExpressInfoServiceImpl {
private DataUtils dataUtils;
public KylinOrderExpressVo orderRouteDetail(String orderTicketsId) {
List<KylinOrderExpressRouteVo> routeList = dataUtils.getOrderExpressRoute(orderTicketsId);
LinkedList<KylinOrderExpressRouteVo> routeList = dataUtils.getOrderExpressRoute(orderTicketsId);
KylinOrderExpressVo expressInfo = dataUtils.getOrderExpressInfos(orderTicketsId);
expressInfo.setRouteList(routeList);
return expressInfo;
......
......@@ -507,19 +507,13 @@ public class DataUtils {
/**
* 演出订单快递路由
*/
public List<KylinOrderExpressRouteVo> getOrderExpressRoute(String orderTicketsId) { // 获取
public LinkedList<KylinOrderExpressRouteVo> getOrderExpressRoute(String orderTicketsId) { // 获取
String redisKey = KylinRedisConst.ORDER_ROUTE_INFO.concat(orderTicketsId);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
List<KylinOrderExpressRouteVo> routeVoList = mongoTemplate.find(
Query.query(Criteria.where("orderTicketsId").is(orderTicketsId))
.with(Sort.by(Sort.Direction.DESC, "createdAt")),
KylinOrderExpressRouteVo.class, KylinOrderExpressRouteVo.class.getSimpleName()
);
redisUtil.set(redisKey, routeVoList);
return routeVoList;
LinkedList<KylinOrderExpressRouteVo> list = (LinkedList<KylinOrderExpressRouteVo>) redisUtil.get(redisKey);
if (null == list) {
list = new LinkedList<>();
}
return (List<KylinOrderExpressRouteVo>) obj;
return list;
}
public KylinOrderExpressVo getOrderExpressInfos(String orderId) {
......
......@@ -5,6 +5,7 @@ import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.returns.*;
import com.liquidnet.service.kylin.entity.KylinBanners;
import com.mongodb.client.model.WriteModel;
import org.bson.Document;
......@@ -21,7 +22,7 @@ public class ObjectUtil {
private static final ArrayList<KylinTicketTimesVo> kylinTicketTimesVoArrayList = new ArrayList<>();
private static final ArrayList<KylinOrderRefundsVo> kylinOrderRefundsVoArrayList = new ArrayList<>();
private static final ArrayList<KylinOrderListVo> kylinOrderListVoArrayList = new ArrayList<>();
private static final ArrayList<KylinBanners> kylinBannerListArrayList = new ArrayList<>();
private static final PagedResult<KylinStationPerformanceVo> kylinStationPerformanceVoPagedResult = new PagedResult<>();
public static ArrayList<KylinStationPerformanceVo> getKylinStationPerformanceVoArrayList() {
......@@ -64,6 +65,10 @@ public class ObjectUtil {
return (ArrayList<KylinOrderListVo>) kylinOrderListVoArrayList.clone();
}
public static ArrayList<KylinBanners> getKylinBannerListArrayList() {
return (ArrayList<KylinBanners>) kylinBannerListArrayList.clone();
}
public static PagedResult<KylinStationPerformanceVo> getKylinStationPerformanceVoPagedResult() {
return kylinStationPerformanceVoPagedResult.clone();
}
......
......@@ -14,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
/**
* <p>
* 友盟推送 系统消息
......@@ -37,10 +39,11 @@ public class AdminUpushController {
@ApiImplicitParam(type = "query", dataType = "Integer", name = "size", value = "每页数量"),
})
public ResponseDto<PageInfo<AdminUpushVo>> lists(
HttpServletRequest request,
@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "10") Integer size
) {
PageInfo<AdminUpushVo> result = adminUpushServiceImpl.lists(page, size);
PageInfo<AdminUpushVo> result = adminUpushServiceImpl.lists(request, page, size);
return ResponseDto.success(result);
}
......
......@@ -5,9 +5,12 @@ import com.github.pagehelper.PageInfo;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.dto.vo.admin.AdminUpushVo;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.entity.AdminUpush;
import com.liquidnet.service.kylin.mapper.AdminUpushMapper;
import com.liquidnet.service.kylin.service.admin.IAdminUpushService;
import jdk.nashorn.internal.ir.RuntimeNode;
import org.apache.coyote.Request;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.PageRequest;
......@@ -19,6 +22,8 @@ import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.servlet.http.HttpServletRequest;
import java.util.LinkedList;
import java.util.List;
/**
......@@ -41,39 +46,29 @@ public class AdminUpushServiceImpl extends ServiceImpl<AdminUpushMapper, AdminUp
@Autowired
RedisUtil redisUtil;
public PageInfo<AdminUpushVo> lists(Integer page, Integer size) {
Query query = Query.query(
Criteria.where("specifyType").is(2).and("messageType").is(2)
.and("pushTime").lt(DateUtil.getNowTime())
);
long count = mongoTemplate.count(query, AdminUpushVo.class.getSimpleName());
public PageInfo<AdminUpushVo> lists(HttpServletRequest request, Integer page, Integer size) {
String source = request.getHeader("source");
PageInfo<AdminUpushVo> voPageInfo = null;
if (count > 0) {
Pageable pageable = PageRequest.of(page - 1, size, Sort.by(Sort.Direction.DESC, "createdAt"));
query.with(pageable);
List<AdminUpushVo> msgList = mongoTemplate.find(
query,
AdminUpushVo.class,
AdminUpushVo.class.getSimpleName()
);
if (!CollectionUtils.isEmpty(msgList)) {
for (AdminUpushVo info : msgList) {
if (!info.getImg().isEmpty()) {
String img = imgUrl + info.getImg();
info.setImg(img);
}
}
Object adminUpushVo = null;
if (null != source) {
if (source.equals("IOS")) {
adminUpushVo = redisUtil.get(KylinRedisConst.ADMIN_UPUSH_LIST_IOS);
} else if (source.equals("Android")) {
adminUpushVo = redisUtil.get(KylinRedisConst.ADMIN_UPUSH_LIST_ANDROID);
}
voPageInfo = PageInfo.of(msgList);
voPageInfo.setTotal(count);
}
if (null == adminUpushVo || page > 1) { // 不分页了 大于第一页返回空
voPageInfo = PageInfo.of(new LinkedList<>());
} else {
voPageInfo = new PageInfo<>();
LinkedList<AdminUpushVo> pushList = (LinkedList<AdminUpushVo>) adminUpushVo;
for (AdminUpushVo info : pushList) {
if (!info.getImg().isEmpty()) {
String img = imgUrl + info.getImg();
info.setImg(img);
}
}
voPageInfo = PageInfo.of(pushList);
voPageInfo.setTotal(pushList.size());
}
return voPageInfo;
}
......
......@@ -3,6 +3,7 @@ package com.liquidnet.service.platform.service.express.shunfeng;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.kylin.dto.param.*;
import com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressRouteVo;
......@@ -21,6 +22,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.LinkedList;
import java.util.List;
/**
......@@ -148,9 +150,12 @@ public class PerformancesExpressCallbackServiceImpl extends ServiceImpl<KylinOrd
KylinOrderExpressRouteVo kylinOrderExpressRouteVo = new KylinOrderExpressRouteVo();
BeanUtils.copyProperties(kylinOrderExpressRoute, kylinOrderExpressRouteVo);
kylinOrderExpressRouteVo.setOrderTicketsId(orderExpressInfo.getOrderTicketsId());
mongoTemplate.insert(kylinOrderExpressRouteVo, KylinOrderExpressRouteVo.class.getSimpleName());
dataUtils.delOrderExpressRoute(orderExpressInfo.getOrderTicketsId());
LinkedList<KylinOrderExpressRouteVo> routeList = dataUtils.getOrderExpressRoute(orderExpressInfo.getOrderTicketsId());
if (null == routeList) {
routeList = new LinkedList();
}
routeList.addFirst(kylinOrderExpressRouteVo);
dataUtils.setOrderExpressRoute(orderExpressInfo.getOrderTicketsId(), routeList);
// 记录演出数量
if (50 == Integer.valueOf(performanceExpressPushRouteParam.getOpCode()) || 80 == Integer.valueOf(performanceExpressPushRouteParam.getOpCode())) {
......
......@@ -378,4 +378,16 @@ public class DataUtils {
redisUtil.del(redisKey);
}
/**
* 演出订单快递路由
*/
public LinkedList<KylinOrderExpressRouteVo> getOrderExpressRoute(String orderTicketsId) { // 获取
String redisKey = KylinRedisConst.ORDER_ROUTE_INFO.concat(orderTicketsId);
return (LinkedList<KylinOrderExpressRouteVo>) redisUtil.get(redisKey);
}
public void setOrderExpressRoute(String orderTicketsId, LinkedList<KylinOrderExpressRouteVo> routeList) {
String redisKey = KylinRedisConst.ORDER_ROUTE_INFO.concat(orderTicketsId);
redisUtil.set(redisKey, routeList);
}
}
......@@ -167,7 +167,7 @@ CREATE TABLE `sweet_manual_shop`
`manual_id` varchar(200) NOT NULL DEFAULT '' COMMENT '电子宣传手册id',
`title` varchar(200) NOT NULL DEFAULT '' COMMENT '商家名称',
`pic_url` varchar(200) NOT NULL DEFAULT '' COMMENT '商家图片',
`describe` longtext NULL COMMENT '商家介绍',
`describes` longtext NULL COMMENT '商家介绍',
`type` tinyint NOT NULL DEFAULT 1 COMMENT '1吃喝 2玩乐',
`is_recommend` tinyint NOT NULL DEFAULT 1 COMMENT '0不推荐 1推荐',
`sort` tinyint NOT NULL DEFAULT 0 COMMENT '排序字段 数字越大越靠前',
......@@ -181,4 +181,4 @@ CREATE TABLE `sweet_manual_shop`
) ENGINE = InnoDB
DEFAULT CHARSET = utf8
COLLATE = utf8_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT '电子宣传手册商铺表';
\ No newline at end of file
ROW_FORMAT = DYNAMIC COMMENT '电子宣传手册商铺表';
......@@ -36,13 +36,24 @@ public class SweetManualShopController {
@ApiOperation("列表")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "manualId", value = "手册id", required = true),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "type", value = "类型 1吃喝 2玩乐", required = true),
})
public ResponseDto<List<SweetManualShop>> getList(@RequestParam String manualId,
@RequestParam Integer type) {
return sweetManualShopService.getList(manualId, type);
}
@GetMapping("details")
@ApiOperation("详情")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "manualShopId", value = "商铺id", required = true),
})
public ResponseDto<List<SweetManualShop>> getList(@RequestParam() String manualId) {
return sweetManualShopService.getList(manualId);
public ResponseDto<SweetManualShop> details(@RequestParam String manualShopId) {
return sweetManualShopService.details(manualShopId);
}
@PostMapping("add")
@ApiOperation("添加列表")
@ApiOperation("添加")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "manualId", value = "手册iid", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "title", value = "标题", required = true),
......@@ -63,7 +74,7 @@ public class SweetManualShopController {
}
@PostMapping("change")
@ApiOperation("通知列表")
@ApiOperation("修改")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "manualShopId", value = "商铺id", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "title", value = "标题", required = true),
......@@ -74,12 +85,12 @@ public class SweetManualShopController {
@ApiImplicitParam(type = "query", dataType = "Integer", name = "sort", value = "排序", required = true),
})
public ResponseDto<Boolean> change(@RequestParam String manualShopId,
@RequestParam String title,
@RequestParam String picUrl,
@RequestParam String describe,
@RequestParam Integer type,
@RequestParam Integer isRecommend,
@RequestParam Integer sort) {
@RequestParam String title,
@RequestParam String picUrl,
@RequestParam String describe,
@RequestParam Integer type,
@RequestParam Integer isRecommend,
@RequestParam Integer sort) {
return sweetManualShopService.change(manualShopId, title, picUrl, describe, type, isRecommend, sort);
}
......
......@@ -41,7 +41,7 @@ public class SweetRichtextController {
return sweetRichtextService.get(manualId, type);
}
@GetMapping("list")
@PostMapping("add")
@ApiOperation("添加富文本")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "Integer", name = "manualId", value = "页数", required = true),
......
......@@ -47,7 +47,7 @@ public class SweetManualShop implements Serializable,Cloneable {
/**
* 商家介绍
*/
private String describe;
private String describes;
/**
* 1吃喝 2玩乐
......
......@@ -16,7 +16,9 @@ import java.util.List;
*/
public interface ISweetManualShopService extends IService<SweetManualShop> {
ResponseDto<List<SweetManualShop>> getList(String manualId);
ResponseDto<List<SweetManualShop>> getList(String manualId,Integer type);
ResponseDto<SweetManualShop> details(String manualShopId);
ResponseDto<Boolean> add(String manualId,String title,String picUrl,String describe,Integer type,Integer isRecommend,Integer sort);
......
......@@ -31,9 +31,19 @@ public class SweetManualShopServiceImpl extends ServiceImpl<SweetManualShopMappe
private SweetManualShopMapper sweetManualShopMapper;
@Override
public ResponseDto<List<SweetManualShop>> getList(String manualId) {
public ResponseDto<List<SweetManualShop>> getList(String manualId, Integer type) {
try {
List<SweetManualShop> data = sweetManualShopMapper.selectList(Wrappers.lambdaQuery(SweetManualShop.class).eq(SweetManualShop::getManualId, manualId).eq(SweetManualShop::getStatus, 1));
List<SweetManualShop> data = sweetManualShopMapper.selectList(Wrappers.lambdaQuery(SweetManualShop.class).eq(SweetManualShop::getManualId, manualId).eq(SweetManualShop::getType, type).eq(SweetManualShop::getStatus, 1));
return ResponseDto.success(data);
} catch (Exception e) {
return ResponseDto.failure();
}
}
@Override
public ResponseDto<SweetManualShop> details(String manualShopId) {
try {
SweetManualShop data = sweetManualShopMapper.selectOne(Wrappers.lambdaQuery(SweetManualShop.class).eq(SweetManualShop::getManualShopId, manualShopId).eq(SweetManualShop::getStatus, 1));
return ResponseDto.success(data);
} catch (Exception e) {
return ResponseDto.failure();
......@@ -48,7 +58,7 @@ public class SweetManualShopServiceImpl extends ServiceImpl<SweetManualShopMappe
sweetManualShop.setManualId(manualId);
sweetManualShop.setTitle(title);
sweetManualShop.setPicUrl(picUrl);
sweetManualShop.setDescribe(describe);
sweetManualShop.setDescribes(describe);
sweetManualShop.setType(type);
sweetManualShop.setIsRecommend(isRecommend);
sweetManualShop.setSort(sort);
......@@ -56,6 +66,7 @@ public class SweetManualShopServiceImpl extends ServiceImpl<SweetManualShopMappe
sweetManualShopMapper.insert(sweetManualShop);
return ResponseDto.success();
} catch (Exception e) {
e.printStackTrace();
return ResponseDto.failure();
}
}
......@@ -66,11 +77,11 @@ public class SweetManualShopServiceImpl extends ServiceImpl<SweetManualShopMappe
SweetManualShop sweetManualShop = SweetManualShop.getNew();
sweetManualShop.setTitle(title);
sweetManualShop.setPicUrl(picUrl);
sweetManualShop.setDescribe(describe);
sweetManualShop.setDescribes(describe);
sweetManualShop.setType(type);
sweetManualShop.setIsRecommend(isRecommend);
sweetManualShop.setSort(sort);
sweetManualShopMapper.update(sweetManualShop,Wrappers.lambdaUpdate(SweetManualShop.class).eq(SweetManualShop::getManualShopId, manualShopId));
sweetManualShopMapper.update(sweetManualShop, Wrappers.lambdaUpdate(SweetManualShop.class).eq(SweetManualShop::getManualShopId, manualShopId));
return ResponseDto.success();
} catch (Exception e) {
return ResponseDto.failure();
......@@ -82,7 +93,7 @@ public class SweetManualShopServiceImpl extends ServiceImpl<SweetManualShopMappe
try {
SweetManualShop sweetManualShop = SweetManualShop.getNew();
sweetManualShop.setStatus(0);
sweetManualShopMapper.update(sweetManualShop,Wrappers.lambdaUpdate(SweetManualShop.class).eq(SweetManualShop::getManualShopId, manualShopId));
sweetManualShopMapper.update(sweetManualShop, Wrappers.lambdaUpdate(SweetManualShop.class).eq(SweetManualShop::getManualShopId, manualShopId));
return ResponseDto.success();
} catch (Exception e) {
return ResponseDto.failure();
......
......@@ -39,7 +39,9 @@
<select id="getManualDetails" parameterType="java.util.Map" resultMap="getManualListResult">
select manual_relation_id,
sa.`name`,
sa.`artists_id`,
ss.title,
ss.stage_id,
performance_start,
performance_end,
signature_start,
......
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