Commit c5a301fe authored by pengfei's avatar pengfei

Merge branch 'colonel' of https://git.yidian-inc.com:8021/bp/goods into colonel

parents 1b0574bc 8d33292b
......@@ -6,7 +6,7 @@ use Api\PhpUtils\Mysql\MysqlBase;
class ColonelDistributorInviteOrderNum extends MysqlBase
{
const TABLE_NAME = 'pindan_activity_invite_order_num';
const TABLE_NAME = 'colonel_distributor_invite_order_num';
const CONFIG_INDEX = 'marketing';
const PRIMARY_KEY = 'invite_order_num_id';
......
......@@ -19,7 +19,7 @@ class PindanActivityColonelConfigService
{
$date = $params["date"];
$type = empty($params["type"]) ? ColonelDistributorConfig::TYPE_COLONEL : $params["type"];
$configList = json_decode($params["config"], true);
$configList = $params["config"];
if (empty($configList)) {
throw new MarketingException(['cus' => MarketingException::COLONEL_CONFIG_NULL]);
......@@ -30,21 +30,21 @@ class PindanActivityColonelConfigService
}
ColonelDistributorConfig::beginTransaction();
$idsRes = ColonelDistributorConfig::select(["colonel_config_id"], ["date" => $date, "type" => $type], []);
if (!empty($idsRes)) {
$ids = array_column($idsRes, "colonel_config_id");
ColonelDistributorConfig::deleteRecord(["colonel_config_id" => $ids]);
$idRes = ColonelDistributorConfig::getRecord(["date" => $date, "type" => $type], ["colonel_config_id"]);
if (!empty($idRes)) {
ColonelDistributorConfig::save([
"date" => $date,
"type" => $type,
"data" => $configList,
], $idRes["colonel_config_id"]);
} else {
ColonelDistributorConfig::save([
"date" => $date,
"type" => $type,
"data" => $configList,
]);
}
$data = [];
foreach ($configList as $key => $item) {
$data[$key]["date"] = $date;
$data[$key]["level"] = $item["level"];
$data[$key]["assess_order_num"] = $item["assess_order_num"];
$data[$key]["reward_amount"] = $item["reward_amount"];
}
ColonelDistributorConfig::save($data);
if (!ColonelDistributorConfig::commit()) {
ColonelDistributorConfig::rollback();
throw new MarketingException(["cus" => 5]);
......@@ -62,13 +62,13 @@ class PindanActivityColonelConfigService
{
$day = empty($params["date"]) ? date("Y-m-d") : $params["date"];
$type = empty($params["type"]) ? ColonelDistributorConfig::TYPE_COLONEL : $params["type"];
$list = ColonelDistributorConfig::select("*", ["date" => $day, "type" => $type], []);
$config = ColonelDistributorConfig::getRecord(["date" => $day, "type" => $type]);
$data = [];
if (!empty($list)) {
foreach ($list as $key => $item) {
$data[$key]["colonel_config_id"] = $item["colonel_config_id"];
$data[$key]["date"] = $item["date"];
if (!empty($config)) {
$configData = json_decode($config["data"], true);
foreach ($configData as $key => $item) {
$data[$key]["date"] = $config["date"];
$data[$key]["level"] = $item["level"];
$data[$key]["assess_order_num"] = $item["assess_order_num"];
$data[$key]["reward_amount"] = $item["reward_amount"];
......
......@@ -5,7 +5,6 @@ namespace App\Services\marketing;
use App\Exception\custom\MarketingException;
use App\Models\marketing\mysql\ColonelDistributorInviteOrder;
use App\Models\marketing\mysql\ColonelDistributorInviteOrderNum;
use App\Models\marketing\mysql\PindanActivityInviteOrderRefund;
class PindanActivityInviteOrderService
{
......@@ -62,10 +61,9 @@ class PindanActivityInviteOrderService
public static function refundOrder($params = [])
{
$orderId = $params["order_id"];
$orderItemIds = $params["order_item_id"];
$inviteOrder = ColonelDistributorInviteOrder::selectMaster("*", ["order_id"=>$orderId], []);
if (!empty($inviteOrder)) {
$inviteOrder = ColonelDistributorInviteOrder::selectMaster("*", ["order_id" => $orderId], []);
if (!empty($inviteOrder) && $inviteOrder[0]["is_refund"] == ColonelDistributorInviteOrder::IS_REFUND_NO) {
$inviteOrderData = [
"colonel_user_id" => $inviteOrder[0]["colonel_user_id"],
"user_id" => $inviteOrder[0]["user_id"],
......@@ -77,28 +75,13 @@ class PindanActivityInviteOrderService
"date" => date("Y-m-d"),
];
$refundData = [];
foreach ($orderItemIds as $key=>$orderItemId) {
$refund = PindanActivityInviteOrderRefund::getRecord(["order_item_id" => $orderItemId]);
if (empty($refund)) {
$refundData[$key]["order_id"] = $orderId;
$refundData[$key]["order_item_id"] = $orderItemId;
}
}
if (empty($refundData)) {
return true;
}
$num = count($refundData);
ColonelDistributorInviteOrder::beginTransaction();
PindanActivityInviteOrderRefund::insertRecord($refundData);
$addInviteOrderRes = ColonelDistributorInviteOrder::save([
"is_refund" => ColonelDistributorInviteOrder::IS_REFUND_YES,
"refund_time" => date("y-m-d H:i:s")
], $inviteOrderData);
$addInviteOrderNumRes = ColonelDistributorInviteOrderNum::save(["num[-]" => $num], $inviteOrderNumData);
$addInviteOrderNumRes = ColonelDistributorInviteOrderNum::save(["num[-]" => 1], $inviteOrderNumData);
if (empty($addInviteOrderRes) || empty($addInviteOrderNumRes) || !ColonelDistributorInviteOrder::commit()) {
ColonelDistributorInviteOrder::rollback();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment