From 050ff0dfc04d4ca2a33ac0e97c98f042b9f95df6 Mon Sep 17 00:00:00 2001
From: li-guang <153605324@qq.com>
Date: Wed, 07 Apr 2021 11:56:06 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/score_shop' into score_shop

---
 zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html                      |    2 
 zq-erp/src/main/java/com/matrix/system/app/action/ApiSettingAction.java                        |   47 +
 zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopProductComment.java                    |   11 
 zq-erp/src/main/resources/config/db/increment/签到活动.sql                                         |    8 
 zq-erp/src/main/java/com/matrix/system/job/InvalidTimeJob.java                                 |    2 
 zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignReceiveRecord.java          |    3 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignBasicInfoVo.java                     |   33 
 zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopActivityPayTimeOutQuartz.java        |   11 
 zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopActivityGroupJoinTimeOutQuartz.java  |   11 
 zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html               |   37 
 zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java                   |    2 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxProductCommentAction.java          |   22 
 zq-erp/src/main/java/com/matrix/system/job/ServiceOvertimeNoticeJob.java                       |    9 
 zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignAwardSetDao.java               |    6 
 zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml                                |    4 
 zq-erp/src/main/resources/static/js/function/vip.js                                            |    4 
 zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopActivitiesAction.java                |   40 
 zq-erp/src/main/java/com/matrix/system/app/vo/ParameterSettingVo.java                          |   39 +
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignBasicInfoJsonVo.java                 |   31 
 zq-erp/src/main/java/com/matrix/system/score/entity/ScoreVipDetail.java                        |   10 
 zq-erp/src/main/java/com/matrix/ZqErpApplication.java                                          |    1 
 zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopActivitiesDao.java                      |    3 
 zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java               |   41 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/ClickSignDTO.java                       |   17 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/ActivitySignAwardSetVo.java              |  174 ++++
 zq-erp/src/main/java/com/matrix/system/score/constant/ScoreSettingConstant.java                |    5 
 zq-erp/src/main/resources/mybatis/mapper/score/ScoreVipDetailDao.xml                           |    9 
 zq-erp/src/main/java/com/matrix/system/score/dao/ScoreVipDetailDao.java                        |    4 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java                     |   31 
 zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java                                      |    2 
 zq-erp/src/main/resources/templates/views/admin/activity/activity-market.html                  |   67 +
 zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java                               |    2 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java                    |    9 
 zq-erp/src/main/resources/config/application.properties                                        |    2 
 zq-erp/src/main/java/com/matrix/system/common/service/impl/InitBusParameterSettingService.java |    1 
 zq-erp/src/main/java/com/matrix/system/score/service/ScoreVipDetailService.java                |  141 ++-
 zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignRecordDao.java                 |    5 
 zq-erp/src/main/java/com/matrix/system/score/action/ScoreRuleSettingAction.java                |    6 
 zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html                      |   46 +
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShareProductAction.java            |    4 
 zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-update.html             |  265 +++++++
 zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/ScoreOrderTask.java                      |   83 +
 zq-erp/src/main/resources/templates/views/admin/hive-erp/score/score-setting.html              |   21 
 zq-erp/src/test/java/com/matrix/FenxiaoSoreInitTest.java                                       |   78 ++
 zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopActivityTimeOutQuartz.java           |    9 
 zq-erp/src/main/java/com/matrix/system/score/scheduledJob/ScoreScheduledJob.java               |   64 +
 zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopShareQrcord.java                       |   69 -
 zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopCouponQuartz.java                    |   14 
 zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignRecordDao.xml                    |   11 
 zq-erp/src/main/java/com/matrix/config/TaskScheduleConfig.java                                 |   16 
 zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopAutomaticReceiveQuartz.java          |   11 
 zq-erp/src/main/java/com/matrix/system/hive/statistics/StatisticsBusinessDataJob.java          |    8 
 zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java       |    2 
 zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html                    |    2 
 zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java                         |   12 
 zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesDao.xml                         |   18 
 zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java                               |   10 
 zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java                   |    4 
 zq-erp/src/main/resources/templates/views/admin/activity/activity-list.html                    |  142 +++
 zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java                                     |   92 ++
 zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java                  |    8 
 zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/daily-list-new.html        |    2 
 zq-erp/src/main/java/com/matrix/system/activity/dto/UpdateSignAwardSetDto.java                 |    7 
 zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignAwardSetDao.xml                  |   67 -
 zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html            |    2 
 zq-erp/src/main/java/com/matrix/system/common/constance/AppConstance.java                      |    8 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java      |  175 ++++
 67 files changed, 1,765 insertions(+), 337 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/ZqErpApplication.java b/zq-erp/src/main/java/com/matrix/ZqErpApplication.java
index ff662ff..4502fc0 100644
--- a/zq-erp/src/main/java/com/matrix/ZqErpApplication.java
+++ b/zq-erp/src/main/java/com/matrix/ZqErpApplication.java
@@ -3,7 +3,6 @@
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.context.annotation.ComponentScan;
-import org.springframework.scheduling.annotation.EnableAsync;
 
 /**
  * spring boot入口
diff --git a/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java b/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java
index 8520ba6..3c91072 100644
--- a/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java
+++ b/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java
@@ -20,7 +20,7 @@
  * @description 容器添加组件
  * @date 2019-06-14 15:50
  */
-@Configuration
+@Configuration()
 @PropertySource("classpath:config/system.properties")
 public class MvcCoreConfig implements WebMvcConfigurer {
 
diff --git a/zq-erp/src/main/java/com/matrix/config/TaskScheduleConfig.java b/zq-erp/src/main/java/com/matrix/config/TaskScheduleConfig.java
new file mode 100644
index 0000000..1d09724
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/config/TaskScheduleConfig.java
@@ -0,0 +1,16 @@
+package com.matrix.config;
+
+import com.matrix.core.tools.LogUtil;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.stereotype.Component;
+
+@Component
+@EnableScheduling
+@ConditionalOnProperty(name = "scheduling.enabled", havingValue= "true")
+public class TaskScheduleConfig {
+
+    public   TaskScheduleConfig(){
+        LogUtil.debug("**********定时任务启动**********");
+    }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignAwardSetDao.java b/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignAwardSetDao.java
index 4515800..bff7cc7 100644
--- a/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignAwardSetDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignAwardSetDao.java
@@ -3,6 +3,10 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.matrix.system.activity.entity.ActivitySignAwardSet;
+import com.matrix.system.shopXcx.api.vo.ActivitySignAwardSetVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @description 奖品设置表
@@ -11,4 +15,6 @@
  */
 public interface ActivitySignAwardSetDao extends BaseMapper<ActivitySignAwardSet>{
 
+	List<ActivitySignAwardSetVo> selectListByActIDAndCompanyId(@Param("actId")Long actId, @Param("companyId")Long companyId,@Param("awardState")int awardstateWork);
+
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignRecordDao.java b/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignRecordDao.java
index 770622a..ad74afb 100644
--- a/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignRecordDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dao/ActivitySignRecordDao.java
@@ -1,6 +1,8 @@
 package com.matrix.system.activity.dao;
 
 
+import org.apache.ibatis.annotations.Param;
+
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.matrix.system.activity.entity.ActivitySignRecord;
 
@@ -11,4 +13,7 @@
  */
 public interface ActivitySignRecordDao extends BaseMapper<ActivitySignRecord>{
 
+	ActivitySignRecord selectOneByActIdAndUserIdLikesignTime(@Param("actId")long actId,
+			@Param("userId")Long userId, @Param("format")String format);
+
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/dto/UpdateSignAwardSetDto.java b/zq-erp/src/main/java/com/matrix/system/activity/dto/UpdateSignAwardSetDto.java
index 186ffd8..20134c2 100644
--- a/zq-erp/src/main/java/com/matrix/system/activity/dto/UpdateSignAwardSetDto.java
+++ b/zq-erp/src/main/java/com/matrix/system/activity/dto/UpdateSignAwardSetDto.java
@@ -1,11 +1,12 @@
 package com.matrix.system.activity.dto;
 
-import java.util.Date;
-import java.util.List;
 import com.matrix.system.activity.entity.ActivitySignAwardSet;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
 
 @Data
 @ApiModel(value = "UpdateSignAwardSetDto", description = "查询参数")
@@ -25,7 +26,7 @@
 	private List<ActivitySignAwardSet> activitySignAwardSets;
 	
 	@ApiModelProperty(value ="活动主表ID")
-	private Long actId;
+	private Long actMainId;
 	
 	@ApiModelProperty(hidden = true)
 	private Long companyId;
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java b/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java
index a1c7bf9..ccfea36 100644
--- a/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java
+++ b/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.matrix.core.anotations.Extend;
 import com.matrix.system.score.entity.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.Date;
@@ -26,35 +27,45 @@
 	 * 奖项类型(1:自定义产品2:积分3:优惠券4:店铺商品)
 	 */
 
-
+	@ApiModelProperty(value ="奖项类型(1:自定义产品2:积分3:优惠券4:店铺商品)")
 	private int  awardType;
+
+
+	public static final int AWARDTYPE_CUSTOMIZE = 1;
+	public static final int AWARDTYPE_SCORE = 2;
+	public static final int AWARDTYPE_COUPON = 3;
+	public static final int AWARDTYPE_GOODS = 4;
 	
 	/**
 	 * 奖项规则(1:每日奖励(默认)2:累计签到天数)
 	 */
 
 
+	@ApiModelProperty(value ="奖项规则(1:每日奖励(默认)2:累计签到天数)")
 	private int  awardRule;
+
+	public static final int AWARDRULE_NORMAL = 1;
+	public static final int AWARDRULE_CUMULATIVEDAY = 2;
 	
 	/**
 	 * 签到累计天数
 	 */
 
-
+	@ApiModelProperty(value ="签到累计天数")
 	private int  cumulativeDay;
 	
 	/**
 	 * 奖项名称
 	 */
 
-
+	@ApiModelProperty(value ="奖项名称")
 	private String  awardName;
 	
 	/**
 	 * 图片介绍
 	 */
 
-
+	@ApiModelProperty(value ="图片介绍")
 	private String  introduceImg;
 	
 	/**
@@ -62,6 +73,7 @@
 	 */
 
 
+	@ApiModelProperty(value ="文字介绍")
 	private String  introduceTip;
 	
 	/**
@@ -69,6 +81,7 @@
 	 */
 
 
+	@ApiModelProperty(value ="奖项库存数量")
 	private int  awardInventoryCnt;
 	
 	/**
@@ -76,6 +89,7 @@
 	 */
 
 
+	@ApiModelProperty(value ="已派发数量")
 	private int  awardDistributeCnt;
 	
 	/**
@@ -83,11 +97,13 @@
 	 */
 
 
+	@ApiModelProperty(value ="兑奖方式(1:线下兑换2:物流配送3:客服兑换)")
 	private int  awardWay;
 	
 	/**
 	 * 奖品是否有效(1:有效 2:无效)
 	 */
+	@ApiModelProperty(value ="奖品是否有效(1:有效 2:无效)")
 	private int  awardState;
 	public static final int AWARDSTATE_WORK = 1;
 	public static final int AWARDSTATE_UNWORK = 2;
@@ -96,14 +112,14 @@
 	 * 操作提示
 	 */
 
-
+	@ApiModelProperty(value ="操作提示")
 	private String  operationTip;
 	
 	/**
 	 * 兑奖地址
 	 */
 
-
+	@ApiModelProperty(value ="兑奖地址")
 	private String  prizeAddress;
 	
 	/**
@@ -111,20 +127,21 @@
 	 */
 
 
+	@ApiModelProperty(value ="兑奖期限开始日期")
 	private Date  prizeStartTime;
 	
 	/**
 	 * 兑奖期限结束日期
 	 */
 
-
+	@ApiModelProperty(value ="兑奖期限结束日期")
 	private Date  prizeEndTime;
 	
 	/**
 	 * 客服微信
 	 */
 
-
+	@ApiModelProperty(value ="客服微信")
 	private String  wechatImg;
 	
 	/**
@@ -132,23 +149,27 @@
 	 */
 
 
+	@ApiModelProperty(value ="积分数量")
 	private int  scoreCnt;
 	
 	/**
 	 * 优惠券ID
 	 */
 
-	
+	@ApiModelProperty(value ="优惠券")
 	private String  couponName;
 
+	@ApiModelProperty(value ="优惠券ID")
 	private String  couponId;
 	
 	/**
 	 * 商品ID
 	 */
 
+	@ApiModelProperty(value ="商品")
 	private String  goodsName;
 
+	@ApiModelProperty(value ="商品ID")
 	private String  goodsId;
 	
 	/**
@@ -156,6 +177,7 @@
 	 */
 
 
+	@ApiModelProperty(value ="活动主表ID")
 	private Long  activityId;
 	
 	/**
@@ -163,6 +185,7 @@
 	 */
 
 
+	@ApiModelProperty(value ="公司ID")
 	private Long  companyId;
 
 
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignReceiveRecord.java b/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignReceiveRecord.java
index ab1b4be..4782536 100644
--- a/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignReceiveRecord.java
+++ b/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignReceiveRecord.java
@@ -56,6 +56,9 @@
 
 
 	private Integer  state;
+
+	public static final int STATE_ING = 1;
+	public static final int STATE_DONE = 2;
 	
 	/**
 	 * 核销码
diff --git a/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java b/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java
index 8839bcd..7d34fb6 100644
--- a/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java
+++ b/zq-erp/src/main/java/com/matrix/system/activity/service/ActivitySignAwardSetService.java
@@ -189,7 +189,7 @@
 		//获取当前登录人员信息
         QueryUtil.setQueryLimitCom(updateSignAwardSetDto);
         SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
-        Long actId = updateSignAwardSetDto.getActId();
+        Long actId = updateSignAwardSetDto.getActMainId();
         Long companyId = user.getCompanyId();
         ShopActivities shopActivity = shopActivitiesDao.selectById(actId);
         //更新活动主表信息
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
index 1ea1ccc..2b580f6 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
@@ -11,10 +11,10 @@
 import com.matrix.system.app.dto.UploadPhotoDto;
 import com.matrix.system.app.utils.Sms106Send;
 import com.matrix.system.app.vo.UserInfoVo;
-import com.matrix.system.common.authority.DefaultAuthorityManager;
 import com.matrix.system.common.authority.strategy.AccountPasswordLogin;
 import com.matrix.system.common.authority.strategy.LoginStrategy;
 import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.dao.BusParameterSettingsDao;
 import com.matrix.system.common.service.SysUsersService;
 import com.matrix.system.common.tools.PasswordUtil;
 import com.matrix.system.common.tools.UploadUtil;
@@ -62,6 +62,9 @@
 
     @Autowired
     private AppAuthorityManager authorityManager;
+
+    @Autowired
+    private BusParameterSettingsDao busParameterSettingsDao;
 
     @Autowired
     private RedisClient redisClient;
@@ -220,4 +223,11 @@
     public AjaxResult findAppVersion() {
         return AjaxResult.buildSuccessInstance(sysUsersService.findAppVersion());
     }
+
+
+
+
+
+
+
 }
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
index d9285cb..01db2dd 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
@@ -150,9 +150,7 @@
             throw new GlobleException("请选择服务");
         }
         SysVipInfo vipInfo = sysVipInfoService.findById(serviceOrderDto.getVipId());
-//        if (StringUtils.isBlank(vipInfo.getPassWord())) {
-//            return AjaxResult.buildFailInstance("未设置资金密码");
-//        }
+
 
         if (StringUtils.isNotBlank(vipInfo.getPassWord())) {
             if (!vipInfo.getPassWord().equals(serviceOrderDto.getPassword())) {
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiSettingAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiSettingAction.java
new file mode 100644
index 0000000..312228d
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiSettingAction.java
@@ -0,0 +1,47 @@
+package com.matrix.system.app.action;
+
+import com.matrix.core.constance.MatrixConstance;
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.tools.WebUtil;
+import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.constance.AppConstance;
+import com.matrix.system.common.dao.BusParameterSettingsDao;
+import com.matrix.system.hive.bean.AppVersion;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author jyy
+ * @date 2020-12-21
+ **/
+@CrossOrigin(origins = "*")
+@Api(value = "ApiSettingAction", tags = "配置查询类")
+@RestController
+@RequestMapping(value = "/api/setting")
+public class ApiSettingAction {
+
+
+    @Autowired
+    private BusParameterSettingsDao busParameterSettingsDao;
+
+
+    @ApiOperation(value = "获取app配置", notes = "获取app配置")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "ok", response = AppVersion.class)
+    })
+    @GetMapping(value = "/findAppSettings")
+    public AjaxResult findAppSettings() {
+        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+        AjaxResult result = AjaxResult.buildSuccessInstance("查询成功");
+        result.putInMap(AppConstance.APP_BANNER_GL, busParameterSettingsDao.selectCompanyParamByCode(AppConstance.APP_BANNER_GL,user.getCompanyId()));
+        return result;
+    }
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/ParameterSettingVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/ParameterSettingVo.java
new file mode 100644
index 0000000..b7f82c7
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/ParameterSettingVo.java
@@ -0,0 +1,39 @@
+package com.matrix.system.app.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * jyy
+ */
+@Data
+@ApiModel(value = "ParameterSettingVo", description = "配置返回参数类")
+public class ParameterSettingVo  {
+
+    @ApiModelProperty(value = "参数编码ID")
+    private Long paramId;
+
+
+    @ApiModelProperty(value = "参数编码")
+    private String paramCode;
+
+
+
+    @ApiModelProperty(value = "参数值")
+    private String paramValue;
+
+
+    @ApiModelProperty(value = "值1")
+    private String paramValue1;
+
+
+    @ApiModelProperty(value = "值2")
+    private String paramValue2;
+
+
+    @ApiModelProperty(value = "值3")
+    private String paramValue3;
+
+
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/common/constance/AppConstance.java b/zq-erp/src/main/java/com/matrix/system/common/constance/AppConstance.java
index 957ed99..2d78a95 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/constance/AppConstance.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/constance/AppConstance.java
@@ -553,6 +553,14 @@
      */
     public static final String WECHARPAY_CERTLOCAL_PATH = "certLocalPath";
 
+    /**
+     * APP管理模块Banner
+     */
+    public static final String APP_BANNER_GL = "APP_BANNER_GL";
+
+
+
+
 
 
 
diff --git a/zq-erp/src/main/java/com/matrix/system/common/service/impl/InitBusParameterSettingService.java b/zq-erp/src/main/java/com/matrix/system/common/service/impl/InitBusParameterSettingService.java
index 0c35449..b7f5673 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/service/impl/InitBusParameterSettingService.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/service/impl/InitBusParameterSettingService.java
@@ -37,7 +37,6 @@
         ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.CASH_CONSUMPTION_SHOP, companyId));
         ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.RESERVATION_SERVICE_SHOP, companyId));
         ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.EVALUATUIN_ORDER_SHOP, companyId));
