Browse Source

拼团订单列表

yubin 1 tuần trước cách đây
mục cha
commit
19e38a97b8

+ 1 - 1
mall-service/src/main/java/com/txz/mall/business/PinkServiceBusiness.java

@@ -16,7 +16,7 @@ public interface PinkServiceBusiness {
      * @param pinkId 团长pinkId
      * @return
      */
-    List<StorePinkDetailVO> getAdminList(Long pinkId);
+    List<StorePinkDetailVO> getAdminList(Long pinkId,String terminal);
 
     /**
      * 拼团失败----到点自动退回余额

+ 36 - 3
mall-service/src/main/java/com/txz/mall/business/impl/PinkServiceBusinessImpl.java

@@ -24,6 +24,7 @@ import tk.mybatis.mapper.entity.Example;
 import vo.OrderRefundApplyVO;
 import vo.StorePinkDetailVO;
 
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -42,14 +43,16 @@ public class PinkServiceBusinessImpl implements PinkServiceBusiness {
     private final CifUserDubboServiceClient cifUserDubboServiceClient;
 
     @Override
-    public List<StorePinkDetailVO> getAdminList(Long pinkId) {
+    public List<StorePinkDetailVO> getAdminList(Long pinkId,String terminal) {
 
         if (ObjectUtils.isEmpty(pinkId)) {
             throw new ServiceException("拼团id为空");
         }
         StorePink storePink = storePinkService.findById(pinkId);
+
+
         if (ObjectUtils.isEmpty(storePink)) {
-            throw new ServiceException("拼团数据不存在");
+            throw new ServiceException("拼团数据不存在id:"+pinkId);
         }
         List<StorePinkDetailVO> resultList = new ArrayList<>();
         if (StorePinkStatusEnum.RESULTS_ANNOUNCED.getKey().equals(storePink.getStatus())) {
@@ -68,8 +71,27 @@ public class PinkServiceBusinessImpl implements PinkServiceBusiness {
 //        criteria.andEqualTo("kId", pinkId);
             List<StorePink> pinkList = storePinkService.findByCondition(condition);
 
+
+
+
+
             Map<Long, UserDTO> userDTOMap = new HashMap<>();
+            Map<Long, StoreOrder> storeOrderMap = new HashMap<>();
+
+
             if (!CollectionUtils.isEmpty(pinkList)) {
+
+                List<String> orderCodeList = pinkList.stream().map(StorePink::getOrderId).collect(Collectors.toList());
+                Condition conditionOrder = new Condition(StoreOrder.class);
+                Example.Criteria criteriaOrder = conditionOrder.createCriteria();
+                criteriaOrder.andEqualTo("isDelete", 0);
+                criteriaOrder.andIn("orderId", orderCodeList);
+                List<StoreOrder> storeOrderList = storeOrderService.findByCondition(conditionOrder);
+
+                if(!CollectionUtils.isEmpty(storeOrderList)){
+                  storeOrderMap = storeOrderList.stream().collect(Collectors.toMap(StoreOrder::getId, a -> a, (b, c) -> c));
+                }
+
                 List<Long> uidList = pinkList.stream().map(StorePink::getUid).filter(uid -> !ObjectUtils.isEmpty(uid)).collect(Collectors.toList());
                 if (!CollectionUtils.isEmpty(uidList)) {
                     List<UserDTO> usersByIds = cifUserDubboServiceClient.getUsersByIds(uidList);
@@ -82,7 +104,18 @@ public class PinkServiceBusinessImpl implements PinkServiceBusiness {
                     UserDTO userDTO = userDTOMap.get(pink.getUid());
                     if (!ObjectUtils.isEmpty(userDTO)) {
                         storePinkDetailVO.setAvatar(userDTO.getHeadPic());
-                        // storePinkDetailVO.setUserPhone()
+                        if("pc".equals(terminal)) {
+                            StoreOrder storeOrder = storeOrderMap.get(pink.getOrderIdKey());
+                            if(!ObjectUtils.isEmpty(storeOrder)){
+                                storePinkDetailVO.setOrderId(storeOrder.getOrderId());   //订单id
+                                storePinkDetailVO.setPayTime(storeOrder.getPayTime());  //支付时间
+                                storePinkDetailVO.setCommission(BigDecimal.TEN);//佣金
+                                storePinkDetailVO.setCreateTime(storeOrder.getCreateTime());//下单时间
+                            }
+                            storePinkDetailVO.setUserPhone(userDTO.getPhoneNo());
+
+
+                        }
                         storePinkDetailVO.setNickname(userDTO.getName());
                         storePinkDetailVO.setUid(userDTO.getId());
                     }

+ 3 - 7
mall-service/src/main/java/com/txz/mall/controller/FlashActivityController.java

@@ -63,7 +63,7 @@ public class FlashActivityController {
             StoreFlashActivity storeFlashActivity = new StoreFlashActivity();
             storeFlashActivity.setId(id);
             storeFlashActivity.setIsDelete(1);
-            storeFlashActivityService.update(storeFlashActivity);
+            storeFlashActivityService.delete(storeFlashActivity);
         } catch (Exception e) {
             log.error("删除对象操作异常e:{}", e);
             return Result.fail(ResultCode.INTERNAL_SERVER_ERROR);
@@ -81,12 +81,8 @@ public class FlashActivityController {
             return Result.fail(ResultCode.ID_IS_NULL);
         }
         try {
-            StoreFlashActivity storeFlashActivity = new StoreFlashActivity();
-            BeanUtils.copyProperties(dto, storeFlashActivity);
-            storeFlashActivity.setContent(JSONObject.toJSONString(dto.getContent()));
-            storeFlashActivity.setUpdateTime(new Date());
-//            storeFlashActivity.setUpdateUserId(userId);
-            storeFlashActivityService.update(storeFlashActivity);
+
+            storeFlashActivityService.modify(dto);
         } catch (Exception e) {
             log.error("更新对象操作异常e:{}", e);
             return Result.fail(ResultCode.INTERNAL_SERVER_ERROR);

+ 1 - 1
mall-service/src/main/java/com/txz/mall/controller/PinkController.java

@@ -153,7 +153,7 @@ public class PinkController {
     @ApiOperation(value = "拼团订单列表")
     @GetMapping(value = "/orderPink")
     public Result<List<StorePinkDetailVO>> getPinkList(@RequestParam("id") Long id) {
-        return Result.success(pinkServiceBusiness.getAdminList(id));
+        return Result.success(pinkServiceBusiness.getAdminList(id,"pc"));
     }
 
     /**

+ 1 - 1
mall-service/src/main/java/com/txz/mall/controller/appcontroller/AppPinkController.java

@@ -153,7 +153,7 @@ public class AppPinkController {
     @ApiOperation(value = "拼团订单列表")
     @GetMapping(value = "/orderPink")
     public Result<List<StorePinkDetailVO>> getPinkList(@RequestParam("id") Long id) {
-        return Result.success(pinkServiceBusiness.getAdminList(id));
+        return Result.success(pinkServiceBusiness.getAdminList(id,"app"));
     }
 
     /**

+ 6 - 2
mall-service/src/main/java/com/txz/mall/core/UserUtil.java

@@ -71,10 +71,14 @@ public class UserUtil {
 
         String key ="backstage_UserConfig_"+token;
       //  CacheKey key = CacheKey.generateKey(CacheType.UserConfig, token);
-        Object user = instance.redisUtil.get(key);
+       String user = (String)instance.redisUtil.get(key);
         if (ObjectUtils.isEmpty(user)) {
             throw new ServiceException("用户未登陆");
         }
-        return (JSONObject) JSONObject.toJSON(user);
+
+        JSONObject jsonObject = (JSONObject) JSONObject.parseObject(user);
+
+
+        return jsonObject;
     }
 }

+ 8 - 0
mall-service/src/main/java/com/txz/mall/service/StoreFlashActivityService.java

@@ -2,6 +2,7 @@ package com.txz.mall.service;
 
 import com.txz.mall.core.Service;
 import com.txz.mall.model.StoreFlashActivity;
+import dto.StoreFlashActivityDTO;
 
 import java.util.List;
 
@@ -20,4 +21,11 @@ public interface StoreFlashActivityService extends Service<StoreFlashActivity> {
      * @return
      */
     List<StoreFlashActivity> activityList(StoreFlashActivity storeFlashActivity, Integer page, Integer size);
+
+
+
+    void modify(StoreFlashActivityDTO dto);
+
+
+    void delete(StoreFlashActivity storeFlashActivity);
 }

