Compare commits

...

4 Commits

7 changed files with 181 additions and 3 deletions

View File

@ -848,6 +848,17 @@ public class ApiMemberController extends BaseController {
} }
/**
* 获取会员收益区域
*
* @return
*/
@GetMapping("/get-all-region")
public AjaxResult getAllRegion() {
return AjaxResult.success(iCuMemberService.getAllRegion());
}
/** /**
* 获取会员收益区域 * 获取会员收益区域
* *

View File

@ -127,7 +127,7 @@ public class CuMemberRegionController extends BaseController {
@Log(module = EOperationModule.CU_MEMBER_RETAIL_REGION, business = EOperationBusiness.CU_MEMBER_RETAIL_REGION, method = EOperationMethod.INSERT) @Log(module = EOperationModule.CU_MEMBER_RETAIL_REGION, business = EOperationBusiness.CU_MEMBER_RETAIL_REGION, method = EOperationMethod.INSERT)
@PostMapping("/save") @PostMapping("/save")
public AjaxResult save(@RequestBody @Valid MemberRegionParam mrrExt) { public AjaxResult save(@RequestBody @Valid MemberRegionParam mrrExt) {
return iCuMemberService.setRegion(mrrExt); return iCuMemberService.setRegionForBack(mrrExt);
} }

View File

@ -1007,10 +1007,13 @@ public interface ICuMemberService extends IService<CuMember> {
int countGradeMemberPoint(String memberName, String phone, Integer pkGrade, Integer pkCountry); int countGradeMemberPoint(String memberName, String phone, Integer pkGrade, Integer pkCountry);
CheckRegionVO getRegion(); CheckRegionVO getRegion();
CheckRegionVO getAllRegion();
List<BdArea> getRegionList(Integer type); List<BdArea> getRegionList(Integer type);
BigDecimal getSmallPV(Long userId); BigDecimal getSmallPV(Long userId);
AjaxResult setRegion(MemberRegionParam param); AjaxResult setRegion(MemberRegionParam param);
AjaxResult setRegionForBack(MemberRegionParam param);
CheckRegionVO getRegionForBack(MemberRegionParam param);
/** /**

View File

@ -73,6 +73,7 @@ public class CuMemberRegionServiceImpl extends ServiceImpl<CuMemberRegionMapper,
.set(CuMemberRegion::getPkModified, param.getPkMember()) .set(CuMemberRegion::getPkModified, param.getPkMember())
.set(CuMemberRegion::getModifiedTime, new Date()) .set(CuMemberRegion::getModifiedTime, new Date())
.set(CuMemberRegion::getEffectiveEndDate, result) .set(CuMemberRegion::getEffectiveEndDate, result)
.set(ObjectUtil.isNotEmpty(param.getSource()), CuMemberRegion::getSource, param.getSource())
); );
} }
// 新増数据 // 新増数据
@ -88,6 +89,11 @@ public class CuMemberRegionServiceImpl extends ServiceImpl<CuMemberRegionMapper,
retailRegion.setPkCreator(param.getPkMember()); retailRegion.setPkCreator(param.getPkMember());
Long regionVertexPkId = baseMapper.getRegionVertexPkIdByPkMember(retailRegion.getPkMember()); Long regionVertexPkId = baseMapper.getRegionVertexPkIdByPkMember(retailRegion.getPkMember());
retailRegion.setRegionVertexPkId(ObjectUtil.isEmpty(regionVertexPkId) ? 0L : regionVertexPkId); retailRegion.setRegionVertexPkId(ObjectUtil.isEmpty(regionVertexPkId) ? 0L : regionVertexPkId);
if(ObjectUtil.isNotEmpty(param.getSource())){
retailRegion.setSource(param.getSource());
}else{
retailRegion.setSource(ENoticeWebsiteType.MEMBER.getValue());
}
if (baseMapper.insertData(retailRegion) == 0) { if (baseMapper.insertData(retailRegion) == 0) {
throw new ServiceException("选择区域失败,请刷新后重试"); throw new ServiceException("选择区域失败,请刷新后重试");
} }

View File

@ -27,6 +27,7 @@ import com.hzs.common.domain.member.empty.CuMemberEmptyCode;
import com.hzs.common.domain.member.ext.CuMemberExt; import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.domain.member.ext.CuMemberRegionExt; import com.hzs.common.domain.member.ext.CuMemberRegionExt;
import com.hzs.common.domain.member.ext.CuMemberSettleExt; import com.hzs.common.domain.member.ext.CuMemberSettleExt;
import com.hzs.common.domain.member.region.CuMemberRegion;
import com.hzs.common.domain.sale.wares.BdWaresAuthority; import com.hzs.common.domain.sale.wares.BdWaresAuthority;
import com.hzs.common.domain.system.base.BdArea; import com.hzs.common.domain.system.base.BdArea;
import com.hzs.common.domain.system.base.BdCountry; import com.hzs.common.domain.system.base.BdCountry;
@ -3432,6 +3433,28 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
} }
} }
} }
}else{
LambdaQueryWrapper<CuMemberRegion> cuMemberRegionLambdaQueryWrapper = new LambdaQueryWrapper<>();
cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getPkMember, SecurityUtils.getUserId());
cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getDelFlag, EDelFlag.UN_DELETE.getValue());
cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getEffective, EEffective.EFFECTIVE.getValue());
cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getSource, ENoticeWebsiteType.ADMIN.getValue());
int count = iCuMemberRegionService.count(cuMemberRegionLambdaQueryWrapper);
if(count > 0){
// 后台添加 可查看
checkRegionVO.setData(new CheckRegionVO.CheckRegionWrapper());
CheckRegionDetailVO regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.PROVINCE.getValue());
checkRegionVO.setProvince(ObjectUtil.isNotEmpty(regionDetail));
checkRegionVO.getData().setProvinceData(regionDetail);
regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.CITY.getValue());
checkRegionVO.setCity(ObjectUtil.isNotEmpty(regionDetail));
checkRegionVO.getData().setCityData(regionDetail);
regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.COUNTY.getValue());
checkRegionVO.setCounty(ObjectUtil.isNotEmpty(regionDetail));
checkRegionVO.getData().setCountyData(regionDetail);
return checkRegionVO;
}
} }
// checkRegionVO.setCounty(true); // checkRegionVO.setCounty(true);
// checkRegionVO.setCity(true); // checkRegionVO.setCity(true);
@ -3439,6 +3462,23 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
return checkRegionVO; return checkRegionVO;
} }
@Override
public CheckRegionVO getAllRegion() {
Long userId = SecurityUtils.getUserId();
CheckRegionVO checkRegionVO = new CheckRegionVO();
checkRegionVO.setData(new CheckRegionVO.CheckRegionWrapper());
CheckRegionDetailVO regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.PROVINCE.getValue());
checkRegionVO.setProvince(ObjectUtil.isNotEmpty(regionDetail));
checkRegionVO.getData().setProvinceData(regionDetail);
regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.CITY.getValue());
checkRegionVO.setCity(ObjectUtil.isNotEmpty(regionDetail));
checkRegionVO.getData().setCityData(regionDetail);
regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.COUNTY.getValue());
checkRegionVO.setCounty(ObjectUtil.isNotEmpty(regionDetail));
checkRegionVO.getData().setCountyData(regionDetail);
return checkRegionVO;
}
@Override @Override
public List<BdArea> getRegionList(Integer type) { public List<BdArea> getRegionList(Integer type) {
return baseMapper.getRegionList(SecurityUtils.getUserId(), type); return baseMapper.getRegionList(SecurityUtils.getUserId(), type);
@ -3528,6 +3568,90 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
return AjaxResult.error(str); return AjaxResult.error(str);
} }
@Override
public AjaxResult setRegionForBack(MemberRegionParam param) {
Long userId = param.getPkMember();
Integer systemType = SecurityUtils.getSystemType();
param.setSystemType(systemType);
Integer pkCountry = SecurityUtils.getPkCountry();
CheckRegionVO checkRegionVO = this.getRegionForBack(param);
BdArea province = iAreaServiceApi.getArea(param.getProvince()).getData();
CuMemberRegionExt cuMemberRegionExt = iCuMemberRegionService.getRegionByMember(userId, param.getType());
LambdaQueryWrapper<CuMemberRegion> cuMemberRegionLambdaQueryWrapper = new LambdaQueryWrapper<>();
cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getDelFlag, EDelFlag.UN_DELETE.getValue());
cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getEffective, EEffective.EFFECTIVE.getValue());
if(ObjectUtil.isNotEmpty(cuMemberRegionExt)){
return AjaxResult.error("已选择区域, 不允许重复添加!");
}
if (null == province) {
return AjaxResult.error("选择区域省不存在,请重新选择");
}
if (param.getType() == 1 && checkRegionVO.isProvince()) {
cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getProvince, param.getProvince());
cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getCity, 0);
cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getCounty, 0);
param.setCity(0);
param.setCounty(0);
} else if (param.getType() == 2 && checkRegionVO.isCity()) {
// 校验市是否存在
if (!param.getCity().equals(0)) {
BdArea city = iAreaServiceApi.getArea(param.getCity()).getData();
if (null == city) {
return AjaxResult.error("选择区域市不存在,请重新选择");
}
}
cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getCity, param.getCity());
cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getCounty, 0);
param.setCounty(0);
} else if (param.getType() == 3 && checkRegionVO.isCounty()) {
// 校验区是否存在
if (!param.getCounty().equals(0)) {
BdArea county = iAreaServiceApi.getArea(param.getCounty()).getData();
if (null == county) {
return AjaxResult.error("选择区域区不存在,请重新选择");
}
}
cuMemberRegionLambdaQueryWrapper.eq(CuMemberRegion::getCounty, param.getCounty());
}
int count = iCuMemberRegionService.count(cuMemberRegionLambdaQueryWrapper);
if(count > 0){
return AjaxResult.error("该区域已被选择, 不允许重复添加!");
}
if (ObjectUtil.isNotEmpty(cuMemberRegionExt)) {
param.setPkId(cuMemberRegionExt.getPkId());
}
param.setPkMember(userId);
param.setPkCountry(pkCountry);
param.setSource(ENoticeWebsiteType.ADMIN.getValue());
param.setSystemType(systemType);
String str = iCuMemberRegionService.setRegion(param);
if (null == str) {
return AjaxResult.success();
}
return AjaxResult.error(str);
}
@Override
public CheckRegionVO getRegionForBack(MemberRegionParam param) {
CheckRegionVO checkRegionVO = new CheckRegionVO();
checkRegionVO.setData(new CheckRegionVO.CheckRegionWrapper());
Long userId = param.getPkMember();
CheckRegionDetailVO regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.PROVINCE.getValue());
checkRegionVO.setProvince(true);
checkRegionVO.getData().setProvinceData(regionDetail);
regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.CITY.getValue());
checkRegionVO.setCity(true);
checkRegionVO.getData().setCityData(regionDetail);
regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.COUNTY.getValue());
checkRegionVO.setCounty(true);
checkRegionVO.getData().setCountyData(regionDetail);
return checkRegionVO;
}
public static int getSmallFlag(CuMemberSettleExt lastMonthData, CuMemberSettleExt yesterdayData, CuMemberSettleExt todayData) { public static int getSmallFlag(CuMemberSettleExt lastMonthData, CuMemberSettleExt yesterdayData, CuMemberSettleExt todayData) {
int smallFlag = 1; // left-1, right-2 int smallFlag = 1; // left-1, right-2
if (ObjectUtil.isNotEmpty(todayData)) { if (ObjectUtil.isNotEmpty(todayData)) {

View File

@ -74,7 +74,8 @@
county, county,
creation_time, creation_time,
pk_creator, pk_creator,
REGION_VERTEX_PK_ID REGION_VERTEX_PK_ID,
source
) )
select cu_member_retail_region_seq.nextval, select cu_member_retail_region_seq.nextval,
#{retailRegion.pkMember}, #{retailRegion.pkMember},
@ -83,7 +84,8 @@
#{retailRegion.county}, #{retailRegion.county},
sysdate, sysdate,
#{retailRegion.pkCreator}, #{retailRegion.pkCreator},
#{retailRegion.regionVertexPkId} #{retailRegion.regionVertexPkId},
#{retailRegion.source}
from dual from dual
where not exists(select 1 where not exists(select 1
from cu_member_retail_region cmrr from cu_member_retail_region cmrr

View File

@ -0,0 +1,32 @@
package com.hzs.common.core.enums;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum EEffective {
/**
* 生效
*/
EFFECTIVE(0, "生效"),
/**
* 失效
*/
INVALID(1, "失效"),
;
/**
* 实际值
*/
private final int value;
/**
* 显示标签
*/
private final String label;
}