Просмотр исходного кода

Merge branch 'release_real_202101' of https://git.malls.iformall.com/server/formallProject into release_real_202101

release_toaliyun_real
xiaohanzi 5 лет назад
Родитель
Сommit
12094e475b
21 измененных файлов: 224 добавлений и 50 удалений
  1. +2
    -0
      mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java
  2. +3
    -3
      mallinkAdmin/src/main/resources/db/migration/V202101250001__user_sign_update_wx_score_rules.sql
  3. +28
    -0
      mallinkAdmin/src/main/resources/db/migration/V202101280001__wx_miniapp_theme.sql
  4. +7
    -0
      mallinkAdmin/src/main/resources/db/migration/V202101290001__wx_activity_update.sql
  5. +2
    -0
      mallinkBApi/src/main/java/com/iformall/tenant/TenantInfoImpl.java
  6. +2
    -2
      mallinkCApi/src/main/java/com/iformall/controller/WxActivityController.java
  7. +0
    -4
      mallinkCApi/src/main/java/com/iformall/controller/WxMiniappThemeController.java
  8. +2
    -0
      mallinkCApi/src/main/java/com/iformall/tenant/TenantInfoImpl.java
  9. +8
    -0
      mallinkService/src/main/java/com/iformall/common/ErrorCode.java
  10. +11
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxActivity.java
  11. +4
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicSign.java
  12. +3
    -3
      mallinkService/src/main/java/com/iformall/domain/po/base/BaseTenantEntity.java
  13. +2
    -1
      mallinkService/src/main/java/com/iformall/enums/EnumActivityStatus.java
  14. +1
    -1
      mallinkService/src/main/java/com/iformall/mapper/WxActivityJoinMapper.java
  15. +1
    -1
      mallinkService/src/main/java/com/iformall/service/WxCUserBasicSignService.java
  16. +42
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxActivityJoinServiceImpl.java
  17. +57
    -16
      mallinkService/src/main/java/com/iformall/service/impl/WxActivityServiceImpl.java
  18. +19
    -9
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicSignServiceImpl.java
  19. +1
    -0
      mallinkService/src/main/java/com/iformall/utils/DateUtils.java
  20. +10
    -4
      mallinkService/src/main/resources/mapper/WxActivityJoinMapper.xml
  21. +19
    -4
      mallinkService/src/main/resources/mapper/WxActivityMapper.xml

+ 2
- 0
mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java Просмотреть файл

