提交修改

This commit is contained in:
quyixiao 2025-12-27 11:19:40 +08:00
parent 53e63c876d
commit b6804a43d6
32 changed files with 221 additions and 329 deletions

View File

@ -6,7 +6,7 @@ import java.lang.annotation.*;
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface AppLogin {
public @interface AppRealyLogin {
}

View File

@ -93,6 +93,9 @@ public class ApiConstants {
public static String SET_TOKEN = "setToken";
public static String SET_BUYER_ID = "setBuyerId";
public static String SET_BUYER_NAME = "setBuyerName";
public static final String token_activity = "token_activity";

View File

@ -89,4 +89,7 @@ public interface VvCommentDao extends BaseMapper<VvCommentEntity> {
int updateVvCommentUserfulByCommidId(@Plus Integer usefulCount,@By Long id);
}

View File

@ -43,4 +43,12 @@ public class BuyerDTO {
//买家手机号
private String buyerPhone;
public Long getBuyerId() {
return buyerId;
}
public void setBuyerId(Long buyerId) {
this.buyerId = buyerId;
}
}

View File

@ -118,8 +118,16 @@ public class RedisUtils {
}
public <T> T get(String key, Class<T> clazz) {
String value = valueOperations.get(key);
return value == null ? null : fromJson(value, clazz);
try {
if(com.heyu.api.data.utils.StringUtils.isBlank(key)){
return null;
}
String value = valueOperations.get(key);
return value == null ? null : fromJson(value, clazz);
} catch (Exception e) {
logger.error("get redis error", e);
}
return null;
}
public String get(String key, long expire) {

View File

@ -1,38 +0,0 @@
package com.heyu.api.alibaba.request.mm;
import com.heyu.api.alibaba.request.mm.order.VvActivityDTO;
import java.math.BigDecimal;
public class ActivityUtils {
public static VvActivityDTO bestActivityDTO(VvActivityDTO v1, VvActivityDTO v2) {
if (v1 == null) {
return v2;
}
if (v2 == null) {
return v1;
}
BigDecimal awardAmount = v1.getAwardAmount();
BigDecimal discountAmount = v1.getDiscountAmount();
if (awardAmount == null || (v2.getAwardAmount() != null && v2.getAwardAmount().compareTo(awardAmount) >= 0)) {
awardAmount = v2.getAwardAmount();
}
if (discountAmount == null || (v2.getDiscountAmount() != null && v2.getDiscountAmount().compareTo(discountAmount) >= 0)) {
discountAmount = v2.getDiscountAmount();
}
v1.setAwardAmount(awardAmount);
v1.setDiscountAmount(discountAmount);
return v1;
}
}

View File

@ -1,10 +1,14 @@
package com.heyu.api.alibaba.request.mm;
import com.alibaba.fastjson.JSON;
import com.heyu.api.data.service.impl.AppBaseRequest;
import com.heyu.api.data.utils.AesUtil;
import lombok.Data;
import java.util.HashMap;
import java.util.Map;
@Data
public class VvAnonymousUserLoginRequest extends AppBaseRequest {
/***
@ -30,7 +34,16 @@ public class VvAnonymousUserLoginRequest extends AppBaseRequest {
System.out.println(a);
System.out.println(AesUtil.decrypt(a,password ));
Map<String,Object> map = new HashMap<>();
map.put("deviceId",a);
System.out.println(JSON.toJSONString(map));
}

View File

@ -123,7 +123,7 @@ public class LogAop {
faceAuthTentMap.put(classNameAndMethodNametencent, tencent);
log.info("LogAop one cache className:{},classNameAndMethodName:{},classNameAndMethodNametencent:{}", intercept, classMethodConfigNotIntercept, tencent);
}
if (classMethodConfigNotIntercept) {
if (classMethodConfigNotIntercept !=null && classMethodConfigNotIntercept) {
return point.proceed();
}
try {

View File

@ -27,10 +27,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 日志aop
@ -54,6 +51,20 @@ public class ZhenZhenLogAop {
@Autowired
private RabbitTemplate rabbitTemplate;
public final static String anonymous_login_url = "/app/user/anonymous/login";
public final static String user_login_url = "/app/user/login";
public final static String _288_anonymous_login_code = "288";
public final static String _289_user_login_code = "289";
public final static String AppRealyLogin = "AppRealyLogin";
public final static List<String> not_login_urls = Arrays.asList(user_login_url, anonymous_login_url,
"/app/weixin/payNotify","/app/weixin/refundNotify");
public Map<String,String> classHasAnnotation = new HashMap();
@Pointcut(value = "(" + " @within(org.springframework.web.bind.annotation.RestController) || " + " @within(org.springframework.stereotype.Controller)" + ")")
public void pointcut() {
@ -98,46 +109,47 @@ public class ZhenZhenLogAop {
methodName = ((MethodSignature) sig).getMethod().getName();
}
describe = AnnotationUtils.getAnnotationValueByMethod(method, "Describe", "value");
Class clazz = point.getTarget().getClass();
className = clazz.getName();
Object[] argArrs = point.getArgs();
if (uri.startsWith(ApiConstants.APP_URI_START)) {
String neeeRealyLogin = classHasAnnotation.get(uri); //是否需要真登录
if(StringUtils.isBlank(neeeRealyLogin)){
boolean hasClassAnnotation = AnnotationUtils.hasAnnotation(clazz, AppRealyLogin);
boolean hasMethodAnnotation = AnnotationUtils.hasAnnotation(method, AppRealyLogin);
if(hasClassAnnotation || hasMethodAnnotation){
neeeRealyLogin = "1";
}else {
neeeRealyLogin = "0";
}
classHasAnnotation.put(uri,neeeRealyLogin);
}
token = attributes.getRequest().getHeader(ApiConstants.APP_TOKEN);
BuyerDTO buyerDTO = redisUtils.get(token, BuyerDTO.class);
// 如果不是匿名用户登录
if (buyerDTO ==null && !not_login_urls.contains(uri)) {
if("1".equals(neeeRealyLogin)){
return R.error(_289_user_login_code, "请调用/app/user/login接口登录"); // 假登录
}
return R.error(_288_anonymous_login_code, "请调用/app/user/anonymous/login接口登录"); // 假登录
}
// 参数封装
if (argArrs != null && argArrs.length > 0) {
for (Object argArr : argArrs) {
argArr.getClass().getDeclaredMethods();
List<Method> methods = new ArrayList<>();
SanUtils.getClassDeclaredMethods(argArr.getClass(), methods);
for (Method m : methods) {
if (ApiConstants.GET_BUYER_ID.equalsIgnoreCase(m.getName())) {
m.setAccessible(true);
Object getBuyerId = m.invoke(argArr);
if (buyerId == null && getBuyerId != null) {
buyerId = NumberUtil.objToLongDefault(getBuyerId, -1L);
}
}
}
BuyerDTO buyerDTO = null;
if (StringUtils.isNotBlank(token)) {
Object tokenValue = redisUtils.get(token);
if (tokenValue != null) {
String tokenStr = tokenValue.toString();
buyerDTO = JSONObject.parseObject(tokenStr, BuyerDTO.class);
}
}
if (buyerDTO != null) {
for (Method m : methods) {
if (ApiConstants.SET_TOKEN.equalsIgnoreCase(m.getName())) {
m.setAccessible(true);
m.invoke(argArr, new Object[]{token});
}
if (ApiConstants.SET_BUYER_ID.equalsIgnoreCase(m.getName())) {
m.setAccessible(true);
m.invoke(argArr, new Object[]{buyerDTO.getBuyerId()});
}
if (ApiConstants.SET_BUYER_NAME.equalsIgnoreCase(m.getName())) {
m.setAccessible(true);
m.invoke(argArr, new Object[]{buyerDTO.getBuyerName()});

View File

@ -3,7 +3,7 @@ package com.heyu.api.controller.vv;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.heyu.api.alibaba.request.vv.AppBuyerAddressRequest;
import com.heyu.api.common.annotation.AppLogin;
import com.heyu.api.common.annotation.AppRealyLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.dao.vv.VvBuyerAddressDao;
import com.heyu.api.data.dao.vv.VvBuyerDao;
@ -25,7 +25,7 @@ import java.util.List;
@Slf4j
@RestController
@RequestMapping("/app/buyer/address")
@AppLogin
public class AppBuyerAddressManagerController {
@ -41,6 +41,7 @@ public class AppBuyerAddressManagerController {
*/
@Describe("买家地址列表")
@RequestMapping("/list")
@AppRealyLogin
public R list(@RequestBody AppBuyerAddressRequest appBuyerAddressRequest) {
PPageUtils pageUtils = PPageUtils.startPage(appBuyerAddressRequest.getPageNum(), appBuyerAddressRequest.getPageSize())
.doSelect(new ISelect() {
@ -60,6 +61,7 @@ public class AppBuyerAddressManagerController {
// /app/buyer/address/insertOrUpdate
@Describe("买家地址插入或修改")
@RequestMapping("/insertOrUpdate")
@AppRealyLogin
public R inserOrUpdate(@RequestBody VvBuyerAddressEntity vvBuyerAddressEntity) {
// 如果当前状态是默认地址
if (BuyerAddressEnums.default_address.getStatus().equals(vvBuyerAddressEntity.getStatus())) {

View File

@ -2,7 +2,7 @@ package com.heyu.api.controller.vv;
import com.heyu.api.alibaba.request.vv.AppBuyerRequest;
import com.heyu.api.common.annotation.AppLogin;
import com.heyu.api.common.annotation.AppRealyLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.dao.vv.VvBuyerDao;
import com.heyu.api.data.entity.vv.VvBuyerEntity;
@ -17,7 +17,6 @@ import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping("/app/buyer")
@AppLogin
public class AppBuyerController {
@ -30,10 +29,9 @@ public class AppBuyerController {
*/
@Describe("我的信息")
@RequestMapping("/info")
@AppRealyLogin
public R list(@RequestBody AppBuyerRequest request) {
VvBuyerEntity vvBuyerEntity = vvBuyerDao.selectVvBuyerById(request.getBuyerId());
return R.ok().setData(vvBuyerEntity);
}
}

View File

@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.heyu.api.alibaba.request.mm.order.resp.PropertyNameValue;
import com.heyu.api.alibaba.request.vv.*;
import com.heyu.api.common.annotation.AppRealyLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.dao.vv.*;
import com.heyu.api.data.dto.vv.VvCommentDTO;
@ -145,6 +146,7 @@ public class AppCommentController {
*/
@Describe("添加评论")
@RequestMapping("/add")
@AppRealyLogin
public R add(@RequestBody AppCommentAdd appCommentRequest) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTrackNumberGroupBySkuId(appCommentRequest.getTrackNumber());
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) {
@ -246,6 +248,7 @@ public class AppCommentController {
*/
@Describe("评论是否有用")
@RequestMapping("/useful")
@AppRealyLogin
public R useful(@RequestBody AppCommentUseful appCommentRequest) {
VvCommentUserfulEntity vvCommentUserful = vvCommentUserfulDao.selectVvCommentUserfulByCommentIdBuyerId(appCommentRequest.getCommentId(), appCommentRequest.getBuyerId());
if (appCommentRequest.getUseful() == 1) {
@ -264,7 +267,7 @@ public class AppCommentController {
VvCommentEntity vvCommentEntity = vvCommentDao.selectVvCommentById(appCommentRequest.getCommentId());
vvCommentDao.updateVvCommentUserfulByCommidId(appCommentRequest.getUseful(), appCommentRequest.getCommentId());
if(appCommentRequest.getUseful() == 1 ){
if (appCommentRequest.getUseful() == 1) {
VvCommentUserfulEntity vvCommentUserfulEntity = new VvCommentUserfulEntity();
vvCommentUserfulEntity.setBuyerId(appCommentRequest.getBuyerId());
vvCommentUserfulEntity.setCommentId(appCommentRequest.getCommentId());
@ -281,11 +284,16 @@ public class AppCommentController {
*/
@Describe("删除评论")
@RequestMapping("/delete")
@AppRealyLogin
public R list(@RequestBody AppCommentDelete appCommentRequest) {
VvCommentEntity vvCommentEntity = vvCommentDao.selectVvCommentById(appCommentRequest.getCommentId());
if (!vvCommentEntity.getBuyerId().equals(appCommentRequest.getBuyerId())) {
return R.error("评论不是你的,不能删除");
}
vvCommentDao.deleteVvCommentById(appCommentRequest.getCommentId());
return R.ok();
return R.ok("删除评论成功");
}
}

View File

@ -2,6 +2,7 @@ package com.heyu.api.controller.vv;
import com.heyu.api.alibaba.request.mm.AppPromoterTradeOrderDrawRequest;
import com.heyu.api.common.annotation.AppRealyLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.dao.vv.VvBuyerDao;
import com.heyu.api.data.dao.vv.VvPromoterTradeOrderAwardDao;
@ -49,6 +50,7 @@ public class AppDrawController {
*/
@Describe("app申请提现")
@RequestMapping("/apply")
@AppRealyLogin
public R draw(@RequestBody AppPromoterTradeOrderDrawRequest request) {
List<VvPromoterTradeOrderAwardEntity>
vvPromoterTradeOrderAwardEntityList = vvPromoterTradeOrderAwardDao.selectVvPromoterTradeOrderAwardByPromoterId(request.getPromoterTradeOrderIdList());

View File

@ -1,7 +1,6 @@
package com.heyu.api.controller.vv;
import com.heyu.api.common.annotation.AppLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.dao.vv.VvFrontPageDao;
import com.heyu.api.data.entity.vv.VvFrontPageEntity;
@ -19,7 +18,6 @@ import java.util.List;
@Slf4j
@RestController
@RequestMapping("/app/font")
@AppLogin
public class AppFontPageController {

View File

@ -67,6 +67,9 @@ public class AppIndexPageController {
@Autowired
private RedisUtils redisUtils;
@Autowired
private VvActivityDao vvActivityDao;
/***
* 列表 /app/index/page/list
*/
@ -101,20 +104,21 @@ public class AppIndexPageController {
);
}
});
// 折扣价格
VvActivityDTO vvActivityDTO = null;
String activityTokenInfo = redisUtils.get(ApiConstants.token_activity + vvProductRequest.getToken());
if(StringUtils.isNotEmpty(activityTokenInfo)){
VvActivityEntity vvActivityEntity = null;
VvActivityDTO vvActivityDTO = null;
if (StringUtils.isNotEmpty(activityTokenInfo)) {
vvActivityDTO = JSONObject.parseObject(activityTokenInfo, VvActivityDTO.class);
vvActivityEntity = vvActivityDao.selectVvActivityById(vvActivityDTO.getActivityId());
}
List<VvProductEntity> vvProductEntities = pageUtils.getRows();
for (VvProductEntity vvProductEntity : vvProductEntities) {
VvProductFrontDTO vvProductFrontDTO = new VvProductFrontDTO();
BeanUtils.copyProperties(vvProductEntity, vvProductFrontDTO);
if (vvActivityDTO !=null) {
vvProductFrontDTO.setDiscountAmount(vvActivityDTO.getDiscountAmount());
if (vvActivityEntity != null) {
vvProductFrontDTO.setDiscountAmount(vvActivityEntity.getDiscountAmount());
}
}
pageUtils.setRows(vvProductEntities);
@ -146,27 +150,32 @@ public class AppIndexPageController {
vvSkuPropertyValueEntities.add(vvSkuPropertyValueEntity);
vvSkuPropertyValueMap.put(vvSkuPropertyValueEntity.getSkuId(), vvSkuPropertyValueEntities);
}
String activityTokenInfo = redisUtils.get(ApiConstants.token_activity + vvProductDetailRequest.getToken());
// 折扣价格
VvActivityDTO vvActivityDTO = null;
String activityTokenInfo = redisUtils.get(ApiConstants.token_activity + vvProductDetailRequest.getToken());
// 折扣价格
VvActivityEntity vvActivityEntity = null;
if (StringUtils.isNotEmpty(activityTokenInfo)) {
vvActivityDTO = JSONObject.parseObject(activityTokenInfo, VvActivityDTO.class);
vvActivityEntity = vvActivityDao.selectVvActivityById(vvActivityDTO.getActivityId());
}
if(StringUtils.isNotEmpty(activityTokenInfo)){
vvActivityDTO = JSONObject.parseObject(activityTokenInfo, VvActivityDTO.class);
}
for (VvSkuEntity vvSkuEntity : vvSkuEntities) {
VvSkuDTO vvSkuDTO = new VvSkuDTO();
BeanUtils.copyProperties(vvSkuEntity, vvSkuDTO);
List<VvSkuPropertyValueEntity> vvSkuPropertyValueEntities = vvSkuPropertyValueMap.get(vvSkuEntity.getId());
vvSkuDTO.setVvSkuPropertyValueList(vvSkuPropertyValueEntities);
if(vvActivityDTO !=null){
vvSkuDTO.setDiscountAmount(vvActivityDTO.getDiscountAmount());
vvSkuDTO.setDiscountAmount(vvActivityEntity.getDiscountAmount());
}
vvSkuDTOS.add(vvSkuDTO);
}
vvProductDTO.setVvSkuList(vvSkuDTOS);
List<VvProductPropertyEntity> vvProductPropertyEntities = vvProductPropertyDao.selectVvProductPropertyByProductId(vvProductDetailRequest.getProductId());
List<VvProductPropertyValueEntity> productPropertyValueList = vvProductPropertyValueDao.selectVvProductPropertyValueByProductIdProductId(vvProduct.getId());
Map<Long, List<VvProductPropertyValueEntity>> productPropertyValueMap = new LinkedHashMap<>();

View File

@ -1,7 +1,7 @@
package com.heyu.api.controller.vv;
import com.google.gson.Gson;
import com.heyu.api.common.annotation.AppLogin;
import com.heyu.api.common.annotation.AppRealyLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.enums.RoleEnums;
import com.heyu.api.data.service.vv.VvPackageService;
@ -17,7 +17,6 @@ import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping("/app/kuaidi")
@AppLogin
public class AppKuaiDiCallBackController {
@Autowired
@ -48,6 +47,7 @@ public class AppKuaiDiCallBackController {
*/
@Describe("快递100回调接口")
@RequestMapping("/callback")
@AppRealyLogin
public SubscribeResp callback(String param, String sign) {
log.info("AppKuaiDiCallBackController callback param:{},sign", param, sign);
//建议记录一下这个回调的内容方便出问题后双方排查问题

View File

@ -4,6 +4,7 @@ package com.heyu.api.controller.vv;
import com.heyu.api.alibaba.request.vv.AppLinkRequest;
import com.heyu.api.alibaba.request.vv.AppSchemeRequest;
import com.heyu.api.alibaba.request.vv.AppShortLinkRequest;
import com.heyu.api.common.annotation.AppRealyLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.utils.R;
import com.heyu.api.data.utils.WeChatUtils;
@ -32,6 +33,7 @@ public class AppLinkController {
*/
@Describe("生成link")
@RequestMapping("/link")
@AppRealyLogin
public R link(@RequestBody AppLinkRequest request) {
String url = weChatUtils.jumpAppletShortUrl("/pages/index/index", "?type=1", 30);
@ -46,6 +48,7 @@ public class AppLinkController {
*/
@Describe("生成")
@RequestMapping("/shortLink")
@AppRealyLogin
public R shortlink(@RequestBody AppShortLinkRequest request) {
String url = weChatUtils.genShortlink("/pages/index/index", "ewiiwe", 30);
return R.ok().setData(url);
@ -60,6 +63,7 @@ public class AppLinkController {
*/
@Describe("生成")
@RequestMapping("/scheme")
@AppRealyLogin
public R scheme(@RequestBody AppSchemeRequest request) {
String url = weChatUtils.jumpAppletSchemeUrl("abc", "89ew8392", 30);
return R.ok();

View File

@ -2,7 +2,7 @@ package com.heyu.api.controller.vv;
import com.heyu.api.alibaba.request.mm.VvAppLogisticsRequest;
import com.heyu.api.common.annotation.AppLogin;
import com.heyu.api.common.annotation.AppRealyLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.dao.vv.VvTradeOrderLineDao;
import com.heyu.api.data.dto.vv.KuaiDi100DTO;
@ -22,7 +22,6 @@ import java.util.List;
@Slf4j
@RestController
@RequestMapping("/app/logistics")
@AppLogin
public class AppLogisticsController {
@Autowired
@ -34,6 +33,7 @@ public class AppLogisticsController {
// http://localhost:8888/app/logistics/query
@Describe("物流查询")
@RequestMapping("/query")
@AppRealyLogin
public R query(@RequestBody VvAppLogisticsRequest request) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntity = vvTradeOrderLineDao.selectVvTradeOrderLineByBuyerIdTrackNumber(request.getBuyerId(), request.getTrackNumber());
if (CollectionUtils.isEmpty(vvTradeOrderLineEntity)) {

View File

@ -4,14 +4,13 @@ package com.heyu.api.controller.vv;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.heyu.api.alibaba.request.mm.ActivityUtils;
import com.heyu.api.alibaba.request.mm.order.AppCloseDTO;
import com.heyu.api.alibaba.request.mm.order.AppDeliveredDTO;
import com.heyu.api.alibaba.request.mm.order.VvActivityDTO;
import com.heyu.api.alibaba.request.mm.order.resp.*;
import com.heyu.api.alibaba.request.vv.AppCountRequest;
import com.heyu.api.alibaba.request.vv.AppOrderRequest;
import com.heyu.api.common.annotation.AppLogin;
import com.heyu.api.common.annotation.AppRealyLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.constants.ApiConstants;
import com.heyu.api.data.dao.vv.*;
@ -51,7 +50,6 @@ import java.util.stream.Stream;
@Slf4j
@RestController
@RequestMapping("/app/order")
@AppLogin
public class AppOrderController {
@Autowired
@ -115,10 +113,6 @@ public class AppOrderController {
@Autowired
private RedisUtils redisUtils;
@Autowired
private VvShoppingCartDao vvShoppingCartDao;
@Autowired
private VvPromoterTradeOrderLineAwardDao vvPromoterTradeOrderLineAwardDao;
@ -132,6 +126,9 @@ public class AppOrderController {
@Autowired
private VvOutTradeNoDao vvOutTradeNoDao;
@Autowired
private VvActivityDao vvActivityDao;
/***
* https://api.1024api.com/api-interface/app/order/list
@ -143,6 +140,7 @@ public class AppOrderController {
*/
@Describe("订单列表")
@RequestMapping("/list")
@AppRealyLogin
public R list(@RequestBody AppOrderRequest vvOrderRequest) {
Integer commentStatus = null;
if(ApiConstants.WAIT_COMMENT.equals(vvOrderRequest.getStatus())){
@ -200,6 +198,7 @@ public class AppOrderController {
*/
@Describe("订单数量")
@RequestMapping("/count")
@AppRealyLogin
public R list(@RequestBody AppCountRequest appCountRequest) {
PPageUtils waitPayCount = PPageUtils.startPage(appCountRequest.getPageNum(), appCountRequest.getPageSize())
.doSelect(new ISelect() {
@ -255,6 +254,7 @@ public class AppOrderController {
*/
@Describe("订单详情")
@RequestMapping("/detail")
@AppRealyLogin
public R detail(@RequestBody AppTradeOrderDetailDTO vvOrderRequest) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntities = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(vvOrderRequest.getTradeOrderLineIdList());
List<String> trackNumbers = SanUtils.getDistinctFiledList(vvTradeOrderLineEntities, VvTradeOrderLineEntity::getTrackNumber);
@ -281,6 +281,7 @@ public class AppOrderController {
*/
@Describe("添加订单")
@RequestMapping("/add")
@AppRealyLogin
public R add(@RequestBody VvTradeOrderDTO vvOrderRequest) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = new ArrayList<>();
List<Long> skuIds = SanUtils.getFieldList(vvOrderRequest.getVvTradeOrderLineDTOList(), VvTradeOrderLineDTO::getSkuId);
@ -313,8 +314,10 @@ public class AppOrderController {
String activityInfo = redisUtils.get(ApiConstants.token_activity + vvOrderRequest.getToken());
VvActivityDTO vvActivityDTO = null;
VvActivityEntity vvActivityEntity = null;
if (StringUtils.isNotEmpty(activityInfo)) {
vvActivityDTO = JSONObject.parseObject(activityInfo, VvActivityDTO.class);
vvActivityEntity =vvActivityDao.selectVvActivityById(vvActivityDTO.getActivityId());
}
Integer batchNum = SanUtils.sum(vvOrderRequest.getVvTradeOrderLineDTOList(), VvTradeOrderLineDTO::getNum);
@ -324,14 +327,6 @@ public class AppOrderController {
List<VvSkuPropertyValueEntity> vvSkuPropertyValueEntities = vvSkuPropertyValueMap.get(vvTradeOrderLineDTO.getSkuId());
VvProductEntity vvProduct = vvProductMap.get(vvSkuEntity.getProductId());
List<PropertyNameValue> propertyNameValues = new ArrayList<>();
Long shoppingCartId = vvTradeOrderLineDTO.getShoppingCartId();
if (shoppingCartId != null) {
VvShoppingCartEntity vvShoppingCart = vvShoppingCartDao.selectVvShoppingCartById(shoppingCartId);
String shippingActivityInfo = vvShoppingCart.getActivityInfo();
VvActivityDTO vvActivityDTOShipping = JSONObject.parseObject(shippingActivityInfo, VvActivityDTO.class);
vvActivityDTO = ActivityUtils.bestActivityDTO(vvActivityDTO, vvActivityDTOShipping);
}
Map<String, VvSkuPropertyValueEntity> vvSkuPropertyValueItemMap = SanUtils.groupByFiled2Map(vvSkuPropertyValueEntities, VvSkuPropertyValueEntity::getProductPropertyName);
// 对商品属性进行排序
List<VvProductPropertyEntity> vvProductPropertyList = vvProductPropertyMap.get(vvSkuEntity.getProductId());
@ -372,11 +367,12 @@ public class AppOrderController {
vvTradeOrderLineEntity.setBatchNum(batchNum); // sku 对应的笔数
// 支付金额默认是促销价格
BigDecimal payAmount = vvSkuEntity.getPromotionPrice();
if (vvActivityDTO != null) {
vvTradeOrderLineEntity.setAwardAmount(vvActivityDTO.getAwardAmount());
vvTradeOrderLineEntity.setDiscountAmount(vvActivityDTO.getDiscountAmount());
vvTradeOrderLineEntity.setPromoterId(vvActivityDTO.getPromoterId());
payAmount = BigDecimalUtil.subtract(vvSkuEntity.getPromotionPrice(), vvActivityDTO.getDiscountAmount());
if (vvActivityEntity != null) {
vvTradeOrderLineEntity.setAwardAmount(vvActivityEntity.getAwardAmount());
vvTradeOrderLineEntity.setDiscountAmount(vvActivityEntity.getDiscountAmount());
vvTradeOrderLineEntity.setPromoterId(vvActivityDTO.getBuyerId());
payAmount = BigDecimalUtil.subtract(vvSkuEntity.getPromotionPrice(), vvActivityEntity.getDiscountAmount());
}
vvTradeOrderLineEntity.setPayAmount(payAmount);
vvTradeOrderLineEntity.setActivityInfo(activityInfo);
@ -422,7 +418,12 @@ public class AppOrderController {
&& tradeOrderLineEntity.getAwardAmount().compareTo(BigDecimal.ZERO) > 0) {
VvPromoterTradeOrderLineAwardEntity vvPromoterTradeOrderLineAwardEntity = new VvPromoterTradeOrderLineAwardEntity();
vvPromoterTradeOrderLineAwardEntity.setPromoterId(tradeOrderLineEntity.getPromoterId());
vvPromoterTradeOrderLineAwardEntity.setAwardAmount(vvActivityDTO.getAwardAmount());
vvPromoterTradeOrderLineAwardEntity.setAwardAmount(vvActivityEntity.getAwardAmount());
vvPromoterTradeOrderLineAwardEntity.setTradeOrderId(vvTradeOrderEntity.getId());
vvPromoterTradeOrderLineAwardEntity.setTradeOrderLineId(tradeOrderLineEntity.getId());
vvPromoterTradeOrderLineAwardEntity.setWasBuyerId(tradeOrderLineEntity.getBuyerId());
@ -438,8 +439,8 @@ public class AppOrderController {
}
List<VvPromoterBuyerEntity> vvPromoterBuyerList = null;
if (vvActivityDTO != null) {
vvPromoterBuyerList = vvPromoterBuyerDao.selectVvPromoterBuyerByPromoterId(vvActivityDTO.getPromoterId());
if (vvActivityEntity != null) {
vvPromoterBuyerList = vvPromoterBuyerDao.selectVvPromoterBuyerByPromoterId(vvActivityDTO.getBuyerId());
}
if (CollectionUtils.isNotEmpty(vvPromoterBuyerList)
@ -579,6 +580,7 @@ public class AppOrderController {
*/
@Describe("添加订单")
@RequestMapping("/to/pay")
@AppRealyLogin
public R toPay(@RequestBody VvTradeOrderToPayDTO vvOrderRequest) {
VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderDao.selectVvTradeOrderById(vvOrderRequest.getTradeOrderId());
@ -632,6 +634,7 @@ public class AppOrderController {
// /app/order/delete
@Describe("删除订单")
@RequestMapping("/delete")
@AppRealyLogin
public R delete(@RequestBody VvTradeOrderDeleteDTO vvOrderRequest) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = null;
if (StringUtils.isNotEmpty(vvOrderRequest.getTrackNumber())) {
@ -663,6 +666,7 @@ public class AppOrderController {
// /app/order/applyCancel
@Describe("申请取消")
@RequestMapping("/applyCancel")
@AppRealyLogin
public R applyCancel(@RequestBody VvTradeOrderCancelDTO request) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(request.getTradeOrderId());
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) {
@ -691,6 +695,7 @@ public class AppOrderController {
// /app/order/shipped
@Describe("买家签收")
@RequestMapping("/shipped")
@AppRealyLogin
public R shipped(@RequestBody VvTradeOrderShippedDTO request) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTrackNumber(request.getTrackNumber());
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
@ -719,6 +724,7 @@ public class AppOrderController {
*/
@Describe("订单确认收货")
@RequestMapping("/delivered")
@AppRealyLogin
public R delivered(@RequestBody AppDeliveredDTO vvDeliveredDTO) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTrackNumberBuyerId(
vvDeliveredDTO.getTrackNumber(),
@ -752,6 +758,7 @@ public class AppOrderController {
*/
@Describe("订单关闭")
@RequestMapping("/close")
@AppRealyLogin
public R close(@RequestBody AppCloseDTO appCloseDTO) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(appCloseDTO.getTradeOrderId());
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {

View File

@ -1,7 +1,7 @@
package com.heyu.api.controller.vv;
import com.heyu.api.common.annotation.AppLogin;
import com.heyu.api.common.annotation.AppRealyLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.annotation.NotIntercept;
import lombok.extern.slf4j.Slf4j;
@ -14,13 +14,13 @@ import javax.servlet.http.HttpServletResponse;
@Slf4j
@RestController
@NotIntercept
@AppLogin
public class AppOssAuthController {
// // https://api.1024api.com/api-interface/auth
// http://localhost:8888/auth
@Describe("图片认证接口")
@RequestMapping("/auth")
@AppRealyLogin
public int auth(HttpServletRequest request, HttpServletResponse response) {
String uri = request.getRequestURI();

View File

@ -4,7 +4,7 @@ package com.heyu.api.controller.vv;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.heyu.api.alibaba.request.vv.AppPromoterBuyerRequest;
import com.heyu.api.common.annotation.AppLogin;
import com.heyu.api.common.annotation.AppRealyLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.dao.vv.VvPromoterBuyerDao;
import com.heyu.api.data.utils.R;
@ -21,7 +21,6 @@ import java.util.List;
@Slf4j
@RestController
@RequestMapping("/app/promoter/buyer")
@AppLogin
public class AppPromoterBuyerController {
@Autowired
@ -33,6 +32,7 @@ public class AppPromoterBuyerController {
*/
@Describe("我推荐的好友")
@RequestMapping("/list")
@AppRealyLogin
public R list(@RequestBody AppPromoterBuyerRequest request) {
PPageUtils pageUtils = PPageUtils.startPage(request.getPageNum(), request.getPageSize())
.doSelect(new ISelect() {

View File

@ -1,4 +1,3 @@
package com.heyu.api.controller.vv;
@ -8,7 +7,7 @@ import com.heyu.api.alibaba.request.vv.AppCreatePromoterCodeRequest;
import com.heyu.api.alibaba.request.vv.AppCreatePromoterLinkRequest;
import com.heyu.api.alibaba.request.vv.resp.AppCreatePromoterCodeResp;
import com.heyu.api.alibaba.request.vv.resp.AppCreatePromoterLinkResp;
import com.heyu.api.common.annotation.AppLogin;
import com.heyu.api.common.annotation.AppRealyLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.dao.vv.*;
import com.heyu.api.data.entity.vv.VvPromoterCodeEntity;
@ -27,7 +26,6 @@ import java.util.Random;
@Slf4j
@RestController
@RequestMapping("/app")
@AppLogin
public class AppPromoterCodeController {
@Autowired
@ -37,7 +35,6 @@ public class AppPromoterCodeController {
private String appid;
@Autowired
private RedisUtils redisUtils;
@ -62,8 +59,9 @@ public class AppPromoterCodeController {
*/
@Describe("创建推广码")
@RequestMapping("/create/promoter/code")
@AppRealyLogin
public R promoterCode(@RequestBody AppCreatePromoterCodeRequest request) {
VvActivityDTO vvActivityDTO = getPromoterCode(request.getBuyerId());
VvActivityDTO vvActivityDTO = getPromoterCode(request.getBuyerId());
insertPromoterCode(vvActivityDTO);
AppCreatePromoterCodeResp promoterCodeResp = new AppCreatePromoterCodeResp();
@ -72,7 +70,6 @@ public class AppPromoterCodeController {
}
/***
* 列表
* http://localhost:8888/app/create/promoter/link
@ -81,17 +78,17 @@ public class AppPromoterCodeController {
*/
@Describe("创建推广链接")
@RequestMapping("/create/promoter/link")
@AppRealyLogin
public R promoterlink(@RequestBody AppCreatePromoterLinkRequest request) {
AppCreatePromoterLinkResp promoterLinkResp = new AppCreatePromoterLinkResp();
VvActivityDTO vvActivityDTO = getPromoterCode(request.getBuyerId());
String url = "weixin://dl/business/?appid="+appid+"&path=pages/index/index?promoterCode=" + vvActivityDTO.getPromoterCode();
VvActivityDTO vvActivityDTO = getPromoterCode(request.getBuyerId());
String url = "weixin://dl/business/?appid=" + appid + "&path=pages/index/index?promoterCode=" + vvActivityDTO.getPromoterCode();
promoterLinkResp.setPromoterLink(url);
insertPromoterCode(vvActivityDTO);
return R.ok().setData(promoterLinkResp);
}
public VvActivityDTO getPromoterCode(Long buyerId) {
Random random = new Random(100000000L);
VvActivityDTO vvActivityDTO = new VvActivityDTO();
@ -105,7 +102,7 @@ public class AppPromoterCodeController {
}
public void insertPromoterCode(VvActivityDTO vvActivityDTO){
public void insertPromoterCode(VvActivityDTO vvActivityDTO) {
VvPromoterCodeEntity vvPromoterCode = new VvPromoterCodeEntity();
vvPromoterCode.setPromoterCode(vvActivityDTO.getPromoterCode());
vvPromoterCode.setContent(JSON.toJSONString(vvActivityDTO));

View File

@ -41,7 +41,7 @@ public class AppPromoterCodeParseController {
* 列表
* http://localhost:8888/app/parse/promoter/code
*/
@Describe("创建推广链接")
@Describe("解析推广链接")
@RequestMapping("/parse/promoter/code")
public R parsePromoterCode(@RequestBody AppParsePromoterRequest request) {
VvPromoterCodeEntity promoterCodeEntity = vvPromoterCodeDao.selectVvPromoterCodeByCode(request.getPromoterCode());
@ -59,8 +59,8 @@ public class AppPromoterCodeParseController {
Date time = DateUtils.addMinutes(new Date(),30);
vvActivityDTO.setActivityExpiredTime(time.getTime());
log.info("AppPromoterCodeParseController parse activity token is :{},vvActivityDTO:{}",request.getToken(),JSON.toJSONString(vvActivityDTO));
redisUtils.set(ApiConstants.token_activity + request.getToken(), JSON.toJSONString(vvActivityDTO), RedisUtils.thirty_minute);
return R.ok();
}
}

View File

@ -4,7 +4,7 @@ package com.heyu.api.controller.vv;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.heyu.api.alibaba.request.mm.AppPromoterTradeOrderRequest;
import com.heyu.api.alibaba.request.mm.order.PromoterTradeOrderAwardDTO;
import com.heyu.api.common.annotation.AppLogin;
import com.heyu.api.common.annotation.AppRealyLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.dao.vv.VvPromoterTradeOrderAwardDao;
import com.heyu.api.data.entity.vv.VvPromoterTradeOrderAwardEntity;
@ -26,7 +26,6 @@ import java.util.List;
@Slf4j
@RestController
@RequestMapping("/app/promoter/award")
@AppLogin
public class AppPromoterTradeOrderAwardController {
@Autowired
@ -39,6 +38,7 @@ public class AppPromoterTradeOrderAwardController {
*/
@Describe("我的奖励列表")
@RequestMapping("/list")
@AppRealyLogin
public R list(@RequestBody AppPromoterTradeOrderRequest request) {
PPageUtils pageUtils = PPageUtils.startPage(request.getPageNum(), request.getPageSize())
.doSelect(new ISelect() {
@ -64,14 +64,8 @@ public class AppPromoterTradeOrderAwardController {
promoterTradeOrderAwardDTO.setActionDTOList(actionDTOS);
promoterTradeOrderAwardDTOList.add(promoterTradeOrderAwardDTO);
}
pageUtils.setRows(promoterTradeOrderAwardDTOList);
return R.ok().setData(pageUtils);
}
}

View File

@ -3,6 +3,7 @@ package com.heyu.api.controller.vv;
import com.alibaba.fastjson.JSON;
import com.heyu.api.alibaba.request.vv.AppQrCodeRequest;
import com.heyu.api.common.annotation.AppRealyLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.dto.AccessTokenDTO;
import com.heyu.api.data.utils.HttpUtils;
@ -45,6 +46,7 @@ public class AppQrCodeController {
*/
@Describe("生成二维码")
@RequestMapping("/create")
@AppRealyLogin
public R create(@RequestBody AppQrCodeRequest request) {
AccessTokenDTO accessTokenDTO = weChatUtils.getAccessTokenDTO(true);

View File

@ -4,7 +4,7 @@ package com.heyu.api.controller.vv;
import com.alibaba.fastjson.JSON;
import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseCloseRequest;
import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseProveRequest;
import com.heyu.api.common.annotation.AppLogin;
import com.heyu.api.common.annotation.AppRealyLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.dao.vv.*;
import com.heyu.api.data.entity.vv.*;
@ -34,7 +34,6 @@ import java.util.List;
@Slf4j
@RestController
@RequestMapping("/app/reverse")
@AppLogin
public class AppReverseController {
@Autowired
@ -73,6 +72,7 @@ public class AppReverseController {
*/
@Describe("逆向订单创建")
@RequestMapping("/add")
@AppRealyLogin
public R add(@RequestBody AppliyReverseRequest appliyReverseRequest) {
// 退款类型 1 仅退款 2 退款退货
if (NumberUtil.equals(appliyReverseRequest.getRefundType(), 1)) {
@ -97,6 +97,7 @@ public class AppReverseController {
*/
@Describe("逆向订单更新订单号")
@RequestMapping("/upload/tracknumber")
@AppRealyLogin
public R uploadTracknumber(@RequestBody AppliyReverseProveRequest appliyReverseRequest) {
VvReverseOrderEntity vvReverseOrderEntity = vvReverseOrderDao.selectVvReverseOrderById(appliyReverseRequest.getReverseOrderId());
if (AbstractReverseAction.checkFailed(vvReverseOrderEntity, false,
@ -157,6 +158,7 @@ public class AppReverseController {
*/
@Describe("逆向订单关闭")
@RequestMapping("/close")
@AppRealyLogin
public R close(@RequestBody AppliyReverseCloseRequest request) {
VvReverseOrderEntity vvReverseOrderEntity = vvReverseOrderDao.selectVvReverseOrderById(request.getReverseOrderId());
if (AbstractReverseAction.checkFailed(vvReverseOrderEntity, false,

View File

@ -32,7 +32,4 @@ public class AppScrollController {
Map<String, List<VvScrollConfigEntity>> configMap = SanUtils.groupByFiled2MapList(vvScrollConfigEntityList, VvScrollConfigEntity::getType);
return R.ok().setData(configMap);
}
}

View File

@ -8,7 +8,7 @@ import com.heyu.api.alibaba.request.mm.order.resp.PropertyNameValue;
import com.heyu.api.alibaba.request.vv.AppShippingCartDeleteRequest;
import com.heyu.api.alibaba.request.vv.AppShippingCartRequest;
import com.heyu.api.alibaba.request.vv.AppShoppingCartAddRequest;
import com.heyu.api.common.annotation.AppLogin;
import com.heyu.api.common.annotation.AppRealyLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.constants.ApiConstants;
import com.heyu.api.data.dao.vv.*;
@ -32,7 +32,7 @@ import java.util.List;
@Slf4j
@RestController
@RequestMapping("/app/shipping/cart")
@AppLogin
@AppRealyLogin
public class AppShoppingCartController {
@ -54,11 +54,16 @@ public class AppShoppingCartController {
@Autowired
private RedisUtils redisUtils;
@Autowired
private VvActivityDao vvActivityDao;
/***
* 列表 /app/shipping/cart/list
*/
@Describe("购物车列表")
@RequestMapping("/list")
@AppRealyLogin
public R list(@RequestBody AppShippingCartRequest appShippingCartRequest) {
PPageUtils pageUtils = PPageUtils.startPage(appShippingCartRequest.getPageNum(), appShippingCartRequest.getPageSize())
.doSelect(new ISelect() {
@ -91,7 +96,6 @@ public class AppShoppingCartController {
vvShoppingCartDTOS.add(vvShoppingCartDTO);
}
}
pageUtils.setRows(vvShoppingCartDTOS);
return R.ok().setData(pageUtils);
}
@ -102,6 +106,7 @@ public class AppShoppingCartController {
*/
@Describe("加购物车")
@RequestMapping("/addOrUpdate")
@AppRealyLogin
public R add(@RequestBody AppShoppingCartAddRequest vvShoppingCartAddRequest) {
VvBuyerEntity vvBuyerEntity = vvBuyerDao.selectVvBuyerById(vvShoppingCartAddRequest.getBuyerId());
String activityTokenInfo = redisUtils.get(ApiConstants.token_activity + vvShoppingCartAddRequest.getToken());
@ -123,12 +128,14 @@ public class AppShoppingCartController {
vvShoppingCartEntity.setSinglePrice(vvSkuEntity.getPromotionPrice());
vvShoppingCartEntity.setAllPrice(BigDecimalUtil.multiply(vvSkuEntity.getPromotionPrice(), new BigDecimal(vvShoppingCartAddRequest.getNum())));
if(vvActivityDTO !=null){
vvShoppingCartEntity.setActivityInfo(JSON.toJSONString(vvActivityDTO));
vvShoppingCartEntity.setAllDiscountAmount(BigDecimalUtil.multiply(vvActivityDTO.getDiscountAmount(), new BigDecimal(vvShoppingCartAddRequest.getNum())));
vvShoppingCartEntity.setSingleDiscountAmount(vvActivityDTO.getDiscountAmount());
if (vvActivityDTO != null) {
VvActivityEntity vvActivityEntity = vvActivityDao.selectVvActivityById(vvActivityDTO.getActivityId());
if (vvActivityEntity != null) {
vvShoppingCartEntity.setActivityInfo(JSON.toJSONString(vvActivityDTO));
vvShoppingCartEntity.setAllDiscountAmount(BigDecimalUtil.multiply(vvActivityEntity.getDiscountAmount(), new BigDecimal(vvShoppingCartAddRequest.getNum())));
vvShoppingCartEntity.setSingleDiscountAmount(vvActivityEntity.getDiscountAmount());
}
}
List<VvSkuPropertyValueEntity> vvSkuPropertyValueEntities = vvSkuPropertyValueDao.selectVvSkuPropertyValueBySkuId(vvShoppingCartEntity.getSkuId());
VvSkuPropertyValueEntity vvSkuPropertyValue = vvSkuPropertyValueEntities.get(0);
@ -141,7 +148,6 @@ public class AppShoppingCartController {
}
vvShoppingCartEntity.setImageUrl(imageUrl);
List<PropertyNameValue> propertyNameValues = new ArrayList<>();
for (VvSkuPropertyValueEntity vvSkuPropertyValueEntity : vvSkuPropertyValueEntities) {
PropertyNameValue propertyNameValue = new PropertyNameValue();
@ -159,6 +165,7 @@ public class AppShoppingCartController {
*/
@Describe("删除购物车中商品")
@RequestMapping("/delete")
@AppRealyLogin
public R delete(@RequestBody AppShippingCartDeleteRequest appShippingCartDeleteRequest) {
vvShoppingCartDao.deleteVvShoppingCartByIds(appShippingCartDeleteRequest.getShoppingCartIds());
return R.ok();

View File

@ -1,157 +0,0 @@
package com.heyu.api.controller.vv;
import com.alibaba.fastjson.JSON;
import com.heyu.api.alibaba.request.vv.AppOrderRequest;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.dao.vv.VvAllDataDao;
import com.heyu.api.data.dao.vv.VvChartConfigDao;
import com.heyu.api.data.dao.vv.VvCreateDataConfigDao;
import com.heyu.api.data.dto.PackageDelivedDelayDTO;
import com.heyu.api.data.dto.VvCreateDataConfigDTO;
import com.heyu.api.data.entity.vv.VvChartConfigEntity;
import com.heyu.api.data.entity.vv.VvCreateDataConfigEntity;
import com.heyu.api.utils.ChartUtil;
import com.heyu.api.data.utils.DateUtils;
import com.heyu.api.data.utils.R;
import com.heyu.api.oss.OssFileUploadService;
import com.heyu.api.schedule.CronTriggerUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.MessageDeliveryMode;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.List;
@Slf4j
@RestController
@RequestMapping("/app/test")
public class AppTestController {
@Autowired
private VvAllDataDao vvAllDataDao;
@Autowired
private ChartUtil chartUtil;
@Autowired
private OssFileUploadService ossFileUploadService;
@Autowired
private VvCreateDataConfigDao vvCreateDataConfigDao;
@Autowired
private VvChartConfigDao vvChartConfigDao;
@Value("${eb.config.rabbitQueue.createDataQueue}")
private String createDataQueue;
@Value("${eb.config.rabbitQueue.sendDingDingQueue}")
private String sendDingDingQueue;
@Autowired
private RabbitTemplate rabbitTemplate;
@Value("${eb.config.rabbitQueue.delayQueue}")
private String delayQueue;
@Value("${eb.config.rabbitQueue.delayExchangeName}")
private String delayExchangeName;
// /app/test/insert
@Describe("测试数据插入")
@RequestMapping("/insert")
public R list(@RequestBody AppOrderRequest vvOrderRequest) {
List<VvCreateDataConfigEntity> vvCreateDataConfigEntityList = vvCreateDataConfigDao.selectVvCreateDataConfigByAll();
Date now = new Date();
for (VvCreateDataConfigEntity vvCreateDataConfigEntity : vvCreateDataConfigEntityList) {
VvCreateDataConfigDTO dto = new VvCreateDataConfigDTO();
BeanUtils.copyProperties(vvCreateDataConfigEntity, dto);
dto.setRunDate(CronTriggerUtils.cronCurrentDate(now, vvCreateDataConfigEntity.getCronExp()));
rabbitTemplate.convertAndSend(createDataQueue, JSON.toJSONString(dto));
}
return R.ok();
}
// /app/test/chart
@Describe("测试图表")
@RequestMapping("/chart")
public R chart(@RequestBody AppOrderRequest vvOrderRequest) throws Exception {
List<VvChartConfigEntity> vvChartConfigEntities = vvChartConfigDao.selectVvChartConfigByAll();
for (VvChartConfigEntity vvChartConfigEntity : vvChartConfigEntities) {
rabbitTemplate.convertAndSend(sendDingDingQueue, JSON.toJSONString(vvChartConfigEntity));
}
return R.ok();
}
// /app/test/delay
@Describe("测试延迟队列")
@RequestMapping("/delay")
public R delay(@RequestBody AppOrderRequest vvOrderRequest) throws Exception {
PackageDelivedDelayDTO dto = new PackageDelivedDelayDTO();
dto.setPackageId(10L);
dto.setRole("test");
Date time = new Date();
Date timeAfter15 = DateUtils.addSeconds(time, 10);
dto.setSendTime(DateUtils.formatDate(new Date(), com.heyu.api.data.utils.DateUtils.YYYY_MM_DD_HH_MM_SS));
dto.setDelayTime(DateUtils.formatDate(timeAfter15, com.heyu.api.data.utils.DateUtils.YYYY_MM_DD_HH_MM_SS));
int second = DateUtils.betweenSecond(time, timeAfter15);
log.info("xxxxxxxxxxxxx:{} ,second:{}",JSON.toJSONString(dto),second);
// 通过广播模式发布延时消息 延时30分钟 持久化消息 消费后销毁 这里无需指定路由会广播至每个绑定此交换机的队列
rabbitTemplate.convertAndSend(delayExchangeName, "", JSON.toJSONString(dto), message -> {
message.getMessageProperties().setDeliveryMode(MessageDeliveryMode.PERSISTENT);
message.getMessageProperties().setDelay((second) * 1000); // 毫秒为单位指定此消息的延时时长 ,+ 1 尽量保证机器人跑完了再发送消息
return message;
});
return R.ok();
}
// /app/test/qrcode
@Describe("测试延迟队列")
@RequestMapping("/qrcode")
public R qrcode(@RequestBody AppOrderRequest vvOrderRequest) throws Exception {
String url = chartUtil.generateQRCodeUp2Oss("9983989832983");
log.info("url:",url);
return R.ok();
}
public static void main(String[] args) {
System.out.println(System.currentTimeMillis());
}
}

View File

@ -1,7 +1,7 @@
package com.heyu.api.controller.vv;
import com.heyu.api.common.annotation.AppLogin;
import com.heyu.api.common.annotation.AppRealyLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.utils.R;
import com.heyu.api.oss.OssFileUploadService;
@ -21,7 +21,7 @@ import java.util.Map;
@Slf4j
@RestController
@RequestMapping("/app/upload")
@AppLogin
public class AppUploadOssController {
@Autowired
@ -37,10 +37,9 @@ public class AppUploadOssController {
// todo
@Describe("app 上传图片")
@PostMapping("/file")
@AppRealyLogin
public R uploadFile(HttpServletRequest request, HttpServletResponse response, @RequestParam("files") MultipartFile[] files) {
List<Map<String, Object>> data = ossFileUploadService.uploadImages(files);
return R.ok().setData(data);
}
}

View File

@ -7,6 +7,7 @@ import com.heyu.api.alibaba.request.mm.VvAnonymousUserLoginRequest;
import com.heyu.api.alibaba.request.mm.VvAppBuyerInfoRequest;
import com.heyu.api.alibaba.request.mm.order.VvActivityDTO;
import com.heyu.api.alibaba.request.vv.AppUserLoginRequest;
import com.heyu.api.common.annotation.AppRealyLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.constants.ApiConstants;
import com.heyu.api.data.dao.vv.VvActivityDao;
@ -15,6 +16,7 @@ import com.heyu.api.data.dao.vv.VvPromoterBuyerDao;
import com.heyu.api.data.dao.vv.VvPromoterDao;
import com.heyu.api.data.dto.BuyerDTO;
import com.heyu.api.data.dto.WeiChatLoginDTO;
import com.heyu.api.data.entity.vv.VvActivityEntity;
import com.heyu.api.data.entity.vv.VvBuyerEntity;
import com.heyu.api.data.entity.vv.VvPromoterBuyerEntity;
import com.heyu.api.data.entity.vv.VvPromoterEntity;
@ -52,7 +54,6 @@ public class AppUserLoginController {
@Autowired
private VvPromoterDao vvPromoterDao;
@Autowired
private VvActivityDao vvActivityDao;
@ -80,7 +81,6 @@ public class AppUserLoginController {
return R.ok().put("buyer", buyerDTO);
}
// http://localhost:8888/app/user/anonymous/login
@RequestMapping("/anonymous/login")
@Describe("匿名用户登录")
@ -111,6 +111,7 @@ public class AppUserLoginController {
}
insertPromoter(request.getToken(),buyerDTO);
return R.ok().put("buyer", buyerDTO);
}
@ -123,17 +124,23 @@ public class AppUserLoginController {
if(wasBuyerEntity ==null ){
wasBuyerEntity = new VvBuyerEntity();
wasBuyerEntity.setId(0L);
wasBuyerEntity.setBuyerName("");
wasBuyerEntity.setBuyerPhone("");
wasBuyerEntity.setBuyerWeixin("");
wasBuyerEntity.setBuyerName("0");
wasBuyerEntity.setBuyerPhone("0");
wasBuyerEntity.setBuyerWeixin("0");
}
VvActivityEntity vvActivityEntity = vvActivityDao.selectVvActivityById(vvActivityDTO.getActivityId());
// 换token
Date endTime = new Date(vvActivityDTO.getActivityExpiredTime());
int second = DateUtils.betweenSecond(new Date(),endTime);
log.info("AppUserLoginController insertPromoter " +
"requestToken:{}," +
"loginToken:{}," +
"vvActivityDTO:{}," +
"second:{}",requestToken,buyerDTO.getToken(),JSON.toJSONString(vvActivityDTO),second);
redisUtils.set(ApiConstants.token_activity + buyerDTO.getToken(), JSON.toJSONString(vvActivityDTO),second);
List<Long> promoterBuyerIdList = new LinkedList<>();
promoterBuyerIdList.add(vvActivityDTO.getBuyerId());
@ -141,6 +148,8 @@ public class AppUserLoginController {
VvPromoterEntity vvPromoter = new VvPromoterEntity();
vvPromoter.setActivityId(vvActivityDTO.getActivityId());
vvPromoter.setPromoterCode(vvActivityDTO.getPromoterCode());
vvPromoter.setCreateTimestamp(System.currentTimeMillis());
vvPromoter.setActivityName(vvActivityEntity.getActivityName());
vvPromoter.setBuyerInfo(JSONObject.toJSONString(vvActivityDTO));
vvPromoterDao.insertVvPromoter(vvPromoter);
for (VvBuyerEntity promoterBuyerEntity : promoterBuyerList) {
@ -150,6 +159,7 @@ public class AppUserLoginController {
vvPromoterBuyerEntity.setPromoterBuyerName(promoterBuyerEntity.getBuyerName());
vvPromoterBuyerEntity.setPromoterBuyerPhone(promoterBuyerEntity.getBuyerPhone());
vvPromoterBuyerEntity.setPromoterBuyerWeixin(promoterBuyerEntity.getBuyerWeixin());
vvPromoterBuyerEntity.setCreateTimestamp(System.currentTimeMillis());
vvPromoterBuyerEntity.setWasBuyerId(wasBuyerEntity.getId());
vvPromoterBuyerEntity.setWasBuyerName(wasBuyerEntity.getBuyerName());
@ -162,7 +172,8 @@ public class AppUserLoginController {
// http://localhost:8888/app/buyer/info/update
@RequestMapping("/buyer/info/update")
@Describe("目标用户登录")
@Describe("更新用户信息")
@AppRealyLogin
public R buyerInfoUpdate(@RequestBody VvAppBuyerInfoRequest request) {
VvBuyerEntity vvBuyerEntity = vvBuyerDao.selectVvBuyerById(request.getBuyerId());
if (vvBuyerEntity == null) {
@ -171,10 +182,11 @@ public class AppUserLoginController {
vvBuyerEntity.setBuyerName(request.getBuyerName());
vvBuyerEntity.setAvatar(request.getAvatar());
vvBuyerDao.insertOrUpdateVvBuyer(vvBuyerEntity);
return R.ok().put("buyer", vvBuyerEntity);
}
public BuyerDTO buildBuyerLoginInfoCacheRedisDB(VvBuyerEntity target, Long expireTime, String deviceId,Integer loginType) {
BuyerDTO buyerDTO = new BuyerDTO();
buyerDTO.setBuyerId(target.getId());

View File

@ -3,6 +3,7 @@ package com.heyu.api.controller.vv;
import com.heyu.api.alibaba.request.vv.AppQrCodeRequest;
import com.heyu.api.common.annotation.AppRealyLogin;
import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.dto.AccessTokenDTO;
import com.heyu.api.data.utils.R;
@ -39,6 +40,7 @@ public class AppWeiXinTokenController {
*/
@Describe("获取token")
@RequestMapping("/token")
@AppRealyLogin
public R create(@RequestBody AppQrCodeRequest request) {
AccessTokenDTO accessTokenDTO = weChatUtils.getAccessTokenDTO(false);