+ 145 - 0
mall-service/src/main/java/com/txz/mall/service/impl/StoreFlashActivityServiceImpl.java

@@ -1,15 +1,27 @@
 package com.txz.mall.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
 import com.txz.mall.core.AbstractService;
+import com.txz.mall.core.ServiceException;
+import com.txz.mall.core.UserUtil;
+import com.txz.mall.dao.StoreCombinationMapper;
 import com.txz.mall.dao.StoreFlashActivityMapper;
+import com.txz.mall.model.StoreCombination;
 import com.txz.mall.model.StoreFlashActivity;
+import com.txz.mall.service.StoreCombinationService;
 import com.txz.mall.service.StoreFlashActivityService;
+import com.txz.mall.util.EasyToUseUtil;
+import dto.StoreFlashActivityDTO;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
 import tk.mybatis.mapper.entity.Condition;
 import tk.mybatis.mapper.entity.Example;
+import vo.FlashActivityVO;
 
 import javax.annotation.Resource;
 import java.util.Date;
@@ -26,6 +38,10 @@ public class StoreFlashActivityServiceImpl extends AbstractService<StoreFlashAct
     @Resource
     private StoreFlashActivityMapper storeFlashActivityMapper;
 
+    @Lazy
+    @Resource
+    private StoreCombinationMapper storeCombinationMapper;
+
     @Override
     public List<StoreFlashActivity> activityList(StoreFlashActivity storeFlashActivity, Integer page, Integer size) {
         PageHelper.startPage(page, size);
@@ -60,4 +76,133 @@ public class StoreFlashActivityServiceImpl extends AbstractService<StoreFlashAct
         }
         return activityList;
     }
