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

Commit 7cacad12 authored by 张国柄's avatar 张国柄

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

parents bf51aae2 8d7b447b
......@@ -26,4 +26,6 @@ public interface ISweetIntegralActivityDrawService extends IService<SweetIntegra
ResponseDto<List<IntegralActivityDrawVo>> winPrizeUser(String integralActivityId);
ResponseDto perfectAddress(String drawId, String receivingAddressesId, String receivingName, String receivingPhone, String receivingAddress);
ResponseDto<IntegralActivityDrawVo> detail(String drawId);
}
......@@ -5,6 +5,7 @@ import com.liquidnet.service.kylin.dao.*;
import com.liquidnet.service.kylin.entity.KylinOrderTickets;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -44,5 +45,5 @@ public interface KylinOrderTicketsMapper extends BaseMapper<KylinOrderTickets> {
* @param uid
* @return
*/
List<Integer> getOrderScore(@Param("uid") String uid);
Integer getOrderScore(@Param("uid") String uid);
}
......@@ -399,10 +399,10 @@
<select id="getOrderScore" resultType="Integer">
select count(kot.user_id),kot.user_id,DATE_FORMAT(kot.created_at,'%Y-%m-%d') from kylin_order_tickets kot
inner join kylin_order_ticket_relations as kotr on kotr.order_id = kot.order_tickets_id
inner join kylin_order_ticket_status as kots on kots.order_id = kot.order_tickets_id
inner join kylin_order_ticket_entities as kote on kote.order_id = kot.order_tickets_id
where kots.status in (1) and kot.user_id = #{uid} group by DATE_FORMAT(kot.created_at,'%Y-%m-%d');
select sum(price_actual) from kylin_order_tickets kot
inner join kylin_order_ticket_relations as kotr on kotr.order_id = kot.order_tickets_id
inner join kylin_order_ticket_status as kots on kots.order_id = kot.order_tickets_id
inner join kylin_order_ticket_entities as kote on kote.order_id = kot.order_tickets_id
where kots.status in (1) and kot.user_id = #{uid} ;
</select>
</mapper>
......@@ -28,11 +28,11 @@ import org.springframework.web.bind.annotation.RequestParam;
public interface FeignStoneIntegralClient {
// 用户积分数据
@GetMapping("user/info")
@GetMapping(value = "user/info", headers = {"Inner-Required=1"})
ResponseDto<StoneScoreListDto> stoneUserInfo();
// 增加积分
@PostMapping("user/logs/in2111")
@PostMapping(value = "user/logs/in2111")
ResponseDto<StoneScoreListDto> in2111(
@RequestParam(value = "uid") String uid,
@RequestParam(value = "score") Integer score,
......@@ -40,7 +40,7 @@ public interface FeignStoneIntegralClient {
);
// 减少积分
@PostMapping("user/logs/de2111")
@PostMapping(value = "user/logs/de2111")
ResponseDto<StoneScoreListDto> de2111(
@RequestParam(value = "uid") String uid,
@RequestParam(value = "score") Integer score,
......
......@@ -6,6 +6,7 @@ import com.liquidnet.common.sms.constant.SmsEnum;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.dto.vo.AdamAddressesVo;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.adam.dto.vo.AdamRscPolymer01Vo;
import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.base.*;
import com.liquidnet.service.base.constant.MQConst;
......@@ -157,18 +158,45 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
String timeStart = ticketData.getTimeStart(); // 普通开售时间
String timeEnd = ticketData.getTimeEnd(); // 购票停售时间
String timeExpressEnd = ticketData.getTimeEndExpress(); // 快递停售时间
AdamUserMemberVo memberData = orderUtils.isMember(uid);
Boolean isMember;
Boolean isOldMember;
if (memberData == null) {
//获取用户相关
String enterIds;
String addressId;
if (payOrderParam.getEnterIdList() == null || payOrderParam.getEnterIdList().size() == 0) {
enterIds = "";
} else {
enterIds = StringUtils.join(payOrderParam.getEnterIdList(), ",");
}
if (payOrderParam.getAddressId() == null) {
addressId = "";
} else {
addressId = payOrderParam.getAddressId();
}
AdamRscPolymer01Vo userVo = orderUtils.adamAddressEnterMember(uid, enterIds, addressId);
List<AdamEntersVo> entersVos;
AdamAddressesVo addressesVo;
boolean isMember;
boolean isOldMember;
if (userVo == null) {
isMember = false;
isOldMember = false;
addressesVo = null;
entersVos = new ArrayList();
} else {
isMember = true;
if (memberData.isOldMember()) {
isOldMember = true;
} else {
isOldMember = false;
entersVos = userVo.getEntersVos();
addressesVo = userVo.getAddressesVo();
switch (userVo.getMembership()) {
case 10:
isMember = true;
isOldMember = true;
break;
case 11:
isMember = true;
isOldMember = false;
break;
default:
isMember = false;
isOldMember = false;
break;
}
}
......@@ -244,17 +272,17 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
orderUtils.backAdvanceCoupon(payOrderParam.getAdvanceCode(), uid);
return ResponseDto.failure(ErrorMapping.get("20013"));//快递票不卖
}
if (payOrderParam.getIsExpress() == 1 && payOrderParam.getAddressId().isEmpty()) {
if (payOrderParam.getIsExpress() == 1 && addressId.isEmpty()) {
orderUtils.backAdvanceCoupon(payOrderParam.getAdvanceCode(), uid);
return ResponseDto.failure(ErrorMapping.get("20014"));//快递票未填写收货地址
}
}
//实名判断
if (isTrueName == 1 && payOrderParam.getEnterIdList().size() <= 0) {
if (isTrueName == 1 && enterIds.isEmpty()) {
orderUtils.backAdvanceCoupon(payOrderParam.getAdvanceCode(), uid);
return ResponseDto.failure(ErrorMapping.get("20015"));//需要实名 未实名
}
if (isTrueName == 1 && payOrderParam.getEnterIdList().size() != payOrderParam.getNumber()) {
if (isTrueName == 1 && enterIds.split(",").length != payOrderParam.getNumber()) {
orderUtils.backAdvanceCoupon(payOrderParam.getAdvanceCode(), uid);
return ResponseDto.failure(ErrorMapping.get("20015"));//入场人数量错误
}
......@@ -271,8 +299,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
//学生票 判断
entersVoList = ObjectUtil.cloneArrayListObject();
if (isTrueName == 1) {
for (String enterId : payOrderParam.getEnterIdList()) {
AdamEntersVo adamEnters = orderUtils.getEnters(uid, enterId);//feignAdamBaseClient.queryEnters(enterId, uid).getData();
for (AdamEntersVo adamEnters : entersVos) {
if (adamEnters == null) {
return ResponseDto.failure("入场人数据错误");
}
......@@ -307,7 +334,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
}
}
ResponseDto<PayInnerResultVo> resultData = order(payOrderParam, uid, isMember, isTrueName, performanceData, ticketData, entersVoList, isStudent, content, useTime, advanceMap);
ResponseDto<PayInnerResultVo> resultData = order(payOrderParam, uid, isMember, isTrueName, performanceData, ticketData, entersVoList, isStudent, content, useTime, advanceMap, addressesVo);
isDownGeneral = false;
return resultData;
}
......@@ -334,7 +361,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
}
}
private ResponseDto<PayInnerResultVo> order(PayOrderParam payOrderParam, String uid, boolean isMember, int isTrueName, KylinPerformanceVo performanceData, KylinTicketVo ticketData, List<AdamEntersVo> entersVoList, Integer isStudent, String content, String useTime, HashMap<String, Object> advanceMap) throws Exception {
private ResponseDto<PayInnerResultVo> order(PayOrderParam payOrderParam, String uid, boolean isMember, int isTrueName, KylinPerformanceVo performanceData, KylinTicketVo ticketData, List<AdamEntersVo> entersVoList, Integer isStudent, String content, String useTime, HashMap<String, Object> advanceMap, AdamAddressesVo addressesVo) throws Exception {
LinkedList<String> sqls = ObjectUtil.cloneLinkedListStr();
String headerCliSource = CurrentUtil.getHeaderCliSource(), headerCliVersion = CurrentUtil.getHeaderCliVersion();
String source = headerCliSource == null ? "" : headerCliSource;
......@@ -425,7 +452,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
orderTickets.setPaymentType(null);
orderTickets.setTimePay(null);
if (payOrderParam.getIsExpress() == 1) {
AdamAddressesVo addressesVo = orderUtils.getAddress(uid, payOrderParam.getAddressId());//feignAdamBaseClient.queryAddresses(payOrderParam.getAddressId(), uid).getData();
orderTickets.setExpressContacts(addressesVo.getName());
orderTickets.setExpressAddress(addressesVo.getProvince() + addressesVo.getCity() + addressesVo.getCounty() + addressesVo.getAddress());
orderTickets.setExpressPhone(addressesVo.getPhone());
......
......@@ -9,10 +9,7 @@ import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.AdamAddressesVo;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoSimpleVo;
import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.candy.param.BackCouponParam;
import com.liquidnet.service.candy.vo.CandyUseResultVo;
......@@ -163,6 +160,29 @@ public class OrderUtils {
}
}
public AdamRscPolymer01Vo adamAddressEnterMember(String uid,String enterIds,String addressId) {
try {
MultiValueMap<String, String> header = CollectionUtil.linkedMultiValueMapStringString();
header.add("Accept", "application/json;charset=UTF-8");
MultiValueMap<String, String> params = CollectionUtil.linkedMultiValueMapStringString();
params.add("addressId", addressId);
params.add("entersIds", enterIds);
params.add("uid", uid);
String resultData = HttpUtil.post(adamUrl + "/adam/rsc/inquire/of_buy_ticket", params, header);
ResponseDto<AdamRscPolymer01Vo> vo = JsonUtils.fromJson(resultData, new TypeReference<ResponseDto<AdamRscPolymer01Vo>>() {
});
if (null != vo.getData()) {
return vo.getData();
} else {
return null;
}
} catch (Exception e) {
log.error("获取用户信息,e:{}", e);
e.printStackTrace();
return null;
}
}
public AdamUserMemberVo isMember(String uid) {
MultiValueMap<String, String> header = CollectionUtil.linkedMultiValueMapStringString();
header.add("Accept", "application/json;charset=UTF-8");
......
package com.liquidnet.service.platform.service.impl.kylin;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
......@@ -7,6 +8,7 @@ import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.google.gson.JsonObject;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.constant.AdamRedisConst;
......@@ -84,11 +86,10 @@ public class DataImpl {
.select(AdamUser::getUid).last("limit " + ((page - 1) * size) + "," + ((page) * size)));
for (AdamUser item : adamUserList) {
//获取用户相关信息
String uid=item.getUid();
String uid = item.getUid();
String mobile = item.getMobile();
AdamUserInfoVo userInfoVo = (AdamUserInfoVo) redisUtil.get(AdamRedisConst.INFO_USER.concat(uid));
if (userInfoVo == null) {
System.out.println("REDIS KEY = " + AdamRedisConst.INFO_USER.concat(uid));
continue;
}
int score = 0;
......@@ -108,12 +109,14 @@ public class DataImpl {
userCreate(userTaskVo);
}
//获取演出每日任务积分
int performanceCount = orderTicketsMapper.getOrderScore(uid).size();
score += performanceCount * 5;
Integer performancePrice = orderTicketsMapper.getOrderScore(uid);
score += performancePrice.intValue() * 5;
//获取商品每日任务积分
String resultData = HttpUtil.get("http://devmall.zhengzai.tv/admin/sumUserCost?user_id=" + 1, null);
int goodsPrice = (int) JSONObject.parseObject(resultData).get("cost");
score += goodsPrice * 5;
//获取 关注摩登天空服务号
if(getUnionIdByPhone(mobile)!=null){
if (getUnionIdByPhone(mobile) != null) {
MultiValueMap<String, String> params = CollectionUtil.linkedMultiValueMapStringString();
params.add("uid", uid);
params.add("taskId", 4 + "");
......@@ -162,9 +165,6 @@ public class DataImpl {
try {
//获取用户相关信息
AdamUserInfoVo userInfoVo = (AdamUserInfoVo) redisUtil.get(AdamRedisConst.INFO_USER.concat(uid));
if (userInfoVo == null) {
System.out.println("REDIS KEY = " + AdamRedisConst.INFO_USER.concat(uid));
}
int score = 0;
String mobile = userInfoVo.getMobile();
//创建 用户积分数据
......@@ -184,11 +184,15 @@ public class DataImpl {
userCreate(userTaskVo);
}
//获取演出每日任务积分
int performanceCount = orderTicketsMapper.getOrderScore(uid).size();
score += performanceCount * 5;
Integer performancePrice = orderTicketsMapper.getOrderScore(uid);
score += performancePrice.intValue() * 5;
//获取商品每日任务积分
String resultData = HttpUtil.get("http://devmall.zhengzai.tv/admin/sumUserCost?user_id=" + 1, null);
int goodsPrice = (int) JSONObject.parseObject(resultData).get("cost");
score += goodsPrice * 5;
//获取 关注摩登天空服务号
if(getUnionIdByPhone(mobile)!=null){
if (getUnionIdByPhone(mobile) != null) {
MultiValueMap<String, String> params = CollectionUtil.linkedMultiValueMapStringString();
params.add("uid", uid);
params.add("taskId", 4 + "");
......@@ -245,10 +249,10 @@ public class DataImpl {
public String getUnionIdByPhone(String phone) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_WECHAT_USER_UNIONID_PHONE.concat(phone);
Object obj = redisUtil.get(redisKey);
if(obj==null){
if (obj == null) {
return null;
}else{
return (String)obj;
} else {
return (String) obj;
}
}
}
......@@ -81,6 +81,20 @@ public class StoneScoreLogsServiceImpl implements IStoneScoreLogsService {
uid = CurrentUtil.getCurrentUid();
}
StoneUserVo vo = stoneRedisUtils.getUserData(uid);
if (vo == null) {
vo = StoneUserVo.getNew();
vo.getTask();
vo.setUid(uid);
vo.setStatus(1);
//redis
stoneRedisUtils.setUserData(uid, vo);
//mongo
stoneMongoUtils.userCreate(vo);
//mysql 创建用户积分表数据
queueUtils.sendMsgByRedis(MQConst.StoneQueue.STONE_INSERT_USER.getKey(),
SqlMapping.get("stone_score_user.insert", IDGenerator.nextTimeId2(), vo.getUid(), vo.getStatus(), LocalDateTime.now())
);
}
List<StoneTaskVo> taskList = vo.getTask();
boolean isIn = false; //标示是否操作
//增加积分
......
package com.liquidnet.service.sweet.config;
import feign.RequestInterceptor;
import feign.RequestTemplate;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: 解决feign调用传递header问题
* @class: SecuringRequestInterceptor
*/
@Component
public class SecuringRequestInterceptor implements RequestInterceptor {
@Override
public void apply(RequestTemplate requestTemplate) {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder
.getRequestAttributes();
HttpServletRequest request = attributes.getRequest();
Enumeration<String> headerNames = request.getHeaderNames();
if (headerNames != null) {
while (headerNames.hasMoreElements()) {
String name = headerNames.nextElement();
String values = request.getHeader(name);
requestTemplate.header(name, values);
}
}
}
}
\ No newline at end of file
......@@ -67,6 +67,17 @@ public class SweetIntegralActivityDrawController {
return activityDrawService.winPrizeUser(integralActivityId);
}
@GetMapping("detail/{drawId}")
@ApiOperation("抽奖详情")
@ApiImplicitParams({
@ApiImplicitParam(type = "path", dataType = "String", name = "drawId", value = "drawId", required = true)
})
public ResponseDto<IntegralActivityDrawVo> detail(
@PathVariable("drawId") String drawId
) {
return activityDrawService.detail(drawId);
}
@PostMapping("perfectAddress")
@ApiOperation("中奖完善收货地址")
@ApiImplicitParams({
......
......@@ -243,6 +243,12 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
return ResponseDto.success();
}
@Override
public ResponseDto<IntegralActivityDrawVo> detail(String drawId) {
IntegralActivityDrawVo drawVo = redisDataUtils.getIntegralActivityDrawInfo(drawId);
return ResponseDto.success(drawVo);
}
/**
* 抽奖方法
*/
......
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