From a411a7673a32016de54ee0b95083951a549e89b0 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 20 Apr 2021 11:51:12 +0800
Subject: [PATCH] 20210420 签到

---
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java |   98 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 97 insertions(+), 1 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java
index da861c3..d3e876a 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java
@@ -9,6 +9,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.matrix.component.redis.RedisUserLoginUtils;
+import com.matrix.core.exception.GlobleException;
 import com.matrix.core.pojo.AjaxResult;
 import com.matrix.core.tools.StringUtils;
 import com.matrix.system.activity.dao.ActivitySignAwardSetDao;
@@ -22,9 +23,14 @@
 import com.matrix.system.hive.bean.SysVipInfo;
 import com.matrix.system.shopXcx.api.dto.SeeAwardTextDto;
 import com.matrix.system.shopXcx.api.dto.SignAwardDto;
+import com.matrix.system.shopXcx.api.service.WxShopLogisticsQueryService;
 import com.matrix.system.shopXcx.api.vo.*;
 import com.matrix.system.shopXcx.bean.ShopActivities;
+import com.matrix.system.shopXcx.bean.ShopDeliveryInfo;
+import com.matrix.system.shopXcx.bean.ShopLogisticsInfo;
 import com.matrix.system.shopXcx.dao.ShopActivitiesDao;
+import com.matrix.system.shopXcx.dao.ShopDeliveryInfoDao;
+import com.matrix.system.shopXcx.dao.ShopLogisticsInfoDao;
 import com.matrix.system.shopXcx.vo.SalesOrderVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -63,6 +69,15 @@
 	
 	@Autowired
 	private ActivitySignRecordDao activitySignRecordDao;
+	
+    @Autowired
+    ShopDeliveryInfoDao shopDeliveryInfoDao;
+
+    @Autowired
+    private ShopLogisticsInfoDao shopLogisticsInfoDao;
+
+    @Autowired
+    private WxShopLogisticsQueryService wxShopLogisticsQueryService;
 	
 	@ApiOperation(value = "获取签到基本信息", notes = "")
 	@ApiResponses({
@@ -140,6 +155,56 @@
         ajaxResult.setData(signBasicInfoVo);
         return ajaxResult;
     }
+
+    /**
+     * 查看历史签到记录
+     *
+     * @param
+     * @return
+     */
+    @ApiOperation(value = "查看历史签到记录", notes = "")
+    @GetMapping(value = "getSignRecord/{actId}/{month}")
+    @ResponseBody
+    public AjaxResult getSignRecord(@PathVariable("actId") long actId,@PathVariable("month") String dateStr) {
+        //获取登录人信息
+        SysVipInfo loginUser = redisUserLoginUtils.getLoginUser(SysVipInfo.class);
+        Long companyId = loginUser.getCompanyId();
+        Long userId = loginUser.getId();
+        Date date = DateUtil.parse(dateStr);
+        /**
+         * 默认获取当前月份
+         *      获取当前月份的天数
+         */
+        List<ActivitySignRecordVo> activitySignRecordVos = new ArrayList<>();
+        //获取当前月的第一天是星期几
+        DateTime dateTime = DateUtil.beginOfMonth(date);
+        int i = DateUtil.dayOfWeek(dateTime);
+        for(int j = 1;j<i;j++){
+            ActivitySignRecordVo activitySignRecordVoNull = new ActivitySignRecordVo();
+            activitySignRecordVos.add(activitySignRecordVoNull);
+        }
+        List<String> monthFullDays = getMonthFullDay(DateUtil.year(DateUtil.date()), DateUtil.month(DateUtil.date()) + 1);
+        for(String monthFullDay : monthFullDays){
+            ActivitySignRecordVo activitySignRecordVo = new ActivitySignRecordVo();
+            activitySignRecordVo.setSignTime(monthFullDay);
+            activitySignRecordVo.setActivityId(actId);
+            activitySignRecordVo.setCompanyId(companyId);
+            //对应日期是否已签到
+            Date dateSign = DateUtil.parse(monthFullDay);
+            ActivitySignRecord activitySignRecordDone = activitySignRecordDao.selectOneByActIdAndUserIdLikesignTime(actId,userId,dateSign);
+            if(ObjectUtil.isNotEmpty(activitySignRecordDone)){
+                activitySignRecordVo.setState(1);
+            }else{
+                activitySignRecordVo.setState(2);
+            }
+            activitySignRecordVos.add(activitySignRecordVo);
+        }
+        AjaxResult ajaxResult = new AjaxResult();
+        ajaxResult = AjaxResult.buildSuccessInstance("");
+        ajaxResult.setData(activitySignRecordVos);
+        return ajaxResult;
+    }
+
     /**
      *  java 获取 获取某年某月 所有日期(yyyy-mm-dd格式字符串)
      * @param year
@@ -445,7 +510,7 @@
      *
      * @return
      */
-    @ApiOperation(value = "物流配送确认", notes = "")
+    @ApiOperation(value = "物流配送信息查看", notes = "")
     @PostMapping(value = "/logisticsInsure")
     @ApiResponses({
             @ApiResponse(code = 200, message = "ok", response = SeeAwardTextVo.class)
@@ -455,9 +520,40 @@
         seeAwardTextDto.setUserId(loginUser.getId());
         seeAwardTextDto.setCompanyId(loginUser.getCompanyId());
         SeeAwardTextVo seeAwardTextVO = activitySignReceiveRecordDao.selectSeeAwardTextVOById(seeAwardTextDto);
+        long receiveId = seeAwardTextVO.getId();
+        //获取核销记录的ID
+        ActivitySignWriteoff activitySignWriteoff = activitySignWriteoffDao.selectActivitySignWriteoffByUserIDAndReceiveId(loginUser.getId(),receiveId);
+        Integer logisticsId = activitySignWriteoff.getLogisticsId();
+        ShopDeliveryInfo shopDeliveryInfo = shopDeliveryInfoDao.selectById(logisticsId);
+        if(ObjectUtil.isNotEmpty(shopDeliveryInfo)){
+            //查看物流信息
+            wxShopLogisticsQueryService.selectLogisticsInfo(shopDeliveryInfo);
+            List<ShopLogisticsInfo> shopLogisticsInfos = shopLogisticsInfoDao.selectByDelieryId(shopDeliveryInfo.getId());
+            seeAwardTextVO.setShopLogisticsInfos(shopLogisticsInfos);
+        }
         AjaxResult result=AjaxResult.buildSuccessInstance(seeAwardTextVO);
         return result;
     }
+
+    /**
+     * 物流配送确认收货
+     *
+     * @param
+     * @return
+     */
+    @ApiOperation(value = "物流配送确认收货", notes = "")
+    @GetMapping(value = "logisticsInsureById/{awardId}")
+    @ResponseBody
+    public AjaxResult logisticsInsureById(@PathVariable("awardId") long awardId) {
+        ActivitySignReceiveRecord activitySignReceiveRecord = activitySignReceiveRecordDao.selectById(awardId);
+        //如果不是待收货状态
+        if (ActivitySignReceiveRecord.STATE_FOUR != activitySignReceiveRecord.getState()) {
+            throw new GlobleException("该奖品不是待收货状态!");
+        }
+        activitySignReceiveRecord.setState(ActivitySignReceiveRecord.STATE_DONE);
+        activitySignReceiveRecordDao.updateById(activitySignReceiveRecord);
+        return new AjaxResult(AjaxResult.STATUS_SUCCESS, "收货成功!");
+    }
     
     
     

--
Gitblit v1.9.1