@@ -41,6 +41,7 @@ public class TenantInfoImpl implements TenantInfo {
"wx_level_config", "wx_level_config",
"wx_c_user_basic_info", "wx_c_user_basic_info",
"wx_c_user_basic_child", "wx_c_user_basic_child",
"wx_c_user_basic_sign",
"wx_credit_history", "wx_credit_history",
"wx_score_history", "wx_score_history",
"wx_c_user_tags", "wx_c_user_tags",
@@ -73,6 +74,7 @@ public class TenantInfoImpl implements TenantInfo {
"wx_weapp_release_status", "wx_weapp_release_status",
"wx_c_user_basic_info", "wx_c_user_basic_info",
"wx_c_user_basic_child", "wx_c_user_basic_child",
"wx_c_user_basic_sign",
"mem_coupon_from_dsp", "mem_coupon_from_dsp",
"wx_msg_validationcode_model", "wx_msg_validationcode_model",
"sys_notice", "sys_notice",


+ 3
- 3
mallinkAdmin/src/main/resources/db/migration/V202101250001__user_sign_update_wx_score_rules.sql Просмотреть файл

@@ -1,11 +1,11 @@
--type=2 积分规则,追加签到规则 --type=2 积分规则,追加签到规则
update wx_score_rules set rules = JSON_ARRAY_APPEND(rules, '$',CAST('{"id": 17, "desc": "每日签到", "step": 1, "limit": 1, "score": 0}' AS JSON)) update wx_score_rules set rules = JSON_ARRAY_APPEND(rules, '$',CAST('{"id": 17, "desc": "每日签到", "step": 1, "limit": 1, "score": 0}' AS JSON))
where type = 2; where type = 2;
update wx_score_rules set rules = JSON_ARRAY_APPEND(rules, '$',CAST('{"id": 18, "desc": "连续签到7天", "step": 1, "limit": 1, "score": 0}' AS JSON))
update wx_score_rules set rules = JSON_ARRAY_APPEND(rules, '$',CAST('{"id": 18, "desc": "连续签到7天奖励", "step": 1, "limit": 1, "score": 0}' AS JSON))
where type = 2; where type = 2;
update wx_score_rules set rules = JSON_ARRAY_APPEND(rules, '$',CAST('{"id": 19, "desc": "连续签到14天", "step": 1, "limit": 1, "score": 0}' AS JSON))
update wx_score_rules set rules = JSON_ARRAY_APPEND(rules, '$',CAST('{"id": 19, "desc": "连续签到14天奖励", "step": 1, "limit": 1, "score": 0}' AS JSON))
where type = 2; where type = 2;
update wx_score_rules set rules = JSON_ARRAY_APPEND(rules, '$',CAST('{"id": 20, "desc": "连续签到28天", "step": 1, "limit": 1, "score": 0}' AS JSON))
update wx_score_rules set rules = JSON_ARRAY_APPEND(rules, '$',CAST('{"id": 20, "desc": "连续签到28天奖励", "step": 1, "limit": 1, "score": 0}' AS JSON))
where type = 2; where type = 2;


--type=2 积分规则,每日登陆去掉-- 缓存--缓存--缓存 --type=2 积分规则,每日登陆去掉-- 缓存--缓存--缓存

+ 28
- 0
mallinkAdmin/src/main/resources/db/migration/V202101280001__wx_miniapp_theme.sql Просмотреть файл

@@ -0,0 +1,28 @@
update wx_miniapp_theme_deploy set default_icon = "https://formall.oss-accelerate.aliyuncs.com/cimg/new_kanjia.png" where id = 4444;
update wx_miniapp_theme_deploy set default_icon = "https://formall.oss-accelerate.aliyuncs.com/cimg/new_pintuan.png" where id = 4455;
update wx_miniapp_theme_deploy set default_icon = "https://formall.oss-accelerate.aliyuncs.com/cimg/zhibo.png" where id = 4466;
update wx_miniapp_theme_deploy set default_icon = "https://formall.oss-accelerate.aliyuncs.com/cimg/new_xiaofeika.png" where id = 4477;
update wx_miniapp_theme_deploy set default_icon = "https://formall.oss-accelerate.aliyuncs.com/cimg/jifen.png" where id = 4488;

INSERT INTO `wx_miniapp_theme_deploy`(`id`, `name`, `remarks`, `theme_type`, `default_icon`, `default_style`) VALUES (4499, "sy_qd", "首页签到图标", 2, "https://formall.oss-accelerate.aliyuncs.com/cimg/qiandao.png", NULL);
INSERT INTO `wx_miniapp_theme_deploy`(`id`, `name`, `remarks`, `theme_type`, `default_icon`, `default_style`) VALUES (5500, "sy_hd", "首页活动图标", 2, "https://formall.oss-accelerate.aliyuncs.com/cimg/huodong.png", NULL);
INSERT INTO `wx_miniapp_theme_deploy`(`id`, `name`, `remarks`, `theme_type`, `default_icon`, `default_style`) VALUES (5511, "sy_yx", "首页游戏图标", 2, "https://formall.oss-accelerate.aliyuncs.com/cimg/youxi.png", NULL);

INSERT INTO `wx_miniapp_theme_value`(`id`, `miniapp_theme_id`, `miniapp_deploy_id`, `icon`, `style_class`) VALUES (1010, 2, 4499, NULL, NULL);
INSERT INTO `wx_miniapp_theme_value`(`id`, `miniapp_theme_id`, `miniapp_deploy_id`, `icon`, `style_class`) VALUES (1020, 2, 5500, NULL, NULL);
INSERT INTO `wx_miniapp_theme_value`(`id`, `miniapp_theme_id`, `miniapp_deploy_id`, `icon`, `style_class`) VALUES (1030, 2, 5511, NULL, NULL);

INSERT INTO `wx_miniapp_theme_value`(`id`, `miniapp_theme_id`, `miniapp_deploy_id`, `icon`, `style_class`) VALUES (3010, 3, 4499, NULL, NULL);
INSERT INTO `wx_miniapp_theme_value`(`id`, `miniapp_theme_id`, `miniapp_deploy_id`, `icon`, `style_class`) VALUES (3020, 3, 5500, NULL, NULL);
INSERT INTO `wx_miniapp_theme_value`(`id`, `miniapp_theme_id`, `miniapp_deploy_id`, `icon`, `style_class`) VALUES (3030, 3, 5511, NULL, NULL);


update wx_miniapp_theme_value set icon = "https://formall.oss-accelerate.aliyuncs.com/cimg/new_kanjia_red.png" where miniapp_theme_id = 3 and miniapp_deploy_id = 4444;
update wx_miniapp_theme_value set icon = "https://formall.oss-accelerate.aliyuncs.com/cimg/new_pintuan_red.png" where miniapp_theme_id = 3 and miniapp_deploy_id = 4455;
update wx_miniapp_theme_value set icon = "https://formall.oss-accelerate.aliyuncs.com/cimg/zhibo_red.png" where miniapp_theme_id = 3 and miniapp_deploy_id = 4466;
update wx_miniapp_theme_value set icon = "https://formall.oss-accelerate.aliyuncs.com/cimg/new_xiaofeika_red.png" where miniapp_theme_id = 3 and miniapp_deploy_id = 4477;
update wx_miniapp_theme_value set icon = "https://formall.oss-accelerate.aliyuncs.com/cimg/jifen_red.png" where miniapp_theme_id = 3 and miniapp_deploy_id = 4488;
update wx_miniapp_theme_value set icon = "https://formall.oss-accelerate.aliyuncs.com/cimg/qiandao_red.png" where miniapp_theme_id = 3 and miniapp_deploy_id = 4499;
update wx_miniapp_theme_value set icon = "https://formall.oss-accelerate.aliyuncs.com/cimg/huodong_red.png" where miniapp_theme_id = 3 and miniapp_deploy_id = 5500;
update wx_miniapp_theme_value set icon = "https://formall.oss-accelerate.aliyuncs.com/cimg/youxi_red.png" where miniapp_theme_id = 3 and miniapp_deploy_id = 5511;


+ 7
- 0
mallinkAdmin/src/main/resources/db/migration/V202101290001__wx_activity_update.sql Просмотреть файл

@@ -0,0 +1,7 @@
ALTER TABLE `wx_activity`
ADD COLUMN `activity_type` smallint(2) NOT NULL DEFAULT 1 COMMENT '活动类型(是否需要报名1是0否)' AFTER `html`,
ADD COLUMN `signup_examine` smallint(2) NOT NULL DEFAULT 1 COMMENT '报名审核 1是0否(activity_type=1时必填)' AFTER `person_limit`,
MODIFY COLUMN `person_limit` int(11) COMMENT '报名人数(activity_type=1时必填)' AFTER `activity_type`,
MODIFY COLUMN `start_time` datetime(0) COMMENT '活动报名开始时间(activity_type=1时必填)' AFTER `status`,
MODIFY COLUMN `end_time` datetime(0) COMMENT '活动报名结束时间(activity_type=1时必填)' AFTER `start_time`,
MODIFY COLUMN `question` json COMMENT '问题' AFTER `end_time`;

+ 2
- 0
mallinkBApi/src/main/java/com/iformall/tenant/TenantInfoImpl.java Просмотреть файл

@@ -36,6 +36,7 @@ public class TenantInfoImpl implements TenantInfo {
"wx_level_config", "wx_level_config",
"wx_c_user_basic_info", "wx_c_user_basic_info",
"wx_c_user_basic_child", "wx_c_user_basic_child",
"wx_c_user_basic_sign",
"wx_credit_history", "wx_credit_history",
"wx_score_history", "wx_score_history",
"wx_c_user_tags", "wx_c_user_tags",
@@ -50,6 +51,7 @@ public class TenantInfoImpl implements TenantInfo {
"wx_c_user", "wx_c_user",
"wx_c_user_basic_info", "wx_c_user_basic_info",
"wx_c_user_basic_child", "wx_c_user_basic_child",
"wx_c_user_basic_sign",
"wx_c_user_car", "wx_c_user_car",
"wx_c_user_from_b", "wx_c_user_from_b",
"wx_c_user_tags", "wx_c_user_tags",


+ 2
- 2
mallinkCApi/src/main/java/com/iformall/controller/WxActivityController.java Просмотреть файл

@@ -45,7 +45,7 @@ public class WxActivityController extends BaseController {
public ResultData list(@ModelAttribute WxActivity wxActivity, Integer pageNum, Integer pageSize) { public ResultData list(@ModelAttribute WxActivity wxActivity, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxActivityController::list"); logger.debug("[" + getIpAddr() + "] WxActivityController::list");
if (null == wxActivity) wxActivity = new WxActivity(); if (null == wxActivity) wxActivity = new WxActivity();
wxActivity.setStatus(EnumActivityStatus.INJECT_ONLINE.getCode());
wxActivity.setStatus(EnumActivityStatus.INJECT_ONLINES.getCode());
wxActivity.updateTenantInfo(getTenantInfo()); wxActivity.updateTenantInfo(getTenantInfo());
wxActivity.setSortColumns(BaseEntity.SortField.ActivityStartTime_DESC,BaseEntity.SortField.Id_DESC); wxActivity.setSortColumns(BaseEntity.SortField.ActivityStartTime_DESC,BaseEntity.SortField.Id_DESC);
final PageInfo<WxActivity> page = wxActivityService.listAsPage(wxActivity, pageNum, pageSize); final PageInfo<WxActivity> page = wxActivityService.listAsPage(wxActivity, pageNum, pageSize);
@@ -60,7 +60,7 @@ public class WxActivityController extends BaseController {
public ResultData listStatus(@ModelAttribute WxActivity wxActivity) { public ResultData listStatus(@ModelAttribute WxActivity wxActivity) {
logger.debug("[" + getIpAddr() + "] WxActivityController::list"); logger.debug("[" + getIpAddr() + "] WxActivityController::list");
if (null == wxActivity) wxActivity = new WxActivity(); if (null == wxActivity) wxActivity = new WxActivity();
wxActivity.setStatus(EnumActivityStatus.INJECT_ONLINE.getCode());
wxActivity.setStatus(EnumActivityStatus.INJECT_ONLINES.getCode());
wxActivity.updateTenantInfo(getTenantInfo()); wxActivity.updateTenantInfo(getTenantInfo());
wxActivity.setSortColumns(BaseEntity.SortField.ActivityStartTime_DESC,BaseEntity.SortField.Id_DESC); wxActivity.setSortColumns(BaseEntity.SortField.ActivityStartTime_DESC,BaseEntity.SortField.Id_DESC);
if(wxActivity.getStartDate() == null || wxActivity.getEndDate() == null){ if(wxActivity.getStartDate() == null || wxActivity.getEndDate() == null){


+ 0
- 4
mallinkCApi/src/main/java/com/iformall/controller/WxMiniappThemeController.java Просмотреть файл

@@ -1,18 +1,14 @@
package com.iformall.controller; package com.iformall.controller;


import com.github.pagehelper.PageInfo;
import com.iformall.annotation.RedisCache; import com.iformall.annotation.RedisCache;
import com.iformall.annotation.TenantIgnore; import com.iformall.annotation.TenantIgnore;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.po.WxMiniappTheme;
import com.iformall.domain.po.WxMiniappThemeValue; import com.iformall.domain.po.WxMiniappThemeValue;
import com.iformall.domain.po.WxThemeMall; import com.iformall.domain.po.WxThemeMall;
import com.iformall.enums.EnumThemeType; import com.iformall.enums.EnumThemeType;
import com.iformall.service.WxMiniappThemeService; import com.iformall.service.WxMiniappThemeService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;


+ 2
- 0
mallinkCApi/src/main/java/com/iformall/tenant/TenantInfoImpl.java Просмотреть файл

@@ -36,6 +36,7 @@ public class TenantInfoImpl implements TenantInfo {
"wx_level_config", "wx_level_config",
"wx_c_user_basic_info", "wx_c_user_basic_info",
"wx_c_user_basic_child", "wx_c_user_basic_child",
"wx_c_user_basic_sign",
"wx_credit_history", "wx_credit_history",
"wx_score_history", "wx_score_history",
"wx_c_user_tags", "wx_c_user_tags",
@@ -50,6 +51,7 @@ public class TenantInfoImpl implements TenantInfo {
"wx_c_user", "wx_c_user",
"wx_c_user_basic_info", "wx_c_user_basic_info",
"wx_c_user_basic_child", "wx_c_user_basic_child",
"wx_c_user_basic_sign",
"wx_c_user_car", "wx_c_user_car",
"wx_c_user_from_b", "wx_c_user_from_b",
"wx_c_user_tags", "wx_c_user_tags",


+ 8
- 0
mallinkService/src/main/java/com/iformall/common/ErrorCode.java Просмотреть файл

@@ -541,6 +541,14 @@ public enum ErrorCode{
ACTIVITY_WAIT_CONFIRMED(30006, "您报名的活动还在审核中"), ACTIVITY_WAIT_CONFIRMED(30006, "您报名的活动还在审核中"),
ACTIVITY_EXPIRED(30007, "您报名的活动已过期"), ACTIVITY_EXPIRED(30007, "您报名的活动已过期"),
ACTIVITY_SEND_ERROR_NOONLINE(30008, "活动投放到宣传页失败,活动未上线!"), ACTIVITY_SEND_ERROR_NOONLINE(30008, "活动投放到宣传页失败,活动未上线!"),
ACTIVITY_NOT_FOND(30009, "活动未找到!"),
ACTIVITY_JOIN_TIME_START(30010, "活动报名时间未开始!"),
ACTIVITY_JOIN_END_TIME_BEFORE(30011, "活动报名结束时间不能小于当前时间"),
ACTIVITY_END_TIME_BEFORE(30012, "活动结束时间不能小于当前时间"),
ACTIVITY_NOT_JOIN(30013, "该活动不需要报名!"),
ACTIVITY_JOIN_IS_SIGNIN(30014, "用户已签到!"),
ACTIVITY_JOIN_NOT_FOND(30015, "活动报名未找到!"),
ACTIVITY_NOT_UPDATE(30016, "下线状态,不允许修改!"),


/** /**
* 文件上传 * 文件上传


+ 11
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxActivity.java Просмотреть файл

@@ -35,6 +35,13 @@ public class WxActivity extends TenantEntity {
private Integer personLimit; private Integer personLimit;
@io.swagger.annotations.ApiModelProperty(value = "活动正文", name = "detail") @io.swagger.annotations.ApiModelProperty(value = "活动正文", name = "detail")
private String detail; private String detail;

@io.swagger.annotations.ApiModelProperty(value = "活动类型(是否需要报名1是0否)", name = "activityType")
private Integer activityType;

@io.swagger.annotations.ApiModelProperty(value = "报名审核 1是0否(activity_type=1时必填)", name = "signupExamine")
private Integer signupExamine;

@io.swagger.annotations.ApiModelProperty(value = "活动开始报名时间", name = "startTime") @io.swagger.annotations.ApiModelProperty(value = "活动开始报名时间", name = "startTime")
private Date startTime; private Date startTime;
@io.swagger.annotations.ApiModelProperty(value = "活动结束报名时间", name = "endTime") @io.swagger.annotations.ApiModelProperty(value = "活动结束报名时间", name = "endTime")
@@ -115,5 +122,9 @@ public class WxActivity extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value = "常见问题选择", name = "selectques") @io.swagger.annotations.ApiModelProperty(value = "常见问题选择", name = "selectques")
private String selectques; private String selectques;


@TableField(exist = false)
@io.swagger.annotations.ApiModelProperty(value = "报名状态", name = "joinStatus")
private Integer joinStatus;

} }



+ 4
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicSign.java Просмотреть файл

@@ -52,6 +52,7 @@ public class WxCUserBasicSign extends TenantEntity {
private String mark; private String mark;




@TableField(exist = false) @TableField(exist = false)
private Date startDate; private Date startDate;


@@ -64,4 +65,7 @@ public class WxCUserBasicSign extends TenantEntity {
@TableField(exist = false) @TableField(exist = false)
private Integer limit; private Integer limit;


@TableField(exist = false)
private Integer credit;

} }

+ 3
- 3
mallinkService/src/main/java/com/iformall/domain/po/base/BaseTenantEntity.java Просмотреть файл

@@ -27,7 +27,7 @@ public class BaseTenantEntity extends BaseEntity {
protected String finalTenantId; protected String finalTenantId;


public String getFinalTenantId() { public String getFinalTenantId() {
if (!StringUtils.isBlank(parentTenantId)) {
if (StringUtils.isNotBlank(parentTenantId)) {
return parentTenantId; return parentTenantId;
} }
return tenantId; return tenantId;
@@ -42,8 +42,8 @@ public class BaseTenantEntity extends BaseEntity {
protected String shardFinalTableSuffix; protected String shardFinalTableSuffix;


public String getShardFinalTableSuffix(){ public String getShardFinalTableSuffix(){
if(StringUtils.isNotBlank(finalTenantId)){
shardFinalTableSuffix = "_" + Integer.parseInt(finalTenantId)%100;
if(StringUtils.isNotBlank(getFinalTenantId())){
shardFinalTableSuffix = "_" + Integer.parseInt(getFinalTenantId())%100;
} }
return shardFinalTableSuffix; return shardFinalTableSuffix;
} }


+ 2
- 1
mallinkService/src/main/java/com/iformall/enums/EnumActivityStatus.java Просмотреть файл

@@ -9,7 +9,8 @@ public enum EnumActivityStatus {
STATUS_THROW_IN(0, "已保存"), STATUS_THROW_IN(0, "已保存"),
STATUS_TAKE_OFFF(1, "已下线"), STATUS_TAKE_OFFF(1, "已下线"),
INJECT_CAMPAIGN(2, "已投放"), INJECT_CAMPAIGN(2, "已投放"),
INJECT_ONLINE(3, "已上线"),;
INJECT_ONLINE(3, "已上线"),
INJECT_ONLINES(4, "上过线"),;//查询状态


public static EnumActivityStatus getEnum(Integer code) { public static EnumActivityStatus getEnum(Integer code) {
for (EnumActivityStatus value : values()) { for (EnumActivityStatus value : values()) {


+ 1
- 1
mallinkService/src/main/java/com/iformall/mapper/WxActivityJoinMapper.java Просмотреть файл

@@ -18,7 +18,7 @@ public interface WxActivityJoinMapper extends CommonMapper<WxActivityJoin, Long>


void updateSendMsg(Map<String, Object> param); void updateSendMsg(Map<String, Object> param);


void updateStatus(List<WxActivity> wxActivity);
// void updateStatus(List<WxActivity> wxActivity);


void activityExpired(); void activityExpired();
} }

+ 1
- 1
mallinkService/src/main/java/com/iformall/service/WxCUserBasicSignService.java Просмотреть файл

@@ -25,7 +25,7 @@ public interface WxCUserBasicSignService {


Map<String,Integer> getLastSignIn(WxCUserBasicSign record); Map<String,Integer> getLastSignIn(WxCUserBasicSign record);


void signInCreditHistory(WxCUserBasicSign record, EnumScoreType enumScoreType);
int signInCreditHistory(WxCUserBasicSign record, EnumScoreType enumScoreType);


ResultData getListStatus(WxCUserBasicSign wxCUserBasicSign); ResultData getListStatus(WxCUserBasicSign wxCUserBasicSign);
} }

+ 42
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxActivityJoinServiceImpl.java Просмотреть файл

@@ -73,6 +73,10 @@ public class WxActivityJoinServiceImpl implements WxActivityJoinService {


@Override @Override
public ResultData modifyStatus(WxActivityJoin wxActivityJoin) { public ResultData modifyStatus(WxActivityJoin wxActivityJoin) {
WxActivityJoin wxActivityJoin1 = wxActivityJoinMapper.selectById(wxActivityJoin.getId());
if(wxActivityJoin1 == null){
return new ResultData(ErrorCode.ACTIVITY_JOIN_NOT_FOND);
}
if (wxActivityJoin.getStatus().equals(EnumActivityJoinStatus.CONFIRMED.getCode())) { if (wxActivityJoin.getStatus().equals(EnumActivityJoinStatus.CONFIRMED.getCode())) {
WxActivity wxActivity = wxActivityMapper.selectById(wxActivityJoin.getActivityId()); WxActivity wxActivity = wxActivityMapper.selectById(wxActivityJoin.getActivityId());
Integer personLimit = wxActivity.getPersonLimit(); Integer personLimit = wxActivity.getPersonLimit();
@@ -84,7 +88,12 @@ public class WxActivityJoinServiceImpl implements WxActivityJoinService {
if (personLimit.equals(count)) { if (personLimit.equals(count)) {
return new ResultData(ErrorCode.ACTIVITY_PERSON_LIMITED, count); return new ResultData(ErrorCode.ACTIVITY_PERSON_LIMITED, count);
} }
}else{
if(wxActivityJoin1.getSignIn().equals(EnumActivityJoinSignStatus.YES.getCode())){
return new ResultData(ErrorCode.ACTIVITY_JOIN_IS_SIGNIN);
}
} }

wxActivityJoinMapper.updateById(wxActivityJoin); wxActivityJoinMapper.updateById(wxActivityJoin);
return new ResultData(Result.SUCCESS, "操作成功"); return new ResultData(Result.SUCCESS, "操作成功");
} }
@@ -166,6 +175,24 @@ public class WxActivityJoinServiceImpl implements WxActivityJoinService {
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = {Exception.class}) @Transactional(propagation = Propagation.REQUIRED, rollbackFor = {Exception.class})
@Override @Override
public ResultData join(WxActivityJoin wxActivityJoin) { public ResultData join(WxActivityJoin wxActivityJoin) {
WxActivity wxActivity = wxActivityMapper.selectById(wxActivityJoin.getActivityId());
if(wxActivity == null){
return new ResultData(ErrorCode.ACTIVITY_NOT_FOND);
}
Date date = new Date();
if(wxActivity.getActivityType().equals(EnumDelFlag.YES.getCode())){
if(date.getTime() < wxActivity.getStartTime().getTime()){
return new ResultData(ErrorCode.ACTIVITY_JOIN_TIME_START);
}
if(date.getTime() > wxActivity.getEndTime().getTime()){
return new ResultData(ErrorCode.ACTIVITY_JOIN_TIME_END);
}

}else{
return new ResultData(ErrorCode.ACTIVITY_NOT_JOIN);
}


WxActivityJoin joinQuery = new WxActivityJoin(); WxActivityJoin joinQuery = new WxActivityJoin();
joinQuery.setUserId(wxActivityJoin.getUserId()); joinQuery.setUserId(wxActivityJoin.getUserId());
joinQuery.setActivityId(wxActivityJoin.getActivityId()); joinQuery.setActivityId(wxActivityJoin.getActivityId());
@@ -173,10 +200,22 @@ public class WxActivityJoinServiceImpl implements WxActivityJoinService {
if (count > 0) { if (count > 0) {
return new ResultData(ErrorCode.ACTIVITY_JOINED); return new ResultData(ErrorCode.ACTIVITY_JOINED);
} }
if(wxActivity.getSignupExamine().equals(EnumDelFlag.YES.getCode())){
wxActivityJoin.setStatus(EnumActivityJoinStatus.NOT_CONFIRMED.getCode());
}else{
WxActivityJoin params = new WxActivityJoin();
params.updateTenantInfo(wxActivity);
params.setActivityId(wxActivity.getId());
params.setStatus(EnumActivityJoinStatus.CONFIRMED.getCode());
int joinCount = wxActivityJoinMapper.selectCount(new QueryWrapper(params));
if (joinCount >= wxActivity.getPersonLimit().intValue()) {
return new ResultData(ErrorCode.ACTIVITY_PERSON_LIMITED, joinCount);
}
wxActivityJoin.setStatus(EnumActivityJoinStatus.CONFIRMED.getCode());
}

WxCUserBasicInfo user = wxCUserBasicInfoMapper.selectById(wxActivityJoin.getUserId(),wxActivityJoin.getFinalTenantId()); WxCUserBasicInfo user = wxCUserBasicInfoMapper.selectById(wxActivityJoin.getUserId(),wxActivityJoin.getFinalTenantId());
//查询是否消耗积分 //查询是否消耗积分
WxActivity wxActivity = wxActivityMapper.selectById(wxActivityJoin.getActivityId());
Date date = new Date();
if (wxActivity.getUseCredit().equals(EnumActivityUseCreditStatus.YES.getCode())) { if (wxActivity.getUseCredit().equals(EnumActivityUseCreditStatus.YES.getCode())) {
Integer credit = wxActivity.getCredit(); Integer credit = wxActivity.getCredit();
//积分历史 //积分历史
@@ -192,6 +231,7 @@ public class WxActivityJoinServiceImpl implements WxActivityJoinService {
wxCreditHistory.setOperatorId(wxActivityJoin.getUserId()); wxCreditHistory.setOperatorId(wxActivityJoin.getUserId());
wxCreditHistoryService.saveOrUpdate(wxCreditHistory,wxActivity.getTenantId()); wxCreditHistoryService.saveOrUpdate(wxCreditHistory,wxActivity.getTenantId());
} }

//保存到报名表中 //保存到报名表中
final IdWorker idWorker = IdWorker.get(); final IdWorker idWorker = IdWorker.get();
wxActivityJoin.setId(idWorker.nextId()); wxActivityJoin.setId(idWorker.nextId());


+ 57
- 16
mallinkService/src/main/java/com/iformall/service/impl/WxActivityServiceImpl.java Просмотреть файл

@@ -93,23 +93,59 @@ public class WxActivityServiceImpl implements WxActivityService {
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "图文内容过大无法保存"); return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "图文内容过大无法保存");
} }
} else { } else {
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR,"type");
} }
wxActivity.setStatus(EnumActivityStatus.STATUS_THROW_IN.getCode());
if (wxActivity.getEndTime().before(new Date())) {
throw new MallinkException(ErrorCode.ACTIVITY_JOIN_TIME_END);

if(wxActivity.getActivityStartTime() == null){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "活动开始时间不能为空");
}
if(wxActivity.getActivityEndTime() == null){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "活动结束时间不能为空");
} }
if (wxActivity.getEndTime().after(wxActivity.getActivityEndTime())) {
throw new MallinkException(ErrorCode.ACTIVITY_TIME_ERROR);

if(wxActivity.getActivityType() == null){
wxActivity.setActivityType(EnumDelFlag.YES.getCode());
}
if(wxActivity.getActivityType().equals(EnumDelFlag.YES.getCode())){
if(wxActivity.getSignupExamine() == null){
wxActivity.setSignupExamine(EnumDelFlag.YES.getCode());
}
if(wxActivity.getPersonLimit() == null){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "报名人数不能为空");
}
if(wxActivity.getStartTime() == null){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "报名开始时间不能为空");
}
if(wxActivity.getEndTime() == null){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "报名结束时间不能为空");
}
if (wxActivity.getEndTime().before(new Date())) {
throw new MallinkException(ErrorCode.ACTIVITY_JOIN_END_TIME_BEFORE);
}
if (wxActivity.getEndTime().after(wxActivity.getActivityEndTime())) {
throw new MallinkException(ErrorCode.ACTIVITY_TIME_ERROR);
}
}else if(wxActivity.getActivityType().equals(EnumDelFlag.NO.getCode())){
if (wxActivity.getActivityEndTime().before(new Date())) {
throw new MallinkException(ErrorCode.ACTIVITY_END_TIME_BEFORE);
}
}else{
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR,"activityType");
} }

wxActivity.setStatus(EnumActivityStatus.STATUS_THROW_IN.getCode());
Date date = new Date(); Date date = new Date();
wxActivity.setCreateTime(date);
wxActivity.setUpdateTime(date); wxActivity.setUpdateTime(date);
if (wxActivity.getId() == null) { if (wxActivity.getId() == null) {
final IdWorker idWorker = IdWorker.get(); final IdWorker idWorker = IdWorker.get();
wxActivity.setId(idWorker.nextId()); wxActivity.setId(idWorker.nextId());
wxActivity.setCreateTime(date);
wxActivityMapper.insert(wxActivity); wxActivityMapper.insert(wxActivity);
} else { } else {
WxActivity wxActivity1 = wxActivityMapper.selectById(wxActivity.getId());
if(wxActivity1.getStatus().equals(EnumActivityStatus.STATUS_TAKE_OFFF.getCode())){
return new ResultData(ErrorCode.ACTIVITY_NOT_UPDATE);
}
wxActivityMapper.updateById(wxActivity); wxActivityMapper.updateById(wxActivity);
} }
return new ResultData(Result.SUCCESS, "操作成功"); return new ResultData(Result.SUCCESS, "操作成功");
@@ -226,7 +262,8 @@ public class WxActivityServiceImpl implements WxActivityService {
return EnumActivityEnrollStatus.NOT_START.getCode(); return EnumActivityEnrollStatus.NOT_START.getCode();
} }
Date date = new Date(); Date date = new Date();
if (wxActivity.getStatus().equals(EnumActivityStatus.INJECT_CAMPAIGN.getCode())) {
if (wxActivity.getStatus().equals(EnumActivityStatus.INJECT_CAMPAIGN.getCode())
|| wxActivity.getStatus().equals(EnumActivityStatus.INJECT_ONLINE.getCode())) {
//报名未开始 //报名未开始
if (wxActivity.getStartTime().after(date)) { if (wxActivity.getStartTime().after(date)) {
return EnumActivityEnrollStatus.NOT_START.getCode(); return EnumActivityEnrollStatus.NOT_START.getCode();
@@ -269,17 +306,21 @@ public class WxActivityServiceImpl implements WxActivityService {
if(activityList != null){ if(activityList != null){
for (WxActivity activity:activityList) { for (WxActivity activity:activityList) {


Date start = activity.getActivityStartTime();
Date end = activity.getActivityEndTime();
Date start = DateUtils.getDateZero(activity.getActivityStartTime());
Date end = DateUtils.getDateZero(activity.getActivityEndTime());


Calendar dd = Calendar.getInstance(); Calendar dd = Calendar.getInstance();
dd.setTime(start); dd.setTime(start);
while (start.getTime() < end.getTime()) {
Map map = new HashMap<>();
map.put("yyyy", DateUtils.getYear(start));
map.put("mm", DateUtils.getMonth(start));
map.put("dd", DateUtils.getMonthOfDate(start));
list.add(map);
while (start.getTime() <= end.getTime()) {
if(start.getTime() >= wxActivity.getStartDate().getTime()
&& start.getTime() <= wxActivity.getEndDate().getTime()){
Map map = new HashMap<>();
map.put("yyyy", DateUtils.getYear(start));
map.put("mm", DateUtils.getMonth(start));
map.put("dd", DateUtils.getMonthOfDate(start));
list.add(map);
}

// 天数加上1 // 天数加上1
dd.add(Calendar.DAY_OF_MONTH, 1); dd.add(Calendar.DAY_OF_MONTH, 1);
start = dd.getTime(); start = dd.getTime();


+ 19
- 9
mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicSignServiceImpl.java Просмотреть файл

@@ -113,8 +113,9 @@ public class WxCUserBasicSignServiceImpl implements WxCUserBasicSignService {
} }
wxCUserBasicSignMapper.insert(record); wxCUserBasicSignMapper.insert(record);
} }
signInCreditHistory(record,EnumScoreType.SIGN_IN_DAY);
continueSignInAddCredit(record);
int inCredit = signInCreditHistory(record, EnumScoreType.SIGN_IN_DAY);
int continueIn = continueSignInAddCredit(record);
record.setCredit(inCredit + continueIn);
return record; return record;
}else{ }else{
//补签 //补签
@@ -157,7 +158,11 @@ public class WxCUserBasicSignServiceImpl implements WxCUserBasicSignService {
long daysL = DateUtils.startToEnd(lastSignIn.getSigninDate(), new Date()); long daysL = DateUtils.startToEnd(lastSignIn.getSigninDate(), new Date());
int daysI = new Long(daysL).intValue(); int daysI = new Long(daysL).intValue();
if(daysI == 0){ if(daysI == 0){
map.put("continueSign",lastSignIn.getContinueSign()%28);
int i = lastSignIn.getContinueSign() % 28;
if(i == 0){
i=28;
}
map.put("continueSign",i);
map.put("signInDay",1);//今日已签到 map.put("signInDay",1);//今日已签到
}else if(daysI == 1){ }else if(daysI == 1){
map.put("continueSign",lastSignIn.getContinueSign()%28); map.put("continueSign",lastSignIn.getContinueSign()%28);
@@ -213,7 +218,7 @@ public class WxCUserBasicSignServiceImpl implements WxCUserBasicSignService {
} }


@Override @Override
public void signInCreditHistory(WxCUserBasicSign record, EnumScoreType enumScoreType){
public int signInCreditHistory(WxCUserBasicSign record, EnumScoreType enumScoreType){
WxCreditHistory wxCreditHistory = new WxCreditHistory(); WxCreditHistory wxCreditHistory = new WxCreditHistory();
wxCreditHistory.setCUserId(record.getUserId()); wxCreditHistory.setCUserId(record.getUserId());
wxCreditHistory.setTenantId(record.getFinalTenantId()); wxCreditHistory.setTenantId(record.getFinalTenantId());
@@ -222,7 +227,11 @@ public class WxCUserBasicSignServiceImpl implements WxCUserBasicSignService {
wxCreditHistory.setChangePurpose(enumScoreType.getMessage()); wxCreditHistory.setChangePurpose(enumScoreType.getMessage());
wxCreditHistory.setOperatorType(EnumUserType.CUSERBASIC.getCode()); wxCreditHistory.setOperatorType(EnumUserType.CUSERBASIC.getCode());
wxCreditHistory.setOperatorId(record.getUserId()); wxCreditHistory.setOperatorId(record.getUserId());
wxCreditHistoryService.saveOrUpdate(wxCreditHistory,null);
WxCreditHistory wxCreditHistory1 = wxCreditHistoryService.saveOrUpdate(wxCreditHistory, null);
if(wxCreditHistory1.getCreditNum() == null){
return 0;
}
return wxCreditHistory1.getCreditNum();
} }


@Override @Override
@@ -241,15 +250,16 @@ public class WxCUserBasicSignServiceImpl implements WxCUserBasicSignService {
return new ResultData(list); return new ResultData(list);
} }


private void continueSignInAddCredit(WxCUserBasicSign record){
private int continueSignInAddCredit(WxCUserBasicSign record){
int i = record.getContinueSign() % 28; int i = record.getContinueSign() % 28;
if(record.getContinueSign() > 0 && i == 0){ if(record.getContinueSign() > 0 && i == 0){
signInCreditHistory(record,EnumScoreType.SIGN_IN_TEDAY);
return signInCreditHistory(record, EnumScoreType.SIGN_IN_TEDAY);
}else if(i == 7){ }else if(i == 7){
signInCreditHistory(record,EnumScoreType.SIGN_IN_SEVENDAY);
return signInCreditHistory(record,EnumScoreType.SIGN_IN_SEVENDAY);
}else if(i == 14){ }else if(i == 14){
signInCreditHistory(record,EnumScoreType.SIGN_IN_FTDAY);
return signInCreditHistory(record,EnumScoreType.SIGN_IN_FTDAY);
} }
return 0;
} }


} }

+ 1
- 0
mallinkService/src/main/java/com/iformall/utils/DateUtils.java Просмотреть файл

@@ -1374,6 +1374,7 @@ public class DateUtils {
cal.set(Calendar.HOUR_OF_DAY, 0); cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0); cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0); cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
return cal.getTime(); return cal.getTime();
} }




+ 10
- 4
mallinkService/src/main/resources/mapper/WxActivityJoinMapper.xml Просмотреть файл

@@ -80,7 +80,7 @@
<select id="cfindList" parameterType="com.iformall.domain.po.WxActivityJoin" <select id="cfindList" parameterType="com.iformall.domain.po.WxActivityJoin"
resultType="com.iformall.domain.po.WxActivity"> resultType="com.iformall.domain.po.WxActivity">
select a.id,a.cover_img,a.title,a.activity_start_time,a.activity_end_time,aj.`status`
select a.id,a.cover_img,a.title,a.activity_start_time,a.activity_end_time,aj.`status` join_status,a.`status`
from wx_activity_join aj left join wx_activity a on aj.activity_id=a.id from wx_activity_join aj left join wx_activity a on aj.activity_id=a.id
where aj.user_id=#{userId} where aj.user_id=#{userId}
<if test=" null != tenantId and '' != tenantId"> <if test=" null != tenantId and '' != tenantId">
@@ -89,11 +89,17 @@
<if test=" null != parentTenantId and '' != parentTenantId"> <if test=" null != parentTenantId and '' != parentTenantId">
and aj.`parent_tenant_id` = #{parentTenantId} and aj.`parent_tenant_id` = #{parentTenantId}
</if> </if>
<if test=" null != statusStr and ''!=statusStr">
and aj.`status` in (${statusStr}) and a.`status`=2
<if test=" null != statusStr and '' != statusStr">
and a.`status` in (${statusStr})
</if> </if>
<!-- <if test=" null != statusStr and ''!=statusStr">-->
<!-- and aj.`status` in (${statusStr}) and a.`status`=2-->
<!-- </if>-->
<!-- <if test=" null != status">-->
<!-- and a.`status`= 1-->
<!-- </if>-->
<if test=" null != status"> <if test=" null != status">
and a.`status`= 1
and aj.`status`= #{status}
</if> </if>
<if test=" null != sortColumns">order by aj.${sortColumns}</if> <if test=" null != sortColumns">order by aj.${sortColumns}</if>
</select> </select>


+ 19
- 4
mallinkService/src/main/resources/mapper/WxActivityMapper.xml Просмотреть файл

@@ -17,6 +17,8 @@
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/> <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="html" jdbcType="VARCHAR" property="html"/> <result column="html" jdbcType="VARCHAR" property="html"/>
<result column="person_limit" jdbcType="INTEGER" property="personLimit"/> <result column="person_limit" jdbcType="INTEGER" property="personLimit"/>
<result column="activity_type" jdbcType="INTEGER" property="activityType"/>
<result column="signup_examine" jdbcType="INTEGER" property="signupExamine"/>
<result column="activity_start_time" jdbcType="TIMESTAMP" property="activityStartTime"/> <result column="activity_start_time" jdbcType="TIMESTAMP" property="activityStartTime"/>
<result column="activity_end_time" jdbcType="TIMESTAMP" property="activityEndTime"/> <result column="activity_end_time" jdbcType="TIMESTAMP" property="activityEndTime"/>
<result column="use_credit" jdbcType="INTEGER" property="useCredit"/> <result column="use_credit" jdbcType="INTEGER" property="useCredit"/>
@@ -31,7 +33,7 @@
</resultMap> </resultMap>
<sql id="allColumns"> <sql id="allColumns">
`id`,`tenant_id`,`parent_tenant_id`,`cover_img`,`title`,`sub_title`,`detail`,`html`,`person_limit`,`activity_start_time`,`activity_end_time`,
`id`,`tenant_id`,`parent_tenant_id`,`cover_img`,`title`,`sub_title`,`detail`,`html`,`activity_type`,`signup_examine`,`person_limit`,`activity_start_time`,`activity_end_time`,
`use_credit`,`credit`,`type`,`status`,`start_time`,`end_time`,`question`,`is_expired`,`create_time`,`update_time`,`use_img`, `use_credit`,`credit`,`type`,`status`,`start_time`,`end_time`,`question`,`is_expired`,`create_time`,`update_time`,`use_img`,
`img_detail`,`send_msg`,`selectques` `img_detail`,`send_msg`,`selectques`
</sql> </sql>
@@ -65,14 +67,25 @@
<if test=" null != type "> <if test=" null != type ">
and `type` = #{type} and `type` = #{type}
</if> </if>

<if test=" null != activityType ">
and `activity_type` = #{activityType}
</if>
<if test=" null != signupExamine ">
and `signup_examine` = #{signupExamine}
</if>
<if test=" null != status and status != 3">
<if test=" null != status and status lt 3">
and `status` = #{status} and `status` = #{status}
</if> </if>


<if test=" null != status and status == 3"> <if test=" null != status and status == 3">
and `status` &gt;= 2 and `status` &lt;= 3 and `status` &gt;= 2 and `status` &lt;= 3
</if> </if>

<if test=" null != status and status == 4">
and `status` &gt; 0
</if>
<if test=" null != createTime "> <if test=" null != createTime ">
and `create_time` = #{createTime} and `create_time` = #{createTime}
@@ -94,8 +107,10 @@
<!-- </if>--> <!-- </if>-->


<if test=" null != startDate and null != endDate "> <if test=" null != startDate and null != endDate ">
and ((`activity_start_time` &gt;= #{startDate} and `activity_start_time` &lt;= #{endDate})
or (`activity_end_time` &gt;= #{startDate} and `activity_end_time` &lt;= #{endDate}))
and not(`activity_end_time` &lt; #{startDate, jdbcType=TIMESTAMP} or `activity_start_time` &gt; #{endDate, jdbcType=TIMESTAMP})
<!-- and ((`activity_start_time` &gt;= #{startDate} and `activity_start_time` &lt;= #{endDate})
or (`activity_end_time` &gt;= #{startDate} and `activity_end_time` &lt;= #{endDate})
or (`activity_start_time` &lt;= #{startDate} and `activity_end_time` &gt;= #{endDate}))-->
</if> </if>
<if test=" null != sendMsg "> <if test=" null != sendMsg ">


Загрузка…
Отмена
Сохранить