## 前台提货专区添加报单赠送数据添加

This commit is contained in:
zhangheng 2025-10-20 14:14:55 +08:00
parent e3606433a3
commit 33b3f2015d
9 changed files with 67 additions and 3 deletions

View File

@ -5,6 +5,8 @@ import com.hzs.activity.add.param.AcAddUpgradeListParam;
import com.hzs.activity.declaration.param.AcDeclarationListParam; import com.hzs.activity.declaration.param.AcDeclarationListParam;
import com.hzs.activity.declaration.vo.AcDeclarationGiftRecord; import com.hzs.activity.declaration.vo.AcDeclarationGiftRecord;
import com.hzs.activity.declaration.vo.AcDeclarationListVO; import com.hzs.activity.declaration.vo.AcDeclarationListVO;
import com.hzs.common.domain.activity.base.ext.AcGiftConfigExt;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -23,4 +25,6 @@ public interface AcDeclarationGiftRecordMapper extends BaseMapper<AcDeclarationG
List<AcDeclarationListVO> selectDeclarationList(AcDeclarationListParam param); List<AcDeclarationListVO> selectDeclarationList(AcDeclarationListParam param);
AcDeclarationGiftRecord selectLastRecord(); AcDeclarationGiftRecord selectLastRecord();
List<AcGiftConfigExt> queryListByRuleList(@Param("pkDataId") Long pkDataId,@Param("pkCountry") Integer pkCountry);
} }

View File

@ -5,6 +5,7 @@ import com.hzs.activity.add.param.AcAddUpgradeListParam;
import com.hzs.activity.declaration.param.AcDeclarationListParam; import com.hzs.activity.declaration.param.AcDeclarationListParam;
import com.hzs.activity.declaration.vo.AcDeclarationGiftRecord; import com.hzs.activity.declaration.vo.AcDeclarationGiftRecord;
import com.hzs.activity.declaration.vo.AcDeclarationListVO; import com.hzs.activity.declaration.vo.AcDeclarationListVO;
import com.hzs.common.domain.activity.base.ext.AcGiftConfigExt;
import java.util.List; import java.util.List;
@ -22,4 +23,6 @@ public interface IAcDeclarationGiftRecordService extends IService<AcDeclarationG
List<AcDeclarationListVO> selectDeclarationList(AcDeclarationListParam param); List<AcDeclarationListVO> selectDeclarationList(AcDeclarationListParam param);
AcDeclarationGiftRecord selectLastRecord(); AcDeclarationGiftRecord selectLastRecord();
List<AcGiftConfigExt> queryListByRuleIdList(Long pkDataId, Integer pkCountry);
} }

View File

@ -14,6 +14,7 @@ import com.hzs.activity.declaration.vo.AcDeclarationGiftDetail;
import com.hzs.activity.declaration.vo.AcDeclarationGiftRecord; import com.hzs.activity.declaration.vo.AcDeclarationGiftRecord;
import com.hzs.activity.declaration.vo.AcDeclarationListVO; import com.hzs.activity.declaration.vo.AcDeclarationListVO;
import com.hzs.common.core.enums.ERegistrationAuthority; import com.hzs.common.core.enums.ERegistrationAuthority;
import com.hzs.common.domain.activity.base.ext.AcGiftConfigExt;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -93,4 +94,9 @@ public class AcDeclarationGiftRecordServiceImpl extends ServiceImpl<AcDeclaratio
return baseMapper.selectLastRecord(); return baseMapper.selectLastRecord();
} }
@Override
public List<AcGiftConfigExt> queryListByRuleIdList(Long pkDataId, Integer pkCountry) {
return baseMapper.queryListByRuleList(pkDataId,pkCountry);
}
} }

View File

