提交 ee54e456 authored 作者: zgy's avatar zgy

修改订单查询的bug

上级 8a1faa3c
......@@ -47,7 +47,6 @@ public class TokenVerification {
"&&!execution(* com.diaoyun.zion.chinafrica.controller.GoodsTypeController.*(..))" +
"&&!execution(* com.diaoyun.zion.chinafrica.controller.VersionController.*(..))" +
"&&!execution(* com.diaoyun.zion.chinafrica.controller.TbCfFeeController.*(..))" +
"&&!execution(* com.diaoyun.zion.chinafrica.controller.TbCfOrderController.*(..))" +
"&&!execution(* com.diaoyun.zion.chinafrica.controller.PayPalController.*(..))" +
"&&!execution(* com.diaoyun.zion.chinafrica.controller.ShopifyController.*(..))"
)
......
......@@ -175,4 +175,16 @@ public class ShopifyController {
public Result delReply(@ApiParam("回复ID") @RequestParam("replyId") String replyId) {
return tbCfReplyService.delReply(replyId);
}
/**
* 通过商品标题搜索
*
* @param title
* @return
*/
@ApiOperation("搜索商品")
@GetMapping("/search")
public Result searchProducts(@ApiParam("商品标题") @RequestParam("title") String title) {
return shopifyService.searchProductByTitle(title);
}
}
......@@ -52,7 +52,7 @@ public class TbCfOrderController {
public Result<PageInfo> getUserOrderList(@ApiParam(value = "页数") @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@ApiParam(value = "每页大小") @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
@ApiParam(value = "订单状态") @RequestParam(value = "orderStatus", required = false) Integer orderStatus
) {
) throws InterruptedException {
return tbCfOrderService.getUserOrderList(pageNum, pageSize, orderStatus);
}
......
......@@ -18,6 +18,7 @@ public interface TbCfUserInfoDao extends BaseDao<TbCfUserInfoEntity> {
/**
* 根据nickname获取用户信息
*
* @param nickname
* @return
*/
......@@ -25,19 +26,25 @@ public interface TbCfUserInfoDao extends BaseDao<TbCfUserInfoEntity> {
/**
* 根据用户名、昵称查找
*
* @param account
* @return
*/
TbCfUserInfoEntity findByAccount(String account);
TbCfUserInfoEntity findAccount(String account);
/**
* 根据手机号查找
*
* @param phone
* @return
*/
TbCfUserInfoEntity checkUserByPhone(String phone);
/**
* 更改用户密码
*
* @param userId
* @param newPassword
* @return
......@@ -46,6 +53,7 @@ public interface TbCfUserInfoDao extends BaseDao<TbCfUserInfoEntity> {
/**
* 根据邮箱查询用户信息
*
* @return
*/
TbCfUserInfoEntity findByEmail(String email);
......
......@@ -11,8 +11,13 @@ import org.springframework.web.bind.annotation.RequestParam;
* @Description:
*/
public interface ShopifyService {
public Result queryShopifyProducts();
public Result queryProductsByType(String product_type,String product_id);
public Result queryProductsDetails(String product_id);
public Result queryAllProducts(String product_id);
Result queryShopifyProducts();
Result queryProductsByType(String product_type, String product_id);
Result queryProductsDetails(String product_id);
Result queryAllProducts(String product_id);
Result searchProductByTitle(String title);
}
......@@ -95,7 +95,7 @@ public interface TbCfOrderService {
* @param orderStatus 订单状态 OrderStatusEnum
* @return
*/
Result getUserOrderList(Integer pageNum, Integer pageSize,Integer orderStatus);
Result getUserOrderList(Integer pageNum, Integer pageSize,Integer orderStatus) throws InterruptedException;
/**
* 取消订单
......
......@@ -121,7 +121,7 @@ public interface TbCfUserInfoService {
* @return
*/
TbCfUserInfoEntity findByAccount(String account);
TbCfUserInfoEntity findAccount(String account);
/**
* 更改用户密码
* @param newPassword
......
......@@ -7,6 +7,7 @@ import com.diaoyun.zion.master.base.Result;
import com.diaoyun.zion.master.common.RedisCache;
import com.diaoyun.zion.master.enums.ResultCodeEnum;
import com.diaoyun.zion.master.util.HttpClientUtil;
import net.sf.json.JSON;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.slf4j.Logger;
......@@ -58,7 +59,7 @@ public class ShopifyServiceImpl implements ShopifyService {
params.put("limit", ShopifyConstant.SHOPIFY_LIMIT);
String data = HttpClientUtil.createConnection(ShopifyConstant.productTypeUrl(), params, "UTF-8");
list.add(data);
redisCache.set(KeyConstant.SHOPIFY_ITEMS, list, 86400);
redisCache.set(KeyConstant.SHOPIFY_ITEMS, list, 3600);
}
System.out.println(list);
JSONArray jsonArr = JSONArray.fromObject(list);
......@@ -88,13 +89,13 @@ public class ShopifyServiceImpl implements ShopifyService {
}
Map<String, Object> params = new HashMap<>();
params.put("product_type", product_type);
params.put("limit", /*ShopifyConstant.SHOPIFY_PAGE_SIZE*/ "250");
//params.put("limit", ShopifyConstant.SHOPIFY_PAGE_SIZE);
params.put("since_id", product_id);
try {
String data = HttpClientUtil.createConnection(ShopifyConstant.productTypeUrl(), params, "UTF-8");
JSONObject jsonObject = JSONObject.fromObject(data);
result.setData(jsonObject);
//redisCache.set(KeyConstant.SHOPIFY_TYPE_ITEMS + product_type + product_id, data, 86400);
redisCache.set(KeyConstant.SHOPIFY_TYPE_ITEMS + product_type + product_id, data, 3600);
} catch (IOException e) {
result.setCode(ResultCodeEnum.QUERY_ERROR.getCode()).setMessage(e.getMessage());
logger.error(e.getMessage(), e);
......@@ -122,7 +123,7 @@ public class ShopifyServiceImpl implements ShopifyService {
params.put("ids", product_id);
String data = HttpClientUtil.createConnection(ShopifyConstant.productTypeUrl(), params, "UTF-8");
jsonProduct = JSONObject.fromObject(data);
redisCache.set(KeyConstant.SHOPIFY_ITEM + product_id, data, 86400);
redisCache.set(KeyConstant.SHOPIFY_ITEM + product_id, data, 3600);
}
result.setData(jsonProduct);
} catch (IOException e) {
......@@ -150,7 +151,7 @@ public class ShopifyServiceImpl implements ShopifyService {
return result;
}
Map<String, Object> params = new HashMap<>();
params.put("limit", ShopifyConstant.SHOPIFY_PAGE_SIZE);
//params.put("limit", ShopifyConstant.SHOPIFY_PAGE_SIZE);
params.put("since_id", product_id);
String data = HttpClientUtil.createConnection(ShopifyConstant.productTypeUrl(), params, "UTF-8");
redisCache.set(KeyConstant.SHOPIFY_ITEMS_ALL + product_id, data);
......@@ -188,5 +189,27 @@ public class ShopifyServiceImpl implements ShopifyService {
return list;
}
/**
* 根据商品标题搜索
*
* @param title
* @return
*/
public Result searchProductByTitle(String title) {
Result result = new Result();
try {
Map<String, Object> params = new HashMap<>();
params.put("title", title);
String data = HttpClientUtil.createConnection(ShopifyConstant.productTypeUrl(), params, "UTF-8");
JSONObject jsonObject = JSONObject.fromObject(data);
result.setData(jsonObject);
} catch (Exception e) {
result.setCode(ResultCodeEnum.QUERY_ERROR.getCode()).setMessage(e.getMessage());
logger.error(e.getMessage(), e);
return result;
}
return result;
}
}
......@@ -109,6 +109,8 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
@Autowired
private TbCfIssueCouponService tbCfIssueCouponService; //发放表
private boolean flag = false;
@Override
public TbCfOrderEntity queryObject(String orderId) {
return tbCfOrderDao.queryObject(orderId);
......@@ -147,6 +149,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
/**
* 用户计算1
*
* @return
* @throws IOException
* @throws URISyntaxException
......@@ -166,15 +169,15 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
result.setCode(ResultCodeEnum.VALIDATE_ERROR.getCode()).setMessage("There are no items in the shopping cart");
} else {
//获取订单数据
TbCfOrderVo tbCfOrder = getOrderData(tbCfUserInfoVo, tbCfCartItemDetailList,toitableId);
TbCfOrderVo tbCfOrder = getOrderData(tbCfUserInfoVo, tbCfCartItemDetailList, toitableId);
result.setData(tbCfOrder).setMessage("Order pending settlement");
}
return result;
}
@Override
public Result placeOrder(TbCfOrderVo pageOrder,String toitableId) throws IOException, URISyntaxException, ExecutionException, InterruptedException, TimeoutException {
System.out.println(toitableId+"发放ID");
public Result placeOrder(TbCfOrderVo pageOrder, String toitableId) throws IOException, URISyntaxException, ExecutionException, InterruptedException, TimeoutException {
System.out.println(toitableId + "发放ID");
Result<TbCfOrderVo> result = new Result<>();
//获取用户
String token = jwtTokenProvider.resolveToken(request);
......@@ -186,7 +189,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
result.setCode(ResultCodeEnum.VALIDATE_ERROR.getCode()).setMessage("There are no items in the shopping cart");
} else {
//获取下单的订单数据
TbCfOrderVo definiteOrder = ensureOrder(tbCfUserInfoVo, pageOrder, tbCfCartItemDetailList,toitableId);
TbCfOrderVo definiteOrder = ensureOrder(tbCfUserInfoVo, pageOrder, tbCfCartItemDetailList, toitableId);
//持久化订单数据
TbCfOrderEntity tbCfOrderEntity = new TbCfOrderEntity();
BeanUtils.copyProperties(definiteOrder, tbCfOrderEntity);
......@@ -202,16 +205,12 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
@Override
public synchronized Result getUserOrderList(Integer pageNum, Integer pageSize, Integer orderStatus) {
public Result getUserOrderList(Integer pageNum, Integer pageSize, Integer orderStatus) throws InterruptedException {
Result<PageInfo<TbCfOrderVo>> result = new Result<>();
//获取用户
synchronized (this) {
String token = jwtTokenProvider.resolveToken(request);
TbCfUserInfoVo tbCfUserInfoVo = tokenManager.validate(token);
PageInfo<TbCfOrderVo> pageInfos = (PageInfo<TbCfOrderVo>) orderRedisCache.get(KeyConstant.ORDER_DET + tbCfUserInfoVo.getUserId() + orderStatus);
if (pageInfos != null) {
result.setData(pageInfos);
return result;
}
//订单数据
List<TbCfOrderEntity> orderList = tbCfOrderDao.getUserOrderList(tbCfUserInfoVo.getUserId(), orderStatus);
startPage(pageNum, pageSize);
......@@ -239,11 +238,12 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
PageInfo<TbCfOrderVo> returnPageInfo = new PageInfo<>();
BeanUtils.copyProperties(pageInfo, returnPageInfo);
returnPageInfo.setList(tbCfOrderVoList);
orderRedisCache.set(KeyConstant.ORDER_DET + tbCfUserInfoVo.getUserId() + orderStatus, returnPageInfo);
result.setData(returnPageInfo);
}
return result;
}
@Override
public void cancelOrder(String orderId, String userId, String couponId) {
//更改订单状态
......@@ -285,8 +285,8 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
//更改订单状态
changeOrderState(charge.getId(), tbCfOrderVo);
//修改使用的优惠券的状态
if(tbCfOrderVo.getOrderStatus()==20){
tbCfToiCouponDao.changeCoupnStatus(tbCfOrderVo.getUserId(),tbCfOrderVo.getCouponId());
if (tbCfOrderVo.getOrderStatus() == 20) {
tbCfToiCouponDao.changeCoupnStatus(tbCfOrderVo.getUserId(), tbCfOrderVo.getCouponId());
}
//生成流水记录
TbCfFinanceEntity tbCfFinance = createFinance(charge, tbCfOrderVo);
......@@ -320,6 +320,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
/**
* 查询物流信息
*
* @param orderId
* @return
* @throws IOException
......@@ -378,7 +379,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
public Result getOrderDetailThird(String orderId) {
Result<OrderEntity> result = new Result<>();
OrderEntity order = tbCfOrderDao.getOrder(orderId);
OrderEntity orderEntity=new OrderEntity();
OrderEntity orderEntity = new OrderEntity();
orderEntity.setOrderId(order.getOrderId());
orderEntity.setDeliveryPhone(order.getDeliveryPhone());
orderEntity.setDeliveryName(order.getDeliveryName());
......@@ -390,7 +391,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
//返回的订单商品详情
List<ItemEntity> itemList = new ArrayList<>();
for (ItemEntity item : items) {
ItemEntity entity=new ItemEntity();
ItemEntity entity = new ItemEntity();
entity.setItemNum(item.getItemNum());
entity.setItemCategory(item.getItemCategory());
entity.setItemPrice(item.getItemPrice());
......@@ -425,14 +426,14 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
Result<TbCfOrderVo> result = new Result<>();
TbCfOrderEntity tbCfOrderEntity = tbCfOrderDao.queryObject(orderId);
TbCfOrderVo tbCfOrderVo = new TbCfOrderVo();
BeanUtils.copyProperties(tbCfOrderEntity,tbCfOrderVo);
BeanUtils.copyProperties(tbCfOrderEntity, tbCfOrderVo);
//获取订单内商品
List<TbCfItemDetailEntity> tbCfItemDetailList = tbCfOrderDao.getOrderItemList(orderId);
//返回的订单商品详情
List<TbCfCartItemDetailVo> itemDetailVoList = new ArrayList<>();
for (TbCfItemDetailEntity tbCfItemDetail : tbCfItemDetailList) {
TbCfCartItemDetailVo tbCfCartItemDetailVo = new TbCfCartItemDetailVo();
BeanUtils.copyProperties(tbCfItemDetail,tbCfCartItemDetailVo);
BeanUtils.copyProperties(tbCfItemDetail, tbCfCartItemDetailVo);
itemDetailVoList.add(tbCfCartItemDetailVo);
}
tbCfOrderVo.setItemDetailList(itemDetailVoList);
......@@ -549,7 +550,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
}
/**
* 增加已使用记录
// */
// */
// TbCfCouponUseEntity tbCfCouponUse = new TbCfCouponUseEntity();
// tbCfCouponUse.setUseId(IdUtil.createIdbyUUID());
// tbCfCouponUse.setCouponId(couponId);
......@@ -603,7 +604,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
* @throws IOException
* @throws URISyntaxException
*/
private TbCfOrderVo ensureOrder(TbCfUserInfoVo tbCfUserInfoVo, TbCfOrderVo pageOrder, List<TbCfCartItemDetailVo> tbCfCartItemDetailList,String toitableId) {
private TbCfOrderVo ensureOrder(TbCfUserInfoVo tbCfUserInfoVo, TbCfOrderVo pageOrder, List<TbCfCartItemDetailVo> tbCfCartItemDetailList, String toitableId) {
TbCfOrderVo definiteOrder = getGenericOrder(tbCfCartItemDetailList);
/*//获取可以使用的优惠券,后续还有判断此订单是否可以使用
......@@ -625,7 +626,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
}*/
//计算实际需要付款
countRealityPay(definiteOrder,toitableId);
countRealityPay(definiteOrder, toitableId);
//获取订单地址
String deliveryAddressId = pageOrder.getDeliveryAddressId();
Validator.NOT_BLANK.validate("address", deliveryAddressId);
......@@ -666,7 +667,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
BigDecimal totalExpressCost = BigDecimal.ZERO;
for (TbCfCartItemDetailVo tbCfCartItemDetailVo : tbCfCartItemDetailList) {
BigDecimal itemNum = BigDecimal.valueOf(tbCfCartItemDetailVo.getItemNum());
BigDecimal itemSourcePrice=tbCfCartItemDetailVo.getItemPrice();
BigDecimal itemSourcePrice = tbCfCartItemDetailVo.getItemPrice();
itemsPrice = itemsPrice.add(itemSourcePrice.multiply(itemNum));
//计算运费
BigDecimal expressCost = getExpressTemplate(tbCfCartItemDetailVo.getItemCategory());
......@@ -721,6 +722,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
/**
* 用户计算价格2
*
* @param tbCfUserInfoVo
* @param tbCfCartItemDetailList
* @return
......@@ -730,7 +732,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
* @throws InterruptedException
* @throws TimeoutException
*/
private TbCfOrderVo getOrderData(TbCfUserInfoVo tbCfUserInfoVo, List<TbCfCartItemDetailVo> tbCfCartItemDetailList,String toitableId) throws IOException, URISyntaxException, ExecutionException, InterruptedException, TimeoutException {
private TbCfOrderVo getOrderData(TbCfUserInfoVo tbCfUserInfoVo, List<TbCfCartItemDetailVo> tbCfCartItemDetailList, String toitableId) throws IOException, URISyntaxException, ExecutionException, InterruptedException, TimeoutException {
TbCfOrderVo tbCfOrder = getGenericOrder(tbCfCartItemDetailList);
/* //获取可以使用的优惠券,后续还有判断此订单是否可以使用
List<TbCfCouponEntity> tbCfCouponList = tbCfCouponDao.queryUserAvailableCoupon(tbCfUserInfoVo.getUserId(), new Date());
......@@ -745,7 +747,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
}*/
//计算实际需要付款
countRealityPay(tbCfOrder,toitableId);
countRealityPay(tbCfOrder, toitableId);
tbCfOrder.setUserId(tbCfUserInfoVo.getUserId());
tbCfOrder.setUserName(tbCfUserInfoVo.getNick());
......@@ -758,10 +760,10 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
*
* @param tbCfOrder
*/
private void countRealityPay(TbCfOrderVo tbCfOrder,String toitableId) {
if(toitableId!=null){
private void countRealityPay(TbCfOrderVo tbCfOrder, String toitableId) {
if (toitableId != null) {
TbCfCouponEntity couponEntity = tbCfOrderDao.queryCouponPrice(toitableId);
if(couponEntity!=null){
if (couponEntity != null) {
tbCfOrder.setCouponPrice(couponEntity.getDeductAmount());
tbCfOrder.setCouponId(couponEntity.getCouponId());
}
......@@ -779,7 +781,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
tbCfOrder.setRealityPay(tbCfOrder.getTotalPrice());
}
removeRedisCache(tbCfOrder);
orderRedisCache.set(KeyConstant.ORDER_DET + tbCfOrder.getOrderId(),tbCfOrder);
orderRedisCache.set(KeyConstant.ORDER_DET + tbCfOrder.getOrderId(), tbCfOrder);
}
/**
......
......@@ -386,6 +386,10 @@ public class TbCfUserInfoServiceImpl implements TbCfUserInfoService {
return tbCfUserInfoEntity;
}
public TbCfUserInfoEntity findAccount(String account) {
TbCfUserInfoEntity tbCfUserInfoEntity = tbCfUserInfoDao.findAccount(account);
return tbCfUserInfoEntity;
}
@Override
public Result updatePassWord(String newPassword, String oldPassword) {
Result result = new Result();
......
......@@ -16,8 +16,7 @@ public class MyUserDetails implements UserDetailsService {
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
final TbCfUserInfoEntity user = tbCfUserInfoService.findByAccount(username);
final TbCfUserInfoEntity user = tbCfUserInfoService.findAccount(username);
if (user == null) {
throw new UsernameNotFoundException("User '" + username + "' not found or disable");
}
......
......@@ -115,7 +115,7 @@
AND name LIKE concat('%',#{name},'%')
</if>
</select>
<select id="checkUserByPhone" resultType="com.diaoyun.zion.chinafrica.entity.TbCfUserInfoEntity" >
<select id="checkUserByPhone" resultType="com.diaoyun.zion.chinafrica.entity.TbCfUserInfoEntity">
select * from tb_cf_user_info
WHERE phone=#{phone}
</select>
......@@ -210,15 +210,19 @@
<!--根据userId 账号 email nick 查找用户-->
<select id="findByAccount" resultType="com.diaoyun.zion.chinafrica.entity.TbCfUserInfoEntity">
select * from tb_cf_user_info where enable_flag=1 and (user_id=#{userId} or account=#{account}
or email =#{account} or nick =#{account});
or email =#{account} or nick =#{account})
</select>
<!--根据userId 账号 email nick 查找用户-->
<select id="findAccount" resultType="com.diaoyun.zion.chinafrica.entity.TbCfUserInfoEntity">
select * from tb_cf_user_info where enable_flag=1 and account=#{account}
</select>
<!--根据userId 账号 email 查找用户-->
<select id="findByEmail" resultType="com.diaoyun.zion.chinafrica.entity.TbCfUserInfoEntity">
select * from tb_cf_user_info where enable_flag=1 and account=#{email} or email =#{email};
select * from tb_cf_user_info where enable_flag=1 and account=#{email} or email =#{email}
</select>
<!--修改密码-->
<update id="updatePassWord" >
<update id="updatePassWord">
update tb_cf_user_info set password=#{newPassword} where user_id=#{userId}
</update>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论