1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- namespace app\common\dao\store\product;
- use app\common\dao\BaseDao;
- use app\common\model\store\product\ProductPresellSku;
- use think\facade\Db;
- class ProductPresellSkuDao extends BaseDao
- {
- protected function getModel(): string
- {
- return ProductPresellSku::class;
- }
- public function clear($id)
- {
- $this->getModel()::getDB()->where('product_presell_id', $id)->delete();
- }
- public function descStock(int $product_presell_id, string $unique, int $desc)
- {
- return $this->getModel()::getDB()->where('product_presell_id', $product_presell_id)->where('unique', $unique)->update([
- 'stock' => Db::raw('stock-' . $desc),
- 'seles' => Db::raw('seles+' . $desc),
- ]);
- }
- public function incStock(int $product_presell_id, string $unique, int $desc)
- {
- return $this->getModel()::getDB()->where('product_presell_id', $product_presell_id)->where('unique', $unique)->update([
- 'stock' => Db::raw('stock+' . $desc),
- 'seles' => Db::raw('seles-' . $desc),
- ]);
- }
- /**
- * TODO 增加 参与或支付成功 人数
- * @param int $product_presell_id
- * @param string $unique
- * @param string $field
- * @return mixed
- * @author Qinii
- * @day 2020-11-27
- */
- public function incCount(int $product_presell_id,string $unique,string $field,$inc = 1)
- {
- return $this->getModel()::getDB()->where('product_presell_id', $product_presell_id)->where('unique', $unique)
- ->update([
- $field => Db::raw($field.'+' . $inc)
- ]);
- }
- /**
- * TODO 减少 参与或支付成功 人数
- * @param int $product_presell_id
- * @param string $unique
- * @param string $field
- * @return mixed
- * @author Qinii
- * @day 2020-11-27
- */
- public function desCount(int $product_presell_id,string $unique,$inc = 1)
- {
- $res = $this->getModel()::getDB()->where('product_presell_id', $product_presell_id)->where('unique',$unique)->find();
- if($res->presell->presell_type == 1 ){
- $res->one_pay = ($res->one_pay > 0) ? $res->one_pay - $inc : 0;
- }else{
- $res->two_pay = ($res->two_pay > 0) ? $res->two_pay - $inc : 0;
- }
- return $res->save();
- }
- }
|