+
+    @Override
+    public void modify(StoreFlashActivityDTO dto) {
+
+        StoreFlashActivity storeFlashActivityOri = findById(dto.getId());
+        if(ObjectUtils.isEmpty(storeFlashActivityOri)){
+            throw new ServiceException("活动不存在id:"+storeFlashActivityOri.getId());
+        }
+//        FlashActivityVO activityVOOri = new FlashActivityVO();
+//        //数据库中的现有数据
+//        Integer statusOri = storeFlashActivityOri.getStatus();  //目测这也是可以控制活动是否开启的 也对应对应m_store_combination.isshow
+//        String contentOri = storeFlashActivityOri.getContent();  //解析出来对应 `effective_time`拼团订单有效时间(小时)', `people` stock
+//        if(!ObjectUtils.isEmpty(contentOri)) {
+//             activityVOOri = JSONObject.parseObject(storeFlashActivityOri.getContent(), FlashActivityVO.class);
+//        }
+//        Date startTimeOri = storeFlashActivityOri.getStartTime();
+//        Date endTimeOri = storeFlashActivityOri.getEndTime();
+//        Integer isDeleteOri = storeFlashActivityOri.getIsDelete();
+//        Integer activeStateOri = storeFlashActivityOri.getActiveState();//活动状态目测是定时任务来时时修改的  对应m_store_combination.isshow
+
+//        storeCombination.setPeople(activityVO.getGroupNumber());
+//        storeCombination.setEffectiveTime(activityVO.getCountdownTime());
+//        if (activityVO.getInventory() != null) {
+//            storeCombination.setStock(activityVO.getInventory());
+//        }
+
+
+        StoreFlashActivity storeFlashActivity = new StoreFlashActivity();
+        BeanUtils.copyProperties(dto, storeFlashActivity);
+        FlashActivityVO contentNow = dto.getContent();
+        storeFlashActivity.setContent(JSONObject.toJSONString(dto.getContent()));
+
+        JSONObject tokenUser = UserUtil.getTokenUser(null);
+        Long tokenUserId = 0L;
+
+
+        if(!ObjectUtils.isEmpty(tokenUser)){
+            if(!ObjectUtils.isEmpty(tokenUser.getLongValue("id"))){
+                tokenUserId = tokenUser.getLongValue("id");
+            }
+        }
+        Date date = new Date();
+
+        if((!ObjectUtils.isEmpty(storeFlashActivity.getStartTime())) && (!ObjectUtils.isEmpty(storeFlashActivity.getEndTime()))) {
+
+            if (date.compareTo(storeFlashActivity.getStartTime()) < 0) {
+                storeFlashActivity.setActiveState(0);
+            } else if (date.compareTo(storeFlashActivity.getStartTime()) >= 0 && date.compareTo(storeFlashActivity.getEndTime()) <= 0) {
+                storeFlashActivity.setActiveState(1);
+            } else if (date.compareTo(storeFlashActivity.getEndTime()) > 0) {
+                storeFlashActivity.setActiveState(2);
+            }
+        }
+        storeFlashActivity.setUpdateTime(date);
+        storeFlashActivity.setUpdateUserId(tokenUserId);
+
+
+
+        update(storeFlashActivity);
+
+        //活动商品信息联动
+
+        Example exampleStoreCombination = new Example(StoreCombination.class);
+        exampleStoreCombination.createCriteria()
+                .andEqualTo("activityId",dto.getId());
+
+        StoreCombination storeCombination = new StoreCombination();
+       // storeCombination.setStock();
+        storeCombination.setEffectiveTime(contentNow.getCountdownTime());
+        storeCombination.setPeople(contentNow.getGroupNumber());
+        Integer statusOne = 1;
+        Integer statusZero = 0;
+
+
+        //
+        if(statusOne.equals(storeFlashActivity.getActiveState())
+               //  && statusOne.equals(storeFlashActivity.getStatus())
+                &&  statusZero.equals(storeFlashActivity.getIsDelete())
+        ){
+            storeCombination.setIsShow(1);
+        }else{
+            storeCombination.setIsShow(0);
+        }
+        storeCombination.setStartTime(storeFlashActivity.getStartTime());
+        storeCombination.setStopTime(storeFlashActivity.getEndTime());
+//        storeCombination.setIsDelete(storeFlashActivity.getIsDelete());
+        storeCombination.setUpdateUserId(storeFlashActivity.getUpdateUserId());
+        storeCombinationMapper.updateByConditionSelective(storeCombination,exampleStoreCombination);
+
+
+
+    }
+
+
+    @Override
+    public void delete(StoreFlashActivity storeFlashActivity) {
+
+        StoreFlashActivity storeFlashActivityOri = findById(storeFlashActivity.getId());
+        if(ObjectUtils.isEmpty(storeFlashActivityOri)){
+            throw new ServiceException("活动不存在id:"+storeFlashActivityOri.getId());
+        }
+
+        JSONObject tokenUser = UserUtil.getTokenUser(null);
+        Long tokenUserId = 0L;
+
+        if(!ObjectUtils.isEmpty(tokenUser)){
+            if(!ObjectUtils.isEmpty(tokenUser.getLongValue("id"))){
+                tokenUserId = tokenUser.getLongValue("id");
+            }
+        }
+        Date date = new Date();
+
+        storeFlashActivity.setUpdateTime(date);
+        storeFlashActivity.setUpdateUserId(tokenUserId);
+
+        update(storeFlashActivity);
+
+        //活动商品信息联动
+
+        Example exampleStoreCombination = new Example(StoreCombination.class);
+        exampleStoreCombination.createCriteria()
+                .andEqualTo("activityId",storeFlashActivity.getId());
+
+        StoreCombination storeCombination = new StoreCombination();
+        storeCombination.setIsShow(0);
+        storeCombination.setIsDelete(storeFlashActivity.getIsDelete());
+        storeCombination.setUpdateUserId(storeFlashActivity.getUpdateUserId());
+        storeCombinationMapper.updateByConditionSelective(storeCombination,exampleStoreCombination);
+    }
 }