@ -1,6 +1,7 @@
package com.hzs.activity.pick.controller.api; package com.hzs.activity.pick.controller.api;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.hzs.activity.declaration.service.IAcDeclarationGiftRecordService;
import com.hzs.activity.pick.param.PickOrderParam; import com.hzs.activity.pick.param.PickOrderParam;
import com.hzs.activity.pick.param.PickPostageParam; import com.hzs.activity.pick.param.PickPostageParam;
import com.hzs.activity.pick.service.IAcPickMemberLogService; import com.hzs.activity.pick.service.IAcPickMemberLogService;
@ -66,6 +67,8 @@ public class ApiPickController extends BaseController {
IMemberServiceApi iMemberServiceApi; IMemberServiceApi iMemberServiceApi;
@DubboReference @DubboReference
ICurrencyServiceApi iCurrencyServiceApi; ICurrencyServiceApi iCurrencyServiceApi;
@Autowired
private IAcDeclarationGiftRecordService iAcDeclarationGiftRecordService;
/** /**
* 查询提货列表 * 查询提货列表
@ -139,6 +142,19 @@ public class ApiPickController extends BaseController {
.build()); .build());
} }
break; break;
case DECLARATION_GIFT:
// 处理报单赠送活动
List<AcGiftConfigExt> acGiftConfigExtList = iAcDeclarationGiftRecordService.queryListByRuleIdList(acPick.getPkDataId(),pkCountry);
for (AcGiftConfigExt acGiftConfigExt : acGiftConfigExtList) {
// 处理提货产品明细
detailList.add(ApiPickDetailVO.builder()
.productName(acGiftConfigExt.getProductName())
.specsName(acGiftConfigExt.getSpecsName())
.cover(acGiftConfigExt.getCover())
.quantity(acGiftConfigExt.getQuantity())
.build());
}
break;
} }
apiPickVO.setIsFreeMail(acPick.getIsFreeMail()); apiPickVO.setIsFreeMail(acPick.getIsFreeMail());

View File

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.hzs.activity.base.service.IAcApprovalLogService; import com.hzs.activity.base.service.IAcApprovalLogService;
import com.hzs.activity.declaration.service.IAcDeclarationGiftRecordService;
import com.hzs.activity.pick.mapper.AcPickMapper; import com.hzs.activity.pick.mapper.AcPickMapper;
import com.hzs.activity.pick.param.AcPickQueryParam; import com.hzs.activity.pick.param.AcPickQueryParam;
import com.hzs.activity.pick.param.AcPickSaveDetailParam; import com.hzs.activity.pick.param.AcPickSaveDetailParam;
@ -70,6 +71,8 @@ public class AcPickServiceImpl extends ServiceImpl<AcPickMapper, AcPick> impleme
IMemberServiceApi iMemberServiceApi; IMemberServiceApi iMemberServiceApi;
@DubboReference @DubboReference
IPostageServiceApi iPostageServiceApi; IPostageServiceApi iPostageServiceApi;
@Autowired
private IAcDeclarationGiftRecordService iAcDeclarationGiftRecordService;
@Override @Override
public boolean addPickByActivity(Long pkMember, Integer pickType, Long pkBaseConfig, Long pkDataId, public boolean addPickByActivity(Long pkMember, Integer pickType, Long pkBaseConfig, Long pkDataId,
@ -563,6 +566,16 @@ public class AcPickServiceImpl extends ServiceImpl<AcPickMapper, AcPick> impleme
.build()); .build());
} }
break; break;
case DECLARATION_GIFT:
// 报单赠送列表
List<AcGiftConfigExt> acDecList = iAcDeclarationGiftRecordService.queryListByRuleIdList(acPick.getPkDataId(), pkCountry);
for (AcGiftConfigExt acGiftConfigExt : acDecList) {
productList.add(PostageProductDTO.builder()
.productId(acGiftConfigExt.getPkProduct())
.quantity(quantity * acGiftConfigExt.getQuantity())
.build());
}
break;
default: default:
} }

View File

@ -53,7 +53,6 @@
<foreach collection="ruleIds" item="items" open="(" close=")" separator=","> <foreach collection="ruleIds" item="items" open="(" close=")" separator=",">
#{items} #{items}
</foreach> </foreach>
AND adgd.DEL_FLAG = 0
</select> </select>
</mapper> </mapper>

View File

@ -125,5 +125,28 @@
WHERE WHERE
ROWNUM = 1 ROWNUM = 1
</select> </select>
<select id="queryListByRuleList" resultType="com.hzs.common.domain.activity.base.ext.AcGiftConfigExt">
select adgd.*,
bp.product_name,
bp.cover
from AC_DECLARATION_GIFT_DETAIL adgd
inner join bd_product bp
on bp.pk_id = adgd.pk_product
where adgd.del_flag = 0
and
(adgd.pk_rule_id in
<foreach collection="pkDataId" item="item" index="index" open="(" close=")">
<if test="index != 0">
<choose>
<when test="index % 500 == 0">) or adgd.pk_rule_id IN (</when>
<otherwise>,</otherwise>
</choose>
</if>
#{item}
</foreach>
)
and adgd.pk_country = #{pkCountry}
order by adgd.PK_RULE_ID, adgd.pk_id
</select>
</mapper> </mapper>

View File

@ -294,7 +294,7 @@
where ap.del_flag = 0 where ap.del_flag = 0
and ap.pk_country = #{pkCountry} and ap.pk_country = #{pkCountry}
and ap.pk_member = #{pkMember} and ap.pk_member = #{pkMember}
and ap.pick_type in (12, 13, 14, 15) and ap.pick_type in (12, 13, 14, 15, 32)
and ap.usable_quantity > 0 and ap.usable_quantity > 0
and (ap.receive_time is null or to_char(ap.receive_time, 'yyyy-mm-dd') >= to_char(sysdate, 'yyyy-mm-dd')) and (ap.receive_time is null or to_char(ap.receive_time, 'yyyy-mm-dd') >= to_char(sysdate, 'yyyy-mm-dd'))
<!-- 排序 --> <!-- 排序 -->

View File

@ -38,7 +38,7 @@ public enum EPickType {
/** /**
* 关联 AC_DECLARATION_GIFT_CONFIG * 关联 AC_DECLARATION_GIFT_CONFIG
*/ */
DELCARATION_GIFT(32,"报单赠送") DECLARATION_GIFT(32,"报单赠送")
; ;