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