+ 4 - 0
mall-service/src/main/java/com/txz/mall/service/impl/StoreOrderServiceImpl.java

@@ -2131,6 +2131,10 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
     public void updateOrderStatus(Long id, Integer status) {
         StoreOrder storeOrder = findById(id);
         storeOrder.setStatus(status);
+        if(PinkOrderStatusEnum.GROUP_ORDER_PAID.getKey().equals(status)){
+            Date date = new Date();
+            storeOrder.setPayTime(date);
+        }
         update(storeOrder);
 
 //        StorePink storePink = new StorePink();

+ 43 - 0
mall-service/src/main/java/com/txz/mall/util/EasyToUseUtil.java

@@ -2,8 +2,10 @@ package com.txz.mall.util;
 
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.txz.cif.dto.UserDTO;
 import com.txz.mall.core.AuthService;
+import com.txz.mall.core.UserUtil;
 import com.txz.mall.dubbo.client.CifUserDubboServiceClient;
 import com.txz.mall.model.MidFavorite;
 import com.txz.mall.web.param.TopLevelEntity;
@@ -118,5 +120,46 @@ public class EasyToUseUtil {
     }
 
 
+    /**
+     * {"id":1,"name":"admin",
+     * "loginAccount":"admin",
+     * "password":"51D0DBF9A1A4A103AC3270B5C67E5E0A",
+     * "salt":"q3VNUI1341h",
+     * "phoneNo":"17682302017",
+     * "email":"1",
+     * "status":"0",
+     * "createTime":1504681409000,
+     * "updateTime":1583286557000,
+     * "createUserId":"1",
+     * "updateUserId":"admin",
+     * "token":"f3813140-f2a4-457b-8382-e3e049bfe705"}
+     * @param request
+     * @return
+     */
+//    public static <T> void  pcUpdateAssignment(Date date, T t){
+//        TopLevelEntity topLevelEntity = new TopLevelEntity();
+//
+//        UserDTO user = new UserDTO();
+//        user.setName("Operation");
+//        JSONObject tokenUser = UserUtil.getTokenUser(null);
+//        Long tokenUserId = 0L;
+//
+//
+//        if(!ObjectUtils.isEmpty(tokenUser)){
+//            if(!ObjectUtils.isEmpty(tokenUser.getLongValue("id"))){
+//                tokenUserId = tokenUser.getLongValue("id");
+//            }
+//            if(!ObjectUtils.isEmpty(tokenUser.getString("loginAccount"))){
+//                user.setName(tokenUser.getString("loginAccount"));
+//            }
+//
+//        }
+//        Byte b = 1;
+//
+//        topLevelEntity.setUpdateUser(user.getName());
+//        topLevelEntity.setUpdateUserId(tokenUserId);
+//        BeanUtils.copyProperties(topLevelEntity,t);
+//    }
+
 
 }