Commit 36390029 authored by wuwz's avatar wuwz

保障服务

parent 3900bf6a
...@@ -18,6 +18,42 @@ ...@@ -18,6 +18,42 @@
position:fixed; position:fixed;
bottom:0; bottom:0;
} }
.item{
display:flex;
padding: 10px;
border: 1px solid #eee;
}
.iitem{
display:flex;
flex-direction: column;
padding: 10px;
border: 1px solid #eee;
}
.province-item{
min-width: 100px;
padding: 10px;
border-bottom: 1px solid #eee;
display: flex;
align-items: center;
}
.province-item-i:nth-child(2n+1){
border-bottom: none;
background: #eee;
}
.jcc{
border-bottom: none;
justify-content: center;
}
.cc-item{
padding: 10px;
}
.c-item{
padding:10px;
min-width: 90px;
}
</style> </style>
<script> <script>
jQuery(document).ready(function(){ jQuery(document).ready(function(){
...@@ -50,17 +86,52 @@ jQuery(document).ready(function(){ ...@@ -50,17 +86,52 @@ jQuery(document).ready(function(){
</div> </div>
</div> </div>
<div> <div>
#foreach($obj in $area) #foreach($obj in $area)
<div class="item">
<div class="province-item jcc">$obj.areaName</div>
<div class="iitem">
#foreach($objc in $obj.childs)
<div class="province-item province-item-i" style="display:flex;">
<div class="c-item">$objc.areaName:</div>
<div style="display:flex;flex-wrap: wrap;">
#foreach($objcc in $objc.childs)
<div class="cc-item"><a href="$!webPath/index.htm?id=$objcc.id">$objcc.areaName</a></div>
#end
</div>
</div>
<!-- <div style="display:flex;flex-wrap: wrap;" >
#foreach($objcc in $objc.childs)
<div class="province-item">$objcc.areaName</div>
#end
</div> -->
#end
</div>
</div>
#end
<!-- #foreach($obj in $area)
<div class="content-province"> <div class="content-province">
<div class="content-province-title">$obj.areaName</div> <div class="content-province-title">$obj.areaName</div>
<div class="content-cities"> <div class="content-cities">
#foreach($objc in $obj.childs) #foreach($objc in $obj.childs)
<span class="cityName"><a href="$!webPath/index.htm?id=$objc.id">$objc.areaName</a></span> <div class="content-province-title">
<span>$objc.areaName</span>
<div class="content-cities">
#foreach($objcc in $objc.childs)
<span class="cityName"><a href="$!webPath/index.htm?id=$objc.id">$objcc.areaName</a></span>
#end
</div>
</div>
#end #end
</div> </div>
</div> </div>
#end #end -->
</div> </div>
<!-- #foreach($objcc in $objc.childs)
<span class="cityName"><a href="$!webPath/index.htm?id=$objc.id">$objcc.areaName</a></span>
#end -->
$!uc_logout_js $!uc_logout_js
</div> </div>
......
...@@ -992,7 +992,7 @@ $!httpInclude.include("/nav.htm") ...@@ -992,7 +992,7 @@ $!httpInclude.include("/nav.htm")
<div class="dialog_conten2"> <div class="dialog_conten2">
<p class="diaglog_title">企业合伙人</p> <p class="diaglog_title">企业合伙人</p>
<p>共享资源,共享利润</p> <p>共享资源,共享利润</p>
<p class="diaglog_money">9999</p> <p class="diaglog_money">12800</p>
<p><!-- 专注提高签单效率,提高整体营业额 --></p> <p><!-- 专注提高签单效率,提高整体营业额 --></p>
<div class="content_ul"> <div class="content_ul">
<ul> <ul>
...@@ -1017,7 +1017,7 @@ $!httpInclude.include("/nav.htm") ...@@ -1017,7 +1017,7 @@ $!httpInclude.include("/nav.htm")
</div> </div>
<div class="ercode-right2"> <div class="ercode-right2">
<p class="ercode-numb">企业合伙人</p> <p class="ercode-numb">企业合伙人</p>
<p class="ercode-money">9999</p> <p class="ercode-money">12800</p>
<p class="hadpay-btn2"><span class="had_pay2">已支付</span></p> <p class="hadpay-btn2"><span class="had_pay2">已支付</span></p>
</div> </div>
</div> </div>
......
...@@ -37,7 +37,7 @@ jQuery(document).ready(function(){ ...@@ -37,7 +37,7 @@ jQuery(document).ready(function(){
}); });
// //
jQuery.validator.addMethod("verify",function(value,element){ jQuery.validator.addMethod("verify",function(value,element){debugger
var re = /^[0-9a-zA-Z]*$/; var re = /^[0-9a-zA-Z]*$/;
if(re.test(jQuery("#userName").val())){ if(re.test(jQuery("#userName").val())){
return true; return true;
...@@ -46,6 +46,18 @@ jQuery(document).ready(function(){ ...@@ -46,6 +46,18 @@ jQuery(document).ready(function(){
return false; return false;
} }
}); });
/*
* 手机号验证
*/
jQuery.validator.addMethod("account",function(value,element){
var re = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
if(re.test(value)){
return true;
}
else {
return false;
}
});
var registered_validate = $("#theForm").validate({ var registered_validate = $("#theForm").validate({
errorPlacement:function(error, element) { errorPlacement:function(error, element) {
...@@ -54,71 +66,71 @@ jQuery(document).ready(function(){ ...@@ -54,71 +66,71 @@ jQuery(document).ready(function(){
}, },
rules:{ rules:{
userName:{ userName:{
required: true, required: true,
account:true, account: true,
remote:{ /* remote:{
url: "$!webPath/getPhoneCode.htm", //后台处理程序 url: "$!webPath/getPhoneCode.htm", //后台处理程序
type: "post", //数据发送方式 type: "post", //数据发送方式
dataType: "json", //接受数据格式 dataType: "json", //接受数据格式
data: { //要传递的数据 data: { //要传递的数据
"userName": function(){return $("#phone").val();} "userName": function(){return $("#phone").val();}
} }
} }*/
}, },
mobileCode:{ mobileCode:{
required: true, required: true,
}, },
refereeId:{ refereeId:{
required:true, required:true,
}, },
password:{ password:{
required:true, required:true,
minlength:6, minlength:6,
maxlength:20 maxlength:20
}, },
repassword:{ repassword:{
required:true, required:true,
equalTo:"#password" equalTo:"#password"
}, },
trueName:{ trueName:{
required:true, required:true,
}, },
area_id:{ area_id:{
required:true, required:true,
}, },
/* email:{ /* email:{
required:true, required:true,
email:true, email:true,
remote:{ remote:{
url: "$!webPath/verify_email.htm", //后台处理程序 url: "$!webPath/verify_email.htm", //后台处理程序
type: "post", //数据发送方式 type: "post", //数据发送方式
dataType: "json", //接受数据格式 dataType: "json", //接受数据格式
data: { //要传递的数据 data: { //要传递的数据
"email": function(){return $("#email").val();} "email": function(){return $("#email").val();}
} }
} }
}, */ }, */
agree:{ agree:{
required:true required:true
} }
#if($!config.securityCodeRegister), #if($!config.securityCodeRegister),
code:{ code:{
required:true, required:true,
remote:{ remote:{
url: "$!webPath/verify_code.htm", //后台处理程序 url: "$!webPath/verify_code.htm", //后台处理程序
type: "post", //数据发送方式 type: "post", //数据发送方式
dataType: "json", //接受数据格式 dataType: "json", //接受数据格式
data: { //要传递的数据 data: { //要传递的数据
"code": function(){return $("#code").val();} "code": function(){return $("#code").val();}
} }
} }
} }
#end #end
}, },
messages:{ messages:{
userName:{ userName:{
required:"手机号码不能为空", required:"手机号码不能为空",
verify:"请输入正确的手机", account:"请输入正确的手机号码",
remote:"手机存在" remote:"手机存在"
}, },
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
<a href="$!webPath/buyer/order.htm?order_status=order_submit" rel="nofollow">待支付</a> <a href="$!webPath/buyer/order.htm?order_status=order_submit" rel="nofollow">待支付</a>
<a href="$!webPath/buyer/order.htm?order_status=order_shipping" rel="nofollow">待收货</a> <a href="$!webPath/buyer/order.htm?order_status=order_shipping" rel="nofollow">待收货</a>
<a href="$!webPath/buyer/order.htm?order_status=order_receive" rel="nofollow">待评价</a> <a href="$!webPath/buyer/order.htm?order_status=order_receive" rel="nofollow">待评价</a>
<a href="$!webPath/buyer/contract_list.htm" rel="nofollow">装修订单</a>
</div> </div>
</div> </div>
</div> </div>
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>$!config.title</title>
<meta name="keywords" content="$!config.keywords" >
<meta name="description" content="$!config.description" >
<meta name="generator" content="shopping 2.0">
<meta name="author" content="www.shopping.com">
<meta name="copyright" content="shopping Inc. All Rights Reserved">
<meta content="IE=edge" http-equiv="X-UA-Compatible">
#if($!config.sina_domain_code)
$!{config.sina_domain_code}
#end
#if($!config.qq_domain_code)
$!{config.qq_domain_code}
#end
<link href="$!webPath/resources/style/system/front/default/css/public.css" type="text/css" rel="stylesheet" />
<link href="$!webPath/resources/style/system/front/default/css/public_auto.css" type="text/css" rel="stylesheet" />
<link href="$!webPath/resources/style/system/front/default/css/designer.css" type="text/css" rel="stylesheet" />
<script src="$!webPath/resources/js/jquery-1.11.0.min.js"></script>
<script src="$!webPath/resources/js/jquery.SuperSlide.2.1.1.js"></script>
<script src="$!webPath/resources/js/jquery.shop.common.js"></script>
<script src="$!webPath/resources/js/jquery.lazyload.js"></script>
<script>
</script>
<style>
</style>
</head>
<body>
$!httpInclude.include("/top.htm")
$!httpInclude.include("/head.htm")
$!httpInclude.include("/nav1.htm")
<div class="main">
<div class="index">
<span>保障服务</span>
</div>
</div>
$!httpInclude.include("/footer.htm")
</body>
</html>
...@@ -116,7 +116,7 @@ jQuery(document).ready(function(){ ...@@ -116,7 +116,7 @@ jQuery(document).ready(function(){
<!-- <td width="6%" align="center">预存款</td> <!-- <td width="6%" align="center">预存款</td>
<td width="8%" align="center">店铺</td> --> <td width="8%" align="center">店铺</td> -->
<td width="15%" align="center">上级账号</td> <td width="15%" align="center">上级账号</td>
<!-- <td width="15%" align="center">区域数据</td> --> <td width="15%" align="center">区域数据</td>
<td width="15%" align="center">推广会员数量</td> <td width="15%" align="center">推广会员数量</td>
<td align="center" >操作</td> <td align="center" >操作</td>
</tr> </tr>
...@@ -149,7 +149,7 @@ jQuery(document).ready(function(){ ...@@ -149,7 +149,7 @@ jQuery(document).ready(function(){
</ul></td> </ul></td>
<td class="blue" align="center">#if($!storeTools.query_store_with_user("$!obj.id")==1)<a href="javascript:void(0);" onclick="window.parent.openURL('url','$!webPath/admin/store_edit.htm?id=$!obj.store.id','main_workspace','store_manage_op','about_store')">店铺</a>#else <span style="color:#F00">未开店</span>#end</td> <td class="blue" align="center">#if($!storeTools.query_store_with_user("$!obj.id")==1)<a href="javascript:void(0);" onclick="window.parent.openURL('url','$!webPath/admin/store_edit.htm?id=$!obj.store.id','main_workspace','store_manage_op','about_store')">店铺</a>#else <span style="color:#F00">未开店</span>#end</td>
--> -->
<td align="center">$!obj.parent.userName</td> <td align="center">$!obj.referee.userName</td>
<td align="center">$!obj.area.parent.areaName,$!obj.area.areaName</td> <td align="center">$!obj.area.parent.areaName,$!obj.area.areaName</td>
<!-- <td align="center"> </td> --> <!-- <td align="center"> </td> -->
<td align="center">总数:$!obj.childAccount,当天:$!obj.dayAccount,本月: $!obj.monthAccount</td> <td align="center">总数:$!obj.childAccount,当天:$!obj.dayAccount,本月: $!obj.monthAccount</td>
......
...@@ -186,13 +186,23 @@ $!httpInclude.include("/top.htm") ...@@ -186,13 +186,23 @@ $!httpInclude.include("/top.htm")
<!-- 确认之后客户支付 --> <!-- 确认之后客户支付 -->
#if($!user.id == $!objs.user.id && $!objs.state == 3) #if($!CommUtil.indexOf("$!user.userRole","ADMIN")>=0 and $!objs.state == 3)
<div class="btn"> <div>
<span class="allmen size7"> <span class="allmen size7">
<a id="menberService" onclick="showPay($!objs.id)" class="blue yes">支付</a> <!-- <a id="menberService" onclick="showPay($!objs.id)" class="blue yes">支付</a> -->
<a href="$!webPath/buyer/pay_Offline.htm?id=$!objs.id" class="blue yes">确认支付</a>
</span> </span>
</div> </div>
#end #end
#if($!CommUtil.indexOf("$!user.userRole","ADMIN")<0 and $!objs.state == 3)
<p>鉴于到您的装修订单数额超过微信支付限额设置,需要使用线下银行转账方式。转账成功后,工作人员会12小时内确认该装修款项,以确保装修订单的及时进行!</p>
<p>公司名称:中科智尚荟(广东)智能科技有限公司</p>
<p>开户银行名称:建设银行东莞松山湖支行</p>
<p>开户账号:44050177005300000952</p>
<p>平台工作人员身份核对:0769-82337368</p>
#end
<!--支付完成开始装修,有完成装修按钮 --> <!--支付完成开始装修,有完成装修按钮 -->
#if($!user.id == $!objs.decorate.user.id && $!objs.state == 4) #if($!user.id == $!objs.decorate.user.id && $!objs.state == 4)
...@@ -213,12 +223,27 @@ $!httpInclude.include("/top.htm") ...@@ -213,12 +223,27 @@ $!httpInclude.include("/top.htm")
#end #end
<!-- 分期付款开始第二期支付 --> <!-- 分期付款开始第二期支付 -->
#if($!user.id == $!objs.user.id && $!objs.state == 6) <!-- #if($!user.id == $!objs.user.id && $!objs.state == 6)
<div> <div>
<span class="allmen size7"> <span class="allmen size7">
<a id="menberService" onclick="showPay($!objs.id)" class="blue yes" style="border-radius:5px;padding:6px;">支付</a> <a id="menberService" onclick="showPay($!objs.id)" class="blue yes" style="border-radius:5px;padding:6px;">支付</a>
</span> </span>
</div> </div>
#end -->
#if($!CommUtil.indexOf("$!user.userRole","ADMIN")>=0 and $!objs.state == 6)
<div>
<span class="allmen size7">
<!-- <a id="menberService" onclick="showPay($!objs.id)" class="blue yes">支付</a> -->
<a href="$!webPath/buyer/pay_Offline.htm?id=$!objs.id" class="blue yes">确认支付</a>
</span>
</div>
#end
#if($!CommUtil.indexOf("$!user.userRole","ADMIN")<0 and $!objs.state == 6)
<p>鉴于到您的装修订单数额超过微信支付限额设置,需要使用线下银行转账方式。转账成功后,工作人员会12小时内确认该装修款项,以确保装修订单的及时进行!</p>
<p>公司名称:中科智尚荟(广东)智能科技有限公司</p>
<p>开户银行名称:建设银行东莞松山湖支行</p>
<p>开户账号:44050177005300000952</p>
<p>平台工作人员身份核对:0769-82337368</p>
#end #end
<!--第二期装修中 --> <!--第二期装修中 -->
...@@ -240,12 +265,27 @@ $!httpInclude.include("/top.htm") ...@@ -240,12 +265,27 @@ $!httpInclude.include("/top.htm")
#end #end
<!-- 分期付款,第三起支付 --> <!-- 分期付款,第三起支付 -->
#if($!user.id == $!objs.user.id && $!objs.state == 9) <!-- #if($!user.id == $!objs.user.id && $!objs.state == 9)
<div> <div>
<span class="allmen size7"> <span class="allmen size7">
<a id="menberService" onclick="showPay($!objs.id)" class="blue yes" style="border-radius:5px;padding:6px;">支付</a> <a id="menberService" onclick="showPay($!objs.id)" class="blue yes" style="border-radius:5px;padding:6px;">支付</a>
</span> </span>
</div> </div>
#end -->
#if($!CommUtil.indexOf("$!user.userRole","ADMIN")>=0 and $!objs.state == 9)
<div>
<span class="allmen size7">
<!-- <a id="menberService" onclick="showPay($!objs.id)" class="blue yes">支付</a> -->
<a href="$!webPath/buyer/pay_Offline.htm?id=$!objs.id" class="blue yes">确认支付</a>
</span>
</div>
#end
#if($!CommUtil.indexOf("$!user.userRole","ADMIN")<0 and $!objs.state == 9)
<p>鉴于到您的装修订单数额超过微信支付限额设置,需要使用线下银行转账方式。转账成功后,工作人员会12小时内确认该装修款项,以确保装修订单的及时进行!</p>
<p>公司名称:中科智尚荟(广东)智能科技有限公司</p>
<p>开户银行名称:建设银行东莞松山湖支行</p>
<p>开户账号:44050177005300000952</p>
<p>平台工作人员身份核对:0769-82337368</p>
#end #end
<!-- 第三期装修中 --> <!-- 第三期装修中 -->
......
package com.shopping.foundation.dao;
import com.shopping.core.base.GenericDAO;
import com.shopping.foundation.domain.Accessory;
import com.shopping.foundation.domain.AssuranceService;
import org.springframework.stereotype.Repository;
@Repository("assuranceServiceDAO")
public class AssuranceServiceDAO extends GenericDAO<AssuranceService> {
}
package com.shopping.foundation.domain;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import com.shopping.core.domain.IdEntity;
/**
* 地址
*
* @author shopping
*
*/
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
@Entity
@Table(name = "shopping_assurance_service")
public class AssuranceService extends IdEntity {
/**
* UID
*/
private static final long serialVersionUID = -754369306890462179L;
private String address;
private String name;
private String type;
private String content;
private String phone;
// 所属人
@OneToOne(fetch = FetchType.LAZY)
private User user;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
package com.shopping.foundation.domain.query;
import org.springframework.web.servlet.ModelAndView;
import com.shopping.core.query.QueryObject;
public class AssuranceServiceQueryObject extends QueryObject {
public AssuranceServiceQueryObject(String currentPage, ModelAndView mv, String orderBy, String orderType) {
super(currentPage, mv, orderBy, orderType);
}
public AssuranceServiceQueryObject() {
}
}
package com.shopping.foundation.service;
import com.shopping.core.query.support.IPageList;
import com.shopping.core.query.support.IQueryObject;
import com.shopping.foundation.domain.Accessory;
import com.shopping.foundation.domain.AssuranceService;
import com.shopping.foundation.service.impl.AccessoryService;
import java.util.List;
import java.util.Map;
public abstract interface IAssuranceService {
public abstract boolean save(AssuranceService assuranceService);
public abstract boolean delete(Long paramLong);
public abstract boolean update(AssuranceService assuranceService);
public abstract IPageList list(IQueryObject paramIQueryObject);
public abstract AssuranceService getObjById(Long paramLong);
public abstract AssuranceService getObjByProperty(String paramString1, String paramString2);
public abstract List<AssuranceService> query(String paramString, Map paramMap, int paramInt1, int paramInt2);
}
package com.shopping.foundation.service.impl;
import com.shopping.core.dao.IGenericDAO;
import com.shopping.core.query.GenericPageList;
import com.shopping.core.query.PageObject;
import com.shopping.core.query.support.IPageList;
import com.shopping.core.query.support.IQueryObject;
import com.shopping.foundation.domain.AssuranceService;
import com.shopping.foundation.service.IAssuranceService;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional
public class AssuranceServiceService implements IAssuranceService {
@Resource(name = "assuranceServiceDAO")
private IGenericDAO<AssuranceService> assuranceServiceDAO;
public boolean delete(Long id) {
try {
this.assuranceServiceDAO.remove(id);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
public AssuranceService getObjById(Long id) {
return (AssuranceService) this.assuranceServiceDAO.get(id);
}
public boolean save(AssuranceService assuranceService) {
try {
this.assuranceServiceDAO.save(assuranceService);
return true;
} catch (Exception e) {
}
return false;
}
public boolean update(AssuranceService assuranceService) {
try {
this.assuranceServiceDAO.update(assuranceService);
return true;
} catch (Exception e) {
}
return false;
}
public List<AssuranceService> query(String query, Map params, int begin, int max) {
return this.assuranceServiceDAO.query(query, params, begin, max);
}
public IPageList list(IQueryObject properties) {
if (properties == null) {
return null;
}
String query = properties.getQuery();
Map params = properties.getParameters();
GenericPageList pList = new GenericPageList(AssuranceService.class, query, params, this.assuranceServiceDAO);
if (properties != null) {
PageObject pageObj = properties.getPageObj();
if (pageObj != null)
pList.doList(pageObj.getCurrentPage() == null ? 0 : pageObj.getCurrentPage().intValue(), pageObj.getPageSize() == null ? 0 : pageObj.getPageSize().intValue());
} else {
pList.doList(0, -1);
}
return pList;
}
public AssuranceService getObjByProperty(String propertyName, String value) {
return (AssuranceService) this.assuranceServiceDAO.getBy(propertyName, value);
}
}
...@@ -63,6 +63,7 @@ import com.shopping.foundation.service.IDecorateService; ...@@ -63,6 +63,7 @@ import com.shopping.foundation.service.IDecorateService;
import com.shopping.foundation.service.IDecorateStyleService; import com.shopping.foundation.service.IDecorateStyleService;
import com.shopping.foundation.service.IDecorateTypeService; import com.shopping.foundation.service.IDecorateTypeService;
import com.shopping.foundation.service.IDecorateWork; import com.shopping.foundation.service.IDecorateWork;
import com.shopping.foundation.service.IPredepositLogService;
import com.shopping.foundation.service.ISysConfigService; import com.shopping.foundation.service.ISysConfigService;
import com.shopping.foundation.service.IUserConfigService; import com.shopping.foundation.service.IUserConfigService;
import com.shopping.foundation.service.IUserService; import com.shopping.foundation.service.IUserService;
...@@ -78,70 +79,82 @@ public class ContractBuyerAction { ...@@ -78,70 +79,82 @@ public class ContractBuyerAction {
@Autowired @Autowired
private IUserConfigService userConfigService; private IUserConfigService userConfigService;
@Autowired @Autowired
private IContractService contractService; private IContractService contractService;
@Autowired @Autowired
private IAccessoryService accessoryService; private IAccessoryService accessoryService;
@Autowired @Autowired
private IUserService userService; private IUserService userService;
@Autowired @Autowired
private IDecorateService decorateService; private IDecorateService decorateService;
@Autowired @Autowired
private IContractDetailedService contractDetailedService; private IContractDetailedService contractDetailedService;
@Autowired @Autowired
private IZshOrderService zshOrderService; private IZshOrderService zshOrderService;
@Autowired
private IPredepositLogService predepositlogService;
@SecurityMapping(display = false, rsequence = 0, title = "装修订单", value = "/buyer/contract_list.htm*", rtype = "buyer", rname = "装修订单", rcode = "user_center", rgroup = "用户中心") @SecurityMapping(display = false, rsequence = 0, title = "装修订单", value = "/buyer/contract_list.htm*", rtype = "buyer", rname = "装修订单", rcode = "user_center", rgroup = "用户中心")
@RequestMapping({ "/buyer/contract_list.htm" }) @RequestMapping({ "/buyer/contract_list.htm" })
public ModelAndView design_index(HttpServletRequest request, HttpServletResponse response, String name, String currentPage,String orderBy, String orderType) { public Object design_index(HttpServletRequest request, HttpServletResponse response, String name,
ModelAndView mv = new JModelAndView("user/default/usercenter/contract_list.html", this.configService.getSysConfig(), this.userConfigService.getUserConfig(), 0, request, response); String currentPage, String orderBy, String orderType) {
ModelAndView mv = new JModelAndView("user/default/usercenter/contract_list.html",
this.configService.getSysConfig(), this.userConfigService.getUserConfig(), 0, request, response);
ContractQueryObject qo = new ContractQueryObject(currentPage, mv, orderBy, orderType); ContractQueryObject qo = new ContractQueryObject(currentPage, mv, orderBy, orderType);
//用户 // 用户
User user = SecurityUserHolder.getCurrentUser(); User user = SecurityUserHolder.getCurrentUser();
if("ADMIN".equals(user.getUserRole())) { if (user == null) {
return "redirect:/user/login.htm";
}else { } else {
Long id = user.getId(); if ("ADMIN".equals(user.getUserRole())) {
Map<String,Object>map = new HashMap<String, Object>();
map.put("obj.user.id", user.getId()); } else {
map.put("obj.partner.id", user.getId()); Long id = user.getId();
map.put("obj.decorate.user.id", user.getId()); Map<String, Object> map = new HashMap<String, Object>();
qo.addQueryOr(map); map.put("obj.user.id", user.getId());
} map.put("obj.partner.id", user.getId());
map.put("obj.decorate.user.id", user.getId());
if (!CommUtil.null2String(name).equals("")) { qo.addQueryOr(map);
qo.addQuery("obj.contractName", new SysMap("contractName", "%" + name.trim() + "%"), "like"); }
if (!CommUtil.null2String(name).equals("")) {
qo.addQuery("obj.contractName", new SysMap("contractName", "%" + name.trim() + "%"), "like");
}
IPageList pList = this.contractService.list(qo);
CommUtil.saveIPageList2ModelAndView("", "", "", pList, mv);
mv.addObject("name", name);
return mv;
} }
IPageList pList = this.contractService.list(qo);
CommUtil.saveIPageList2ModelAndView("", "", "", pList, mv);
mv.addObject("name", name);
return mv;
} }
@SecurityMapping(display = false, rsequence = 0, title = "查看订单管理", value = "/buyer/contract_detailed.htm*", rtype = "buyer", rname = "活动管理", rcode = "user_center", rgroup = "用户中心") @SecurityMapping(display = false, rsequence = 0, title = "查看订单管理", value = "/buyer/contract_detailed.htm*", rtype = "buyer", rname = "活动管理", rcode = "user_center", rgroup = "用户中心")
@RequestMapping({ "/buyer/contract_detailed.htm" }) @RequestMapping({ "/buyer/contract_detailed.htm" })
public ModelAndView handle_bespoke(HttpServletRequest request, HttpServletResponse response, String id) { public ModelAndView handle_bespoke(HttpServletRequest request, HttpServletResponse response, String id) {
ModelAndView mv = new JModelAndView("user/default/usercenter/contract_detailed.html", this.configService.getSysConfig(), this.userConfigService.getUserConfig(), 0, request, response); ModelAndView mv = new JModelAndView("user/default/usercenter/contract_detailed.html",
this.configService.getSysConfig(), this.userConfigService.getUserConfig(), 0, request, response);
Contract contract = this.contractService.getObjById(Long.parseLong(id)); Contract contract = this.contractService.getObjById(Long.parseLong(id));
mv.addObject("objs", contract); mv.addObject("objs", contract);
return mv; return mv;
} }
@SecurityMapping(display = false, rsequence = 0, title = "添加合同页面跳转详情", value = "/buyer/contract_detailed.htm*", rtype = "buyer", rname = "活动管理", rcode = "user_center", rgroup = "用户中心") @SecurityMapping(display = false, rsequence = 0, title = "添加合同页面跳转详情", value = "/buyer/contract_detailed.htm*", rtype = "buyer", rname = "活动管理", rcode = "user_center", rgroup = "用户中心")
@RequestMapping({ "/buyer/contract_add_detailed.htm" }) @RequestMapping({ "/buyer/contract_add_detailed.htm" })
public ModelAndView contract_add_detailed(HttpServletRequest request, HttpServletResponse response) { public ModelAndView contract_add_detailed(HttpServletRequest request, HttpServletResponse response) {
ModelAndView mv = new JModelAndView("user/default/usercenter/contract_add_detailed.html", this.configService.getSysConfig(), this.userConfigService.getUserConfig(), 0, request, response); ModelAndView mv = new JModelAndView("user/default/usercenter/contract_add_detailed.html",
this.configService.getSysConfig(), this.userConfigService.getUserConfig(), 0, request, response);
return mv; return mv;
} }
/** /**
* 添加合同 * 添加合同
*
* @param request * @param request
* @param response * @param response
* @param id * @param id
...@@ -156,27 +169,30 @@ public class ContractBuyerAction { ...@@ -156,27 +169,30 @@ public class ContractBuyerAction {
*/ */
@SecurityMapping(display = false, rsequence = 0, title = "合同保存", value = "/buyer/buyer_cash_save.htm*", rtype = "buyer", rname = "预存款管理", rcode = "predeposit_set", rgroup = "用户中心") @SecurityMapping(display = false, rsequence = 0, title = "合同保存", value = "/buyer/buyer_cash_save.htm*", rtype = "buyer", rname = "预存款管理", rcode = "predeposit_set", rgroup = "用户中心")
@RequestMapping({ "/buyer/contract_detailed_save.htm" }) @RequestMapping({ "/buyer/contract_detailed_save.htm" })
public ModelAndView contract_detailed_save(HttpServletRequest request, HttpServletResponse response, String id, String currentPage,String imgIds,String user, public ModelAndView contract_detailed_save(HttpServletRequest request, HttpServletResponse response, String id,
String payWay,String partner,String decorate,String tape) { String currentPage, String imgIds, String user, String payWay, String partner, String decorate,
ModelAndView mv = new JModelAndView("success.html", this.configService.getSysConfig(), this.userConfigService.getUserConfig(), 1, request, response); String tape) {
ModelAndView mv = new JModelAndView("success.html", this.configService.getSysConfig(),
this.userConfigService.getUserConfig(), 1, request, response);
WebForm wf = new WebForm(); WebForm wf = new WebForm();
Contract obj = null; Contract obj = null;
if (id == null || ("").equals(id)) { if (id == null || ("").equals(id)) {
obj = (Contract) wf.toPo(request, Contract.class); obj = (Contract) wf.toPo(request, Contract.class);
if(user != null && !("").equals(user)) { if (user != null && !("").equals(user)) {
User us = this.userService.getObjById(Long.parseLong(user)); User us = this.userService.getObjById(Long.parseLong(user));
obj.setUser(us); obj.setUser(us);
} }
if(partner != null && !("").equals(partner)) { if (partner != null && !("").equals(partner)) {
User pa = this.userService.getObjById(Long.parseLong(partner)); User pa = this.userService.getObjById(Long.parseLong(partner));
obj.setPartner(pa);; obj.setPartner(pa);
;
} }
if(tape != null && !("").equals(tape)) { if (tape != null && !("").equals(tape)) {
User ta = this.userService.getObjById(Long.parseLong(tape)); User ta = this.userService.getObjById(Long.parseLong(tape));
obj.setTape(ta); obj.setTape(ta);
} }
if(decorate != null && !("").equals(decorate)) { if (decorate != null && !("").equals(decorate)) {
Decorate dec = this.decorateService.getObjById(Long.parseLong(decorate)); Decorate dec = this.decorateService.getObjById(Long.parseLong(decorate));
obj.setDecorate(dec); obj.setDecorate(dec);
} }
...@@ -192,23 +208,23 @@ public class ContractBuyerAction { ...@@ -192,23 +208,23 @@ public class ContractBuyerAction {
obj.getAccessory().add(img); obj.getAccessory().add(img);
} }
} }
this.contractService.save(obj); this.contractService.save(obj);
// 保存合同明细
//保存合同明细
ContractDetailed contractDetailed = new ContractDetailed(); ContractDetailed contractDetailed = new ContractDetailed();
contractDetailed.setAddTime(new Date()); contractDetailed.setAddTime(new Date());
contractDetailed.setState("1"); contractDetailed.setState("1");
contractDetailed.setContract(obj); contractDetailed.setContract(obj);
contractDetailed.setDetailedName("订单已生成,请装修公司上传方案。"); contractDetailed.setDetailedName("订单已生成,请装修公司上传方案。");
this.contractDetailedService.save(contractDetailed); this.contractDetailedService.save(contractDetailed);
} }
mv.addObject("op_title", "操作完成");
mv.addObject("url", CommUtil.getURL(request) + "/buyer/contract_list.htm"); mv.addObject("url", CommUtil.getURL(request) + "/buyer/contract_list.htm");
return mv; return mv;
} }
@SecurityMapping(display = false, rsequence = 0, title = "图像上传", value = "/buyer/upload_contract.htm*", rtype = "buyer", rname = "用户中心", rcode = "user_center", rgroup = "用户中心") @SecurityMapping(display = false, rsequence = 0, title = "图像上传", value = "/buyer/upload_contract.htm*", rtype = "buyer", rname = "用户中心", rcode = "user_center", rgroup = "用户中心")
@RequestMapping({ "/buyer/upload_contract.htm" }) @RequestMapping({ "/buyer/upload_contract.htm" })
public void upload_avatar(HttpServletRequest request, HttpServletResponse response) throws IOException { public void upload_avatar(HttpServletRequest request, HttpServletResponse response) throws IOException {
...@@ -217,33 +233,34 @@ public class ContractBuyerAction { ...@@ -217,33 +233,34 @@ public class ContractBuyerAction {
response.setHeader("Cache-Control", "no-cache"); response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0L); response.setDateHeader("Expires", 0L);
try { try {
String uploadFilePath = this.configService.getSysConfig().getUploadFilePath(); String uploadFilePath = this.configService.getSysConfig().getUploadFilePath();
String saveFilePathName = request.getSession().getServletContext().getRealPath("/") + uploadFilePath + "/contract"; String saveFilePathName = request.getSession().getServletContext().getRealPath("/") + uploadFilePath
+ "/contract";
User user = SecurityUserHolder.getCurrentUser(); User user = SecurityUserHolder.getCurrentUser();
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest.getFile("file"); CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest.getFile("file");
Map json_map = new HashMap(); Map json_map = new HashMap();
try { try {
Map map = CommUtil.saveFileToServer(request, "file", saveFilePathName, null, null); Map map = CommUtil.saveFileToServer(request, "file", saveFilePathName, null, null);
Accessory image = new Accessory(); Accessory image = new Accessory();
image.setAddTime(new Date()); image.setAddTime(new Date());
image.setExt((String) map.get("mime")); image.setExt((String) map.get("mime"));
image.setPath("upload/contract"); image.setPath("upload/contract");
image.setWidth(CommUtil.null2Int(map.get("width"))); image.setWidth(CommUtil.null2Int(map.get("width")));
image.setHeight(CommUtil.null2Int(map.get("height"))); image.setHeight(CommUtil.null2Int(map.get("height")));
image.setName(CommUtil.null2String(map.get("fileName"))); image.setName(CommUtil.null2String(map.get("fileName")));
this.accessoryService.save(image); this.accessoryService.save(image);
json_map.put("url", CommUtil.getURL(request) + "/" + "upload/contract" + "/" + image.getName()); json_map.put("url", CommUtil.getURL(request) + "/" + "upload/contract" + "/" + image.getName());
json_map.put("id", image.getId()); json_map.put("id", image.getId());
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
response.setContentType("text/plain"); response.setContentType("text/plain");
response.setHeader("Cache-Control", "no-cache"); response.setHeader("Cache-Control", "no-cache");
...@@ -254,27 +271,29 @@ public class ContractBuyerAction { ...@@ -254,27 +271,29 @@ public class ContractBuyerAction {
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
response.setContentType("text/xml"); response.setContentType("text/xml");
response.getWriter().write("400"); response.getWriter().write("400");
} }
} }
@SecurityMapping(display = false, rsequence = 0, title = "合同方案上传", value = "/buyer/contract_detailed.htm*", rtype = "buyer", rname = "合同方案上传", rcode = "user_center", rgroup = "用户中心") @SecurityMapping(display = false, rsequence = 0, title = "合同方案上传", value = "/buyer/contract_detailed.htm*", rtype = "buyer", rname = "合同方案上传", rcode = "user_center", rgroup = "用户中心")
@RequestMapping({ "/buyer/add_detailed.htm" }) @RequestMapping({ "/buyer/add_detailed.htm" })
public ModelAndView add_detailed(HttpServletRequest request, HttpServletResponse response,String id) { public ModelAndView add_detailed(HttpServletRequest request, HttpServletResponse response, String id) {
ModelAndView mv = new JModelAndView("user/default/usercenter/add_detailed.html", this.configService.getSysConfig(), this.userConfigService.getUserConfig(), 0, request, response); ModelAndView mv = new JModelAndView("user/default/usercenter/add_detailed.html",
this.configService.getSysConfig(), this.userConfigService.getUserConfig(), 0, request, response);
mv.addObject("id", id); mv.addObject("id", id);
return mv; return mv;
} }
@SecurityMapping(display = false, rsequence = 0, title = "合同方案上传", value = "/buyer/contract_detailed.htm*", rtype = "buyer", rname = "合同方案上传", rcode = "user_center", rgroup = "用户中心") @SecurityMapping(display = false, rsequence = 0, title = "合同方案上传", value = "/buyer/contract_detailed.htm*", rtype = "buyer", rname = "合同方案上传", rcode = "user_center", rgroup = "用户中心")
@RequestMapping({ "/buyer/add_detailed_save.htm" }) @RequestMapping({ "/buyer/add_detailed_save.htm" })
public ModelAndView add_detailed_save(HttpServletRequest request, HttpServletResponse response,String id,Double commission,String hydropower,String mudwood, String paint,String completed) { public ModelAndView add_detailed_save(HttpServletRequest request, HttpServletResponse response, String id,
ModelAndView mv = new JModelAndView("success.html", this.configService.getSysConfig(), this.userConfigService.getUserConfig(), 1, request, response); Double commission, String hydropower, String mudwood, String paint, String completed) {
ModelAndView mv = new JModelAndView("success.html", this.configService.getSysConfig(),
this.userConfigService.getUserConfig(), 1, request, response);
Contract contract = this.contractService.getObjById(Long.parseLong(id)); Contract contract = this.contractService.getObjById(Long.parseLong(id));
contract.setCommission(commission); contract.setCommission(commission);
contract.setHydropower(hydropower); contract.setHydropower(hydropower);
...@@ -283,43 +302,45 @@ public class ContractBuyerAction { ...@@ -283,43 +302,45 @@ public class ContractBuyerAction {
contract.setCompleted(completed); contract.setCompleted(completed);
contract.setState("2"); contract.setState("2");
this.contractService.update(contract); this.contractService.update(contract);
//保存合同明细 // 保存合同明细
ContractDetailed contractDetailed = new ContractDetailed(); ContractDetailed contractDetailed = new ContractDetailed();
contractDetailed.setAddTime(new Date()); contractDetailed.setAddTime(new Date());
contractDetailed.setState("2"); contractDetailed.setState("2");
contractDetailed.setContract(contract); contractDetailed.setContract(contract);
contractDetailed.setDetailedName("方案已生成,请客户确认方案。"); contractDetailed.setDetailedName("方案已生成,请客户确认方案。");
this.contractDetailedService.save(contractDetailed); this.contractDetailedService.save(contractDetailed);
mv.addObject("op_title", "操作完成");
mv.addObject("url", CommUtil.getURL(request) + "/buyer/contract_list.htm"); mv.addObject("url", CommUtil.getURL(request) + "/buyer/contract_list.htm");
return mv; return mv;
} }
@SecurityMapping(display = false, rsequence = 0, title = "确认方案", value = "/buyer/confirm_detailed.htm*", rtype = "buyer", rname = "确认方案", rcode = "user_center", rgroup = "用户中心") @SecurityMapping(display = false, rsequence = 0, title = "确认方案", value = "/buyer/confirm_detailed.htm*", rtype = "buyer", rname = "确认方案", rcode = "user_center", rgroup = "用户中心")
@RequestMapping({ "/buyer/confirm_detailed.htm" }) @RequestMapping({ "/buyer/confirm_detailed.htm" })
public ModelAndView confirm_detailed(HttpServletRequest request, HttpServletResponse response,String id) { public ModelAndView confirm_detailed(HttpServletRequest request, HttpServletResponse response, String id) {
ModelAndView mv = new JModelAndView("success.html", this.configService.getSysConfig(), this.userConfigService.getUserConfig(), 1, request, response); ModelAndView mv = new JModelAndView("success.html", this.configService.getSysConfig(),
this.userConfigService.getUserConfig(), 1, request, response);
Contract contract = this.contractService.getObjById(Long.parseLong(id)); Contract contract = this.contractService.getObjById(Long.parseLong(id));
contract.setState("3"); contract.setState("3");
this.contractService.update(contract); this.contractService.update(contract);
//保存合同明细 // 保存合同明细
ContractDetailed contractDetailed = new ContractDetailed(); ContractDetailed contractDetailed = new ContractDetailed();
contractDetailed.setAddTime(new Date()); contractDetailed.setAddTime(new Date());
contractDetailed.setState("3"); contractDetailed.setState("3");
contractDetailed.setContract(contract); contractDetailed.setContract(contract);
contractDetailed.setDetailedName("方案已确认,请支付。"); contractDetailed.setDetailedName("方案已确认,请支付。");
this.contractDetailedService.save(contractDetailed); this.contractDetailedService.save(contractDetailed);
mv.addObject("op_title", "操作完成");
mv.addObject("url", CommUtil.getURL(request) + "/buyer/contract_list.htm"); mv.addObject("url", CommUtil.getURL(request) + "/buyer/contract_list.htm");
return mv; return mv;
} }
@SecurityMapping(display = false, rsequence = 0, title = "取消方案", value = "/buyer/cancel_detailed.htm*", rtype = "buyer", rname = "取消方案", rcode = "user_center", rgroup = "用户中心") @SecurityMapping(display = false, rsequence = 0, title = "取消方案", value = "/buyer/cancel_detailed.htm*", rtype = "buyer", rname = "取消方案", rcode = "user_center", rgroup = "用户中心")
@RequestMapping({ "/buyer/cancel_detailed.htm" }) @RequestMapping({ "/buyer/cancel_detailed.htm" })
public ModelAndView cancel_detailed(HttpServletRequest request, HttpServletResponse response,String id) { public ModelAndView cancel_detailed(HttpServletRequest request, HttpServletResponse response, String id) {
ModelAndView mv = new JModelAndView("success.html", this.configService.getSysConfig(), this.userConfigService.getUserConfig(), 1, request, response); ModelAndView mv = new JModelAndView("success.html", this.configService.getSysConfig(),
this.userConfigService.getUserConfig(), 1, request, response);
Contract contract = this.contractService.getObjById(Long.parseLong(id)); Contract contract = this.contractService.getObjById(Long.parseLong(id));
contract.setState("1"); contract.setState("1");
contract.setCommission(0d); contract.setCommission(0d);
...@@ -328,72 +349,76 @@ public class ContractBuyerAction { ...@@ -328,72 +349,76 @@ public class ContractBuyerAction {
contract.setPaint(""); contract.setPaint("");
contract.setCompleted(""); contract.setCompleted("");
this.contractService.update(contract); this.contractService.update(contract);
//保存合同明细 // 保存合同明细
ContractDetailed contractDetailed = new ContractDetailed(); ContractDetailed contractDetailed = new ContractDetailed();
contractDetailed.setAddTime(new Date()); contractDetailed.setAddTime(new Date());
contractDetailed.setState("1"); contractDetailed.setState("1");
contractDetailed.setContract(contract); contractDetailed.setContract(contract);
contractDetailed.setDetailedName("方案未通过,请装修公司重新制定方案。"); contractDetailed.setDetailedName("方案未通过,请装修公司重新制定方案。");
this.contractDetailedService.save(contractDetailed); this.contractDetailedService.save(contractDetailed);
mv.addObject("op_title", "操作完成");
mv.addObject("url", CommUtil.getURL(request) + "/buyer/contract_list.htm"); mv.addObject("url", CommUtil.getURL(request) + "/buyer/contract_list.htm");
return mv; return mv;
} }
/**
* 在线支付
* @param request
* @param response
* @param id
*/
@SecurityMapping(display = false, rsequence = 0, title = "客户支付", value = "/buyer/cancel_detailed.htm*", rtype = "buyer", rname = "取消方案", rcode = "user_center", rgroup = "用户中心") @SecurityMapping(display = false, rsequence = 0, title = "客户支付", value = "/buyer/cancel_detailed.htm*", rtype = "buyer", rname = "取消方案", rcode = "user_center", rgroup = "用户中心")
@RequestMapping({ "/buyer/pay_contract.htm" }) @RequestMapping({ "/buyer/pay_contract.htm" })
public void pay_contract(HttpServletRequest request, HttpServletResponse response,String id) { public void pay_contract(HttpServletRequest request, HttpServletResponse response, String id) {
//用户 // 用户
User user = SecurityUserHolder.getCurrentUser(); User user = SecurityUserHolder.getCurrentUser();
//装修订单 // 装修订单
Contract contract = this.contractService.getObjById(Long.parseLong(id)); Contract contract = this.contractService.getObjById(Long.parseLong(id));
String orderBody = "装修订单支付"; String orderBody = "装修订单支付";
// 订单序列码 // 订单序列码
Integer code = (int) (Math.random() * ((9999 - 1000 + 1))) + 1000; Integer code = (int) (Math.random() * ((9999 - 1000 + 1))) + 1000;
Date currentTime = new Date(); Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss"); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
String orderSn = formatter.format(currentTime) + code; String orderSn = formatter.format(currentTime) + code;
// 判断是否有未支付订单 // 判断是否有未支付订单
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<String, Object>();
map.put("userId", user.getId()); map.put("userId", user.getId());
map.put("type", "contract"); map.put("type", "contract");
map.put("orderId", id); map.put("orderId", id);
List<ZshOrder> list = this.zshOrderService List<ZshOrder> list = this.zshOrderService.query(
.query("select obj from ZshOrder obj where obj.state = false and obj.user.id = :userId and obj.type = :type and obj.orderId = :orderId", map, -1, -1); "select obj from ZshOrder obj where obj.state = false and obj.user.id = :userId and obj.type = :type and obj.orderId = :orderId",
map, -1, -1);
JHPayUtil jHPayUtil = new JHPayUtil(); JHPayUtil jHPayUtil = new JHPayUtil();
Map<String, Object> resultUn = new HashMap<String, Object>(); Map<String, Object> resultUn = new HashMap<String, Object>();
//判断装修订单金额以及支付方式 // 判断装修订单金额以及支付方式
String payAmount = ""; String payAmount = "";
//合同金额 // 合同金额
BigDecimal b = new BigDecimal(contract.getContractAmount().toString()); BigDecimal b = new BigDecimal(contract.getContractAmount().toString());
//0分期付 // 0分期付
if("0".equals(contract.getPayWay())) { if ("0".equals(contract.getPayWay())) {
//第一次付款 // 第一次付款
if("3".equals(contract.getState())) { if ("3".equals(contract.getState())) {
payAmount = b.multiply(new BigDecimal("0.5")).toString(); payAmount = b.multiply(new BigDecimal("0.5")).toString();
}else if("6".equals(contract.getState())) { } else if ("6".equals(contract.getState())) {
//第二次付款 // 第二次付款
payAmount = b.multiply(new BigDecimal("0.3")).toString(); payAmount = b.multiply(new BigDecimal("0.3")).toString();
}else if("9".equals(contract.getState())) { } else if ("9".equals(contract.getState())) {
//尾款 // 尾款
payAmount = b.multiply(new BigDecimal("0.2")).toString(); payAmount = b.multiply(new BigDecimal("0.2")).toString();
} }
}else { } else {
payAmount = b.toString(); payAmount = b.toString();
} }
String erHtml = jHPayUtil.pay(payAmount.toString(), orderSn); String erHtml = jHPayUtil.pay(payAmount.toString(), orderSn);
resultUn = JSON.parseObject(erHtml); resultUn = JSON.parseObject(erHtml);
// 保存或修改订单 // 保存或修改订单
...@@ -402,7 +427,7 @@ public class ContractBuyerAction { ...@@ -402,7 +427,7 @@ public class ContractBuyerAction {
zshOrder = list.get(0); zshOrder = list.get(0);
zshOrder.setOrderBody(orderBody); zshOrder.setOrderBody(orderBody);
zshOrder.setPaySn(orderSn); zshOrder.setPaySn(orderSn);
//zshOrder.setPrepay_id(resultUn.get("prepay_id").toString()); // zshOrder.setPrepay_id(resultUn.get("prepay_id").toString());
this.zshOrderService.update(zshOrder); this.zshOrderService.update(zshOrder);
} else { } else {
zshOrder = new ZshOrder(); zshOrder = new ZshOrder();
...@@ -411,7 +436,7 @@ public class ContractBuyerAction { ...@@ -411,7 +436,7 @@ public class ContractBuyerAction {
zshOrder.setNumber(1); zshOrder.setNumber(1);
zshOrder.setOrderBody(orderBody); zshOrder.setOrderBody(orderBody);
zshOrder.setPaySn(orderSn); zshOrder.setPaySn(orderSn);
//zshOrder.setPrepay_id(resultUn.get("prepay_id").toString()); // zshOrder.setPrepay_id(resultUn.get("prepay_id").toString());
zshOrder.setState(false); zshOrder.setState(false);
zshOrder.setTotalPrice(new BigDecimal(payAmount.toString())); zshOrder.setTotalPrice(new BigDecimal(payAmount.toString()));
zshOrder.setUnitPrice(new BigDecimal(payAmount.toString())); zshOrder.setUnitPrice(new BigDecimal(payAmount.toString()));
...@@ -434,7 +459,7 @@ public class ContractBuyerAction { ...@@ -434,7 +459,7 @@ public class ContractBuyerAction {
} else { } else {
} }
try { try {
PrintWriter writer = response.getWriter(); PrintWriter writer = response.getWriter();
writer.print(Json.toJson(newUrl, JsonFormat.compact())); writer.print(Json.toJson(newUrl, JsonFormat.compact()));
...@@ -442,79 +467,234 @@ public class ContractBuyerAction { ...@@ -442,79 +467,234 @@ public class ContractBuyerAction {
e.printStackTrace(); e.printStackTrace();
} }
} }
/**
* 线下支付
*/
@SecurityMapping(display = false, rsequence = 0, title = "线下支付", value = "/buyer/pay_Offline.htm*", rtype = "buyer", rname = "线下支付", rcode = "user_center", rgroup = "用户中心")
@RequestMapping({ "/buyer/pay_Offline.htm" })
public ModelAndView pay_Offline(HttpServletRequest request, HttpServletResponse response, String id) {
ModelAndView mv = new JModelAndView("success.html", this.configService.getSysConfig(),
this.userConfigService.getUserConfig(), 1, request, response);
// 用户
User user = SecurityUserHolder.getCurrentUser();
// 装修订单
Contract contract = this.contractService.getObjById(Long.parseLong(id));
//总金额
BigDecimal amount = new BigDecimal(contract.getContractAmount().toString());
//全额付款 和分期付款的第一期打款
if("0".equals(contract.getPayState())) {
//给装修公司打首款
User decorateUser = contract.getDecorate().getUser();
//分佣比例
BigDecimal bl = new BigDecimal(contract.getCommission().toString()).divide(new BigDecimal("100"));
//分佣金额
BigDecimal fy = amount.multiply(bl);
//付给装修公司金额
BigDecimal pay = (amount.subtract(fy)).multiply(new BigDecimal("0.2"));
//装修公司账号增加余额
decorateUser.setAvailableBalance(decorateUser.getAvailableBalance().add(pay));
//产生打款日志
PredepositLog logPay = new PredepositLog();
logPay.setAddTime(new Date());
logPay.setPd_log_amount(pay);
logPay.setPd_log_info("装修公司首款");
logPay.setPd_log_user(decorateUser);
logPay.setPd_op_type("装修公司首款");
logPay.setPd_type("自动打款");
this.predepositlogService.save(logPay);
contract.setState("4");
contract.setPayState("1");
this.contractService.update(contract);
//保存合同明细
ContractDetailed contractDetailed = new ContractDetailed();
contractDetailed.setAddTime(new Date());
contractDetailed.setState("4");
contractDetailed.setContract(contract);
contractDetailed.setDetailedName("支付成功,开始第一起装修。");
this.contractDetailedService.save(contractDetailed);
//收款日志
PredepositLog log = new PredepositLog();
log.setAddTime(new Date());
log.setPd_log_info("用户支付装修费用");
log.setPd_log_user(user);
log.setPd_op_type("用户支付装修费用");
log.setPd_type("线下支付");
//付款日志
PredepositLog logpay = new PredepositLog();
logpay.setAddTime(new Date());
logpay.setPd_log_info("用户支付装修费用");
logpay.setPd_log_user(contract.getUser());
logpay.setPd_op_type("用户支付装修费用");
logpay.setPd_type("线下支付");
//分期付
if("0".equals(contract.getPayWay())) {
//分期付第一次金额日志
log.setPd_log_amount(amount.multiply(new BigDecimal("0.5")));
logpay.setPd_log_amount(amount.multiply(new BigDecimal("0.5")));
}else {
//全额付款产生日志
log.setPd_log_amount(amount);
logpay.setPd_log_amount(amount);
}
this.predepositlogService.save(log);
this.predepositlogService.save(logpay);
}
//分期付
if("0".equals(contract.getPayWay())) {
//第二次付款
if("6".equals(contract.getState())) {
contract.setState("7");
this.contractService.update(contract);
//保存合同明细
ContractDetailed contractDetailed = new ContractDetailed();
contractDetailed.setAddTime(new Date());
contractDetailed.setState("7");
contractDetailed.setContract(contract);
contractDetailed.setDetailedName("第二期已付款,开始第二期装修。");
this.contractDetailedService.save(contractDetailed);
//分期付第二次金额日志
PredepositLog log = new PredepositLog();
log.setAddTime(new Date());
log.setPd_log_amount(amount.multiply(new BigDecimal("0.3")));
log.setPd_log_info("用户支付装修费用");
log.setPd_log_user(user);
log.setPd_op_type("用户支付装修费用");
log.setPd_type("在线支付");
this.predepositlogService.save(log);
PredepositLog logpay = new PredepositLog();
logpay.setAddTime(new Date());
logpay.setPd_log_amount(amount.multiply(new BigDecimal("0.3")));
logpay.setPd_log_info("用户支付装修费用");
logpay.setPd_log_user(contract.getUser());
logpay.setPd_op_type("用户支付装修费用");
logpay.setPd_type("线下支付");
this.predepositlogService.save(logpay);
}else if("9".equals(contract.getState())) {
contract.setState("10");
this.contractService.update(contract);
//保存合同明细
ContractDetailed contractDetailed = new ContractDetailed();
contractDetailed.setAddTime(new Date());
contractDetailed.setState("10");
contractDetailed.setContract(contract);
contractDetailed.setDetailedName("尾款已付,开始第三期装修。");
this.contractDetailedService.save(contractDetailed);
//分期付第三次日志
PredepositLog log = new PredepositLog();
log.setAddTime(new Date());
log.setPd_log_amount(amount.multiply(new BigDecimal("0.2")));
log.setPd_log_info("用户支付装修费用");
log.setPd_log_user(user);
log.setPd_op_type("用户支付装修费用");
log.setPd_type("在线支付");
this.predepositlogService.save(log);
PredepositLog logpay = new PredepositLog();
logpay.setAddTime(new Date());
logpay.setPd_log_amount(amount.multiply(new BigDecimal("0.2")));
logpay.setPd_log_info("用户支付装修费用");
logpay.setPd_log_user(contract.getUser());
logpay.setPd_op_type("用户支付装修费用");
logpay.setPd_type("线下支付");
this.predepositlogService.save(logpay);
}
}
mv.addObject("op_title", "操作完成");
mv.addObject("url", CommUtil.getURL(request) + "/buyer/contract_list.htm");
return mv;
}
@SecurityMapping(display = false, rsequence = 0, title = "完成装修", value = "/buyer/finish_trim.htm*", rtype = "buyer", rname = "完成装修", rcode = "user_center", rgroup = "用户中心") @SecurityMapping(display = false, rsequence = 0, title = "完成装修", value = "/buyer/finish_trim.htm*", rtype = "buyer", rname = "完成装修", rcode = "user_center", rgroup = "用户中心")
@RequestMapping({ "/buyer/finish_trim.htm" }) @RequestMapping({ "/buyer/finish_trim.htm" })
public ModelAndView finish_trim(HttpServletRequest request, HttpServletResponse response,String id,String state) { public ModelAndView finish_trim(HttpServletRequest request, HttpServletResponse response, String id, String state) {
ModelAndView mv = new JModelAndView("success.html", this.configService.getSysConfig(), this.userConfigService.getUserConfig(), 1, request, response); ModelAndView mv = new JModelAndView("success.html", this.configService.getSysConfig(),
this.userConfigService.getUserConfig(), 1, request, response);
Contract contract = this.contractService.getObjById(Long.parseLong(id)); Contract contract = this.contractService.getObjById(Long.parseLong(id));
contract.setState(state); contract.setState(state);
this.contractService.update(contract); this.contractService.update(contract);
//保存合同明细 // 保存合同明细
ContractDetailed contractDetailed = new ContractDetailed(); ContractDetailed contractDetailed = new ContractDetailed();
contractDetailed.setAddTime(new Date()); contractDetailed.setAddTime(new Date());
contractDetailed.setState(state); contractDetailed.setState(state);
contractDetailed.setContract(contract); contractDetailed.setContract(contract);
if("5".equals(state)) { if ("5".equals(state)) {
contractDetailed.setDetailedName("第一期装修完成,等待客户验收。"); contractDetailed.setDetailedName("第一期装修完成,等待客户验收。");
}else if("8".equals(state)) { } else if ("8".equals(state)) {
contractDetailed.setDetailedName("第二期期装修完成,等待客户验收。"); contractDetailed.setDetailedName("第二期期装修完成,等待客户验收。");
}else if("11".equals(state)) { } else if ("11".equals(state)) {
contractDetailed.setDetailedName("第三期期装修完成,等待客户验收。"); contractDetailed.setDetailedName("第三期期装修完成,等待客户验收。");
} }
this.contractDetailedService.save(contractDetailed); this.contractDetailedService.save(contractDetailed);
mv.addObject("url", CommUtil.getURL(request) + "/buyer/contract_list.htm"); mv.addObject("url", CommUtil.getURL(request) + "/buyer/contract_list.htm");
return mv; return mv;
} }
@SecurityMapping(display = false, rsequence = 0, title = "客户验收", value = "/buyer/cconfirm_trim*", rtype = "buyer", rname = "客户验收", rcode = "user_center", rgroup = "用户中心") @SecurityMapping(display = false, rsequence = 0, title = "客户验收", value = "/buyer/cconfirm_trim*", rtype = "buyer", rname = "客户验收", rcode = "user_center", rgroup = "用户中心")
@RequestMapping({ "/buyer/confirm_trim.htm" }) @RequestMapping({ "/buyer/confirm_trim.htm" })
public ModelAndView confirm_trim(HttpServletRequest request, HttpServletResponse response,String id,String number) { public ModelAndView confirm_trim(HttpServletRequest request, HttpServletResponse response, String id,
ModelAndView mv = new JModelAndView("success.html", this.configService.getSysConfig(), this.userConfigService.getUserConfig(), 1, request, response); String number) {
ModelAndView mv = new JModelAndView("success.html", this.configService.getSysConfig(),
this.userConfigService.getUserConfig(), 1, request, response);
Contract contract = this.contractService.getObjById(Long.parseLong(id)); Contract contract = this.contractService.getObjById(Long.parseLong(id));
String state = ""; String state = "";
if("1".equals(number)) { if ("1".equals(number)) {
if("1".equals(contract.getPayWay())) { if ("1".equals(contract.getPayWay())) {
state = "7"; state = "7";
}else { } else {
state = "6"; state = "6";
} }
}else if("2".equals(number)) { } else if ("2".equals(number)) {
if("1".equals(contract.getPayWay())) { if ("1".equals(contract.getPayWay())) {
state = "10"; state = "10";
}else { } else {
state = "9"; state = "9";
} }
}else if("3".equals(number)) { } else if ("3".equals(number)) {
state = "12"; state = "12";
}else if("4".equals(number)) { } else if ("4".equals(number)) {
state = "13"; state = "13";
} }
contract.setState(state); contract.setState(state);
this.contractService.update(contract); this.contractService.update(contract);
//保存合同明细 // 保存合同明细
ContractDetailed contractDetailed = new ContractDetailed(); ContractDetailed contractDetailed = new ContractDetailed();
contractDetailed.setAddTime(new Date()); contractDetailed.setAddTime(new Date());
contractDetailed.setState(state); contractDetailed.setState(state);
contractDetailed.setContract(contract); contractDetailed.setContract(contract);
if("6".equals(state)) { if ("6".equals(state)) {
contractDetailed.setDetailedName("第一期已验收,请付第二期工程款。"); contractDetailed.setDetailedName("第一期已验收,请付第二期工程款。");
}else if("7".equals(state)){ } else if ("7".equals(state)) {
contractDetailed.setDetailedName("第一期已验收,第二期装修中。"); contractDetailed.setDetailedName("第一期已验收,第二期装修中。");
}else if("9".equals(state)) { } else if ("9".equals(state)) {
contractDetailed.setDetailedName("第二期已验收,请付尾款。"); contractDetailed.setDetailedName("第二期已验收,请付尾款。");
}else if("10".equals(state)) { } else if ("10".equals(state)) {
contractDetailed.setDetailedName("第二期已验收,第三期装修中。"); contractDetailed.setDetailedName("第二期已验收,第三期装修中。");
}else if("12".equals(state)) { } else if ("12".equals(state)) {
contractDetailed.setDetailedName("第三期已验收,等待竣工验收。"); contractDetailed.setDetailedName("第三期已验收,等待竣工验收。");
}else if("13".equals(state)) { } else if ("13".equals(state)) {
contractDetailed.setDetailedName("竣工验收已完成。"); contractDetailed.setDetailedName("竣工验收已完成。");
} }
this.contractDetailedService.save(contractDetailed); this.contractDetailedService.save(contractDetailed);
mv.addObject("op_title", "操作完成");
mv.addObject("url", CommUtil.getURL(request) + "/buyer/contract_list.htm"); mv.addObject("url", CommUtil.getURL(request) + "/buyer/contract_list.htm");
return mv; return mv;
} }
......
package com.shopping.view.web.action;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.shopping.core.mv.JModelAndView;
import com.shopping.core.security.support.SecurityUserHolder;
import com.shopping.core.tools.WebForm;
import com.shopping.foundation.domain.AssuranceService;
import com.shopping.foundation.domain.Bespoke;
import com.shopping.foundation.domain.User;
import com.shopping.foundation.service.IAssuranceService;
import com.shopping.foundation.service.ISysConfigService;
import com.shopping.foundation.service.IUserConfigService;
@Controller
public class AssuranceAction {
@Autowired
private ISysConfigService configService;
@Autowired
private IUserConfigService userConfigService;
@Autowired
private IAssuranceService assuranceService;
/**
* 条状页面
* @param request
* @param response
* @param id
* @param currentPage
* @return
*/
@RequestMapping({ "/zs_assurance_service.htm" })
public ModelAndView activity(HttpServletRequest request, HttpServletResponse response) {
ModelAndView mv = new JModelAndView("zs_assurance_service.html", this.configService.getSysConfig(), this.userConfigService.getUserConfig(), 1, request, response);
return mv;
}
/**
* 保存预约
*
* @param request
* @param response
* @return
*/
@RequestMapping({ "/add_assurance_service.htm" })
public ModelAndView add_customization_bespoke(HttpServletRequest request, HttpServletResponse response, String address,
String name, String phone, String type,String content) {
ModelAndView mv = null;
User user = SecurityUserHolder.getCurrentUser();
if(user != null) {
AssuranceService assurance = new AssuranceService();
assurance.setAddress(address);
assurance.setAddTime(new Date());
assurance.setContent(content);
assurance.setName(name);
assurance.setPhone(phone);
assurance.setType(type);
assurance.setUser(user);
this.assuranceService.save(assurance);
mv.addObject("code", 200);
mv.addObject("message", "添加成功");
mv = new JModelAndView("zs_assurance_service.html", this.configService.getSysConfig(), this.userConfigService.getUserConfig(), 1, request, response);
}else {
mv.addObject("code", 201);
mv.addObject("message", "添加失败,请先登录用户");
mv = new JModelAndView("user/login.html", this.configService.getSysConfig(),
this.userConfigService.getUserConfig(), 1, request, response);
}
return mv;
}
}
...@@ -1507,7 +1507,7 @@ public class LoginViewAction { ...@@ -1507,7 +1507,7 @@ public class LoginViewAction {
.query("select obj from ZshOrder obj where obj.state = false and obj.user.id = :userId and obj.type = :type", map, -1, -1); .query("select obj from ZshOrder obj where obj.state = false and obj.user.id = :userId and obj.type = :type", map, -1, -1);
JHPayUtil jHPayUtil = new JHPayUtil(); JHPayUtil jHPayUtil = new JHPayUtil();
String erHtml = jHPayUtil.pay("9999.00", orderSn); String erHtml = jHPayUtil.pay("12800.00", orderSn);
resultUn = JSON.parseObject(erHtml); resultUn = JSON.parseObject(erHtml);
// 保存或修改订单 // 保存或修改订单
...@@ -1527,8 +1527,8 @@ public class LoginViewAction { ...@@ -1527,8 +1527,8 @@ public class LoginViewAction {
zshOrder.setPaySn(orderSn); zshOrder.setPaySn(orderSn);
//zshOrder.setPrepay_id(resultUn.get("prepay_id").toString()); //zshOrder.setPrepay_id(resultUn.get("prepay_id").toString());
zshOrder.setState(false); zshOrder.setState(false);
zshOrder.setTotalPrice(new BigDecimal(9999.00)); zshOrder.setTotalPrice(new BigDecimal(12800.00));
zshOrder.setUnitPrice(new BigDecimal(9999.00)); zshOrder.setUnitPrice(new BigDecimal(12800.00));
zshOrder.setUser_id(user); zshOrder.setUser_id(user);
zshOrder.setType("buyAsstQiye"); zshOrder.setType("buyAsstQiye");
this.zshOrderService.save(zshOrder); this.zshOrderService.save(zshOrder);
......
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