-        ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.SIGN_SHOP, companyId));
 
         busParameterSettingsDao.batchInsert(ruleSettings);
     }
diff --git a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java
index b8f81ed..52b6c4f 100644
--- a/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/fenxiao/dao/ShopSalesmanApplyDao.java
@@ -24,7 +24,7 @@
  */
 public interface ShopSalesmanApplyDao extends BaseMapper<ShopSalesmanApply> {
 
-    IPage<SalesmanVo> selectInvitationuserInPage(Page<SalesmanVo> page, @Param("id") Long userId, @Param("isSales")String isSales);
+    IPage<SalesmanVo> selectInvitationuserInPage(Page<SalesmanVo> page, @Param("userId") Long userId, @Param("isSales")String isSales);
 
     IPage<SalesmanVo> selectInvitationuserInPage(Page<SalesmanVo> page, @Param("userId") Long userId);
 
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java
index 155bb91..00b210a 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java
@@ -186,13 +186,7 @@
         AjaxResult result = AjaxResult.buildSuccessInstance("查询成功");
 
         SysProjUse queryUse = new SysProjUse();
-        if(Objects.nonNull(vipId)){
-            queryUse.setVipId(vipId);
-        }else{
-            SysVipInfo vipInfo = getCurrentVioInfo();
-            queryUse.setVipId(vipInfo.getId());
-        }
-
+        queryUse.setVipId(vipId);
         queryUse.setType(Dictionary.SHOPPING_GOODS_TYPE_XM);
         queryUse.setTaocanId(-1L);
         queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java
index dcfc9cf..2c08183 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java
@@ -79,6 +79,8 @@
 	 * 购买业绩
 	 */
 	private Double  goodsCash;
+
+	private Double cardCash;
 	
 	/**
 	 * 赠送消耗
@@ -247,6 +249,14 @@
 
 	private String cateName;
 
+	public Double getCardCash() {
+		return cardCash;
+	}
+
+	public void setCardCash(Double cardCash) {
+		this.cardCash = cardCash;
+	}
+
 	public String getCateName() {
 		return cateName;
 	}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java
index 3a4f2bf..72f4119 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java
@@ -261,7 +261,7 @@
 	/**
 	 * 性别 1、男  2、女  0、未知
 	 */
-	private String  gender;
+	private Integer  gender;
 
 	/**
 	 * 用户所在国家
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/statistics/StatisticsBusinessDataJob.java b/zq-erp/src/main/java/com/matrix/system/hive/statistics/StatisticsBusinessDataJob.java
index 4e80ff7..257600e 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/statistics/StatisticsBusinessDataJob.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/statistics/StatisticsBusinessDataJob.java
@@ -18,11 +18,9 @@
 import static com.matrix.system.hive.statistics.BusinessDataTypeEnum.*;
 
 /**
- * 定时任务测试类
+ * 业绩统计报表定时任务
  *
- * @author zhangheng
- * @email 512061637@qq.com
- * @date 2019年1月15日
+ * @author jyy
  */
 @Component
 public class StatisticsBusinessDataJob {
@@ -72,7 +70,7 @@
     }
 
 
-    @Scheduled(cron = "0 0 0 1/1 * ?")
+    @Scheduled(cron = "1 0 0 1/1 * ?")
     public boolean executeExt() {
 
         LogUtil.info("业绩统计定时任务开始运行*******************");
diff --git a/zq-erp/src/main/java/com/matrix/system/job/InvalidTimeJob.java b/zq-erp/src/main/java/com/matrix/system/job/InvalidTimeJob.java
index 2cd048a..ae6680e 100644
--- a/zq-erp/src/main/java/com/matrix/system/job/InvalidTimeJob.java
+++ b/zq-erp/src/main/java/com/matrix/system/job/InvalidTimeJob.java
@@ -1,5 +1,6 @@
 package com.matrix.system.job;
 
+import com.matrix.core.tools.LogUtil;
 import com.matrix.system.constance.Dictionary;
 import com.matrix.system.hive.bean.MoneyCardUse;
 import com.matrix.system.hive.bean.SysProjUse;
@@ -27,6 +28,7 @@
 
     @Scheduled(cron = "0 0 0 * * ?")
     public void setProjUseToInvalid() {
+        LogUtil.info("#项目,套餐失效任务处理#");
         List<SysProjUse> sysProjUses = sysProjUseDao.selectHasValidProjUse();
 
         List<MoneyCardUse> moneyCardUses = moneyCardUseDao.selectHasValidMoneyCardUse();
diff --git a/zq-erp/src/main/java/com/matrix/system/job/ServiceOvertimeNoticeJob.java b/zq-erp/src/main/java/com/matrix/system/job/ServiceOvertimeNoticeJob.java
index 87889ad..72e4f56 100644
--- a/zq-erp/src/main/java/com/matrix/system/job/ServiceOvertimeNoticeJob.java
+++ b/zq-erp/src/main/java/com/matrix/system/job/ServiceOvertimeNoticeJob.java
@@ -2,14 +2,8 @@
 
 import com.matrix.component.rabbitmq.RabiitMqTemplate;
 import com.matrix.core.tools.LogUtil;
-import com.matrix.system.common.bean.SysUsers;
-import com.matrix.system.constance.Dictionary;
-import com.matrix.system.hive.bean.MoneyCardUse;
 import com.matrix.system.hive.bean.SysProjServices;
-import com.matrix.system.hive.bean.SysProjUse;
-import com.matrix.system.hive.dao.MoneyCardUseDao;
 import com.matrix.system.hive.dao.SysProjServicesDao;
-import com.matrix.system.hive.dao.SysProjUseDao;
 import com.matrix.system.hive.plugin.util.CollectionUtils;
 import com.matrix.system.shopXcx.mqTask.MQTaskRouting;
 import com.matrix.system.wechart.templateMsg.UniformMsgParam;
@@ -18,7 +12,6 @@
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
-import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -41,7 +34,7 @@
     /**
      * 每分钟执行一次
      */
-    @Scheduled(cron = "0 0/1 * * * ?")
+    @Scheduled(cron = "0/30 * * * * ?")
     public void serviceOvertimeNotice() {
 
         List<SysProjServices> needNoticeService=projServicesDao.selectNeedNoticeService();
diff --git a/zq-erp/src/main/java/com/matrix/system/score/action/ScoreRuleSettingAction.java b/zq-erp/src/main/java/com/matrix/system/score/action/ScoreRuleSettingAction.java
index ef1b141..25a2ee1 100644
--- a/zq-erp/src/main/java/com/matrix/system/score/action/ScoreRuleSettingAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/score/action/ScoreRuleSettingAction.java
@@ -90,13 +90,11 @@
        String[] scjfArrayCode={
     		   ScoreSettingConstant.CASH_CONSUMPTION_SHOP,
     		   ScoreSettingConstant.RESERVATION_SERVICE_SHOP,
-    		   ScoreSettingConstant.EVALUATUIN_ORDER_SHOP,
-    		   ScoreSettingConstant.SIGN_SHOP};
+    		   ScoreSettingConstant.EVALUATUIN_ORDER_SHOP};
        String[] scjfArrayName={
     		   "现金消费",
     		   "预约服务",
-    		   "评价订单",
-    		   "签到"};
+    		   "评价订单"};
        List<ScoreRuleSettingsVo> scjfRuleSettingsVo =getRuleSettingsVo(scjfArrayCode,scjfArrayName,companyId);
        result.putInMap("scjf", scjfRuleSettingsVo);
        return result;
diff --git a/zq-erp/src/main/java/com/matrix/system/score/constant/ScoreSettingConstant.java b/zq-erp/src/main/java/com/matrix/system/score/constant/ScoreSettingConstant.java
index bddeeea..134eeae 100644
--- a/zq-erp/src/main/java/com/matrix/system/score/constant/ScoreSettingConstant.java
+++ b/zq-erp/src/main/java/com/matrix/system/score/constant/ScoreSettingConstant.java
@@ -62,10 +62,5 @@
      */
     public final static String EVALUATUIN_ORDER_SHOP = "EVALUATUIN_ORDER_SHOP";
     public final static String EVALUATUIN_ORDER_SHOP_NAME = "评价订单";
-    /**
-     * 签到
-     */
-    public final static String SIGN_SHOP = "SIGN_SHOP";
-    public final static String SIGN_SHOP_NAME = "签到";
 
 }
diff --git a/zq-erp/src/main/java/com/matrix/system/score/dao/ScoreVipDetailDao.java b/zq-erp/src/main/java/com/matrix/system/score/dao/ScoreVipDetailDao.java
index 95e8d33..26be27d 100644
--- a/zq-erp/src/main/java/com/matrix/system/score/dao/ScoreVipDetailDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/score/dao/ScoreVipDetailDao.java
@@ -27,4 +27,8 @@
      * @return
      */
     List<ScoreVipDetail> selectEffectiveScore(@Param("vipId")Long vipId);
+
+    List<ScoreVipDetail> selectInvalidaVipScore();
+
+    int invalidVipScore();
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/score/entity/ScoreVipDetail.java b/zq-erp/src/main/java/com/matrix/system/score/entity/ScoreVipDetail.java
index 947e243..b32fe45 100644
--- a/zq-erp/src/main/java/com/matrix/system/score/entity/ScoreVipDetail.java
+++ b/zq-erp/src/main/java/com/matrix/system/score/entity/ScoreVipDetail.java
@@ -33,9 +33,19 @@
 	 */
 	public static final int SCORE_VIP_TYPE_REFERRER=3;
 	/**
+	 * 获取类型(4参加活动)
+	 */
+	public static final int SCORE_VIP_TYPE_JOIN_ACTIVE=4;
+
+
+	/**
 	 * 获取类型(4人工调整)
 	 */
 	public static final int SCORE_VIP_TYPE_USERCHANGE=4;
+	/**
+	 * 获取类型(5积分失效)
+	 */
+	public static final int SCORE_OVER_TIME=5;
 
 	/** 有效*/
 	public static final int SCORE_STATUS_YX=1;
diff --git a/zq-erp/src/main/java/com/matrix/system/score/scheduledJob/ScoreScheduledJob.java b/zq-erp/src/main/java/com/matrix/system/score/scheduledJob/ScoreScheduledJob.java
new file mode 100644
index 0000000..edef129
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/score/scheduledJob/ScoreScheduledJob.java
@@ -0,0 +1,64 @@
+package com.matrix.system.score.scheduledJob;
+
+
+import cn.hutool.core.date.DateTime;
+import com.matrix.core.tools.LogUtil;
+import com.matrix.system.common.constance.AppConstance;
+import com.matrix.system.score.dao.ScoreUseRecordDao;
+import com.matrix.system.score.dao.ScoreVipDetailDao;
+import com.matrix.system.score.entity.ScoreUseRecord;
+import com.matrix.system.score.entity.ScoreVipDetail;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * 用户积分相关定时任务
+ *
+ * @author jyy
+ */
+@Component
+public class ScoreScheduledJob {
+
+
+    @Autowired
+    ScoreVipDetailDao scoreVipDetailDao;
+
+    @Autowired
+    ScoreUseRecordDao scoreUseRecordDao;
+
+    @Scheduled(cron = "1 0 0 1/1 * ?")
+    public boolean invalidVipScore() {
+
+        LogUtil.info("计算无效积分定时任务开始运行****************");
+
+        //获取所有失效的积分,生成失效记录
+        List<ScoreVipDetail>  invalidavipScoreList = scoreVipDetailDao.selectInvalidaVipScore();
+
+        for (ScoreVipDetail scoreVipDetail : invalidavipScoreList) {
+            ScoreUseRecord scoreUseRecord=new ScoreUseRecord();
+            scoreUseRecord.setCreateBy(AppConstance.SYSTEM_USER);
+            scoreUseRecord.setUpdateBy(AppConstance.SYSTEM_USER);
+            scoreUseRecord.setCreateTime(DateTime.now());
+            scoreUseRecord.setUpdateTime(DateTime.now());
+            scoreUseRecord.setNowScore(0);
+            scoreUseRecord.setCompanyId(scoreVipDetail.getCompanyId());
+            scoreUseRecord.setScoreVipDetailId(scoreVipDetail.getId());
+            scoreUseRecord.setBusinessId(0L);
+            scoreUseRecord.setRecNum(-scoreVipDetail.getRemainScore());
+            scoreUseRecord.setType(ScoreVipDetail.SCORE_OVER_TIME);
+            scoreUseRecord.setVipId(scoreVipDetail.getVipId());
+            scoreUseRecord.setPreScore(scoreVipDetail.getRemainScore());
+            scoreUseRecord.setRemarks("积分失效");
+            scoreUseRecordDao.insert(scoreUseRecord);
+        }
+        //更新失效积分记录状态
+        scoreVipDetailDao.invalidVipScore();
+        LogUtil.info("计算无效积分定时任务结束*******************");
+        return true;
+    }
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/score/service/ScoreVipDetailService.java b/zq-erp/src/main/java/com/matrix/system/score/service/ScoreVipDetailService.java
index 1c36562..7c27a80 100644
--- a/zq-erp/src/main/java/com/matrix/system/score/service/ScoreVipDetailService.java
+++ b/zq-erp/src/main/java/com/matrix/system/score/service/ScoreVipDetailService.java
@@ -6,9 +6,11 @@
 import com.matrix.core.constance.MatrixConstance;
 import com.matrix.core.exception.GlobleException;
 import com.matrix.core.tools.DateUtil;
+import com.matrix.core.tools.StringUtils;
 import com.matrix.system.common.bean.BusParameterSettings;
 import com.matrix.system.common.dao.BusParameterSettingsDao;
 import com.matrix.system.common.dao.SysUsersDao;
+import com.matrix.system.hive.bean.SysVipInfo;
 import com.matrix.system.hive.dao.SysVipInfoDao;
 import com.matrix.system.score.constant.ScoreSettingConstant;
 import com.matrix.system.score.dao.ScoreUseRecordDao;
@@ -53,12 +55,12 @@
      * 扣除用户积分
      */
     @Transactional(rollbackFor = Exception.class)
-    public void deductionScore(Long vipId,Long oprationUserId,Long shopId, Integer score, Long businessId, int type,String remark) {
-        Long companyId= vipInfoDao.selectById(vipId).getCompanyId();
+    public void deductionScore(Long vipId, Long oprationUserId, Long shopId, Integer score, Long businessId, int type, String remark) {
+        Long companyId = vipInfoDao.selectById(vipId).getCompanyId();
 
-        String createBy=MatrixConstance.SYSTEM_USER;
-        if(oprationUserId!=null){
-            createBy=sysUsersDao.selectById(oprationUserId).getSuName();
+        String createBy = MatrixConstance.SYSTEM_USER;
+        if (oprationUserId != null) {
+            createBy = sysUsersDao.selectById(oprationUserId).getSuName();
         }
 
         List<ScoreVipDetail> effectiveScoreList = scoreVipDetailDao.selectEffectiveScore(vipId);
@@ -74,20 +76,18 @@
                 //余额充足
                 currentDedution = score;
                 scoreVipDetail.setRemainScore(surplus);
-                if(surplus==0){
+                if (surplus == 0) {
                     scoreVipDetail.setState(ScoreVipDetail.SCORE_STATUS_WX);
                 }
                 scoreVipDetailDao.updateById(scoreVipDetail);
-                score=0;
+                score = 0;
             } else {
                 currentDedution = scoreVipDetail.getRemainScore();
                 scoreVipDetail.setState(ScoreVipDetail.SCORE_STATUS_WX);
                 scoreVipDetail.setRemainScore(0);
                 scoreVipDetailDao.updateById(scoreVipDetail);
-                score=Math.abs(surplus);
+                score = Math.abs(surplus);
             }
-
-
 
 
             //新增扣除记录
@@ -107,11 +107,11 @@
             scoreUseRecord.setOprationUserId(oprationUserId);
             scoreUseRecordDao.insert(scoreUseRecord);
 
-            if(surplus > 0 || surplus == 0){
+            if (surplus > 0 || surplus == 0) {
                 break;
             }
         }
-        if(score>0){
+        if (score > 0) {
             throw new GlobleException("积分不足");
         }
     }
@@ -120,26 +120,26 @@
      * 新增用户积分
      */
     @Transactional(rollbackFor = Exception.class)
-    public void addScore(Long vipId, Long oprationUserId,Long shopId, Integer score, Long businessId, int type,String remark) {
-        Long companyId= vipInfoDao.selectById(vipId).getCompanyId();
+    public void addScore(Long vipId, Long oprationUserId, Long shopId, Integer score, Long businessId, int type, String remark) {
+        Long companyId = vipInfoDao.selectById(vipId).getCompanyId();
 
-        if(score<0){
+        if (score < 0) {
             throw new IllegalArgumentException("score必须有为大于零的数");
         }
 
-        String createBy=MatrixConstance.SYSTEM_USER;
-        if(oprationUserId!=null){
-            createBy=sysUsersDao.selectById(oprationUserId).getSuName();
+        String createBy = MatrixConstance.SYSTEM_USER;
+        if (oprationUserId != null) {
+            createBy = sysUsersDao.selectById(oprationUserId).getSuName();
         }
 
         //计算过期时间
         BusParameterSettings yxqSetting = busParameterSettingsDao.selectCompanyParamByCode(ScoreSettingConstant.VALID_PERIOD_POINTS, companyId);
-        Calendar cal=Calendar.getInstance();
+        Calendar cal = Calendar.getInstance();
         int year = cal.get(Calendar.YEAR);
-        int sxYear=year+(Integer.parseInt(yxqSetting.getParamValue())-1);
-        Date sxys=DateUtil.stringToDate(sxYear+"-12-31 23:59",DateUtil.DATE_FORMAT_MM );
+        int sxYear = year + (Integer.parseInt(yxqSetting.getParamValue()) - 1);
+        Date sxys = DateUtil.stringToDate(sxYear + "-12-31 23:59", DateUtil.DATE_FORMAT_MM);
 
-        ScoreVipDetail scoreVipDetail=new ScoreVipDetail();
+        ScoreVipDetail scoreVipDetail = new ScoreVipDetail();
 
         scoreVipDetail.setCreateBy(createBy);
         scoreVipDetail.setUpdateBy(createBy);
@@ -158,7 +158,7 @@
         scoreVipDetailDao.insert(scoreVipDetail);
 
         //新增添加记录
-        ScoreUseRecord   scoreUseRecord = new ScoreUseRecord();
+        ScoreUseRecord scoreUseRecord = new ScoreUseRecord();
         scoreUseRecord.setPreScore(score);
         scoreUseRecord.setCreateBy(createBy);
         scoreUseRecord.setUpdateBy(createBy);
@@ -180,28 +180,89 @@
     }
 
     /**
+     * 根据固定等级规则新增用户积分
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void addScoreByParamSetting(Long vipId, Long oprationUserId, Long shopId, Long businessId, int type, String remark, BusParameterSettings parameterSetting) {
+
+        if (parameterSetting != null) {
+            SysVipInfo vipInfo = sysVipInfoDao.selectById(vipId);
+            //添加自己的积分
+            if (StringUtils.isNotBlank(parameterSetting.getParamValue())) {
+                Integer firstScore = new Integer(parameterSetting.getParamValue());
+                if (firstScore > 0) {
+                    addScore(
+                            vipInfo.getId(),
+                            oprationUserId,
+                            shopId,
+                            firstScore,
+                            businessId,
+                            type,
+                            remark
+                    );
+                }
+            }
+
+            if (StringUtils.isNotBlank(parameterSetting.getParamValue1())
+                    && vipInfo.getRecommendId() != null) {
+                //推荐注册老带新积分奖励
+                SysVipInfo referrerVip = sysVipInfoDao.selectById(vipInfo.getRecommendId());
+                Integer secondScore = new Integer(parameterSetting.getParamValue1());
+                if (secondScore > 0) {
+                    addScore(
+                            referrerVip.getId(),
+                            oprationUserId,
+                            shopId,
+                            secondScore,
+                            businessId,
+                            type,
+                            remark
+                    );
+                }
+                //推荐注册二级带新积分奖励
+                if (StringUtils.isNotBlank(parameterSetting.getParamValue2())
+                        && referrerVip.getRecommendId() != null) {
+                    Integer threeScore = new Integer(parameterSetting.getParamValue2());
+                    if (threeScore > 0) {
+                        addScore(
+                                referrerVip.getRecommendId(),
+                                oprationUserId,
+                                shopId,
+                                threeScore,
+                                businessId,
+                                type,
+                                remark
+                        );
+                    }
+                }
+            }
+        }
+    }
+
+
+    /**
      * 退积分
      */
-    public void refundScore(Long vipId, Integer score, Long oldBusinessId, int type){
+    public void refundScore(Long vipId, Integer score, Long oldBusinessId, int type) {
 
-        Long companyId= vipInfoDao.selectById(vipId).getCompanyId();
+        Long companyId = vipInfoDao.selectById(vipId).getCompanyId();
 
-        if(score<0){
+        if (score < 0) {
             throw new IllegalArgumentException("score必须有为大于零的数");
         }
         //查询原始使用记录
-        QueryWrapper queryWrapper=new QueryWrapper();
-        queryWrapper.eq("business_id",oldBusinessId);
-        queryWrapper.eq("company_id",companyId);
-        queryWrapper.eq("type",type);
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper.eq("business_id", oldBusinessId);
+        queryWrapper.eq("company_id", companyId);
+        queryWrapper.eq("type", type);
         List<ScoreUseRecord> scoreUseRecordList = scoreUseRecordDao.selectList(queryWrapper);
         scoreUseRecordList.forEach(scoreUseRecord -> {
             ScoreVipDetail scoreVipDetail = scoreVipDetailDao.selectById(scoreUseRecord.getScoreVipDetailId());
-            if(scoreVipDetail!=null){
-                if(DateTime.now().isAfter(scoreVipDetail.getValiditeTime())){
+            if (scoreVipDetail != null) {
+                if (DateTime.now().isAfter(scoreVipDetail.getValiditeTime())) {
                     //积分还有效
-                    scoreVipDetail.setRemainScore( scoreVipDetail.getRemainScore()+score);
-                    scoreVipDetail.setUsedScore(scoreVipDetail.getUsedScore()-score);
+                    scoreVipDetail.setRemainScore(scoreVipDetail.getRemainScore() + score);
+                    scoreVipDetail.setUsedScore(scoreVipDetail.getUsedScore() - score);
                     scoreVipDetail.setState(ScoreVipDetail.SCORE_STATUS_YX);
                     scoreVipDetailDao.updateById(scoreVipDetail);
                     scoreUseRecordDao.deleteById(scoreUseRecord.getId());
@@ -211,15 +272,15 @@
         });
     }
 
-    public void removeByBusinessId( Long vipId,  Long oldBusinessId){
-        Long companyId= vipInfoDao.selectById(vipId).getCompanyId();
+    public void removeByBusinessId(Long vipId, Long oldBusinessId) {
+        Long companyId = vipInfoDao.selectById(vipId).getCompanyId();
 
-        if(oldBusinessId==null){
+        if (oldBusinessId == null) {
             throw new IllegalArgumentException("oldBusinessId必须有");
         }
-        QueryWrapper queryWrapper=new QueryWrapper();
-        queryWrapper.eq("business_id",oldBusinessId);
-        queryWrapper.eq("company_id",companyId);
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper.eq("business_id", oldBusinessId);
+        queryWrapper.eq("company_id", companyId);
         scoreVipDetailDao.delete(queryWrapper);
         scoreUseRecordDao.delete(queryWrapper);
     }
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopActivitiesAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopActivitiesAction.java
index ae33fac..a0b3313 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopActivitiesAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/action/ShopActivitiesAction.java
@@ -1,29 +1,32 @@
 package com.matrix.system.shopXcx.action;
 
-import com.matrix.core.constance.MatrixConstance;
-import com.matrix.core.constance.SystemMessageCode;
-import com.matrix.core.pojo.PaginationVO;
-import com.matrix.core.tools.*;
-import com.matrix.core.web.BaseAction;
-import com.matrix.core.constance.SystemErrorCode;
 import com.matrix.core.anotations.RemoveRequestToken;
+import com.matrix.core.anotations.SaveRequestToken;
+import com.matrix.core.constance.MatrixConstance;
+import com.matrix.core.constance.SystemErrorCode;
+import com.matrix.core.constance.SystemMessageCode;
+import com.matrix.core.exception.GlobleException;
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.pojo.PaginationVO;
+import com.matrix.core.tools.DateUtil;
+import com.matrix.core.tools.ModelUtils;
+import com.matrix.core.tools.StringUtils;
+import com.matrix.core.tools.WebUtil;
 import com.matrix.system.common.bean.SysUsers;
 import com.matrix.system.hive.plugin.util.CollectionUtils;
 import com.matrix.system.shopXcx.bean.*;
 import com.matrix.system.shopXcx.dao.*;
 import com.matrix.system.shopXcx.dto.SalonDTO;
 import com.matrix.system.shopXcx.dto.SecKillDTO;
-import org.springframework.stereotype.Controller;
-import com.matrix.core.exception.GlobleException;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.*;
-import com.matrix.core.anotations.SaveRequestToken;
-import com.matrix.core.pojo.AjaxResult;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
-import java.math.BigDecimal;
-import java.util.Arrays;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
@@ -308,13 +311,8 @@
 
         shopActivitiesDao.deleteById(actId);
         shopActivitiesGroupInfoDao.deleteByActId(actId);
-        int i = shopActivitiesGroupPriceDao.deleteByActId(actId);
-
-        if (i > 0) {
-            return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.DELETE_SUCCES, i);
-        } else {
-            throw new GlobleException(SystemErrorCode.DATA_DELETE_FAIL);
-        }
+        shopActivitiesGroupPriceDao.deleteByActId(actId);
+        return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.DELETE_SUCCES);
     }
 
     @RequestMapping(value = "/closeAct")
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxProductCommentAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxProductCommentAction.java
index b34cdd5..456b0e2 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxProductCommentAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxProductCommentAction.java
@@ -1,10 +1,14 @@
 package com.matrix.system.shopXcx.api.action;
 
-import com.matrix.core.pojo.AjaxResult;
-import com.matrix.system.hive.bean.SysVipInfo;
 import com.matrix.component.redis.RedisUserLoginUtils;
+import com.matrix.core.pojo.AjaxResult;
+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.hive.bean.SysVipInfo;
+import com.matrix.system.score.constant.ScoreSettingConstant;
+import com.matrix.system.score.entity.ScoreVipDetail;
+import com.matrix.system.score.service.ScoreVipDetailService;
 import com.matrix.system.shopXcx.bean.ShopOrder;
 import com.matrix.system.shopXcx.bean.ShopProductComment;
 import com.matrix.system.shopXcx.dao.ShopOrderDao;
@@ -34,6 +38,11 @@
     @Autowired
     private ShopOrderDao shopOrderDao;
 
+    @Autowired
+    ScoreVipDetailService scoreVipDetailService;
+
+    @Autowired
+    private BusParameterSettingsDao busParameterSettingsDao;
     /**
      * 根据ID逻辑删除产品评价
      * @param
@@ -81,6 +90,13 @@
         modifyMap.put("id", orderId);
         modifyMap.put("orderStatus", ShopOrder.ORDER_STATUS_ALREADY_REMARK);
         shopOrderDao.updateByMap(modifyMap);
+
+        //添加用户积分
+        BusParameterSettings parameterSetting = busParameterSettingsDao.selectCompanyParamByCode(ScoreSettingConstant.EVALUATUIN_ORDER_SHOP_NAME, loginUser.getCompanyId());
+        scoreVipDetailService.addScoreByParamSetting(loginUser.getId(), null,null, commentList.get(0).getComId(),
+                ScoreVipDetail.SCORE_VIP_TYPE_JOIN_ACTIVE,"评价送积分", parameterSetting);
+
+
         return new AjaxResult(AjaxResult.STATUS_SUCCESS, "保存成功");
     }
 
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShareProductAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShareProductAction.java
index 696e9aa..ec2b34a 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShareProductAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShareProductAction.java
@@ -105,7 +105,7 @@
         }
         ShopShareQrcord queryOrcode = new ShopShareQrcord();
         queryOrcode.setProductId(qrcodeVo.getProductId());
-        queryOrcode.setUserId(loginUser.getOpenId());
+        queryOrcode.setUserId(loginUser.getId());
 
         if (isGroupProduct ) {
             queryOrcode.setProductId(Integer.parseInt(qrcodeVo.getActId() + ""));
@@ -120,7 +120,7 @@
             //如果未查询到就先插入数据再更新数据
             shareQrcord.setCreateBy(loginUser.getOpenId());
             shareQrcord.setUpdateBy(loginUser.getOpenId());
-            shareQrcord.setUserId(loginUser.getOpenId());
+            shareQrcord.setUserId(loginUser.getId());
             shareQrcord.setShopId(qrcodeVo.getShopId());
             //拼团活动
             if (isGroupProduct ) {
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
new file mode 100644
index 0000000..f5854d3
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java
@@ -0,0 +1,175 @@
+package com.matrix.system.shopXcx.api.action;
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.matrix.component.redis.RedisUserLoginUtils;
+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.entity.ActivitySignAwardSet;
+import com.matrix.system.activity.entity.ActivitySignReceiveRecord;
+import com.matrix.system.activity.entity.ActivitySignRecord;
+import com.matrix.system.hive.bean.SysVipInfo;
+import com.matrix.system.shopXcx.api.dto.ClickSignDTO;
+import com.matrix.system.shopXcx.api.vo.ActivitySignAwardSetVo;
+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 io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+@Api(tags = "签到活动接口类")
+@RestController
+@RequestMapping(value = "/wxapi/sign")
+public class WxShopActivitiesSignAction {
+	
+	@Autowired
+    private ShopActivitiesDao shopActivitiesDao;
+	
+	@Autowired
+    private RedisUserLoginUtils redisUserLoginUtils;
+	
+	@Autowired
+	private ActivitySignAwardSetDao activitySignAwardSetDao;
+	
+	@Autowired
+	private ActivitySignReceiveRecordDao activitySignReceiveRecordDao;
+	
+	@Autowired
+	private ActivitySignRecordDao activitySignRecordDao;
+	
+	@ApiOperation(value = "获取签到基本信息", notes = "")
+    @GetMapping(value = "/getSignBasicInfo")
+    public AjaxResult getSignBasicInfo() {
+		//获取登录人信息
+		SysVipInfo loginUser = redisUserLoginUtils.getLoginUser(SysVipInfo.class);
+		Long companyId = loginUser.getCompanyId();
+		//获取签到活动的信息
+        SignBasicInfoVo signBasicInfoVo = new SignBasicInfoVo();
+        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());
+        String actContent = shopActivities.getActContent();
+        SignBasicInfoJsonVo signBasicInfoJsonVo = JSON.parseObject(actContent, SignBasicInfoJsonVo.class);
+        signBasicInfoVo.setSignBasicInfoJsonVo(signBasicInfoJsonVo);
+        
+		List<ActivitySignAwardSetVo> activitySignAwardSetVos = activitySignAwardSetDao
+				.selectListByActIDAndCompanyId(actId,companyId,ActivitySignAwardSet.AWARDSTATE_WORK);
+		signBasicInfoVo.setActivitySignAwardSetVos(activitySignAwardSetVos);
+
+        AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("");
+        ajaxResult.setData(signBasicInfoVo);
+        return ajaxResult;
+    }
+	
+	/**
+     * 点击签到
+     *
+     */
+	@ApiOperation(value = "点击签到", notes = "")
+    @PostMapping(value = "/clickSign")
+    @Transactional
+    public AjaxResult clickSign(@RequestBody ClickSignDTO clickSignDTO) {
+        SysVipInfo user = redisUserLoginUtils.getLoginUser(SysVipInfo.class);
+        long actId = clickSignDTO.getActId();
+        Long userId = user.getId();
+        Long companyId = user.getCompanyId();
+        /**
+         * 活动是否存在
+         * 活动是否已经开始
+         * 今日是否已经参与
+         * 新增签到记录表
+         * 判断累计连续签到天数是否+1
+         * 查询是否有签到奖品
+         * 		日常奖励和自定义奖品
+         */
+        //活动是否存在
+        ShopActivities shopActivities = shopActivitiesDao.selectById(actId);
+        if (ObjectUtil.isEmpty(shopActivities)) {
+            return AjaxResult.buildFailInstance("活动不存在");
+        }
+        //活动是否已经开始
+        Integer actStatus = shopActivities.getActStatus();
+        if(ShopActivities.ACTSTATUS_STATUS_ING != actStatus) {
+        	return AjaxResult.buildFailInstance("活动未开始");
+        }
+        //今日是否已经参与
+        ActivitySignRecord activitySignRecord = activitySignRecordDao.selectOneByActIdAndUserIdLikesignTime(actId,userId,DateUtil.today());
+        if (ObjectUtil.isNotEmpty(activitySignRecord)) {
+            return AjaxResult.buildFailInstance("今日用户已经签到成功");
+        }
+        //前一天是否签到
+        Date date = new Date();
+        DateTime offsetDay = DateUtil.offsetDay(date, -1);
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        ActivitySignRecord activitySignRecordOld = activitySignRecordDao.selectOneByActIdAndUserIdLikesignTime(actId,userId,sdf.format(offsetDay.getTime()));
+        ActivitySignRecord activitySignRecordAdd = new ActivitySignRecord();
+        activitySignRecordAdd.setCompanyId(companyId);
+        activitySignRecordAdd.setActivityId(actId);
+        activitySignRecordAdd.setSignTime(date);
+        activitySignRecordAdd.setUserId(userId);
+        Integer cumulativeDay = activitySignRecordOld.getCumulativeDay();
+        if(ObjectUtil.isEmpty(activitySignRecordOld)) {
+        	//新增签到记录表,累计连续签到天数是1
+        	activitySignRecordAdd.setCumulativeDay(1);
+        }else {
+        	//新增签到记录表,累计连续签到天数是否+1
+        	activitySignRecordAdd.setCumulativeDay(cumulativeDay+1);
+        }
+        activitySignRecordDao.insert(activitySignRecordAdd);
+		/**
+		 * 查询是否有签到奖品
+        * 		日常奖励和自定义奖品
+        */
+        //日常奖励,新增奖品领取记录
+        QueryWrapper<ActivitySignAwardSet> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("award_rule",ActivitySignAwardSet.AWARDRULE_NORMAL);
+        queryWrapper.eq("company_id",companyId);
+        queryWrapper.eq("activity_id",actId);
+        ActivitySignAwardSet activitySignAwardSetNormal = activitySignAwardSetDao.selectOne(queryWrapper);
+        if(ObjectUtil.isNotEmpty(activitySignAwardSetNormal)) {
+        	ActivitySignReceiveRecord activitySignReceiveRecord = new ActivitySignReceiveRecord();
+        	activitySignReceiveRecord.setUserId(userId);
+        	activitySignReceiveRecord.setReceiveTime(date);
+        	activitySignReceiveRecord.setAwardId(activitySignAwardSetNormal.getId());
+        	activitySignReceiveRecord.setState(ActivitySignReceiveRecord.STATE_DONE);
+        	activitySignReceiveRecord.setActivityId(actId);
+        	activitySignReceiveRecord.setCompanyId(companyId);
+        	activitySignReceiveRecordDao.insert(activitySignReceiveRecord);
+        }
+        //自定义奖励
+        QueryWrapper<ActivitySignAwardSet> queryWrapperCumulativeDay = new QueryWrapper<>();
+        queryWrapperCumulativeDay.eq("award_rule",ActivitySignAwardSet.AWARDRULE_CUMULATIVEDAY);
+        queryWrapperCumulativeDay.eq("cumulative_day",activitySignRecordAdd.getCumulativeDay());
+        queryWrapperCumulativeDay.eq("company_id",companyId);
+        queryWrapperCumulativeDay.eq("activity_id",actId);
+        ActivitySignAwardSet activitySignAwardSetCumulativeDay = activitySignAwardSetDao.selectOne(queryWrapperCumulativeDay);
+        if(ObjectUtil.isNotEmpty(activitySignAwardSetCumulativeDay)) {
+        	//奖项类型(1:自定义产品2:积分3:优惠券4:店铺商品)
+        	if(ActivitySignAwardSet.AWARDTYPE_CUSTOMIZE == activitySignAwardSetCumulativeDay.getAwardType()) {
+        		
+        	}
+        	//获取对应奖品的领取方式(兑奖方式(1:线下兑换2:物流配送3:客服兑换)
+//        	if() {
+//
+//        	}
+        }
+        
+        
+        return AjaxResult.buildSuccessInstance("申请成功,等待审核");
+    }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java
index 4ccb773..9cac99e 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java
@@ -108,10 +108,10 @@
                     sysVipInfo.setSessionKey(sessionKey);
                     sysVipInfo.setCompanyId(HostInterceptor.getCompanyId());
                     sysVipInfo.setArrivalWay("微商城");
+                    sysVipInfo.setVipName("微信用户");
                     sysVipInfo.setVipState(Dictionary.VIP_STATE_HY);
                     sysVipInfo.setVipType(Dictionary.VIP_TYPE_NOCARD);
                     sysVipInfo.setIsDeal(SysVipInfo.UNDEAL_VIP);
-
                     sysVipInfo.setVipNo(openId);
                     sysVipInfoService.add(sysVipInfo);
 
@@ -174,8 +174,15 @@
         SysVipInfo loginUser = redisUserLoginUtils.getLoginUser(SysVipInfo.class);
         SysVipInfo sysVipInfo=new SysVipInfo();
         sysVipInfo.setId(loginUser.getId());
+
         BeanUtil.copyProperties(xcxUserSaveUserInfoDto,sysVipInfo);
         sysVipInfo.setPhone(xcxUserSaveUserInfoDto.getPhoneNumber());
+        if(StringUtils.isBlank(loginUser.getVipName())||loginUser.getVipName().equals("微信用户")){
+            sysVipInfo.setVipName(xcxUserSaveUserInfoDto.getNickName());
+        }
+        if(StringUtils.isBlank(loginUser.getSex())){
+            sysVipInfo.setSex(xcxUserSaveUserInfoDto.getGender()==1?"男":"女");
+        }
 
         int i = sysVipInfoDao.update(sysVipInfo);
 
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java
index ec10347..9aefc8a 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java
@@ -1,7 +1,5 @@
 package com.matrix.system.shopXcx.api.action;
 
-import com.matrix.system.hive.bean.SysVipInfo;
-import com.matrix.system.hive.dao.SysVipInfoDao;
 import com.matrix.component.rabbitmq.RabiitMqTemplate;
 import com.matrix.component.redis.RedisUserLoginUtils;
 import com.matrix.core.exception.GlobleException;
@@ -10,8 +8,12 @@
 import com.matrix.core.tools.DateUtil;
 import com.matrix.core.tools.StringUtils;
 import com.matrix.system.app.mapper.SysProjUseMapper;
-import com.matrix.system.app.vo.*;
+import com.matrix.system.app.vo.ServiceProductListVo;
+import com.matrix.system.app.vo.ServiceProjVo;
+import com.matrix.system.app.vo.ServiceTcVo;
+import com.matrix.system.common.bean.BusParameterSettings;
 import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.dao.BusParameterSettingsDao;
 import com.matrix.system.common.dao.SysUsersDao;
 import com.matrix.system.common.interceptor.HostInterceptor;
 import com.matrix.system.common.tools.LocationUtil;
@@ -20,6 +22,9 @@
 import com.matrix.system.hive.dao.*;
 import com.matrix.system.hive.plugin.util.CollectionUtils;
 import com.matrix.system.hive.service.*;
+import com.matrix.system.score.constant.ScoreSettingConstant;
+import com.matrix.system.score.entity.ScoreVipDetail;
+import com.matrix.system.score.service.ScoreVipDetailService;
 import com.matrix.system.shopXcx.api.dto.ErpServiceCommentDto;
 import com.matrix.system.shopXcx.api.dto.ErpServiceOrderListDto;
 import com.matrix.system.shopXcx.api.vo.ErpServiceOrderListVo;
@@ -27,7 +32,9 @@
 import com.matrix.system.shopXcx.dao.ShopSkuDao;
 import com.matrix.system.shopXcx.dto.YYDayOfWeek;
 import com.matrix.system.shopXcx.dto.YYmonth;
-import io.swagger.annotations.*;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Controller;
@@ -36,7 +43,9 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 /**
  * @author jiangyouyao
@@ -91,6 +100,11 @@
 
     @Autowired
     ShoppingGoodsDao shoppingGoodsDao;
+    @Autowired
+    ScoreVipDetailService scoreVipDetailService;
+
+    @Autowired
+    private BusParameterSettingsDao busParameterSettingsDao;
 
     @Value("${evn}")
     private String evn;
@@ -303,6 +317,13 @@
         sysProjServices.setState(Dictionary.SERVICE_STATU_DQR);
         SysProjServices newSysProjServices = projServicesService.addSysProjServices(sysProjServices);
         if (newSysProjServices != null) {
+
+            //添加用户积分
+            BusParameterSettings parameterSetting = busParameterSettingsDao.selectCompanyParamByCode(ScoreSettingConstant.RESERVATION_SERVICE_SHOP, sysVipInfo.getCompanyId());
+            scoreVipDetailService.addScoreByParamSetting(sysVipInfo.getId(), null,null, newSysProjServices.getId(),
+                    ScoreVipDetail.SCORE_VIP_TYPE_JOIN_ACTIVE,"预约送积分", parameterSetting);
+
+
             return AjaxResult.buildSuccessInstance("下单成功");
         } else {
             return new AjaxResult(AjaxResult.STATUS_FAIL, "下单失败!");
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/ClickSignDTO.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/ClickSignDTO.java
new file mode 100644
index 0000000..b8a7a6b
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/dto/ClickSignDTO.java
@@ -0,0 +1,17 @@
+package com.matrix.system.shopXcx.api.dto;
+
+import javax.validation.constraints.NotBlank;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@ApiModel(value = "ClickSignDTO", description = "点击签到接收参数类")
+@Data
+public class ClickSignDTO {
+	
+	@NotBlank(message = "签到活动ID不能为空")
+    @ApiModelProperty(value = "签到活动ID", example = "1")
+	private long actId;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/ActivitySignAwardSetVo.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/ActivitySignAwardSetVo.java
new file mode 100644
index 0000000..32b87ab
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/ActivitySignAwardSetVo.java
@@ -0,0 +1,174 @@
+package com.matrix.system.shopXcx.api.vo;
+
+import java.util.Date;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ActivitySignAwardSetVo", description = "奖品明细")
+public class ActivitySignAwardSetVo{
+	
+	private Long id;
+	
+	/**
+	 * 奖项类型(1:自定义产品2:积分3:优惠券4:店铺商品)
+	 */
+
+	@ApiModelProperty(value ="奖项类型(1:自定义产品2:积分3:优惠券4:店铺商品)")
+	private int  awardType;
+	
+	/**
+	 * 奖项规则(1:每日奖励(默认)2:累计签到天数)
+	 */
+
+
+	@ApiModelProperty(value ="奖项规则(1:每日奖励(默认)2:累计签到天数)")
+	private int  awardRule;
+	
+	/**
+	 * 签到累计天数
+	 */
+
+	@ApiModelProperty(value ="签到累计天数")
+	private int  cumulativeDay;
+	
+	/**
+	 * 奖项名称
+	 */
+
+	@ApiModelProperty(value ="奖项名称")
+	private String  awardName;
+	
+	/**
+	 * 图片介绍
+	 */
+
+	@ApiModelProperty(value ="图片介绍")
+	private String  introduceImg;
+	
+	/**
+	 * 文字介绍
+	 */
+
+
+	@ApiModelProperty(value ="文字介绍")
+	private String  introduceTip;
+	
+	/**
+	 * 奖项库存数量
+	 */
+
+
+	@ApiModelProperty(value ="奖项库存数量")
+	private int  awardInventoryCnt;
+	
+	/**
+	 * 已派发数量
+	 */
+
+
+	@ApiModelProperty(value ="已派发数量")
+	private int  awardDistributeCnt;
+	
+	/**
+	 * 兑奖方式(1:线下兑换2:物流配送3:客服兑换)
+	 */
+
+
+	@ApiModelProperty(value ="兑奖方式(1:线下兑换2:物流配送3:客服兑换)")
+	private int  awardWay;
+	
+	/**
+	 * 奖品是否有效(1:有效 2:无效)
+	 */
+	@ApiModelProperty(value ="奖品是否有效(1:有效 2:无效)")
+	private int  awardState;
+	public static final int AWARDSTATE_WORK = 1;
+	public static final int AWARDSTATE_UNWORK = 2;
+	
+	/**
+	 * 操作提示
+	 */
+
+	@ApiModelProperty(value ="操作提示")
+	private String  operationTip;
+	
+	/**
+	 * 兑奖地址
+	 */
+
+	@ApiModelProperty(value ="兑奖地址")
+	private String  prizeAddress;
+	
+	/**
+	 * 兑奖期限开始日期
+	 */
+
+
+	@ApiModelProperty(value ="兑奖期限开始日期")
+	private Date  prizeStartTime;
+	
+	/**
+	 * 兑奖期限结束日期
+	 */
+
+	@ApiModelProperty(value ="兑奖期限结束日期")
+	private Date  prizeEndTime;
+	
+	/**
+	 * 客服微信
+	 */
+
+	@ApiModelProperty(value ="客服微信")
+	private String  wechatImg;
+	
+	/**
+	 * 积分数量
+	 */
+
+
+	@ApiModelProperty(value ="积分数量")
+	private int  scoreCnt;
+	
+	/**
+	 * 优惠券ID
+	 */
+
+	@ApiModelProperty(value ="优惠券")
+	private String  couponName;
+
+	@ApiModelProperty(value ="优惠券ID")
+	private String  couponId;
+	
+	/**
+	 * 商品ID
+	 */
+
+	@ApiModelProperty(value ="商品")
+	private String  goodsName;
+
+	@ApiModelProperty(value ="商品ID")
+	private String  goodsId;
+	
+	/**
+	 * 活动主表ID
+	 */
+
+
+	@ApiModelProperty(value ="活动主表ID")
+	private Long  activityId;
+	
+	/**
+	 * 公司ID
+	 */
+
+
+	@ApiModelProperty(value ="公司ID")
+	private Long  companyId;
+
+
+
+  
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignBasicInfoJsonVo.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignBasicInfoJsonVo.java
new file mode 100644
index 0000000..1ca4b36
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignBasicInfoJsonVo.java
@@ -0,0 +1,31 @@
+package com.matrix.system.shopXcx.api.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "SignBasicInfoJsonVo", description = "签到活动")
+public class SignBasicInfoJsonVo {
+	
+	@ApiModelProperty(value ="标题图片")
+	private String imageUrlTitle;
+	@ApiModelProperty(value ="头部图片")
+	private String imageUrlHead;
+	@ApiModelProperty(value ="按钮图片")
+	private String imageUrlButton;
+	@ApiModelProperty(value ="状态图片")
+	private String imageUrlState;
+	
+	@ApiModelProperty(value ="规则内容")
+	private String ruleExplain;
+	@ApiModelProperty(value ="字体颜色")
+	private String typographyColor;
+	@ApiModelProperty(value ="背景颜色")
+	private String backgroundColor;
+	@ApiModelProperty(value ="字体大小")
+	private Integer typographyNum;
+	@ApiModelProperty(value ="字体透明度")
+	private Integer typographyLight;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignBasicInfoVo.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignBasicInfoVo.java
new file mode 100644
index 0000000..bdc3db8
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignBasicInfoVo.java
@@ -0,0 +1,33 @@
+package com.matrix.system.shopXcx.api.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+
+@ApiModel(value = "SignBasicInfoVo", description = "签到活动")
+public class SignBasicInfoVo {
+	
+	/**
+	 * 主键
+	 */
+	private Long  id;
+	
+	@ApiModelProperty(value ="活动名称")
+    private String actName;
+	@ApiModelProperty(value ="活动编码")
+	private String actCode;
+	@ApiModelProperty(value ="活动开始时间")
+	private Date beginTime;
+	@ApiModelProperty(value ="活动结束时间")
+	private Date endTime;
+	@ApiModelProperty(value ="活动基本参数")
+	private SignBasicInfoJsonVo signBasicInfoJsonVo;
+	@ApiModelProperty(value ="奖品信息")
+	private List<ActivitySignAwardSetVo> activitySignAwardSetVos;
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopProductComment.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopProductComment.java
index 9c9557d..77e678d 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopProductComment.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopProductComment.java
@@ -20,7 +20,7 @@
 	/**
 	 * 主键
 	 */
-	private Integer  comId;
+	private Long  comId;
 			
 	
 	/**
@@ -182,14 +182,13 @@
 		auditStatus = auditStatus;
 	}
 
-	public Integer getComId() {
+	public Long getComId() {
 		return comId;
 	}
-   	
-   	public void setComId(Integer comId) {
-		this.comId=comId;
+
+	public void setComId(Long comId) {
+		this.comId = comId;
 	}
-   	
 
 	public String getUserId() {
 		return userId;
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopShareQrcord.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopShareQrcord.java
index 84e645b..0fdbf69 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopShareQrcord.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/bean/ShopShareQrcord.java
@@ -1,10 +1,12 @@
 package com.matrix.system.shopXcx.bean;
 
 import com.matrix.system.common.bean.EntityDTOExt;
+import lombok.Data;
 
 /**
  * 分享二维码
  */
+@Data
 public class  ShopShareQrcord extends EntityDTOExt {
 
 
@@ -23,7 +25,7 @@
     /**
      * 用户ID
      */
-    private String  userId;
+    private Long  userId;
 
 
     /**
@@ -55,69 +57,4 @@
      */
     private Long shopId;
 
-    public Long getShopId() {
-        return shopId;
-    }
-
-    public void setShopId(Long shopId) {
-        this.shopId = shopId;
-    }
-
-
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public Integer getProductId() {
-        return productId;
-    }
-
-    public void setProductId(Integer productId) {
-        this.productId = productId;
-    }
-
-    public String getUserId() {
-        return userId;
-    }
-
-    public void setUserId(String userId) {
-        this.userId = userId;
-    }
-
-    public Integer getStatus() {
-        return status;
-    }
-
-    public void setStatus(Integer status) {
-        this.status = status;
-    }
-
-    public Integer getVisitorCount() {
-        return visitorCount;
-    }
-
-    public void setVisitorCount(Integer visitorCount) {
-        this.visitorCount = visitorCount;
-    }
-
-    public String getRemark() {
-        return remark;
-    }
-
-    public void setRemark(String remark) {
-        this.remark = remark;
-    }
-
-    public String getQrcodeUrl() {
-        return qrcodeUrl;
-    }
-
-    public void setQrcodeUrl(String qrcodeUrl) {
-        this.qrcodeUrl = qrcodeUrl;
-    }
 }
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopActivitiesDao.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopActivitiesDao.java
index a72463f..d4a419b 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopActivitiesDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/dao/ShopActivitiesDao.java
@@ -56,4 +56,7 @@
 	public List<ShopActivities> selectSalonActivityByUser(@Param("record") SalonVO salonVO);
 
 	public IPage<ActivitiesListVo> findActivitiesList(Page<ActivitiesListVo> page, @Param("record")ActivitiesListDto activitiesListDto);
+
+	public ShopActivities selectOneByCompanyIdAndActTypeAndActStatus(@Param("companyId")Long companyId, @Param("activitiesTypeSign")int activitiesTypeSign,
+			@Param("actstatusStatusIng")int actstatusStatusIng);
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/ScoreOrderTask.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/ScoreOrderTask.java
index 3b7c40e..0ad9e03 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/ScoreOrderTask.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/ScoreOrderTask.java
@@ -1,11 +1,13 @@
 package com.matrix.system.shopXcx.mqTask;
 
 
-import com.matrix.system.hive.service.SysVipInfoService;
 import com.matrix.core.tools.LogUtil;
 import com.matrix.core.tools.StringUtils;
 import com.matrix.system.common.bean.BusParameterSettings;
 import com.matrix.system.common.dao.BusParameterSettingsDao;
+import com.matrix.system.hive.bean.SysVipInfo;
+import com.matrix.system.hive.dao.SysVipInfoDao;
+import com.matrix.system.hive.service.SysVipInfoService;
 import com.matrix.system.score.constant.ScoreSettingConstant;
 import com.matrix.system.score.entity.ScoreVipDetail;
 import com.matrix.system.score.service.ScoreVipDetailService;
@@ -38,14 +40,14 @@
     SysVipInfoService sysVipInfoService;
 
 
-
     @Autowired
     ScoreVipDetailService scoreVipDetailService;
 
     @Autowired
     BusParameterSettingsDao busParameterSettingsDao;
 
-
+    @Autowired
+    SysVipInfoDao sysVipInfoDao;
 
     @Override
     public void handle(String consumerTag, Delivery message) throws IOException {
@@ -58,37 +60,78 @@
         List<ShopOrderDetails> orderDetails = shopOrderDetailsDao.selectByOrderId(Integer.valueOf(orderId));
         order.setDetails(orderDetails);
         //扣除积分
-        if(order.getScorePay()!=null&&order.getScorePay()>0){
-            scoreVipDetailService.deductionScore(order.getUserId(),null,
-                    Long.parseLong(order.getStoreId()+""),order.getScorePay(),
-                    Long.parseLong(order.getId()+""), ScoreVipDetail.SCORE_VIP_TYPE_CASH,"商城积分抵扣");
-        }else{
+        if (order.getScorePay() != null && order.getScorePay() > 0) {
+            scoreVipDetailService.deductionScore(order.getUserId(), null,
+                    Long.parseLong(order.getStoreId() + ""), order.getScorePay(),
+                    Long.parseLong(order.getId() + ""), ScoreVipDetail.SCORE_VIP_TYPE_CASH, "商城积分抵扣");
+        } else {
 
             //消费获得积分
-            int addScore=0;
+            int addScore = 0;
             BusParameterSettings cashConsumptionShop = busParameterSettingsDao.selectCompanyParamByCode(ScoreSettingConstant.CASH_CONSUMPTION_SHOP, order.getCompanyId());
-            for(ShopOrderDetails shopOrderDetail : orderDetails) {
-                if(shopOrderDetail.getPayType()==ShopOrderDetails.PAYTYPE_MICRO){
-                    Integer xfkdScore=  shopOrderDetail.getShopSku().getScore();
-                    if(xfkdScore!=null && xfkdScore>0){
-                        addScore+=xfkdScore;
-                    }else{
-                        if(StringUtils.isNotBlank(cashConsumptionShop.getParamValue())){
-                            addScore+= shopOrderDetail.getTotalPrice().divide(new BigDecimal(cashConsumptionShop.getParamValue())).intValue();
+            for (ShopOrderDetails shopOrderDetail : orderDetails) {
+                if (shopOrderDetail.getPayType() == ShopOrderDetails.PAYTYPE_MICRO) {
+                    Integer xfkdScore = shopOrderDetail.getShopSku().getScore();
+                    if (xfkdScore != null && xfkdScore > 0) {
+                        addScore += xfkdScore;
+                    } else {
+                        if (StringUtils.isNotBlank(cashConsumptionShop.getParamValue())) {
+                            addScore += shopOrderDetail.getTotalPrice().divide(new BigDecimal(cashConsumptionShop.getParamValue())).intValue();
                         }
                     }
                 }
             }
-            if(addScore>0){
+            if (addScore > 0) {
                 //插入新的积分
                 scoreVipDetailService.addScore(
                         order.getUserId(),
                         null,
-                        Long.parseLong(order.getStoreId()+""),
+                        Long.parseLong(order.getStoreId() + ""),
                         addScore,
-                        Long.parseLong(orderId+""),
+                        Long.parseLong(orderId + ""),
                         ScoreVipDetail.SCORE_VIP_TYPE_CASH,
                         "微商城消费");
+
+                //插入上级积分
+                SysVipInfo vipInfo = sysVipInfoService.findById(order.getUserId());
+
+
+                if (vipInfo.getRecommendId() != null) {
+                    //推荐注册老带新积分奖励
+                    SysVipInfo referrerVip = sysVipInfoDao.selectById(vipInfo.getRecommendId());
+                    if (StringUtils.isNotBlank(cashConsumptionShop.getParamValue1())) {
+
+                        int parentScore = order.getOrderMoney().divide(new BigDecimal(cashConsumptionShop.getParamValue1())).intValue();
+                        if (parentScore > 0) {
+                            scoreVipDetailService.addScore(
+                                    referrerVip.getId(),
+                                    null,
+                                    Long.parseLong(order.getStoreId() + ""),
+                                    parentScore,
+                                    Long.parseLong(order.getId() + ""),
+                                    ScoreVipDetail.SCORE_VIP_TYPE_CASH,
+                                    "推荐消费奖励"
+                            );
+                        }
+                    }
+
+                    //推荐注册二级带新积分奖励
+                    if (referrerVip.getRecommendId() != null && StringUtils.isNotBlank(cashConsumptionShop.getParamValue2())) {
+                        SysVipInfo topVipInfo = sysVipInfoDao.selectById(referrerVip.getRecommendId());
+                        int topParentScore = order.getOrderMoney().divide(new BigDecimal(cashConsumptionShop.getParamValue2())).intValue();
+                        if (topParentScore > 0) {
+                            scoreVipDetailService.addScore(
+                                    topVipInfo.getId(),
+                                    null,
+                                    Long.parseLong(order.getStoreId() + ""),
+                                    topParentScore,
+                                    Long.parseLong(order.getId() + ""),
+                                    ScoreVipDetail.SCORE_VIP_TYPE_CASH,
+                                    "推荐消费奖励"
+                            );
+                        }
+                    }
+                }
             }
         }
 
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopActivityGroupJoinTimeOutQuartz.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopActivityGroupJoinTimeOutQuartz.java
index 07927b5..fd0d99e 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopActivityGroupJoinTimeOutQuartz.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopActivityGroupJoinTimeOutQuartz.java
@@ -1,19 +1,14 @@
 package com.matrix.system.shopXcx.quartz;
 
 import com.matrix.core.tools.LogUtil;
-import com.matrix.core.tools.WebUtil;
-
 import com.matrix.system.hive.plugin.util.CollectionUtils;
 import com.matrix.system.shopXcx.bean.ShopActivities;
 import com.matrix.system.shopXcx.bean.ShopActivitiesGroupInfo;
 import com.matrix.system.shopXcx.bean.ShopActivitiesGroupJoin;
 import com.matrix.system.shopXcx.dao.ShopActivitiesDao;
 import com.matrix.system.shopXcx.dao.ShopActivitiesGroupJoinDao;
-
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 
 import java.util.List;
@@ -24,7 +19,6 @@
  * @author wzy
  */
 @Configuration
-@EnableScheduling
 public class ShopActivityGroupJoinTimeOutQuartz {
 
     @Autowired
@@ -33,13 +27,11 @@
     @Autowired
     private ShopActivitiesDao shopActivitiesDao ;
 
-    @Value("${scheduling.enabled}")
-    private boolean taskSwitch;
+
 
 
     @Scheduled(cron = "0 */1 * * * ?")
     public boolean executeExt() {
-        if (taskSwitch) {
             LogUtil.info("#开团时间超时任务处理#");
             List<ShopActivitiesGroupJoin> groupJoins = shopActivitiesGroupJoinDao.selectGroupJoinWithEnd();
             ShopActivityTimeOutQuartz timeOutQuartz = new ShopActivityTimeOutQuartz();
@@ -53,7 +45,6 @@
                         timeOutQuartz.doUnVirtualGroup(groupJoin);
                     }
                 }
-            }
         }
         return true;
     }
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopActivityPayTimeOutQuartz.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopActivityPayTimeOutQuartz.java
index 143a2d2..3f85cd5 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopActivityPayTimeOutQuartz.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopActivityPayTimeOutQuartz.java
@@ -1,7 +1,6 @@
 package com.matrix.system.shopXcx.quartz;
 
 import com.matrix.core.tools.LogUtil;
-import com.matrix.core.tools.WebUtil;
 import com.matrix.system.hive.plugin.util.CollectionUtils;
 import com.matrix.system.shopXcx.bean.ShopActivitiesGroupJoin;
 import com.matrix.system.shopXcx.bean.ShopActivitiesGroupJoinUser;
@@ -9,11 +8,8 @@
 import com.matrix.system.shopXcx.dao.ShopActivitiesGroupJoinDao;
 import com.matrix.system.shopXcx.dao.ShopActivitiesGroupJoinUserDao;
 import com.matrix.system.shopXcx.dao.ShopOrderDao;
-
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 
 import java.util.List;
@@ -24,7 +20,6 @@
  * @author wzy
  */
 @Configuration
-@EnableScheduling
 public class ShopActivityPayTimeOutQuartz {
 
     @Autowired
@@ -36,13 +31,11 @@
     @Autowired
     private ShopActivitiesGroupJoinDao shopActivitiesGroupJoinDao;
 
-    @Value("${scheduling.enabled}")
-    private boolean taskSwitch;
 
 
     @Scheduled(cron = "0 */1 * * * ?")
     public void executeExt() {
-        if (taskSwitch) {
+
             LogUtil.info("#拼团支付超时处理任务#");
             List<ShopActivitiesGroupJoinUser> joinUserList = shopActivitiesGroupJoinUserDao.selectGroupJoinUserEnd();
             if (CollectionUtils.isNotEmpty(joinUserList)) {
@@ -63,7 +56,7 @@
                     shopOrder.setOrderStatus(ShopOrder.ORDER_STATUS_CANCEL);
                     shopOrderDao.updateByModel(shopOrder);
                 }
-            }
+
         }
     }
 }
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopActivityTimeOutQuartz.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopActivityTimeOutQuartz.java
index 8f1d146..1075d98 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopActivityTimeOutQuartz.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopActivityTimeOutQuartz.java
@@ -9,9 +9,7 @@
 import com.matrix.system.shopXcx.bean.*;
 import com.matrix.system.shopXcx.dao.*;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 
 import java.util.ArrayList;
@@ -24,7 +22,6 @@
  * @author wzy
  */
 @Configuration
-@EnableScheduling
 public class ShopActivityTimeOutQuartz {
 
     @Autowired
@@ -40,13 +37,11 @@
     @Autowired
     private ShopActivitiesGroupJoinUserDao shopActivitiesGroupJoinUserDao;
 
-    @Value("${scheduling.enabled}")
-    private boolean taskSwitch;
 
 
     @Scheduled(cron = "0 */1 * * * ?")
     public void executeExt() {
-        if (taskSwitch) {
+
             LogUtil.info("#拼团活动自动结束任务#");
             List<ShopActivities> actList = shopActivitiesDao.selectShopActivitiesHasEnd();
             if (CollectionUtils.isNotEmpty(actList)) {
@@ -65,7 +60,7 @@
                     }
                 }
             }
-        }
+
     }
 
     /**
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopAutomaticReceiveQuartz.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopAutomaticReceiveQuartz.java
index bcf6a1a..a842add 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopAutomaticReceiveQuartz.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopAutomaticReceiveQuartz.java
@@ -1,18 +1,15 @@
 package com.matrix.system.shopXcx.quartz;
 
 import com.matrix.core.tools.LogUtil;
-import com.matrix.core.tools.WebUtil;
 import com.matrix.system.shopXcx.api.tools.WxShopOrderUtil;
 import com.matrix.system.shopXcx.bean.ShopDeliveryInfo;
 import com.matrix.system.shopXcx.bean.ShopOrder;
 import com.matrix.system.shopXcx.dao.ShopDeliveryInfoDao;
 import com.matrix.system.shopXcx.dao.ShopOrderDao;
 import org.apache.commons.collections.CollectionUtils;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 
 import java.util.HashMap;
@@ -24,11 +21,7 @@
  * 15天自动确认收货定时任务
  */
 @Configuration
-@EnableScheduling
 public class ShopAutomaticReceiveQuartz {
-
-    @Value("${scheduling.enabled}")
-    private boolean taskSwitch;
 
     @Autowired
     private ShopDeliveryInfoDao shopDeliveryInfoDao;
@@ -41,9 +34,9 @@
 
     @Scheduled(cron = "0/30 * * * * ?")
     public void executeExt() {
-        if(taskSwitch) {
 
 
+            LogUtil.info("#15天自动收货任务处理#");
 
             List<ShopDeliveryInfo> shopDeliveryInfos = shopDeliveryInfoDao.selectAutomaticReceive();
             int flag = 0;
@@ -59,7 +52,7 @@
                 }
             }
             LogUtil.info("自动确认收货更新条数:" + flag);
-        }
+
     }
 
 }
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopCouponQuartz.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopCouponQuartz.java
index 25e4314..22dac6b 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopCouponQuartz.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/quartz/ShopCouponQuartz.java
@@ -1,13 +1,9 @@
 package com.matrix.system.shopXcx.quartz;
 
 import com.matrix.core.tools.LogUtil;
-import com.matrix.core.tools.WebUtil;
 import com.matrix.system.shopXcx.dao.ShopCouponDao;
-
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 
 /**
@@ -15,24 +11,18 @@
  * 优惠券定时任务
  */
 @Configuration
-@EnableScheduling
 public class ShopCouponQuartz   {
 
 
 
-    @Value("${scheduling.enabled}")
-    private boolean taskSwitch;
 
     @Autowired
     private ShopCouponDao shopCouponDao;
 
     @Scheduled(cron = "0 */1 * * * ?")
     public void executeExt() {
-        if(taskSwitch){
-            int i = shopCouponDao.updateAllCouponStatus();
-            LogUtil.info("优惠券状态更新条数:" + i);
-        }
-
+        int i = shopCouponDao.updateAllCouponStatus();
+        LogUtil.info("优惠券状态更新条数:" + i);
     }
 
 
diff --git a/zq-erp/src/main/resources/config/application.properties b/zq-erp/src/main/resources/config/application.properties
index fa3a268..2a2ae62 100644
--- a/zq-erp/src/main/resources/config/application.properties
+++ b/zq-erp/src/main/resources/config/application.properties
@@ -55,7 +55,7 @@
 groupBuy.pay.timeLimit=30
 
 #定时任务
-scheduling.enabled=false
+scheduling.enabled=true
 
 swagger.enable=true
 swagger.security.username=admin
diff --git "a/zq-erp/src/main/resources/config/db/increment/\347\255\276\345\210\260\346\264\273\345\212\250.sql" "b/zq-erp/src/main/resources/config/db/increment/\347\255\276\345\210\260\346\264\273\345\212\250.sql"
index 33e3533..747c41f 100644
--- "a/zq-erp/src/main/resources/config/db/increment/\347\255\276\345\210\260\346\264\273\345\212\250.sql"
+++ "b/zq-erp/src/main/resources/config/db/increment/\347\255\276\345\210\260\346\264\273\345\212\250.sql"
@@ -125,6 +125,14 @@
 ALTER TABLE `activity_sign_award_set`
     ADD COLUMN `coupon_name`  varchar(200) NULL COMMENT '优惠券名' AFTER `score_cnt`;
 
+ALTER TABLE `activity_sign_record`
+    CHANGE COLUMN `open_id` `user_id`  varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'openID' AFTER `id`;
+
+ALTER TABLE `activity_sign_receive_record`
+    CHANGE COLUMN `open_id` `user_id`  varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'openID' AFTER `id`;
+
+
+
 
 
 
diff --git a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignAwardSetDao.xml b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignAwardSetDao.xml
index 9f60550..886a2fe 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignAwardSetDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignAwardSetDao.xml
@@ -3,61 +3,16 @@
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
 <mapper namespace="com.matrix.system.activity.dao.ActivitySignAwardSetDao">
-	<!-- 定义ActivitySignAwardSet 的复杂关联map -->
-	<resultMap type="com.matrix.system.activity.entity.ActivitySignAwardSet" id="ActivitySignAwardSetMap">
-		<id property="id" column="id" />
-		<result property="createBy" column="create_by" />
-		<result property="createTime" column="create_time" />
-		<result property="updateBy" column="update_by" />
-		<result property="updateTime" column="update_time" />
-			<result property="awardType" column="award_type" />
-			<result property="awardRule" column="award_rule" />
-			<result property="cumulativeDay" column="cumulative_day" />
-			<result property="awardName" column="award_name" />
-			<result property="introduceImg" column="introduce_img" />
-			<result property="introduceTip" column="introduce_tip" />
-			<result property="awardInventoryCnt" column="award_inventory_cnt" />
-			<result property="awardDistributeCnt" column="award_distribute_cnt" />
-			<result property="awardWay" column="award_way" />
-			<result property="operationTip" column="operation_tip" />
-			<result property="prizeAddress" column="prize_address" />
-			<result property="prizeStartTime" column="prize_start_time" />
-			<result property="prizeEndTime" column="prize_end_time" />
-			<result property="wechatImg" column="wechat_img" />
-			<result property="scoreCnt" column="score_cnt" />
-			<result property="couponId" column="coupon_id" />
-			<result property="goodsId" column="goods_id" />
-			<result property="activityId" column="activity_id" />
-			<result property="companyId" column="company_id" />
-	</resultMap>
-	
-	
-	<!-- 定义ActivitySignAwardSet 的简单map  ,本map不添加其他的关联属性 -->
-	<resultMap type="com.matrix.system.activity.entity.ActivitySignAwardSet" id="ActivitySignAwardSetSimpleMap">
-		<id property="id" column="id" />
-		<result property="createBy" column="create_by" />
-		<result property="createTime" column="create_time" />
-		<result property="updateBy" column="update_by" />
-		<result property="updateTime" column="update_time" />
-			<result property="awardType" column="award_type" />
-			<result property="awardRule" column="award_rule" />
-			<result property="cumulativeDay" column="cumulative_day" />
-			<result property="awardName" column="award_name" />
-			<result property="introduceImg" column="introduce_img" />
-			<result property="introduceTip" column="introduce_tip" />
-			<result property="awardInventoryCnt" column="award_inventory_cnt" />
-			<result property="awardDistributeCnt" column="award_distribute_cnt" />
-			<result property="awardType" column="award_type" />
-			<result property="operationTip" column="operation_tip" />
-			<result property="prizeAddress" column="prize_address" />
-			<result property="prizeStartTime" column="prize_start_time" />
-			<result property="prizeEndTime" column="prize_end_time" />
-			<result property="wechatImg" column="wechat_img" />
-			<result property="scoreCnt" column="score_cnt" />
-			<result property="couponId" column="coupon_id" />
-			<result property="goodsId" column="goods_id" />
-			<result property="activityId" column="activity_id" />
-			<result property="companyId" column="company_id" />
-	</resultMap>
+
+	<select id="selectListByActIDAndCompanyId" resultType="com.matrix.system.shopXcx.api.vo.ActivitySignAwardSetVo">
+		SELECT
+			*
+		FROM
+			activity_sign_award_set a
+		where
+			a.activity_id = #{actId}
+		  and a.company_id = #{companyId}
+		  and a.award_state = #{awardState}
+	</select>
 
 </mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignRecordDao.xml b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignRecordDao.xml
index 4b5d11a..59fe364 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignRecordDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignRecordDao.xml
@@ -3,6 +3,15 @@
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
 <mapper namespace="com.matrix.system.activity.dao.ActivitySignRecordDao">
-
+    <select id="selectOneByActIdAndUserIdLikesignTime" resultType="com.matrix.system.activity.entity.ActivitySignRecord">
+        SELECT
+        *
+        FROM
+        activity_sign_record a
+        where
+            a.actId = #{actId}
+            and a.open_id = #{userId}
+            and a.sign_time like concat('%',#{format},'%')
+    </select>
 
 </mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
index c59e2d5..0540354 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
@@ -18,6 +18,7 @@
 		<result property="freeConsume" column="free_consume" />
 		<result property="hisConsume" column="his_consume" />
 		<result property="goodsCash" column="goods_cash" />
+		<result property="cardCash" column="card_cash" />
 		<result property="projNum" column="proj_num" />
 		<result property="numberOfPeople" column="number_of_people" />
 		<result property="shopName" column="shop_name" />
@@ -66,7 +67,6 @@
 		c.vip_name,
 		e.name as pro_name,
 		b.ZK_TOTAL as zk_total,
-		a.goods_cash,
 		a.his_consume,
 		a.free_consume,
 		f.su_name meiliao,
@@ -79,6 +79,8 @@
 		h.shop_short_name shop_name,
 		a.order_type,
 		a.achieveType,
+		case when a.pay_method = '现金' then goods_cash end goods_cash,
+		case when a.pay_method = '划扣' then goods_cash end card_cash,
 		j.pay_method
 		from
 		achieve_new a
diff --git a/zq-erp/src/main/resources/mybatis/mapper/score/ScoreVipDetailDao.xml b/zq-erp/src/main/resources/mybatis/mapper/score/ScoreVipDetailDao.xml
index 47664d6..5481b2b 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/score/ScoreVipDetailDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/score/ScoreVipDetailDao.xml
@@ -19,4 +19,13 @@
 
     </select>
 
+
+    <select id="selectInvalidaVipScore" resultType="com.matrix.system.score.entity.ScoreVipDetail">
+        select * from score_vip_detail where  state=1 and remain_score>0 and validite_time <![CDATA[ < now()]]>
+    </select>
+
+    <update id="invalidVipScore">
+        update score_vip_detail set state = 2 , remain_score=0  where state=1 and validite_time <![CDATA[ < now()]]>
+    </update>
+
 </mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesDao.xml b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesDao.xml
index 716911e..7bc1f4c 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesDao.xml
@@ -213,6 +213,13 @@
 			<if test="record.actName != null and record.actName != '' ">
 				act_name  = #{record.actName},
 			</if>
+			<if test="record.actCode != null ">
+				act_code  = #{record.actCode},
+			</if>
+
+			<if test="record.actContent != null ">
+				act_content  = #{record.actContent},
+			</if>
 			<if test="record.actType != null ">
 				act_type  = #{record.actType}, 
 			</if>
@@ -410,4 +417,15 @@
 			a.${record.sort} ${record.order}
 		</if>
 	</select>
+
+	<select id="selectOneByCompanyIdAndActTypeAndActStatus" resultType="com.matrix.system.shopXcx.bean.ShopActivities">
+		SELECT
+		*
+		FROM
+		shop_activities a
+		where
+			a.company_id=#{companyId}
+			and a.act_type=#{activitiesTypeSign}
+			and a.act_status=#{actstatusStatusIng}
+	</select>
 </mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/static/js/function/vip.js b/zq-erp/src/main/resources/static/js/function/vip.js
index 06e6fd5..a1a4475 100644
--- a/zq-erp/src/main/resources/static/js/function/vip.js
+++ b/zq-erp/src/main/resources/static/js/function/vip.js
@@ -222,13 +222,13 @@
 }
 
 
-function openAddService() {
+function openAddService(id) {
     layer.full(layer.open({
         type: 2,
         title: "添加服务单",
         maxmin: true,
         area: [MUI.SIZE_L, '500px'],
-        content: [basePath + '/admin/redirect/hive/beautySalon/servicceAddForm']
+        content: [basePath + '/admin/redirect/hive/beautySalon/servicceAddForm?id='+id]
     }));
 }
 
diff --git a/zq-erp/src/main/resources/templates/views/admin/activity/activity-list.html b/zq-erp/src/main/resources/templates/views/admin/activity/activity-list.html
index 697105b..a0a285b 100644
--- a/zq-erp/src/main/resources/templates/views/admin/activity/activity-list.html
+++ b/zq-erp/src/main/resources/templates/views/admin/activity/activity-list.html
@@ -93,8 +93,19 @@
                         <el-table-column
                                 label="状态">
                             <template slot-scope="scope">
-                                <span v-if="scope.row.actStatus == 1">未发布</span>
-                                <span v-if="scope.row.actStatus == 2">未开始</span>
+
+                                <div v-if="scope.row.actType == 4">
+                                    <span v-if="scope.row.actStatus == 1">未发布</span>
+                                </div>
+                                <div v-if="scope.row.actType != 4">
+                                    <span v-if="scope.row.actStatus == 1">开启</span>
+                                </div>
+                                <div v-if="scope.row.actType == 4">
+                                    <span v-if="scope.row.actStatus == 2">未开始</span>
+                                </div>
+                                <div v-if="scope.row.actType != 4">
+                                    <span v-if="scope.row.actStatus == 2">关闭</span>
+                                </div>
                                 <span v-if="scope.row.actStatus == 3">进行中</span>
                                 <span v-if="scope.row.actStatus == 4">已结束</span>
                                 <span v-if="scope.row.actStatus == 5">已删除</span>
@@ -129,6 +140,12 @@
                                     <el-button type="primary" v-if="[3,4,5].includes(scope.row.actStatus)" @click="openSignReceive(scope.row)" size="mini">活动统计</el-button>
                                     <el-button type="primary" v-if="scope.row.actStatus == 3" @click="beClose(scope.row)" size="mini">关闭</el-button>
                                     <el-button type="danger" v-if="scope.row.actStatus != 5" size="mini" @click="delRow(scope.row)">删除</el-button>
+                                </el-row>
+                                <el-row style="display:flex;" v-if="scope.row.actType != 4">
+                                    <el-button type="primary" @click="openEdit(scope.row)" size="mini">编辑</el-button>
+                                    <el-button type="primary" @click="activityStatistics(scope.row)" size="mini">活动统计</el-button>
+                                    <el-button type="primary" @click="closeAct(scope.row)" size="mini">关闭</el-button>
+                                    <el-button type="danger" @click="delAct(scope.row)" size="mini">删除</el-button>
                                 </el-row>
                             </template>
                         </el-table-column>
@@ -197,6 +214,127 @@
                 let _this = this;
                 _this.loadActivitysList();
             },
+            //删除
+            delAct(row){
+                let _this = this;
+                _this.$confirm('确认删除活动吗?', '删除', {
+                    distinguishCancelAndClose: true,//设置关闭按钮和不通过按钮的区别
+                    confirmButtonText: '确认',
+                    cancelButtonText: '取消',
+                    type: 'info'
+                }).then(() => {
+                    //通过
+                    let id = row.id;
+                    $.AjaxProxy().invoke(basePath + "/admin/shopActivities/del?keys="+id, function(loj) {
+                        if (loj[0].result.status == '200') {
+                            _this.loadActivitysList();
+                        }
+                    });
+                }).catch(action => {
+                    //不通过
+                    if(action === 'cancel'){
+                        console.log("cancel");
+                    }else{
+                        //关闭按钮
+                        console.log("close");
+                    }
+                });
+            },
+            //关闭
+            closeAct(row){
+                let _this = this;
+                _this.$confirm('确认关闭活动吗?', '关闭', {
+                    distinguishCancelAndClose: true,//设置关闭按钮和不通过按钮的区别
+                    confirmButtonText: '确认',
+                    cancelButtonText: '取消',
+                    type: 'info'
+                }).then(() => {
+                    //通过
+                    let id = row.id;
+                    $.AjaxProxy().invoke(basePath + "/admin/shopActivities/closeAct?id="+id, function(loj) {
+                        if (loj[0].result.status == '200') {
+                            layer.msg(loj[0].result.info, {
+                                icon: 1
+                            });
+                        }
+                    });
+                    _this.loadActivitysList();
+                }).catch(action => {
+                    //不通过
+                    if(action === 'cancel'){
+                        console.log("cancel");
+                    }else{
+                        //关闭按钮
+                        console.log("close");
+                    }
+                });
+            },
+            // 活动统计
+            activityStatistics(row) {
+                let type = row.actType;
+                let id = row.id;
+                let name = row.actName;
+                console.log("-------");
+                if (type == 2) {
+                    layer.full(layer.open({
+                        type : 2,
+                        title : name + "-活动统计",
+                        area : [ MUI.SIZE_L, MUI.SIZE_L ],
+                        maxmin : true,
+                        content : [ basePath+'/admin/redirect/shop/activities/shopActivitiesSecKill-list?id=' + id]
+                    }));
+                }
+
+                if (type == 1) {
+                    layer.full(layer.open({
+                        type : 2,
+                        title : name + "-活动统计",
+                        area : [ MUI.SIZE_L, MUI.SIZE_L ],
+                        maxmin : true,
+                        content : [ basePath+'/admin/redirect/shop/activities/shopActivitiesGroupBuy-list?id=' + id]
+                    }));
+                }
+
+                if (type == 3) {
+                    layer.full(layer.open({
+                        type : 2,
+                        title : name + "-活动统计",
+                        area : [ MUI.SIZE_L, MUI.SIZE_L ],
+                        maxmin : true,
+                        content : [ basePath+'/admin/redirect/shop/activities/shopActivitiesSalon-list?id=' + id]
+                    }));
+                }
+            },
+            //打开编辑界面
+            openEdit(row) {
+                let type = row.actType;
+                let id = row.id;
+                if (type == 1) {
+                    layer.full(layer.open({
+                        type : 2,
+                        title : "编辑拼团",
+                        area : [ MUI.SIZE_L, MUI.SIZE_L ],
+                        maxmin : true,
+                        content : [ basePath+'/admin/redirect/shop/activities/activitiesGroupBuy-form?id=' + id]
+                    }));
+                } else if (type == 2) {
+                    layer.full(layer.open({
+                        type : 2,
+                        title : "编辑秒杀",
+                        area : [ MUI.SIZE_L, MUI.SIZE_L ],
+                        maxmin : true,
+                        content : [ basePath+'/admin/redirect/shop/activities/activitiesSecKill-form?id=' + id]
+                    }));
+                } else if (type == 3) {
+                    layer.full(layer.open({
+                        type : 2,
+                        title : "编辑沙龙",
+                        area : [ MUI.SIZE_L, MUI.SIZE_L ],
+                        maxmin : true,
+                        content : [ basePath+'/admin/redirect/shop/activities/activitiesSalon-form?id=' + id]
+                    }));
+                }
+            },
             //修改
             beUpdate(row){
                 layer.full(layer.open({
diff --git a/zq-erp/src/main/resources/templates/views/admin/activity/activity-market.html b/zq-erp/src/main/resources/templates/views/admin/activity/activity-market.html
index d8f0f9a..ea543fc 100644
--- a/zq-erp/src/main/resources/templates/views/admin/activity/activity-market.html
+++ b/zq-erp/src/main/resources/templates/views/admin/activity/activity-market.html
@@ -54,13 +54,46 @@
 <body>
 <div class="panel-body" id="app" v-cloak>
     <el-row>
-        <el-col :span="6">
+        <el-col :span="4">
             <el-card class="box-card" :body-style="{ padding: '10px 10px'}">
                 <img src="https://shadow.elemecdn.com/app/element/hamburger.9cf7b091-55e9-11e9-a976-7f4d0b07eef6.png" class="image">
                 <div style="padding: 5px;">
                     <span style="padding:5px;font-size: 30px;">每日签到</span>
                     <div class="bottom clearfix">
                         <el-button type="primary" class="button" @click="createSign()" round>马上创建</el-button>
+                    </div>
+                </div>
+            </el-card>
+        </el-col>
+        <el-col :span="4">
+            <el-card class="box-card" :body-style="{ padding: '10px 10px'}">
+                <img src="https://shadow.elemecdn.com/app/element/hamburger.9cf7b091-55e9-11e9-a976-7f4d0b07eef6.png" class="image">
+                <div style="padding: 5px;">
+                    <span style="padding:5px;font-size: 30px;">拼团</span>
+                    <div class="bottom clearfix">
+                        <el-button type="primary" class="button" @click="openAdd(1)" round>马上创建</el-button>
+                    </div>
+                </div>
+            </el-card>
+        </el-col>
+        <el-col :span="4">
+            <el-card class="box-card" :body-style="{ padding: '10px 10px'}">
+                <img src="https://shadow.elemecdn.com/app/element/hamburger.9cf7b091-55e9-11e9-a976-7f4d0b07eef6.png" class="image">
+                <div style="padding: 5px;">
+                    <span style="padding:5px;font-size: 30px;">秒杀</span>
+                    <div class="bottom clearfix">
+                        <el-button type="primary" class="button" @click="openSecKill()" round>马上创建</el-button>
+                    </div>
+                </div>
+            </el-card>
+        </el-col>
+        <el-col :span="4">
+            <el-card class="box-card" :body-style="{ padding: '10px 10px'}">
+                <img src="https://shadow.elemecdn.com/app/element/hamburger.9cf7b091-55e9-11e9-a976-7f4d0b07eef6.png" class="image">
+                <div style="padding: 5px;">
+                    <span style="padding:5px;font-size: 30px;">沙龙</span>
+                    <div class="bottom clearfix">
+                        <el-button type="primary" class="button" @click="openSalon()" round>马上创建</el-button>
                     </div>
                 </div>
             </el-card>
@@ -96,6 +129,38 @@
                     content : [ basePath + '/admin/redirect/activity/activity-sign']
                 }));
             },
+            // 打新增拼团界面
+            openAdd(value) {
+                layer.full(layer.open({
+                    type : 2,
+                    title : "新建拼团",
+                    area : [ MUI.SIZE_L, MUI.SIZE_L ],
+                    maxmin : true,
+                    content : [ basePath+'/admin/redirect/shop/activities/activitiesGroupBuy-form']
+                }));
+            },
+
+            // 打开新增秒杀界面
+            openSecKill() {
+                layer.full(layer.open({
+                    type : 2,
+                    title : "新建秒杀",
+                    area : [ MUI.SIZE_L, MUI.SIZE_L ],
+                    maxmin : true,
+                    content : [ basePath+'/admin/redirect/shop/activities/activitiesSecKill-form']
+                }));
+            },
+
+            // 打开新增沙龙界面
+            openSalon() {
+                layer.full(layer.open({
+                    type : 2,
+                    title : "新建秒杀",
+                    area : [ MUI.SIZE_L, MUI.SIZE_L ],
+                    maxmin : true,
+                    content : [ basePath+'/admin/redirect/shop/activities/activitiesSalon-form']
+                }));
+            },
         }
     })
 </script>
diff --git a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-update.html b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-update.html
index 627bf29..5b1320e 100644
--- a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-update.html
+++ b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-update.html
@@ -302,6 +302,67 @@
                                                         </el-button>
                                                     </el-col>
                                                 </el-row>
+
+                                                <el-drawer
+                                                        title="选择商城优惠券"
+                                                        :visible.sync="drawerCoupon"
+                                                        :direction="directionCoupon"
+                                                        size="90%">
+                                                    <el-row style="margin-left: 50px;">
+                                                        <el-col :span="24">
+                                                            <el-row>
+                                                                <el-form ref="formCoupon" :model="formCoupon" inline >
+                                                                    <el-form-item prop="yhjmc">
+                                                                        <el-input v-model="formCoupon.yhjmc" placeholder="请输入优惠券名称"></el-input>
+                                                                    </el-form-item>
+                                                                    <el-button type="primary" @click="searchFormCoupon" >搜索</el-button>
+                                                                    <el-button @click="resetFormCoupon('formCoupon')">重置</el-button>
+                                                                </el-form>
+                                                            </el-row>
+
+                                                            <el-row class="table-style" >
+                                                                <el-table ref="multipleTable"
+                                                                          :data="couponList.rows"
+                                                                          :height="tableHeightCoupon"
+                                                                          stripe:true
+                                                                          style="width: 100%">
+                                                                    <el-table-column
+                                                                            prop="cname"
+                                                                            label="优惠券名称"
+                                                                            show-overflow-tooltip>
+                                                                    </el-table-column>
+                                                                    <el-table-column
+                                                                            prop="endTime"
+                                                                            label="截止日期"
+                                                                            show-overflow-tooltip>
+                                                                    </el-table-column>
+                                                                    <el-table-column
+                                                                            prop="address"
+                                                                            label="操作">
+                                                                        <template slot-scope="scope">
+                                                                            <el-button type="primary"
+                                                                                       size="mini"
+                                                                                       @click="chooseOneCoupon(scope.row)">选择
+                                                                            </el-button>
+                                                                        </template>
+                                                                    </el-table-column>
+                                                                </el-table>
+                                                            </el-row>
+                                                            <el-row class="paginationStyle"  >
+                                                                <el-pagination background
+                                                                               @size-change="changePageSizeCoupon"
+                                                                               @current-change="changeCurrentPageCoupon"
+                                                                               :current-page="couponList.currentPage"
+                                                                               :page-sizes="[10, 20, 30, 50]"
+                                                                               :page-size="couponList.pageSize"
+                                                                               layout="total, sizes, prev, pager, next, jumper"
+                                                                               :total="couponList.total">
+                                                                </el-pagination>
+                                                            </el-row>
+                                                        </el-col>
+                                                    </el-row>
+                                                </el-drawer>
+
                                             </div>
                                             <div v-show="item.content.awardType === 4">
                                                 <el-row style="display:flex;">
@@ -321,6 +382,67 @@
                                                         </el-button>
                                                     </el-col>
                                                 </el-row>
+
+                                                <el-drawer
+                                                        title="选择ERP产品"
+                                                        :visible.sync="drawerGoods"
+                                                        :direction="directionGoods"
+                                                        size="90%">
+                                                    <el-row style="margin-left: 50px;">
+                                                        <el-col :span="24">
+                                                            <el-row>
+                                                                <el-form ref="formGoods" :model="formGoods" inline >
+                                                                    <el-form-item prop="cpmc">
+                                                                        <el-input v-model="formGoods.cpmc" placeholder="请输入产品名称"></el-input>
+                                                                    </el-form-item>
+                                                                    <el-button type="primary" @click="searchFormGoods" >搜索</el-button>
+                                                                    <el-button @click="resetFormGoods('formGoods')">重置</el-button>
+                                                                </el-form>
+                                                            </el-row>
+
+                                                            <el-row class="table-style" >
+                                                                <el-table ref="multipleTable"
+                                                                          :data="goodsList.rows"
+                                                                          :height="tableHeightGoods"
+                                                                          stripe:true
+                                                                          style="width: 100%">
+                                                                    <el-table-column
+                                                                            prop="cname"
+                                                                            label="优惠券名称"
+                                                                            show-overflow-tooltip>
+                                                                    </el-table-column>
+                                                                    <el-table-column
+                                                                            prop="endTime"
+                                                                            label="截止日期"
+                                                                            show-overflow-tooltip>
+                                                                    </el-table-column>
+                                                                    <el-table-column
+                                                                            prop="address"
+                                                                            label="操作">
+                                                                        <template slot-scope="scope">
+                                                                            <el-button type="primary"
+                                                                                       size="mini"
+                                                                                       @click="chooseOneGoods(scope.row)">选择
+                                                                            </el-button>
+                                                                        </template>
+                                                                    </el-table-column>
+                                                                </el-table>
+                                                            </el-row>
+                                                            <el-row class="paginationStyle"  >
+                                                                <el-pagination background
+                                                                               @size-change="changePageSizeGoods"
+                                                                               @current-change="changeCurrentPageGoods"
+                                                                               :current-page="goodsList.currentPage"
+                                                                               :page-sizes="[10, 20, 30, 50]"
+                                                                               :page-size="goodsList.pageSize"
+                                                                               layout="total, sizes, prev, pager, next, jumper"
+                                                                               :total="goodsList.total">
+                                                                </el-pagination>
+                                                            </el-row>
+                                                        </el-col>
+                                                    </el-row>
+                                                </el-drawer>
+
                                             </div>
                                         </el-tab-pane>
                                     </el-tabs>
@@ -457,6 +579,40 @@
             imageUrlButton: '',
             imageUrlState: '',
 
+            //优惠券搜索弹出
+            drawerCoupon: false,
+            directionCoupon: 'rtl',
+            tableHeightCoupon: 500,
+            //--优惠券
+            formCoupon:{
+                yhjmc:'',
+                order:'',
+                sort:''
+            },
+            couponList:{
+                rows:[],
+                total:0,
+                pageSize:10,
+                currentPage:1,
+            },
+
+            //品项搜索弹出
+            drawerGoods: false,
+            directionGoods: 'rtl',
+            tableHeightGoods: 500,
+            //--品项
+            formGoods:{
+                cpmc:'',
+                order:'',
+                sort:''
+            },
+            goodsList:{
+                rows:[],
+                total:0,
+                pageSize:10,
+                currentPage:1,
+            },
+
             //字体颜色
             typographyColor: '#409EFF',
             //背景颜色
@@ -503,6 +659,115 @@
             this.loadInfo();
         },
         methods: {
+            //选择优惠券
+            chooseCoupon(val){
+                let _this = this;
+                _this.drawerCoupon = true;
+                _this.formCoupon.yhjmc = val;
+                _this.loadCouponList();
+            },
+            //--优惠券
+            loadCouponList() {
+                let _this = this;
+                let data=_this.getRequestParamCoupon();
+                data.pageSize=_this.couponList.pageSize;
+                data.pageNum=_this.couponList.currentPage;
+                AjaxProxy.requst({
+                    app: _this,
+                    data:data,
+                    url: basePath + '/admin/activitySignAwardSet/selectCouponList',
+                    callback: function (data) {
+                        _this.couponList.rows = data.rows;
+                        _this.couponList.total = data.total;
+                    }
+                });
+            },
+            //查询参数
+            getRequestParamCoupon(){
+                let _this = this;
+                return   {
+                    yhjmc:_this.formCoupon.yhjmc,
+                    order:_this.formCoupon.order,
+                    sort:_this.formCoupon.sort,
+                }
+            },
+            //查询
+            searchFormCoupon:function(){
+                this.couponList.currentPage=1;
+                this.loadCouponList();
+            },
+            //重置
+            resetFormCoupon(formName) {
+                // this.formCoupon.yhjmc = ''
+                // console.log(this.$refs[formName].resetFields)
+                (this.$refs[formName])[0].resetFields();
+            },
+            changePageSizeCoupon(val) {
+                this.couponList.pageSize = val;
+                this.loadCouponList();
+            },
+            changeCurrentPageCoupon(val) {
+                this.couponList.currentPage = val;
+                this.loadCouponList();
+            },
+            //选择
+            chooseOneCoupon(row) {
+                let _this = this;
+                _this.editableTabs[_this.tabIndex-1].content.couponId = row.id;
+                _this.editableTabs[_this.tabIndex-1].content.couponName = row.cname;
+                _this.drawerCoupon = false;
+            },
+
+            //--品项
+            loadGoodsList() {
+                let _this = this;
+                let data=_this.getRequestParamGoods();
+                data.pageSize=_this.goodsList.pageSize;
+                data.pageNum=_this.goodsList.currentPage;
+                AjaxProxy.requst({
+                    app: _this,
+                    data:data,
+                    url: basePath + '/admin/activitySignAwardSet/selectGoodsList',
+                    callback: function (data) {
+                        _this.goodsList.rows = data.rows;
+                        _this.goodsList.total = data.total;
+                    }
+                });
+            },
+            //查询参数
+            getRequestParamGoods(){
+                let _this = this;
+                return   {
+                    cpmc:_this.formCoupon.cpmc,
+                    order:_this.formCoupon.order,
+                    sort:_this.formCoupon.sort,
+                }
+            },
+            //查询
+            searchFormGoods:function(){
+                this.goodsList.currentPage=1;
+                this.loadGoodsList();
+            },
+            //重置
+            resetFormGoods(formName) {
+                (this.$refs[formName])[0].resetFields();
+            },
+            changePageSizeGoods(val) {
+                this.goodsList.pageSize = val;
+                this.loadGoodsList();
+            },
+            changeCurrentPageGoods(val) {
+                this.goodsList.currentPage = val;
+                this.loadGoodsList();
+            },
+            //选择
+            chooseOneGoods(row) {
+                let _this = this;
+                _this.editableTabs[_this.tabIndex-1].content.goodsId = row.id;
+                _this.editableTabs[_this.tabIndex-1].content.goodsName = row.name;
+                _this.drawerGoods = false;
+            },
+
             //加载活动详情
             loadInfo() {
                 let _this = this;
diff --git a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html
index cb5a821..44d8841 100644
--- a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html
+++ b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html
@@ -776,7 +776,7 @@
                 let _this = this;
                 _this.editableTabs[_this.tabIndex-1].content.goodsId = row.id;
                 _this.editableTabs[_this.tabIndex-1].content.goodsName = row.name;
-                _this.drawerCoupon = false;
+                _this.drawerGoods = false;
             },
 
             //保存
diff --git a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html
index b71fa3c..2e975b3 100644
--- a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html
+++ b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-user.html
@@ -345,7 +345,51 @@
             this.loadInfo();
             window.addEventListener("keydown", this.keydown);
             //初始化编辑器
-            ue = UE.getEditor('description');
+            ue = UE.getEditor('description', {
+                toolbars: [
+                    [
+                        'anchor',
+                        'bold', //加粗
+                        'indent', //首行缩进
+                        'italic', //斜体
+                        'underline', //下划线
+                        'strikethrough', //删除线
+                        'subscript', //下标
+                        'fontborder', //字符边框
+                        'superscript', //上标
+                        'formatmatch', //格式刷
+                        'pasteplain', //纯文本粘贴模式
+                        'selectall', //全选
+                        'horizontal', //分隔线
+                        'removeformat', //清除格式
+                        'unlink', //取消链接
+                        'inserttitle', //插入标题
+                        'cleardoc', //清空文档
+                        'fontfamily', //字体
+                        'fontsize', //字号
+                        'paragraph', //段落格式
+                        'simpleupload', //单图上传
+                        'insertimage', //多图上传
+                        'link', //超链接
+                        'emotion', //表情
+                        'justifyleft', //居左对齐
+                        'justifyright', //居右对齐
+                        'justifycenter', //居中对齐
+                        'justifyjustify', //两端对齐
+                        'forecolor', //字体颜色
+                        'backcolor', //背景色
+                        'insertorderedlist', //有序列表
+                        'insertunorderedlist', //无序列表
+                        'fullscreen', //全屏
+                        'rowspacingtop', //段前距
+                        'rowspacingbottom', //段后距
+                        'imagecenter', //居中
+                        'lineheight', //行间距
+                        'customstyle', //自定义标题
+                        'autotypeset', //自动排版
+                        'background', //背景
+                    ]
+                ]});
         },
         mounted: function () {
         },
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive-erp/score/score-setting.html b/zq-erp/src/main/resources/templates/views/admin/hive-erp/score/score-setting.html
index 1df9d0b..da44764 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive-erp/score/score-setting.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive-erp/score/score-setting.html
@@ -158,15 +158,30 @@
                                     <el-col :span="3">
                                         <el-input v-model="paramSettingShop.paramValue" oninput ="value=value.replace(/[^0-9.]/g,'')"></el-input>
                                     </el-col>
-                                    <el-col class="line" :span="4" style="margin-left: 10px">元/积分</el-col>
+                                    <div v-show="paramSettingShop.paramName !== '现金消费'">
+                                        <el-col class="line" :span="4" style="margin-left: 10px">积分/次</el-col>
+                                    </div>
+                                    <div v-show="paramSettingShop.paramName === '现金消费'">
+                                        <el-col class="line" :span="4" style="margin-left: 10px">元/积分</el-col>
+                                    </div>
                                     <el-col :span="3">
                                         <el-input v-model="paramSettingShop.paramValue1" oninput ="value=value.replace(/[^0-9.]/g,'')"></el-input>
                                     </el-col>
-                                    <el-col class="line" :span="4" style="margin-left: 10px">元/积分</el-col>
+                                    <div v-show="paramSettingShop.paramName !== '现金消费'">
+                                        <el-col class="line" :span="4" style="margin-left: 10px">积分/次</el-col>
+                                    </div>
+                                    <div v-show="paramSettingShop.paramName === '现金消费'">
+                                        <el-col class="line" :span="4" style="margin-left: 10px">元/积分</el-col>
+                                    </div>
                                     <el-col :span="3">
                                         <el-input v-model="paramSettingShop.paramValue2" oninput ="value=value.replace(/[^0-9.]/g,'')"></el-input>
                                     </el-col>
-                                    <el-col class="line" :span="4" style="margin-left: 10px">元/积分</el-col>
+                                    <div v-show="paramSettingShop.paramName !== '现金消费'">
+                                        <el-col class="line" :span="4" style="margin-left: 10px">积分/次</el-col>
+                                    </div>
+                                    <div v-show="paramSettingShop.paramName === '现金消费'">
+                                        <el-col class="line" :span="4" style="margin-left: 10px">元/积分</el-col>
+                                    </div>
                                 </el-form-item>
                             </template>
                         </el-col>
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/daily-list-new.html b/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/daily-list-new.html
index 0137137..f19c967 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/daily-list-new.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive-erp/statistics/daily-list-new.html
@@ -113,6 +113,8 @@
 			<el-table-column prop="proName" label="产品" width="200"></el-table-column>
 			<el-table-column prop="cateName" label="产品分类"></el-table-column>
 			<el-table-column prop="zkTotal" label="订单金额"></el-table-column>
+			<el-table-column prop="goodsCash" label="现金"></el-table-column>
+			<el-table-column prop="cardCash" label="划扣"></el-table-column>
 <!--			<el-table-column prop="goodsCash" label="订单业绩"></el-table-column>-->
 			<el-table-column prop="meiliao" label="员工"></el-table-column>
 			<el-table-column v-for="(item, index) in customColumns" width="120" :key="index" :label="item.value">
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html
index 6bdb364..0bee811 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html
@@ -237,6 +237,18 @@
                         </template>
                     </el-table-column>
                 </el-table>
+
+                <el-row style="text-align: center; margin-top: 10px;">
+                    <el-pagination
+                            @size-change="handleSizeChange"
+                            @current-change="handleCurrentChange"
+                            :current-page="page.currentPage"
+                            :page-sizes="[10, 20, 30, 50]"
+                            :page-size="page.pageSize"
+                            layout="total, prev, pager, next, jumper"
+                            :total="page.total">
+                    </el-pagination>
+                </el-row>
                 <el-row class="btn-box">
                     <el-button size="mini" type="danger" @click="closeXm()">关闭</el-button>
                     <el-button size="mini" type="primary" @click="chouseGoods()">确认</el-button>
@@ -659,6 +671,11 @@
             searchTableData: [],
             //表格加载效果
             loading: false,
+            page : {
+                currentPage : 1,
+                pageSize : 10,
+                total : 0
+            },
             /******搜索表格数据END********/
 
             dialogSettleVisible : false,
@@ -928,10 +945,10 @@
                                 let count = parseFloat(item.count);
                                 let zkPrice = parseFloat(item.zkPrice);
 
-                                if (optionType != 1) {
+                                // if (optionType != 1) {
                                     //直接修改支付金额不重置支付金额
                                     item.payMoney = zkPrice * count;
-                                }
+                                // }
                                 _this.order.payMoney += parseFloat(item.payMoney);
 
                                 //重新计算业绩金额
@@ -1174,6 +1191,9 @@
              */
             searchGoods() {
                 let _this = this;
+                var currentPage = this.page.currentPage;
+                var pageSize = this.page.pageSize;
+                var offset = (currentPage - 1) * pageSize;
                 if (this.queryKey && this.queryKey.trim().length > 0) {
                     this.showSearchTable = true;
                     this.loading = true;
@@ -1181,10 +1201,11 @@
                         app: _this,
                         contentType: 'application/x-www-form-urlencoded',
                         //TODO 优化下拉加载
-                        data: {name: _this.queryKey, limit: 10000},
+                        data: {name: _this.queryKey, limit: pageSize, offset : offset},
                         url: basePath + "/admin/shoppinggoods/showList",
                         callback: function (data) {
                             _this.searchTableData = data.rows;
+                            _this.page.total = data.total;
                             _this.loading = false;
                         }
                     });
@@ -1192,8 +1213,14 @@
                     this.showSearchTable = false;
                 }
             },
-
-
+            handleSizeChange(val) {
+                this.page.pageSize = val;
+                this.searchGoods();
+            },
+            handleCurrentChange(val) {
+                this.page.currentPage = val;
+                this.searchGoods();
+            },
             remoteMethod(query) {
                 if (query !== '') {
                     this.vipLoading = true;
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html
index 15d5daa..ce54cfa 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html
@@ -1535,7 +1535,7 @@
                     return;
                 }
                 vipId = this.vipInfo.id;
-                openAddService();
+                openAddService(vipId);
             },
             // 开订单
             addOrder() {
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html b/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html
index 0137137..f19c967 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-list-new.html
@@ -113,6 +113,8 @@
 			<el-table-column prop="proName" label="产品" width="200"></el-table-column>
 			<el-table-column prop="cateName" label="产品分类"></el-table-column>
 			<el-table-column prop="zkTotal" label="订单金额"></el-table-column>
+			<el-table-column prop="goodsCash" label="现金"></el-table-column>
+			<el-table-column prop="cardCash" label="划扣"></el-table-column>
 <!--			<el-table-column prop="goodsCash" label="订单业绩"></el-table-column>-->
 			<el-table-column prop="meiliao" label="员工"></el-table-column>
 			<el-table-column v-for="(item, index) in customColumns" width="120" :key="index" :label="item.value">
diff --git a/zq-erp/src/test/java/com/matrix/FenxiaoSoreInitTest.java b/zq-erp/src/test/java/com/matrix/FenxiaoSoreInitTest.java
new file mode 100644
index 0000000..c37e2bb
--- /dev/null
+++ b/zq-erp/src/test/java/com/matrix/FenxiaoSoreInitTest.java
@@ -0,0 +1,78 @@
+package com.matrix;
+
+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 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.test.context.junit4.SpringRunner;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = {ZqErpApplication.class},webEnvironment =SpringBootTest.WebEnvironment.RANDOM_PORT)
+public class FenxiaoSoreInitTest {
+	
+	@Autowired
+    private BusParameterSettingsDao busParameterSettingsDao;
+	
+	@Test
+	public void InitByCompanyId() {
+	    //对应的公司ID
+		long companyId = 35L;
+		initBusParameterSetting(companyId);
+		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));
+        ruleSettings.add(addScoreRuleSetting(ScoreSettingConstant.SIGN_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;
+    }
+
+}
diff --git a/zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java b/zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java
new file mode 100644
index 0000000..e12109a
--- /dev/null
+++ b/zq-erp/src/test/java/com/matrix/ParameterSettingsTool.java
@@ -0,0 +1,92 @@
+package com.matrix;
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.matrix.system.common.bean.BusParameterSettings;
+import com.matrix.system.common.bean.SysCompany;
+import com.matrix.system.common.dao.BusParameterSettingsDao;
+import com.matrix.system.common.dao.SysCompanyDao;
+import com.matrix.system.hive.bean.ParameterSettings;
+import com.matrix.system.hive.dao.ParameterSettingsDao;
+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.test.context.junit4.SpringRunner;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 配置工具
+ * 
+ * @author jiangyouyao
+ * @email 512061637@qq.com
+ * @date 2019年2月25日
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = {ZqErpApplication.class},webEnvironment =SpringBootTest.WebEnvironment.RANDOM_PORT)
+public class ParameterSettingsTool {
+
+
+	@Autowired
+	private ParameterSettingsDao parameterSettingsDao;
+
+	@Autowired
+	private BusParameterSettingsDao busParameterSettingsDao;
+
+	@Autowired
+	private SysCompanyDao sysCompanyDao;
+
+	/*
+	给所有公司加上多个配置,如果已经存在则跳过
+	 */
+	@Test
+	public void addSettings(){
+
+		List<ParameterSettings> newSettings=new ArrayList<>();
+
+
+		ParameterSettings newSetting1=new ParameterSettings();
+		newSetting1.setCode("APP_BANNER_GL");
+		newSetting1.setName("APP管理模块Banner");
+		newSetting1.setType(1);
+		newSetting1.setCategory("APP设置");
+		newSettings.add(newSetting1);
+
+		for (ParameterSettings newSetting : newSettings) {
+			List<ParameterSettings> parameterSettings = parameterSettingsDao.selectByModel(newSetting);
+			if(CollectionUtil.isEmpty(parameterSettings)){
+				parameterSettingsDao.insert(newSetting);
+				System.out.println("新增配置"+newSetting.getName());
+			}else {
+				System.out.println("配置"+newSetting.getName()+"已经存在");
+			}
+			addSettingsTOAllCompany(newSetting);
+		}
+	}
+
+	private void addSettingsTOAllCompany(ParameterSettings newSetting) {
+
+		List<SysCompany> allCompany = sysCompanyDao.selectByModel(null);
+
+		for (SysCompany sysCompany : allCompany) {
+			BusParameterSettings checkExist = busParameterSettingsDao.selectCompanyParamByCode(newSetting.getCode(), sysCompany.getComId());
+			if(checkExist==null){
+				BusParameterSettings busParameterSettings=new BusParameterSettings();
+				busParameterSettings.setCompanyId(sysCompany.getComId());
+				busParameterSettings.setParamCode(newSetting.getCode());
+				busParameterSettings.setParamValue("");
+				busParameterSettingsDao.insert(busParameterSettings);
+				System.out.println(sysCompany.getComName()+"新增成功");
+			}else{
+				System.out.println("公司"+sysCompany.getComName()+"已经存在配置"+newSetting.getName());
+			}
+
+		}
+
+
+
+	}
+
+
+}

--
Gitblit v1.9.1