| @@ -107,6 +107,8 @@ public class WxOfflineActivityRecord extends TenantEntity { | |||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private List<Long> merchantIdList; | private List<Long> merchantIdList; | ||||
| @TableField(exist = false) | |||||
| private List<Long> notMerchantIdList; | |||||
| @TableField(value = "business_id") | @TableField(value = "business_id") | ||||
| private Integer businessId; | private Integer businessId; | ||||
| @@ -14,15 +14,12 @@ import java.util.List; | |||||
| */ | */ | ||||
| public interface WxOfflineActivityMerchantMapper extends CommonMapper<WxOfflineActivityMerchant, Long> { | public interface WxOfflineActivityMerchantMapper extends CommonMapper<WxOfflineActivityMerchant, Long> { | ||||
| WxOfflineActivityMerchant selectById(@Param("id")Long id, @Param("tenantId")String tenantId); | |||||
| List<Long> getMerchantIdList(@Param("activityId")Long activityId, @Param("tenantId")String tenantId); | |||||
| List<WxOfflineActivityMerchant> findList(WxOfflineActivityMerchant wxOfflineActivityMerchant); | List<WxOfflineActivityMerchant> findList(WxOfflineActivityMerchant wxOfflineActivityMerchant); | ||||
| void delete(WxOfflineActivityMerchant wxOfflineActivityMerchant); | void delete(WxOfflineActivityMerchant wxOfflineActivityMerchant); | ||||
| int merchantCount(WxOfflineActivityMerchant wxOfflineActivityMerchant); | |||||
| List<Long> findActivityIdList(@Param("merchantId")Long merchantId,@Param("tenantId")String tenantId); | |||||
| } | } | ||||
| @@ -6,16 +6,10 @@ import com.iformall.common.Result; | |||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.domain.vo.OfflineActivityRecordStatistics; | import com.iformall.domain.vo.OfflineActivityRecordStatistics; | ||||
| import com.iformall.enums.EnumOfflineActivityAwardsRule; | |||||
| import com.iformall.enums.EnumOfflineActivityRecordStatus; | |||||
| import com.iformall.enums.EnumOfflineActivityStatus; | |||||
| import com.iformall.enums.EnumOfflineActivityType; | |||||
| import com.iformall.enums.*; | |||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.mapper.WxOfflineActivityMapper; | |||||
| import com.iformall.mapper.WxOfflineActivityRecordGrantMapper; | |||||
| import com.iformall.mapper.WxOfflineActivityRecordMapper; | |||||
| import com.iformall.mapper.*; | |||||
| import com.iformall.service.*; | import com.iformall.service.*; | ||||
| import com.iformall.mapper.WxOfflineActivityGrantAwardMapper; | |||||
| import com.iformall.utils.DateUtils; | import com.iformall.utils.DateUtils; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
| @@ -41,6 +35,9 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| @Autowired | @Autowired | ||||
| WxOfflineActivityMapper wxOfflineActivityMapper; | WxOfflineActivityMapper wxOfflineActivityMapper; | ||||
| @Autowired | |||||
| WxOfflineActivityMerchantMapper wxOfflineActivityMerchantMapper; | |||||
| @Autowired | @Autowired | ||||
| WxOfflineActivityRecordMapper wxOfflineActivityRecordMapper; | WxOfflineActivityRecordMapper wxOfflineActivityRecordMapper; | ||||
| @@ -112,6 +109,15 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| } | } | ||||
| wxOfflineActivityRecord.setCreateDateBegin(activity.getStartTime()); | wxOfflineActivityRecord.setCreateDateBegin(activity.getStartTime()); | ||||
| wxOfflineActivityRecord.setCreateDateEnd(activity.getEndTime()); | wxOfflineActivityRecord.setCreateDateEnd(activity.getEndTime()); | ||||
| if(EnumOfflineActivityMerchantType.ADD.getCode().equals(activity.getAllMerchant())){ | |||||
| List<Long> merchantIds = wxOfflineActivityMerchantMapper.getMerchantIdList(activity.getId(), activity.getTenantId()); | |||||
| wxOfflineActivityRecord.setMerchantIdList(merchantIds); | |||||
| }else if(EnumOfflineActivityMerchantType.UN_ADD.getCode().equals(activity.getAllMerchant())){ | |||||
| List<Long> merchantIds = wxOfflineActivityMerchantMapper.getMerchantIdList(activity.getId(), activity.getTenantId()); | |||||
| wxOfflineActivityRecord.setNotMerchantIdList(merchantIds); | |||||
| } | |||||
| List<WxOfflineActivityRecord> recordList = wxOfflineActivityRecordMapper.findList(wxOfflineActivityRecord); | List<WxOfflineActivityRecord> recordList = wxOfflineActivityRecordMapper.findList(wxOfflineActivityRecord); | ||||
| handlerRecordList(wxOfflineActivityRecord,activity,recordList); | handlerRecordList(wxOfflineActivityRecord,activity,recordList); | ||||
| return recordList; | return recordList; | ||||
| @@ -123,11 +123,11 @@ | |||||
| </insert> | </insert> | ||||
| <select id="settlementStatistics" parameterType="com.iformall.domain.po.WxOfflineActivityGrantSettlement" resultType="com.iformall.domain.vo.OfflineActivitySettlementStatistics"> | <select id="settlementStatistics" parameterType="com.iformall.domain.po.WxOfflineActivityGrantSettlement" resultType="com.iformall.domain.vo.OfflineActivitySettlementStatistics"> | ||||
| SELECT sum(real_grant_price) as 'sumGrantPrice', | |||||
| SELECT IFNULL(sum(real_grant_price),0) as 'sumGrantPrice', | |||||
| count(DISTINCT record_id) as 'recordCount', | count(DISTINCT record_id) as 'recordCount', | ||||
| count(DISTINCT merchant_id) as 'merchantCount', | count(DISTINCT merchant_id) as 'merchantCount', | ||||
| sum(real_mall_share_price) as 'sumMallPrice', | |||||
| sum(real_merchant_share_price) as 'sumMerchantPrice' | |||||
| IFNULL(sum(real_mall_share_price),0) as 'sumMallPrice', | |||||
| IFNULL(sum(real_merchant_share_price),0) as 'sumMerchantPrice' | |||||
| FROM wx_offline_activity_grant_settlement | FROM wx_offline_activity_grant_settlement | ||||
| where 1 = 1 | where 1 = 1 | ||||
| <if test=" null != tenantId and '' != tenantId"> | <if test=" null != tenantId and '' != tenantId"> | ||||
| @@ -156,10 +156,10 @@ | |||||
| SELECT merchant_id as 'merchantId', | SELECT merchant_id as 'merchantId', | ||||
| activity_id as 'activityId', | activity_id as 'activityId', | ||||
| count(DISTINCT record_id) as 'recordCount', | count(DISTINCT record_id) as 'recordCount', | ||||
| sum(order_money) as 'sumOrderMoney', | |||||
| sum(real_grant_price) as 'sumGrantPrice', | |||||
| sum(real_mall_share_price) as 'sumMallPrice', | |||||
| sum(real_merchant_share_price) as 'sumMerchantPrice' | |||||
| IFNULL(sum(order_money),0) as 'sumOrderMoney', | |||||
| IFNULL(sum(real_grant_price),0) as 'sumGrantPrice', | |||||
| IFNULL(sum(real_mall_share_price),0) as 'sumMallPrice', | |||||
| IFNULL(sum(real_merchant_share_price),0) as 'sumMerchantPrice' | |||||
| FROM wx_offline_activity_grant_settlement | FROM wx_offline_activity_grant_settlement | ||||
| where `activity_id` = #{activityId} | where `activity_id` = #{activityId} | ||||
| <if test=" null != id "> | <if test=" null != id "> | ||||
| @@ -56,10 +56,6 @@ | |||||
| <if test=" null != sortColumns"> order by ${sortColumns} </if> | <if test=" null != sortColumns"> order by ${sortColumns} </if> | ||||
| </sql> | </sql> | ||||
| <select id="selectById" parameterType="java.util.HashMap" resultMap="BaseResultMap"> | |||||
| select <include refid="allColumns" /> from wx_offline_activity_merchant where id = #{id} and tenant_id=#{tenantId} | |||||
| </select> | |||||
| <select id="findList" parameterType="com.iformall.domain.po.WxOfflineActivityMerchant" resultMap="BaseResultMap"> | <select id="findList" parameterType="com.iformall.domain.po.WxOfflineActivityMerchant" resultMap="BaseResultMap"> | ||||
| select <include refid="allColumns" /> from wx_offline_activity_merchant | select <include refid="allColumns" /> from wx_offline_activity_merchant | ||||
| <include refid="dynamicWhereConditions" /> | <include refid="dynamicWhereConditions" /> | ||||
| @@ -73,12 +69,8 @@ | |||||
| </if> | </if> | ||||
| </delete> | </delete> | ||||
| <select id="merchantCount" parameterType="com.iformall.domain.po.WxOfflineActivityMerchant" resultType="Integer"> | |||||
| select count(1) from wx_offline_activity_merchant | |||||
| <include refid="dynamicWhereConditions" /> | |||||
| <select id="getMerchantIdList" parameterType="java.util.HashMap" resultType="Long"> | |||||
| select merchant_id from wx_offline_activity_merchant where activity_id = #{activityId} and tenant_id = #{tenantId} | |||||
| </select> | </select> | ||||
| <select id="findActivityIdList" parameterType="java.util.HashMap" resultType="Long"> | |||||
| select activity_id from wx_offline_activity_merchant where merchant_id = #{merchantId} and tenant_id=#{tenantId} | |||||
| </select> | |||||
| </mapper> | </mapper> | ||||
| @@ -98,6 +98,13 @@ | |||||
| </foreach> | </foreach> | ||||
| </if> | </if> | ||||
| <if test=" null != notMerchantIdList "> | |||||
| and merchant_id not in | |||||
| <foreach collection="notMerchantIdList" index="index" item="midItem" open="(" separator="," close=")"> | |||||
| #{midItem} | |||||
| </foreach> | |||||
| </if> | |||||
| <if test=" null != ids "> | <if test=" null != ids "> | ||||
| and id in | and id in | ||||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | ||||
| @@ -126,7 +133,8 @@ | |||||
| <select id="auditStatusStatistics" parameterType="com.iformall.domain.po.WxOfflineActivityRecord" resultType="com.iformall.domain.vo.OfflineActivityRecordStatistics"> | <select id="auditStatusStatistics" parameterType="com.iformall.domain.po.WxOfflineActivityRecord" resultType="com.iformall.domain.vo.OfflineActivityRecordStatistics"> | ||||
| SELECT audit_status as 'auditStatus', | SELECT audit_status as 'auditStatus', | ||||
| count(1) as 'count',sum(order_money) as 'sumMoney' | |||||
| count(1) as 'count', | |||||
| IFNULL(sum(order_money),0) as 'sumMoney' | |||||
| FROM wx_offline_activity_record | FROM wx_offline_activity_record | ||||
| where 1 = 1 | where 1 = 1 | ||||
| <if test=" null != tenantId and '' != tenantId"> | <if test=" null != tenantId and '' != tenantId"> | ||||