Helius
2021-04-21 9c977e6d99407f788299084beeebb92a90f59c63
modify
28 files modified
1 files added
863 ■■■■■ changed files
zq-erp/pom.xml 4 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/core/tools/DingDingRobotUtil.java 1 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignWriteoffDao.java 2 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignReceiveRecord.java 6 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java 2 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignWriteoffService.java 137 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/common/actions/CommonAction.java 31 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java 38 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java 9 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java 174 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java 3 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/api/pojo/ShopOrderDto.java 2 ●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/api/tools/WxShopOrderUtil.java 9 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/ActivitySignRecordVo.java 23 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SeeAwardTextVo.java 8 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignAwardListVo.java 2 ●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopOrder.java 19 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/dto/CreateGroupBuyDTO.java 2 ●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/dto/CreateSecKillDTO.java 68 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/config/application.properties 13 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/config/db/increment/2021-04-20bug.sql 5 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/config/prd/application.properties 17 ●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml 2 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml 8 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-logistics-info.html 2 ●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-update.html 9 ●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-writeoff-info.html 2 ●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html 9 ●●●● patch | view | raw | blame | history
zq-erp/src/test/java/com/matrix/FenxiaoSoreInitTest.java 256 ●●●● patch | view | raw | blame | history
zq-erp/pom.xml
@@ -401,11 +401,11 @@
                    <exclude>config/xcx/*</exclude>
                    <exclude>config/xcshop/*</exclude>
                    <!---->
                    <!--
                    <exclude>config/config.json</exclude>
                    <exclude>config/application.properties</exclude>
                    <exclude>config/system.properties</exclude>
-->
                    <exclude>**/*.woff</exclude>
zq-erp/src/main/java/com/matrix/core/tools/DingDingRobotUtil.java
@@ -70,6 +70,7 @@
            response = httpclient.execute(httppost);
            if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
                String result = EntityUtils.toString(response.getEntity(), "utf-8");
                LogUtil.debug("发送钉钉结果"+result);
            }
        } catch (IOException e) {
            e.printStackTrace();
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);
}
zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignReceiveRecord.java
@@ -51,7 +51,7 @@
    private Long  awardId;
    
    /**
     * 是否已领取(1:待领取2:已领取)
     * 是否已领取(1:待领取2:已领取 3:待配送 4:待收货)
     */
@@ -59,7 +59,9 @@
    public static final int STATE_ING = 1;
    public static final int STATE_DONE = 2;
    public static final int STATE_THREE = 3;
    public static final int STATE_FOUR = 4;
    /**
     * 核销码
     */
zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java
@@ -237,8 +237,10 @@
                    activitySignAwardSetUpdate.setUpdateBy(user.getSuName());
                    activitySignAwardSetUpdate.setCompanyId(companyId);
                    activitySignAwardSetUpdate.setActivityId(actId);
                    activitySignAwardSetUpdate.setAwardState(ActivitySignAwardSet.AWARDSTATE_WORK);
                    activitySignAwardSetDao.insert(activitySignAwardSetUpdate);
                }else {
                    activitySignAwardSetUpdate.setAwardState(ActivitySignAwardSet.AWARDSTATE_WORK);
                    activitySignAwardSetDao.updateById(activitySignAwardSetUpdate);
                    arrayListUpdate.add(actSubid);
                }
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_DONE);
            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, "发货成功");
    }
zq-erp/src/main/java/com/matrix/system/common/actions/CommonAction.java
@@ -5,10 +5,7 @@
import com.matrix.core.constance.SystemErrorCode;
import com.matrix.core.exception.GlobleException;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.LogUtil;
import com.matrix.core.tools.RSAUtils;
import com.matrix.core.tools.StringUtils;
import com.matrix.core.tools.WebUtil;
import com.matrix.core.tools.*;
import com.matrix.core.web.BaseAction;
import com.matrix.system.common.authority.DefaultAuthorityManager;
import com.matrix.system.common.authority.strategy.AccountPasswordLogin;
@@ -23,10 +20,7 @@
import com.matrix.system.hive.statistics.StatisticsBusinessDataJob;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.*;
import java.security.Key;
import java.util.Map;
@@ -56,7 +50,7 @@
    StatisticsBusinessDataJob sjobp;
    @RequestMapping(value = "/job")
    public @ResponseBody  String job() {
        sjobp.executeExt2();
        //sjobp.executeExt2();
        return "1";
    }
