From f50e081f650eb067cce44fce3db64a237fde145b Mon Sep 17 00:00:00 2001
From: jyy <935090232@qq.com>
Date: Tue, 20 Apr 2021 13:44:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/score_shop' into score_shop
---
zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SeeAwardTextVo.java | 8
zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignWriteoffService.java | 137 +++-----------
zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignWriteoffDao.java | 2
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java | 98 ++++++++++
zq-erp/src/test/java/com/matrix/FenxiaoSoreInitTest.java | 266 +++++++++++++++++++++--------
zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml | 8
6 files changed, 341 insertions(+), 178 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignWriteoffDao.java b/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignWriteoffDao.java
index 660ab82..5bd6702 100644
--- a/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignWriteoffDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignWriteoffDao.java
@@ -25,4 +25,6 @@
ZjrVo selectUsernameByUserId(@Param("userId")Long userId, @Param("receiveId")Long receiveId);
ShopDeliveryInfo selectShopDeliveryInfoByLogisticsId(@Param("logisticsId")Integer logisticsId);
+
+ ActivitySignWriteoff selectActivitySignWriteoffByUserIDAndReceiveId(@Param("logisticsId")Long id, @Param("logisticsId")long receiveId);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignWriteoffService.java b/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignWriteoffService.java
index 3774bde..835ed41 100644
--- a/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignWriteoffService.java
+++ b/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignWriteoffService.java
@@ -27,6 +27,7 @@
import com.matrix.system.common.dao.SystemDictionaryDao;
import com.matrix.system.hive.action.util.QueryUtil;
import com.matrix.system.hive.dao.SysVipInfoDao;
+import com.matrix.system.shopXcx.api.service.WxShopLogisticsQueryService;
import com.matrix.system.shopXcx.bean.ShopActivities;
import com.matrix.system.shopXcx.bean.ShopDeliveryInfo;
import com.matrix.system.shopXcx.bean.ShopLogisticsInfo;
@@ -65,6 +66,8 @@
ShopDeliveryInfoDao shopDeliveryInfoDao;
@Autowired
ShopLogisticsInfoDao shopLogisticsInfoDao;
+ @Autowired
+ private WxShopLogisticsQueryService wxShopLogisticsQueryService;
public IPage<SignWriteoffListVo> findSignWriteoffList(Page<SignWriteoffListVo> page,
SignWriteoffListDto signWriteoffListDto) {
@@ -108,20 +111,22 @@
//物流跟踪
Integer logisticsId = activitySignWriteoffLogistics.getLogisticsId();
- if(ObjectUtil.isNotEmpty(logisticsId)) {
- List<ShopLogisticsInfo> shopLogisticsInfos = shopLogisticsInfoDao.selectByDelieryId(logisticsId);
- if(CollUtil.isNotEmpty(shopLogisticsInfos)) {
- ArrayList<LogisticsVo> logisticsVos = new ArrayList<>();
- for(ShopLogisticsInfo shopLogistics : shopLogisticsInfos) {
- LogisticsVo logisticsVo = new LogisticsVo();
- logisticsVo.setContent(shopLogistics.getDescribe());
- logisticsVo.setTimestamp(shopLogistics.getLogisticsTime());
- logisticsVos.add(logisticsVo);
- }
- signWriteoffVo.setActivities(logisticsVos);
- }
- }
-
+ ShopDeliveryInfo shopDeliveryInfo = shopDeliveryInfoDao.selectById(logisticsId);
+ if(ObjectUtil.isNotEmpty(shopDeliveryInfo)){
+ //查看物流信息
+ wxShopLogisticsQueryService.selectLogisticsInfo(shopDeliveryInfo);
+ List<ShopLogisticsInfo> shopLogisticsInfos = shopLogisticsInfoDao.selectByDelieryId(shopDeliveryInfo.getId());
+ if(CollUtil.isNotEmpty(shopLogisticsInfos)) {
+ ArrayList<LogisticsVo> logisticsVos = new ArrayList<>();
+ for(ShopLogisticsInfo shopLogistics : shopLogisticsInfos) {
+ LogisticsVo logisticsVo = new LogisticsVo();
+ logisticsVo.setContent(shopLogistics.getDescribe());
+ logisticsVo.setTimestamp(shopLogistics.getLogisticsTime());
+ logisticsVos.add(logisticsVo);
+ }
+ signWriteoffVo.setActivities(logisticsVos);
+ }
+ }
}
}
result.putInMap("signWriteoffVo", signWriteoffVo);
@@ -194,96 +199,20 @@
shopDeliveryInfo.setDeliveryTime(new Date());
shopDeliveryInfoDao.insert(shopDeliveryInfo);
-// Integer id = shopDeliveryInfo.getId();
-// if(ObjectUtil.isNotEmpty(id)) {
-// List<ShopLogisticsInfo> shopLogisticsList = new ArrayList<ShopLogisticsInfo>();
-// AjaxResult result = new AjaxResult();
-// Map<String, String> logisticsInfo = new HashMap<String, String>();
-// try {
-// if (shopDeliveryInfo == null) {
-// return new AjaxResult(AjaxResult.STATUS_FAIL, "找不到发货信息");
-// }
-// if (!StringUtils.isNotBlank(shopDeliveryInfo.getWaybillNo()) || !StringUtils.isNotBlank(shopDeliveryInfo.getLogisticsCompanyCode())) {
-// return new AjaxResult(AjaxResult.STATUS_FAIL, "物流公司信息为空");
-// }
-// logisticsInfo.put("logisticsCompany", shopDeliveryInfo.getLogisticsCompany());
-// logisticsInfo.put("waybillNo", shopDeliveryInfo.getWaybillNo());
-//
-// //如果已经签收直接查数据库
-// if (AppConstance.LOGISTICS_STATUS_OF_SIGN_FOR.equals(shopDeliveryInfo.getLogisticsStatus())) {
-//
-// List<ShopLogisticsInfo> shopLogisticsInfos = shopLogisticsInfoDao.selectByDelieryId(shopDeliveryInfo.getId());
-// logisticsInfo.put("logisticsStatus", String.valueOf(AppConstance.LOGISTICS_STATUS_OF_SIGN_FOR));
-// result.setStatus(AjaxResult.STATUS_SUCCESS);
-// result.setRows(shopLogisticsInfos);
-// result.putInMap("logisticsInfo", logisticsInfo);
-// return result;
-// }
-// Map<String, String> param = new HashMap<String, String>();
-// param.put("ShipperCode", shopDeliveryInfo.getLogisticsCompanyCode());
-// param.put("LogisticCode", shopDeliveryInfo.getWaybillNo());
-// Map<String, String> paramsUrl = getparams(param);
-// LogUtil.info("物流查询参数" + paramsUrl);
-// String logisticsResult = HttpCurlUtil.sendPost(logisticsUrl, paramsUrl);
-// LogUtil.info("查询物流返回信息" + logisticsResult);
-// LogisticsInfoVo logisticsInfoVo = JSON.parseObject(logisticsResult, LogisticsInfoVo.class);
-// if (logisticsInfoVo.isSuccess()) {
-// ShopDeliveryInfo shopDelivery = new ShopDeliveryInfo();
-// shopDelivery.setLogisticsStatus(Integer.valueOf(logisticsInfoVo.getState()));
-// shopDelivery.setId(shopDeliveryInfo.getId());
-// logisticsInfo.put("logisticsStatus", logisticsInfoVo.getState());
-// //更新物流状态
-// shopDeliveryInfoDao.updateByModel(shopDelivery);
-// if (CollectionUtils.isNotEmpty(logisticsInfoVo.getTraces())) {
-// List<Map<String, String>> mapTraces = logisticsInfoVo.getTraces();
-// for (int i = 0; i < mapTraces.size(); i++) {
-// ShopLogisticsInfo shopLogisticsInfo = new ShopLogisticsInfo();
-// shopLogisticsInfo.setCreateBy(AppConstance.SYSTEM_USER);
-// shopLogisticsInfo.setUpdateBy(AppConstance.SYSTEM_USER);
-// shopLogisticsInfo.setLogisticsTime(mapTraces.get(i).get("AcceptTime"));
-// String acceptStation = mapTraces.get(i).get("AcceptStation");
-// shopLogisticsInfo.setDescribe(acceptStation);
-// shopLogisticsInfo.setDelieryId(shopDeliveryInfo.getId());
-// if (acceptStation.indexOf(AppConstance.KDN_IS_SIGN) != -1) {
-// shopLogisticsInfo.setState(AppConstance.LOGISTICS_STATUS_OF_SIGN_FOR);
-// } else if (acceptStation.indexOf(AppConstance.KDN_IS_RECEIVE) != -1) {
-// shopLogisticsInfo.setState(AppConstance.LOGISTICS_STATUS_OF_RECEIVE);
-// } else if (acceptStation.indexOf(AppConstance.KDN_IS_ON_WAY) != -1) {
-// shopLogisticsInfo.setState(AppConstance.LOGISTICS_STATUS_OF_ON_WAY);
-// } else if (acceptStation.indexOf(AppConstance.KDN_IS_MISTAKE) != -1) {
-// shopLogisticsInfo.setState(AppConstance.LOGISTICS_STATUS_OF_MISTAKE);
-// } else {
-// shopLogisticsInfo.setState(AppConstance.LOGISTICS_STATUS_OF_NONE);
-// }
-// shopLogisticsList.add(shopLogisticsInfo);
-// }
-// shopLogisticsInfoDao.deleteByDelieryId(shopDeliveryInfo.getId());
-// if (CollectionUtils.isNotEmpty(shopLogisticsList)) {
-// shopLogisticsInfoDao.batchInsert(shopLogisticsList);
-// }
-// }
-// } else {
-// throw new GlobleException(logisticsInfoVo.getReason());
-// }
-//
-// } catch (Exception e) {
-// throw new GlobleException("物流信息查询失败");
-// }
- //更新核销记录
- activitySignWriteoff.setState(ActivitySignWriteoff.STATE_THREE);
- activitySignWriteoff.setWriteoffTime(new Date());
- activitySignWriteoff.setWriteoffUser(sysUsers.getSuName());
- activitySignWriteoff.setWriteoffUserid(sysUsers.getSuId());
- activitySignWriteoff.setLogisticsId(shopDeliveryInfo.getId());
- activitySignWriteoffDao.updateById(activitySignWriteoff);
- //更新领取记录
- ActivitySignReceiveRecord activitySignReceiveRecord = activitySignReceiveRecordDao.selectById(receiveId);
- activitySignReceiveRecord.setState(ActivitySignReceiveRecord.STATE_THREE);
- activitySignReceiveRecord.setConsignee(logisticsSubmitDto.getShr());
- activitySignReceiveRecord.setConsigneeAddress(logisticsSubmitDto.getShdz());
- activitySignReceiveRecord.setConsigneePhone(logisticsSubmitDto.getLxdh());
- activitySignReceiveRecordDao.updateById(activitySignReceiveRecord);
-// }
+ //更新核销记录
+ activitySignWriteoff.setState(ActivitySignWriteoff.STATE_THREE);
+ activitySignWriteoff.setWriteoffTime(new Date());
+ activitySignWriteoff.setWriteoffUser(sysUsers.getSuName());
+ activitySignWriteoff.setWriteoffUserid(sysUsers.getSuId());
+ activitySignWriteoff.setLogisticsId(shopDeliveryInfo.getId());
+ activitySignWriteoffDao.updateById(activitySignWriteoff);
+ //更新领取记录
+ ActivitySignReceiveRecord activitySignReceiveRecord = activitySignReceiveRecordDao.selectById(receiveId);
+ activitySignReceiveRecord.setState(ActivitySignReceiveRecord.STATE_THREE);
+ activitySignReceiveRecord.setConsignee(logisticsSubmitDto.getShr());
+ activitySignReceiveRecord.setConsigneeAddress(logisticsSubmitDto.getShdz());
+ activitySignReceiveRecord.setConsigneePhone(logisticsSubmitDto.getLxdh());
+ activitySignReceiveRecordDao.updateById(activitySignReceiveRecord);
return new AjaxResult(AjaxResult.STATUS_SUCCESS, "发货成功");
}
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, "收货成功!");
+ }
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SeeAwardTextVo.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SeeAwardTextVo.java
index 7dd4cfc..0e81d77 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SeeAwardTextVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SeeAwardTextVo.java
@@ -1,15 +1,20 @@
package com.matrix.system.shopXcx.api.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.matrix.system.shopXcx.bean.ShopLogisticsInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
+import java.util.List;
@Data
@ApiModel(value = "SeeAwardTextVo", description = "劵码信息")
public class SeeAwardTextVo {
+
+ @ApiModelProperty(value ="中奖记录ID")
+ private long id;
@ApiModelProperty(value ="奖项名称")
private String awardName;
@@ -46,4 +51,7 @@
@ApiModelProperty(value =" 是否已领取(1:待领取2:已领取)")
private Integer state;
+ @ApiModelProperty(value ="物流信息记录")
+ private List<ShopLogisticsInfo> shopLogisticsInfos;
+
}
diff --git a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml
index 2a3fa33..0d3affe 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml
@@ -101,4 +101,12 @@
where a.id = #{logisticsId}
</select>
+ <select id="selectActivitySignWriteoffByUserIDAndReceiveId" resultType="com.matrix.system.activity.entity.ActivitySignWriteoff">
+ SELECT
+ *
+ FROM
+ shop_delivery_info a
+ where a.id = #{logisticsId}
+ </select>
+
</mapper>
\ No newline at end of file
diff --git a/zq-erp/src/test/java/com/matrix/FenxiaoSoreInitTest.java b/zq-erp/src/test/java/com/matrix/FenxiaoSoreInitTest.java
index b4ebcf4..2a71e6c 100644
--- a/zq-erp/src/test/java/com/matrix/FenxiaoSoreInitTest.java
+++ b/zq-erp/src/test/java/com/matrix/FenxiaoSoreInitTest.java
@@ -1,27 +1,33 @@
package com.matrix;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.system.activity.dao.ActivitySignAwardSetDao;
+import com.matrix.system.activity.dao.ActivitySignReceiveRecordDao;
+import com.matrix.system.activity.dao.ActivitySignRecordDao;
+import com.matrix.system.activity.dao.ActivitySignWriteoffDao;
import com.matrix.system.activity.entity.ActivitySignAwardSet;
-import com.matrix.system.common.bean.BusParameterSettings;
-import com.matrix.system.common.dao.BusParameterSettingsDao;
-import com.matrix.system.fenxiao.constant.FenxiaoSettingConstant;
-import com.matrix.system.score.constant.ScoreSettingConstant;
+import com.matrix.system.activity.entity.ActivitySignRecord;
import com.matrix.system.shopXcx.api.vo.ActivitySignAwardSetVo;
+import com.matrix.system.shopXcx.api.vo.ActivitySignRecordVo;
import com.matrix.system.shopXcx.api.vo.SignBasicInfoJsonVo;
import com.matrix.system.shopXcx.api.vo.SignBasicInfoVo;
import com.matrix.system.shopXcx.bean.ShopActivities;
import com.matrix.system.shopXcx.dao.ShopActivitiesDao;
-import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.test.context.junit4.SpringRunner;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
import java.util.List;
@RunWith(SpringRunner.class)
@@ -29,30 +35,91 @@
public class FenxiaoSoreInitTest {
@Autowired
- private BusParameterSettingsDao busParameterSettingsDao;
- @Autowired
private ShopActivitiesDao shopActivitiesDao;
- @Autowired
- private ActivitySignAwardSetDao activitySignAwardSetDao;
-
- @Autowired
- private TestRestTemplate restTemplate;
-
-
- @Test
- public void getName() {
- String name = restTemplate.getForObject("/common/job", String.class);
- System.out.println(name);
- Assert.assertEquals("1", name);
+
+ @Autowired
+ private ActivitySignAwardSetDao activitySignAwardSetDao;
+
+ @Autowired
+ private ActivitySignReceiveRecordDao activitySignReceiveRecordDao;
+
+ @Autowired
+ private ActivitySignWriteoffDao activitySignWriteoffDao;
+
+ @Autowired
+ private ActivitySignRecordDao activitySignRecordDao;
+
+ public static void main(String[] args) {
+ System.out.println(getCurrentMonthDay(DateUtil.date()));
+ System.out.println(getMonthFullDay(DateUtil.year(DateUtil.date()),DateUtil.month(DateUtil.date())+1).toString());
+ }
+
+ /**
+ * 获取当月的 天数
+ * */
+ public static int getCurrentMonthDay(Date date) {
+ Date beginOfMonth = DateUtil.beginOfMonth(date);
+ Date endOfMonth = DateUtil.endOfMonth(date);
+ long betweenDay = DateUtil.between(beginOfMonth, endOfMonth, DateUnit.DAY);
+ return Integer.parseInt(String.valueOf(betweenDay))+1;
}
-
- @Test
- public void getSignBasicInfo() {
+ /**
+ * java 获取 获取某年某月 所有日期(yyyy-mm-dd格式字符串)
+ * @param year
+ * @param month
+ * @return
+ */
+ public static List<String> getMonthFullDay(int year , int month){
+ SimpleDateFormat dateFormatYYYYMMDD = new SimpleDateFormat("yyyy-MM-dd");
+ List<String> fullDayList = new ArrayList<>(32);
+ // 获得当前日期对象
+ Calendar cal = Calendar.getInstance();
+ cal.clear();// 清除信息
+ cal.set(Calendar.YEAR, year);
+ // 1月从0开始
+ cal.set(Calendar.MONTH, month-1 );
+ // 当月1号
+ cal.set(Calendar.DAY_OF_MONTH,1);
+ int count = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
+ for (int j = 1; j <= count ; j++) {
+ fullDayList.add(dateFormatYYYYMMDD.format(cal.getTime()));
+ cal.add(Calendar.DAY_OF_MONTH,1);
+ }
+ return fullDayList;
+ }
+// @Test
+// public void getinterger() {
+// Long userId = 30L;
+// Long companyId = 36L;
+// int size = activitySignReceiveRecordDao.getSignAwardReceiveCount(userId,companyId);
+// }
+// /**
+// * 获取累计签到天数
+// * @param actId
+// * @param userId
+// * @param date
+// * @return
+// */
+// public int getCumulativeDay(long actId, long userId,Date date, int i) {
+// ActivitySignRecord activitySignRecordOld = activitySignRecordDao.selectOneByActIdAndUserIdLikesignTime(actId,userId,date);
+// if(ObjectUtil.isEmpty(activitySignRecordOld)) {
+// return i;
+// }
+// i++;
+// DateTime offsetDay = DateUtil.offsetDay(date, -i);
+// return getCumulativeDay(actId,userId,offsetDay,i);
+// }
+ @Test
+ public void clickSign() {
+ long actId = 74L;
+ Long userId = 30L;
Long companyId = 36L;
//获取签到活动的信息
SignBasicInfoVo signBasicInfoVo = new SignBasicInfoVo();
+ AjaxResult ajaxResult = new AjaxResult();
+
ShopActivities shopActivities = shopActivitiesDao.selectOneByCompanyIdAndActTypeAndActStatus(companyId,ShopActivities.ACTIVITIES_TYPE_SIGN,ShopActivities.ACTSTATUS_STATUS_ING);
- Long actId = shopActivities.getId();
+
signBasicInfoVo.setActName(shopActivities.getActName());
signBasicInfoVo.setActCode(shopActivities.getActCode());
signBasicInfoVo.setId(shopActivities.getId());
@@ -61,13 +128,66 @@
signBasicInfoVo.setSignBasicInfoJsonVo(signBasicInfoJsonVo);
List<ActivitySignAwardSetVo> activitySignAwardSetVos = activitySignAwardSetDao
- .selectListByActIDAndCompanyId(actId,companyId, ActivitySignAwardSet.AWARDSTATE_WORK);
+ .selectListByActIDAndCompanyId(actId,companyId,ActivitySignAwardSet.AWARDSTATE_WORK);
signBasicInfoVo.setActivitySignAwardSetVos(activitySignAwardSetVos);
- AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("");
- ajaxResult.setData(signBasicInfoVo);
- System.out.println(signBasicInfoVo);
+ //今日是否已经参与
+ ActivitySignRecord activitySignRecord = activitySignRecordDao.selectOneByActIdAndUserIdLikesignTime(actId,userId,new Date());
+ if(ObjectUtil.isNotEmpty(activitySignRecord)) {
+ signBasicInfoVo.setJoinState(SignBasicInfoVo.JOINSTATE_SIGN);
+ }else {
+ signBasicInfoVo.setJoinState(SignBasicInfoVo.JOINSTATE_NOTSIGN);
+ }
+ /**
+ * 默认获取当前月份
+ * 获取当前月份的天数
+ */
+ List<ActivitySignRecordVo> activitySignRecordVos = new ArrayList<>();
+ //获取当前月的第一天是星期几
+ DateTime dateTime = DateUtil.beginOfMonth(DateUtil.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 date = DateUtil.parse(monthFullDay);
+ ActivitySignRecord activitySignRecordDone = activitySignRecordDao.selectOneByActIdAndUserIdLikesignTime(actId,userId,date);
+ if(ObjectUtil.isNotEmpty(activitySignRecordDone)){
+ activitySignRecordVo.setState(1);
+ }else{
+ activitySignRecordVo.setState(2);
+ }
+ activitySignRecordVos.add(activitySignRecordVo);
+ }
+ signBasicInfoVo.setActivitySignRecords(activitySignRecordVos);
+ //累计签到日期
+ int cumulativeDay = getCumulativeDay(actId, userId, DateUtil.date(), 0);
+ signBasicInfoVo.setActAumulativeDay(cumulativeDay);
+ System.out.println(signBasicInfoVo);
+ }
+ /**
+ * 获取累计签到天数
+ * @param actId
+ * @param userId
+ * @param date
+ * @return
+ */
+ public int getCumulativeDay(long actId, long userId,Date date, int i) {
+ ActivitySignRecord activitySignRecordOld = activitySignRecordDao.selectOneByActIdAndUserIdLikesignTime(actId,userId,date);
+ if(ObjectUtil.isEmpty(activitySignRecordOld)) {
+ return i;
+ }
+ i++;
+ DateTime offsetDay = DateUtil.offsetDay(date, -i);
+ return getCumulativeDay(actId,userId,offsetDay,i);
}
public void InitByCompanyId() {
//对应的公司ID
@@ -76,50 +196,50 @@
// //initBusParameterFenxiaoSetting(companyId);
}
- /**
- * 初始化默认积分规则设置
- */
- public void initBusParameterSetting(long companyId) {
- List<BusParameterSettings> ruleSettings=new ArrayList<>();
-
- ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.VALID_PERIOD_POINTS, companyId));
- ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.CREDIT_POINTS_CASH, companyId));
-
- ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.CASH_CONSUMPTION, companyId));
- ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.PRINCIPAL_BALANCE_CONSUMPTION, companyId));
- ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.BONUS_BALANCE_CONSUMPTION, companyId));
- ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.PRINCIPAL_CONSUMPTION, companyId));
- ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.GIVE_CONSUMPTION, companyId));
- ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.REFERRALS_CONSUMPTION, companyId));
-
- ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.CASH_CONSUMPTION_SHOP, companyId));
- ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.RESERVATION_SERVICE_SHOP, companyId));
- ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.EVALUATUIN_ORDER_SHOP, companyId));
-
- busParameterSettingsDao.batchInsert(ruleSettings);
- }
-
- /**
- * 初始化默认分销规则设置
- */
- public void initBusParameterFenxiaoSetting(long companyId) {
- List<BusParameterSettings> ruleSettings=new ArrayList<>();
- ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_SWITCH, companyId));
- ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_MODEL, companyId));
- ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_APPLY_WAY, companyId));
- ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_AUDIT_METHOD, companyId));
- ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_APPLY_CONDITION, companyId));
- ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_TG_PLAN, companyId));
- ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_TG_POSTER, companyId));
- ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_ZGFY, companyId));
- busParameterSettingsDao.batchInsert(ruleSettings);
- }
-
- private BusParameterSettings addScoreRuleSetting(String code,long companyId) {
- BusParameterSettings busParameterSetting = new BusParameterSettings();
- busParameterSetting.setParamCode(code);
- busParameterSetting.setCompanyId(companyId);
- return busParameterSetting;
- }
+// /**
+// * 初始化默认积分规则设置
+// */
+// public void initBusParameterSetting(long companyId) {
+// List<BusParameterSettings> ruleSettings=new ArrayList<>();
+//
+// ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.VALID_PERIOD_POINTS, companyId));
+// ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.CREDIT_POINTS_CASH, companyId));
+//
+// ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.CASH_CONSUMPTION, companyId));
+// ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.PRINCIPAL_BALANCE_CONSUMPTION, companyId));
+// ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.BONUS_BALANCE_CONSUMPTION, companyId));
+// ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.PRINCIPAL_CONSUMPTION, companyId));
+// ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.GIVE_CONSUMPTION, companyId));
+// ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.REFERRALS_CONSUMPTION, companyId));
+//
+// ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.CASH_CONSUMPTION_SHOP, companyId));
+// ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.RESERVATION_SERVICE_SHOP, companyId));
+// ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.EVALUATUIN_ORDER_SHOP, companyId));
+//
+// busParameterSettingsDao.batchInsert(ruleSettings);
+// }
+//
+// /**
+// * 初始化默认分销规则设置
+// */
+// public void initBusParameterFenxiaoSetting(long companyId) {
+// List<BusParameterSettings> ruleSettings=new ArrayList<>();
+// ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_SWITCH, companyId));
+// ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_MODEL, companyId));
+// ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_APPLY_WAY, companyId));
+// ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_AUDIT_METHOD, companyId));
+// ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_APPLY_CONDITION, companyId));
+// ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_TG_PLAN, companyId));
+// ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_TG_POSTER, companyId));
+// ruleSettings.add(addScoreRuleSetting(FenxiaoSettingConstant.FX_ZGFY, companyId));
+// busParameterSettingsDao.batchInsert(ruleSettings);
+// }
+//
+// private BusParameterSettings addScoreRuleSetting(String code,long companyId) {
+// BusParameterSettings busParameterSetting = new BusParameterSettings();
+// busParameterSetting.setParamCode(code);
+// busParameterSetting.setCompanyId(companyId);
+// return busParameterSetting;
+// }
}
--
Gitblit v1.9.1