服务包明细中增加优惠价格,增加服务项目,修改价格,数量,状态时更新服务包现价

This commit is contained in:
曹磊 2024-06-07 15:56:26 +08:00
parent ef13601ff6
commit 3fdaeefbf8
10 changed files with 97 additions and 18 deletions

View File

@ -29,6 +29,13 @@ public class MassagePackageDetailController {
return service.findPage(massagePackageDetail);
}
@PostMapping("/updatePrice")
@ApiOperation("修改优惠价格")
public Result updatePrice(MassagePackageDetail massagePackageDetail){
service.updatePrice(massagePackageDetail);
return Result.success();
}
@PostMapping("/updateCount")
@ApiOperation("修改次数")
public Result updateCount(MassagePackageDetail massagePackageDetail){
@ -36,7 +43,6 @@ public class MassagePackageDetailController {
return Result.success();
}
@PostMapping("/updateIntervalDays")
@ApiOperation("修改时间间隔")
public Result updateIntervalDays(MassagePackageDetail massagePackageDetail){

View File

@ -14,5 +14,6 @@ public interface MassagePackageDao extends BaseMapper<MassagePackage> {
int updateSales(MassagePackage massagePackage);
int updateEsteemRate(MassagePackage massagePackage);
int updateStatus(MassagePackage massagePackage);
int updatePrice(MassagePackage massagePackage);
int delete(MassagePackage massagePackage);
}

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sqx.common.utils.Result;
import com.sqx.modules.bl.massage.entity.MassagePackage;
import com.sqx.modules.bl.massage.entity.MassagePackageDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -12,6 +13,7 @@ import org.apache.ibatis.annotations.Param;
public interface MassagePackageDetailDao extends BaseMapper<MassagePackageDetail> {
IPage<MassagePackageDetail> findPage(Page<MassagePackageDetail> page, @Param("params") MassagePackageDetail massagePackageDetail);
int updatePrice(MassagePackageDetail massagePackageDetail);
int updateCount(MassagePackageDetail massagePackageDetail);
int updateIntervalDays(MassagePackageDetail massagePackageDetail);
int updateStatus(MassagePackageDetail massagePackageDetail);
@ -19,4 +21,5 @@ public interface MassagePackageDetailDao extends BaseMapper<MassagePackageDetail
int addDetail(MassagePackageDetail massagePackageDetail);
IPage<MassagePackageDetail> findMassagePage(Page<MassagePackageDetail> page, @Param("params") MassagePackageDetail massagePackageDetail);
int delete(MassagePackageDetail massagePackageDetail);
MassagePackage findPackagePrice(MassagePackageDetail massagePackageDetail);
}

View File

@ -37,6 +37,11 @@ public class MassagePackageDetail implements Serializable {
*/
private Long massageTypeId;
/**
* 服务优惠价格
*/
private BigDecimal packagePrice;
/**
* 服务次数
*/

View File

@ -7,10 +7,11 @@ import com.sqx.modules.bl.massage.entity.MassagePackageDetail;
public interface MassagePackageDetailService extends IService<MassagePackageDetail> {
Result findPage(MassagePackageDetail massagePackageDetail);
int updateCount(MassagePackageDetail massagePackageDetail);
int updateIntervalDays(MassagePackageDetail massagePackageDetail);
int updateStatus(MassagePackageDetail massagePackageDetail);
int insertDetail(MassagePackageDetail massagePackageDetail);
void updatePrice(MassagePackageDetail massagePackageDetail);
void updateCount(MassagePackageDetail massagePackageDetail);
void updateIntervalDays(MassagePackageDetail massagePackageDetail);
void updateStatus(MassagePackageDetail massagePackageDetail);
void insertDetail(MassagePackageDetail massagePackageDetail);
Result findMassagePage(MassagePackageDetail massagePackageDetail);
int delete(MassagePackageDetail massagePackageDetail);
void delete(MassagePackageDetail massagePackageDetail);
}

View File

@ -10,5 +10,6 @@ public interface MassagePackageService extends IService<MassagePackage> {
int updateSales(MassagePackage massagePackage);
int updateEsteemRate(MassagePackage massagePackage);
int updateStatus(MassagePackage massagePackage);
int updatePrice(MassagePackage massagePackage);
int delete(MassagePackage massagePackage);
}

View File

@ -5,13 +5,21 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sqx.common.utils.PageUtils;
import com.sqx.common.utils.Result;
import com.sqx.modules.bl.massage.dao.MassagePackageDetailDao;
import com.sqx.modules.bl.massage.entity.MassagePackage;
import com.sqx.modules.bl.massage.entity.MassagePackageDetail;
import com.sqx.modules.bl.massage.service.MassagePackageDetailService;
import com.sqx.modules.bl.massage.service.MassagePackageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
@Service
public class MassagePackageServiceDetailImpl extends ServiceImpl<MassagePackageDetailDao, MassagePackageDetail> implements MassagePackageDetailService {
@Autowired
private MassagePackageService packageService;
@Override
public Result findPage(MassagePackageDetail massagePackageDetail){
Page<MassagePackageDetail> pages=new Page<>(massagePackageDetail.getPage(),massagePackageDetail.getLimit());
@ -19,24 +27,37 @@ public class MassagePackageServiceDetailImpl extends ServiceImpl<MassagePackageD
}
@Override
public int updateCount(MassagePackageDetail massagePackageDetail){
return baseMapper.updateCount(massagePackageDetail);
public void updatePrice(MassagePackageDetail massagePackageDetail){
baseMapper.updatePrice(massagePackageDetail);
//更新主表中的现价
modifyPackagePrice(massagePackageDetail);
}
@Override
public int updateIntervalDays(MassagePackageDetail massagePackageDetail){
return baseMapper.updateIntervalDays(massagePackageDetail);
public void updateCount(MassagePackageDetail massagePackageDetail){
baseMapper.updateCount(massagePackageDetail);
//更新主表中的现价
modifyPackagePrice(massagePackageDetail);
}
@Override
public int updateStatus(MassagePackageDetail massagePackageDetail){
return baseMapper.updateStatus(massagePackageDetail);
public void updateIntervalDays(MassagePackageDetail massagePackageDetail){
baseMapper.updateIntervalDays(massagePackageDetail);
}
@Override
public int insertDetail(MassagePackageDetail massagePackageDetail){
public void updateStatus(MassagePackageDetail massagePackageDetail){
baseMapper.updateStatus(massagePackageDetail);
//更新主表中的现价
modifyPackagePrice(massagePackageDetail);
}
@Override
public void insertDetail(MassagePackageDetail massagePackageDetail){
baseMapper.addMassage(massagePackageDetail);
return baseMapper.addDetail(massagePackageDetail);
baseMapper.addDetail(massagePackageDetail);
//更新主表中的现价
modifyPackagePrice(massagePackageDetail);
}
@Override
@ -46,8 +67,24 @@ public class MassagePackageServiceDetailImpl extends ServiceImpl<MassagePackageD
}
@Override
public int delete(MassagePackageDetail massagePackageDetail){
return baseMapper.delete(massagePackageDetail);
public void delete(MassagePackageDetail massagePackageDetail){
baseMapper.delete(massagePackageDetail);
//更新主表中的现价
modifyPackagePrice(massagePackageDetail);
}
/**
* 更新主表中的现价
* @param massagePackageDetail
*/
private void modifyPackagePrice(MassagePackageDetail massagePackageDetail){
MassagePackage mp = baseMapper.findPackagePrice(massagePackageDetail);
if(mp == null){
mp = new MassagePackage();
mp.setId(massagePackageDetail.getMainId());
mp.setPrice(new BigDecimal(0));
}
packageService.updatePrice(mp);
}
}

View File

@ -33,6 +33,11 @@ public class MassagePackageServiceImpl extends ServiceImpl<MassagePackageDao, Ma
return baseMapper.updateStatus(massagePackage);
}
@Override
public int updatePrice(MassagePackage massagePackage){
return baseMapper.updatePrice(massagePackage);
}
@Override
public int delete(MassagePackage massagePackage){
return baseMapper.delete(massagePackage);

View File

@ -34,6 +34,10 @@
update bl_massage_package set status=#{status} where id=#{id}
</update>
<update id="updatePrice" parameterType="com.sqx.modules.bl.massage.entity.MassagePackage">
update bl_massage_package set price=#{price} where id=#{id}
</update>
<delete id="delete" parameterType="com.sqx.modules.bl.massage.entity.MassagePackage">
delete from bl_massage_package where id=#{id}
</delete>

View File

@ -8,6 +8,7 @@
a.id,
a.main_id,
a.massage_type_id,
a.package_price,
a.service_count,
a.interval_days,
b.massage_img,
@ -18,9 +19,14 @@
b.status,
b.classify_id as type
from bl_massage_package_detail a inner join massage_type b on a.massage_type_id = b.massage_type_id
where a.main_id = #{params.mainId}
order by a.id desc
</select>
<update id="updatePrice" parameterType="com.sqx.modules.bl.massage.entity.MassagePackageDetail">
update bl_massage_package_detail set package_price=#{packagePrice} where id=#{id}
</update>
<update id="updateCount" parameterType="com.sqx.modules.bl.massage.entity.MassagePackageDetail">
update bl_massage_package_detail set service_count=#{serviceCount} where id=#{id}
</update>
@ -138,8 +144,8 @@
</insert>
<insert id="addDetail" parameterType="com.sqx.modules.bl.massage.entity.MassagePackageDetail">
insert into bl_massage_package_detail(main_id,massage_type_id,service_count,interval_days)
values (#{mainId},#{massageTypeId},#{serviceCount},#{intervalDays})
insert into bl_massage_package_detail(main_id,massage_type_id,package_price,service_count,interval_days)
values (#{mainId},#{massageTypeId},#{packagePrice},#{serviceCount},#{intervalDays})
</insert>
<select id="findMassagePage" resultType="com.sqx.modules.bl.massage.entity.MassagePackageDetail">
@ -167,4 +173,14 @@
delete from bl_massage_package_detail where id=#{id}
</delete>
<select id="findPackagePrice" resultType="com.sqx.modules.bl.massage.entity.MassagePackage">
select
a.main_id as id,
ifnull(sum(package_price*service_count),0) as price
from bl_massage_package_detail a inner join massage_type b on a.massage_type_id = b.massage_type_id
where a.main_id = #{mainId}
and b.status = 1
group by a.main_id
</select>
</mapper>