@@ -262,4 +256,23 @@
    @Autowired
    /**
     * 官网联系我们通知
     */
    @RequestMapping(value = "/gwLinkUs")
    public @ResponseBody
    AjaxResult gwLinkUs(@RequestBody Map<String , Object> param) {
        String title = "hive新客户在官网提交联系请求";
        String content = "hive=>name:" + param.get("name") + "  tel:" +  param.get("tel") ;
        DingDingRobotUtil.sendLink("https://oapi.dingtalk.com/robot/send?access_token=62bb902f0e3945f0ece31306b99abae043fc69a66da0ef04d89fd20bf58d88d8", content, title, "", "www.baidu.com");
        return AjaxResult.buildSuccessInstance("提交成功");
    }
}
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -552,16 +552,24 @@
                &&StringUtils.isNotBlank(cashConsumption.getParamValue())){
            BigDecimal scoreSetting0 = new BigDecimal(cashConsumption.getParamValue());
            cashScore[0]= cashPayAmount.divide(scoreSetting0).intValue();
            if(scoreSetting0.compareTo(BigDecimal.ZERO)>0) {
                cashScore[0] = cashPayAmount.divide(scoreSetting0).intValue();
            }
            if(StringUtils.isNotBlank(cashConsumption.getParamValue1())){
                BigDecimal scoreSetting1 = new BigDecimal(cashConsumption.getParamValue1());
                cashScore[1]= cashPayAmount.divide(scoreSetting1).intValue();
                if(scoreSetting1.compareTo(BigDecimal.ZERO)>0){
                    cashScore[1]= cashPayAmount.divide(scoreSetting1).intValue();
                }
            }
            if(StringUtils.isNotBlank(cashConsumption.getParamValue2())){
                BigDecimal scoreSetting2 = new BigDecimal(cashConsumption.getParamValue2());
                cashScore[2]= cashPayAmount.divide(scoreSetting2).intValue();
                if(scoreSetting2.compareTo(BigDecimal.ZERO)>0){
                    cashScore[2]= cashPayAmount.divide(scoreSetting2).intValue();
                }
            }
        }
@@ -577,16 +585,22 @@
                &&StringUtils.isNotBlank(principalBalanceConsumption.getParamValue())){
            BigDecimal scoreSetting0 = new BigDecimal(principalBalanceConsumption.getParamValue());
            cardScore[0]= cardPayAmount.divide(scoreSetting0).intValue();
            if(scoreSetting0.compareTo(BigDecimal.ZERO)>0) {
                cardScore[0] = cardPayAmount.divide(scoreSetting0).intValue();
            }
            if(StringUtils.isNotBlank(principalBalanceConsumption.getParamValue1())){
                BigDecimal scoreSetting1 = new BigDecimal(principalBalanceConsumption.getParamValue1());
                cardScore[1]= cardPayAmount.divide(scoreSetting1).intValue();
                if(scoreSetting1.compareTo(BigDecimal.ZERO)>0) {
                    cardScore[1] = cardPayAmount.divide(scoreSetting1).intValue();
                }
            }
            if(StringUtils.isNotBlank(principalBalanceConsumption.getParamValue2())){
                BigDecimal scoreSetting2 = new BigDecimal(principalBalanceConsumption.getParamValue2());
                cardScore[2]= cardPayAmount.divide(scoreSetting2).intValue();
                if(scoreSetting2.compareTo(BigDecimal.ZERO)>0) {
                    cardScore[2] = cardPayAmount.divide(scoreSetting2).intValue();
                }
            }
        }
