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

[成长值每日登录得分逻辑修改][修复]

release_toaliyun_real
Stormeye.Wu 7 лет назад
Родитель
Сommit
c8fcf4308d
3 измененных файлов: 50 добавлений и 23 удалений
  1. +1
    -1
      mallinkService/src/main/java/com/iformall/mapper/WxScoreHistoryMapper.java
  2. +33
    -22
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java
  3. +16
    -0
      mallinkService/src/main/resources/mapper/WxScoreHistoryMapper.xml

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

@@ -9,7 +9,7 @@ public interface WxScoreHistoryMapper extends CommonMapper<WxScoreHistory, Strin
List<WxScoreHistory> findList(WxScoreHistory wxScoreHistory); List<WxScoreHistory> findList(WxScoreHistory wxScoreHistory);
int countList(WxScoreHistory wxScoreHistory);


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

@@ -1,40 +1,45 @@
package com.iformall.service.impl; package com.iformall.service.impl;


import java.util.*;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.common.IdWorker;
import com.iformall.domain.dto.WxCUserBasicInfoDto; import com.iformall.domain.dto.WxCUserBasicInfoDto;
import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxCouponOrder;
import com.iformall.domain.po.WxScoreRules;
import com.iformall.domain.po.WxScoreHistory;
import com.iformall.enums.EnumScoreType;
import com.iformall.mapper.WxCUserMapper; import com.iformall.mapper.WxCUserMapper;
import com.iformall.mapper.WxCouponOrderMapper; import com.iformall.mapper.WxCouponOrderMapper;
import com.iformall.mapper.WxScoreHistoryMapper;
import com.iformall.mapper.WxScoreRulesMapper; import com.iformall.mapper.WxScoreRulesMapper;
import com.iformall.service.WxCUserService; import com.iformall.service.WxCUserService;
import com.iformall.service.WxScoreRulesService; import com.iformall.service.WxScoreRulesService;
import org.apache.commons.lang3.time.DateUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.iformall.common.IdWorker;

import java.util.Date;
import java.util.List;


@Service @Service
public class WxCUserServiceImpl implements WxCUserService { public class WxCUserServiceImpl implements WxCUserService {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());


@Autowired
@Autowired
WxCUserMapper wxCUserMapper; WxCUserMapper wxCUserMapper;


@Autowired
@Autowired
WxCouponOrderMapper wxCouponOrderMapper; WxCouponOrderMapper wxCouponOrderMapper;


@Autowired
@Autowired
WxScoreRulesMapper wxScoreRulesMapper; WxScoreRulesMapper wxScoreRulesMapper;


@Autowired
@Autowired
WxScoreRulesService wxScoreRulesService; WxScoreRulesService wxScoreRulesService;


@Autowired
WxScoreHistoryMapper wxScoreHistoryMapper;



@Override @Override
public PageInfo<WxCUser> listAsPage(WxCUser record, Integer pageIndex, Integer pageSize) { public PageInfo<WxCUser> listAsPage(WxCUser record, Integer pageIndex, Integer pageSize) {
@@ -71,7 +76,7 @@ public class WxCUserServiceImpl implements WxCUserService {
} else { } else {
user.setLoginCount(user.getLoginCount() + 1); user.setLoginCount(user.getLoginCount() + 1);
user.setUpdateDate(curr); user.setUpdateDate(curr);
ret =wxCUserMapper.updateByPrimaryKeySelective(user);
ret = wxCUserMapper.updateByPrimaryKeySelective(user);
} }


return ret; return ret;
@@ -82,28 +87,34 @@ public class WxCUserServiceImpl implements WxCUserService {
wxCUserMapper.deleteByPrimaryKey(id); wxCUserMapper.deleteByPrimaryKey(id);
} }


@Override
public long findCount(WxCUserBasicInfoDto dto) {
return wxCUserMapper.findCount(dto);
}
@Override
public long findCount(WxCUserBasicInfoDto dto) {
return wxCUserMapper.findCount(dto);
}

@Override
public PageInfo<WxCUser> listByChannel(String tenantId, List<String> sceneList, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserMapper.listByChannel(sceneList, tenantId));
}


@Override
public PageInfo<WxCUser> listByChannel(String tenantId, List<String> sceneList, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserMapper.listByChannel(sceneList, tenantId));
}
private int checkTodayLoginScoreCount(WxCUser cUser) {
WxScoreHistory scoreHistory = new WxScoreHistory();
scoreHistory.setTenantId(cUser.getTenantId());
scoreHistory.setCUserId(cUser.getId());
scoreHistory.setScoreType(EnumScoreType.LOGIN.getCode());
return wxScoreHistoryMapper.countList(scoreHistory);
}


@Override
@Override
public void scoreCalculate(WxCUser user, boolean isNew) { public void scoreCalculate(WxCUser user, boolean isNew) {
if (isNew) { if (isNew) {
wxScoreRulesService.loginAddScore(user); wxScoreRulesService.loginAddScore(user);
} else { } else {
WxCUser oldUser = getById(user.getId());
if (!DateUtils.isSameDay(user.getUpdateDate(), oldUser.getUpdateDate())) {
if (checkTodayLoginScoreCount(user) <= 0) {
wxScoreRulesService.loginAddScore(user); wxScoreRulesService.loginAddScore(user);
} }
} }
} }





} }

+ 16
- 0
mallinkService/src/main/resources/mapper/WxScoreHistoryMapper.xml Просмотреть файл

@@ -76,5 +76,21 @@
<include refid="dynamicWhereConditions"/> <include refid="dynamicWhereConditions"/>
</select> </select>


<select id="countList" parameterType="com.iformall.domain.po.WxScoreHistory" resultMap="BaseResultMap">
select count(*)
from wx_score_history
where 1=1
<if test=" null != tenantId ">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != cUserId ">
and `c_user_id` = #{cUserId}
</if>
<if test=" null != scoreType ">
and `score_type` = #{scoreType}
</if>
and DATEDIFF(`create_date`,now())==0
</select>



</mapper> </mapper>

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