@@ -601,16 +615,22 @@
                &&StringUtils.isNotBlank(bonusBalanceConsumption.getParamValue())){
            BigDecimal scoreSetting0 = new BigDecimal(bonusBalanceConsumption.getParamValue());
            giftScore[0]= giftPayAmount.divide(scoreSetting0).intValue();
            if(scoreSetting0.compareTo(BigDecimal.ZERO)>0) {
                giftScore[0] = giftPayAmount.divide(scoreSetting0).intValue();
            }
            if(StringUtils.isNotBlank(bonusBalanceConsumption.getParamValue1())){
                BigDecimal scoreSetting1 = new BigDecimal(bonusBalanceConsumption.getParamValue1());
                giftScore[1]= giftPayAmount.divide(scoreSetting1).intValue();
                if(scoreSetting1.compareTo(BigDecimal.ZERO)>0) {
                    giftScore[1] = giftPayAmount.divide(scoreSetting1).intValue();
                }
            }
            if(StringUtils.isNotBlank(bonusBalanceConsumption.getParamValue2())){
                BigDecimal scoreSetting2 = new BigDecimal(bonusBalanceConsumption.getParamValue2());
                giftScore[2]= giftPayAmount.divide(scoreSetting2).intValue();
                if(scoreSetting2.compareTo(BigDecimal.ZERO)>0) {
                    giftScore[2] = giftPayAmount.divide(scoreSetting2).intValue();
                }
            }
        }
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java
@@ -10,7 +10,6 @@
import com.matrix.system.common.bean.BusParameterSettings;
import com.matrix.system.common.constance.AppConstance;
import com.matrix.system.common.dao.BusParameterSettingsDao;
import com.matrix.system.common.interceptor.HostInterceptor;
import com.matrix.system.hive.bean.MoneyCardUse;
import com.matrix.system.hive.bean.MoneyCardUseFlow;
import com.matrix.system.hive.bean.SysVipInfo;
@@ -160,12 +159,12 @@
                            //设置支付状态为支付成功
                            modifyMap.put("payStatus", ShopOrder.ORDER_PAY_STATUS_SUCCESS);
                            //设置订单状态
                            if (ShopOrder.ORDER_TYPE_GOODS == order.getOrderType()) {
                            if (ShopOrder.SHIPPING_METHOD_WL == order.getShippingMethod()) {
                                //如果是商品订单则进入待发货
                                modifyMap.put("orderStatus", ShopOrder.ORDER_STATUS_WAIT_SEND);
                            } else {
                                //如果是服务订单则进入待评价
                                modifyMap.put("orderStatus", ShopOrder.ORDER_STATUS_WAIT_REMARK);
                            } else if (ShopOrder.SHIPPING_METHOD_MDZT == order.getShippingMethod()) {
                                //如果是门店自提则进入待收款
                                modifyMap.put("orderStatus", ShopOrder.ORDER_STATUS_WAIT_RECEIVE);
                            }
                            shopOrderDao.updateByMap(modifyMap);
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java
@@ -1,7 +1,7 @@
package com.matrix.system.shopXcx.api.action;
import cn.hutool.core.collection.CollUtil;
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;
@@ -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;
@@ -35,6 +41,9 @@
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
@@ -60,6 +69,15 @@
    
    @Autowired
    private ActivitySignRecordDao activitySignRecordDao;
    @Autowired
    ShopDeliveryInfoDao shopDeliveryInfoDao;
    @Autowired
    private ShopLogisticsInfoDao shopLogisticsInfoDao;
    @Autowired
    private WxShopLogisticsQueryService wxShopLogisticsQueryService;
    
    @ApiOperation(value = "获取签到基本信息", notes = "")
    @ApiResponses({
@@ -102,12 +120,34 @@
        }
        /**
         * 默认获取当前月份
         *      已经签到的日期
         *      获取当前月份的天数
         */
        List<ActivitySignRecordVo> activitySignRecordVos = activitySignRecordDao.selectRecordByMonth(actId,userId,DateUtil.date());
        if(CollUtil.isNotEmpty(activitySignRecordVos)){
            signBasicInfoVo.setActivitySignRecords(activitySignRecordVos);
        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);
@@ -115,8 +155,92 @@
        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
     * @param month
     * @return
     */
    public 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;
    }
    /**
     * 获取当月的 天数
     * */
    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;
    }
    /**
     * 点击签到
     *
     */
@@ -204,7 +328,8 @@
            activitySignReceiveRecord.setUpdateBy(user.getVipName());
            activitySignReceiveRecord.setUpdateTime(new Date());
            activitySignReceiveRecordDao.insert(activitySignReceiveRecord);
            signSuccessVo.setScoreCnt(activitySignAwardSetNormal.getScoreCnt());
            signSuccessVo.setNormalAwardName(activitySignAwardSetNormal.getAwardName());
            signSuccessVo.setNormalAwardImg(activitySignAwardSetNormal.getIntroduceImg());
        }
@@ -385,7 +510,7 @@
     *
     * @return
     */
    @ApiOperation(value = "查看劵码", notes = "")
    @ApiOperation(value = "物流配送信息查看", notes = "")
    @PostMapping(value = "/logisticsInsure")
    @ApiResponses({
            @ApiResponse(code = 200, message = "ok", response = SeeAwardTextVo.class)
@@ -395,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, "收货成功!");
    }
    
    
    
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java
@@ -369,8 +369,7 @@
    @ResponseBody
    public AjaxResult findServiceOrderList(@RequestBody @Validated ErpServiceOrderListDto orderListDto) {
        SysVipInfo sysVipInfo = redisUserLoginUtils.getLoginUser(SysVipInfo.class);
        SysVipInfo vipInfo= vipInfoDao.selectByPhone(sysVipInfo.getPhone(),HostInterceptor.getCompanyId());
        orderListDto.setVipId(vipInfo.getId());
        orderListDto.setVipId(sysVipInfo.getId());
        List<ErpServiceOrderListVo> apiServiceOrderListInPage = projServicesDao.findWxServiceOrderList(orderListDto);
        return AjaxResult.buildSuccessInstance(apiServiceOrderListInPage,"查询成功");
    }
zq-erp/src/main/java/com/matrix/system/shopXcx/api/pojo/ShopOrderDto.java
@@ -22,7 +22,7 @@
    /**
     *  配送方式(1=物流,2=门店自取)
     */
    private String deliverySelect;
    private Integer deliverySelect;
    /**
     *  配送门店ID
zq-erp/src/main/java/com/matrix/system/shopXcx/api/tools/WxShopOrderUtil.java
@@ -216,14 +216,19 @@
    /**
     * 新增发货信息
     */
    public int insertSendPackageInfo(ShopOrder shopOrder, String shippingMethod, ShopReceiveAddress receiveAddress) {
    public int insertSendPackageInfo(ShopOrder shopOrder, Integer shippingMethod, ShopReceiveAddress receiveAddress) {
        ShopDeliveryInfo shopDeliveryInfo = new ShopDeliveryInfo();
        shopDeliveryInfo.setCreateBy(AppConstance.SYSTEM_USER);
        shopDeliveryInfo.setUpdateBy(AppConstance.SYSTEM_USER);
        shopDeliveryInfo.setOrderId(shopOrder.getId());
        shopDeliveryInfo.setOrderNo(shopOrder.getOrderNo());
        shopDeliveryInfo.setUserId(shopOrder.getUserId());
        shopDeliveryInfo.setDeliveryWay(shippingMethod);
        if(ShopOrder.SHIPPING_METHOD_WL==shippingMethod){
            shopDeliveryInfo.setDeliveryWay("物流配送");
        }else{
            shopDeliveryInfo.setDeliveryWay("门店自提");
        }
        shopDeliveryInfo.setShopId(shopOrder.getStoreId().longValue());
        shopDeliveryInfo.setCompanyId(shopOrder.getCompanyId());
        StringBuffer receiveAddrStr = new StringBuffer();
zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/ActivitySignRecordVo.java
@@ -4,20 +4,12 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel(value = "ActivitySignRecordVo", description = "签到明细")
public class ActivitySignRecordVo {
    /**
     * userId
     */
    @ApiModelProperty(value ="userId")
    private Long  userId;
    @ApiModelProperty(value ="签到状态 1:已签到 2:未签到")
    private int state;
    /**
     * 签到时间
     */
@@ -25,16 +17,7 @@
    @ApiModelProperty(value ="签到时间")
    private Date  signTime;
    /**
     * 累计签到天数
     */
    @ApiModelProperty(value ="累计签到天数")
    private Integer  cumulativeDay;
    private String  signTime;
    /**
     * 活动主表ID
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;
}
zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignAwardListVo.java
@@ -27,7 +27,7 @@
    @ApiModelProperty(value ="数量")
    private int  total;
    
    @ApiModelProperty(value ="是否已领取(1:待领取2:已领取)")
    @ApiModelProperty(value ="是否已领取(1:待领取2:已领取 3:待配送 4:待收货)")
    private Integer  state;
    
    @ApiModelProperty(value ="领取时间")
zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopOrder.java
@@ -3,6 +3,7 @@
import com.matrix.core.pojo.EntityDTO;
import com.matrix.core.anotations.Extend;
import com.matrix.core.tools.DateUtil;
import io.swagger.models.auth.In;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
@@ -126,6 +127,18 @@
    public static final int ACTIVITY_TYPE_SECKILL = 3;
    /**
     * 物流配送
     */
    public static final int SHIPPING_METHOD_WL = 1;
    /**
     * 门店自提
     */
    public static final int SHIPPING_METHOD_MDZT = 2;
    /**
     * 主键
     */
    private Integer id;
@@ -225,7 +238,7 @@
    /**
     * 配送方式(1=物流,2=门店自取)
     */
    private String shippingMethod;
    private Integer shippingMethod;
    /**
     * 配送门店ID
@@ -467,11 +480,11 @@
        this.remarks = remarks;
    }
    public String getShippingMethod() {
    public Integer getShippingMethod() {
        return shippingMethod;
    }
    public void setShippingMethod(String shippingMethod) {
    public void setShippingMethod(Integer shippingMethod) {
        this.shippingMethod = shippingMethod;
    }
zq-erp/src/main/java/com/matrix/system/shopXcx/dto/CreateGroupBuyDTO.java
@@ -40,7 +40,7 @@
    /**
     * 配送方式
     */
    private String shippingMethod;
    private Integer shippingMethod;
    /**
     * 拼团ID
zq-erp/src/main/java/com/matrix/system/shopXcx/dto/CreateSecKillDTO.java
@@ -1,11 +1,14 @@
package com.matrix.system.shopXcx.dto;
import lombok.Data;
import java.math.BigDecimal;
/**
 * @author wzy
 * @date 2020-04-09 15:49
 **/
@Data
public class CreateSecKillDTO {
    /**
@@ -31,7 +34,7 @@
    /**
     * 配送方式
     */
    private String shippingMethod;
    private Integer shippingMethod;
    private BigDecimal price;
@@ -39,67 +42,4 @@
    private String openId;
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public Integer getAddressId() {
        return addressId;
    }
    public void setAddressId(Integer addressId) {
        this.addressId = addressId;
    }
    public Integer getCount() {
        return count;
    }
    public void setCount(Integer count) {
        this.count = count;
    }
    public Long getShopId() {
        return shopId;
    }
    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }
    public String getShippingMethod() {
        return shippingMethod;
    }
    public void setShippingMethod(String shippingMethod) {
        this.shippingMethod = shippingMethod;
    }
    public BigDecimal getPrice() {
        return price;
    }
    public void setPrice(BigDecimal price) {
        this.price = price;
    }
    public Integer getGoodsId() {
        return goodsId;
    }
    public void setGoodsId(Integer goodsId) {
        this.goodsId = goodsId;
    }
    public String getOpenId() {
        return openId;
    }
    public void setOpenId(String openId) {
        this.openId = openId;
    }
}
zq-erp/src/main/resources/config/application.properties
@@ -2,6 +2,7 @@
server.port=8080
<<<<<<< HEAD
#线上测试环境
#spring.datasource.username=ct_test
@@ -16,6 +17,18 @@
spring.datasource.username=hive
spring.datasource.password=hive123!@#
spring.datasource.url=jdbc:mysql://124.70.222.34/hive_prd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
=======
#spring.datasource.username=hive
#spring.datasource.password=hive123!@#
#spring.datasource.url=jdbc:mysql://124.70.222.34/hive_prd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
spring.datasource.username=hive
spring.datasource.password=hive123!@#
spring.datasource.url=jdbc:mysql://124.70.222.34:3306/hive_prd?useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
>>>>>>> d85af61932a03bd03663daf9da33177af5824a5c
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.initialSize=3
zq-erp/src/main/resources/config/db/increment/2021-04-20bug.sql
New file
@@ -0,0 +1,5 @@
update shop_order set shipping_method='1' where shipping_method='物流配送';
update shop_order set shipping_method='2' where shipping_method='立即配送';
ALTER TABLE  `shop_order`
MODIFY COLUMN `shipping_method` int(2) NULL DEFAULT NULL AFTER `remarks`;
zq-erp/src/main/resources/config/prd/application.properties
@@ -2,12 +2,13 @@
server.port=8080
#spring.datasource.username=hive_data
#spring.datasource.password=hive_4321#&@
#spring.datasource.url=jdbc:mysql://119.3.52.84:3306/hive_prd?useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
spring.datasource.username=chuhuan
spring.datasource.password=chuhuan
spring.datasource.url=jdbc:mysql://121.37.162.173:3306/hive_prd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
#spring.datasource.username=hive
#spring.datasource.password=hive123!@#
#spring.datasource.url=jdbc:mysql://124.70.222.34:3306/hive_prd?useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
spring.datasource.username=hive
spring.datasource.password=hive123!@#
spring.datasource.url=jdbc:mysql://124.70.222.34:3306/hive_prd?useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
@@ -28,8 +29,8 @@
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
spring.thymeleaf.prefix: classpath:/templates/views/
spring.thymeleaf.cache=false
mybatis.config-location=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath*:mybatis/mapper/*/*.xml
mybatis-plus.config-location=classpath:mybatis/mybatis-config.xml
mybatis-plus.mapper-locations=classpath*:mybatis/mapper/**/*.xml
#设置全局时间返回格式 第三行设置为true表示返回时间戳
#spring.jackson.date-format=yyyy-MM-dd
#spring.jackson.time-zone=GMT+8
zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml
@@ -86,7 +86,6 @@
        LEFT JOIN activity_sign_award_set b ON a.award_id = b.id
        where
              b.award_type = 1
              and a.state = 1
              and a.company_id = #{companyId}
            and a.user_id = #{userId}
@@ -107,7 +106,6 @@
        LEFT JOIN activity_sign_award_set b ON a.award_id = b.id
        WHERE
        b.award_type = 1
        AND a.state = 1
        and a.company_id = #{record.companyId}
        and a.user_id = #{record.userId}
        <if test="record.sort !=null">
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>
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-logistics-info.html
@@ -49,7 +49,7 @@
                        <el-row style="display:flex;">
                            <el-col>
                                <el-form-item label="奖品图片:" :label-width="formLabelWidth">
                                    {{formSelect.jptp}}
                                    <img :src="formSelect.jptp" style="max-width: 200px;">
                                </el-form-item>
                            </el-col>
                            <el-col>
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-update.html
@@ -417,13 +417,8 @@
                                                                          stripe:true
                                                                          style="width: 100%">
                                                                    <el-table-column
                                                                            prop="cname"
                                                                            label="优惠券名称"
                                                                            show-overflow-tooltip>
                                                                    </el-table-column>
                                                                    <el-table-column
                                                                            prop="endTime"
                                                                            label="截止日期"
                                                                            prop="name"
                                                                            label="名称"
                                                                            show-overflow-tooltip>
                                                                    </el-table-column>
                                                                    <el-table-column
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-writeoff-info.html
@@ -31,7 +31,7 @@
                <el-row style="display:flex;">
                    <el-col :span="6">
                        <el-form-item label="奖品图片:" :label-width="formLabelWidth">
                            {{formSelect.jptp}}
                            <img :src="formSelect.jptp" style="max-width: 200px;">
                        </el-form-item>
                    </el-col>
                    <el-col :span="6">
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html
@@ -423,13 +423,8 @@
                                                                              stripe:true
                                                                              style="width: 100%">
                                                                        <el-table-column
                                                                                prop="cname"
                                                                                label="优惠券名称"
                                                                                show-overflow-tooltip>
                                                                        </el-table-column>
                                                                        <el-table-column
                                                                                prop="endTime"
                                                                                label="截止日期"
                                                                                prop="name"
                                                                                label="名称"
                                                                                show-overflow-tooltip>
                                                                        </el-table-column>
                                                                        <el-table-column
zq-erp/src/test/java/com/matrix/FenxiaoSoreInitTest.java
@@ -1,14 +1,19 @@
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;
@@ -19,7 +24,10 @@
import org.springframework.boot.test.context.SpringBootTest;
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)
@@ -27,20 +35,91 @@
public class FenxiaoSoreInitTest {
    
    @Autowired
    private BusParameterSettingsDao busParameterSettingsDao;
    @Autowired
    private ShopActivitiesDao shopActivitiesDao;
    @Autowired
    private ActivitySignAwardSetDao activitySignAwardSetDao;
    @Test
    public void getSignBasicInfo() {
    @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;
    }
    /**
     *  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());
@@ -49,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
@@ -64,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;
//    }
}